Bottom Navigation Example

Hello, first thank you so much for this great library.
I have a question about Bottom Navigation Example. I really like the idea that one Beamer can manage bottom navigation tabs.
The issue is with the animation on change between the navigation items - I would like to customize it. Either disable it completely when switching between items or make it with appropriate direction instead of the "new page" animation.
Is there any way to do it?
Thank you

Hi @veresvit
That's a great observation. I also believe these bottom tab transitions should go without animation. Currently you can set it up as explained at https://github.com/slovnicki/beamer/issues/51#issuecomment-799861789, but I plan to add a "transition picker" to BeamPage itself (https://github.com/slovnicki/beamer/issues/141) very soon.
Another option would be to completely redefine "page stack transition" at Navigator.transitionDelegate, but I forgot to expose this from beamer. Will do soon that soon also: https://github.com/slovnicki/beamer/issues/146 (made it right now)

Amazing! So good to hear this. You are very active and responsive. Looking forward for this. Thank you!

Hi @veresvit
I saw this issue still opened so let me say what can be done now after a lot of cool features landed:

Maybe you want to use separate Beamers for each tab. Then you could put whatever animation between them using PageView, IndexedStack, AnimatedCrossFade,... See [this example[(https://github.com/slovnicki/beamer/tree/master/examples/bottom_navigation_multiple_beamers)
You can pick a global transitionDelegate: NoAnimationTransitionDelegate() as described here recently: https://github.com/slovnicki/beamer/issues/204 (you can also write your own transition delegate)
You can also @override transitionDelegate on your specific BeamLocation.

Let me know if some of those options would fit your needs.

Hi @slovnicki ,
Thank you for your care! Actually I still didn't get to solve it so thanks for reminder.
I like the most my current implementation based on this example for easy "one beamer to rule them all" routing between tabs and pages. The main issues are the undesired animations when switching tabs and lack of page persistence (when I switch tabs it always loads from from scratch (I have some very heavy pages with maps so it's not ideal)).
So I would like to go with your option 1 but I am not sure how to navigate from one beamer to another (e.g. tab 1 has a link to tab 2). I guess I need to have some "overseer" which will synchronise selected tab and delegate routing to the appropriate Beamer? Would you have any example how to do it?
If it is not possible I will go with a custom TransitionDelegate but it really brings some complexity. 😄

We have 3 bottom navigation examples, I'm closing it now


Added new sample - Apply SharePoint JSON View Formatting

Q
A

New sample?
yes

What's in this Pull Request?
Added a new script sample which demonstrates how to apply SharePoint JSON view formatting using PnP PowerShell and CLI for Microsoft 365.

Wow double sample, thats awesome - thank you! This will be live shortly 👏😁


Update transfer-logins-passwords-between-instances.md

Changed SQL reserved keywords to uppercase

@OriShavit1 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@OriShavit1 Thanks for your contribution! Merged the PR.


Fix exp required

fixed tests

Coverage remained the same at 47.323% when pulling e1474fecc6995890401d73deae63f7a32a12eedf on Fix_Exp_Required into 8b5c0385f9b7f4cca12106de6933814ee7168ab8 on master.


Sonic the Introverted Hedgehog: Watch yaalherman.com

Sonic the Introverted Hedgehog requests the watch of the watch_keyword yaalherman\.com. See the MS search here and the Stack Exchange search here.

yaalherman\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Shree in Tavern on the Meta


[Question] Implementation on Azure API Management

Hello,
I'm currently implementing FastAPI in some microservices I've developed. My plan is to include them into an Azure API Management from ACR (Azure Container Registers) but i do not know how to implement this middleware with the OAuth 2.0 authorization with Azure Active Directory.
Did you guys had any experience with this?
Thanks in advance.

I'm currently implementing FastAPI in some microservices I've developed. My plan is to include them into an Azure API Management from ACR (Azure Container Registers) but i do not know how to implement this middleware with the OAuth 2.0 authorization with Azure Active Directory.

I am not familiar with hosting in Azure AD, but this module implements auth in FastAPI. It sounds like you would like to use Azure API Management, which is a gateway with oauth2/oidc support, according to google?
If I'm correct, then no, I do not have experience with that, as I do not use Azure for hosting. It does sound like a good option, as an alternative to this package though, not something you would combine.

Hi everyone,
Just to clarify the implementation of this package into your Azure APIM Service (SIngle Tenant). This Azure service is basically a gateway for your APIs,  so you can protect APIs with OAuth2 tokens.

You can follow the Microsoft Configuration Instructions to Protect an API in Azure API Management using OAuth 2.0 authorization with Azure Active Directory in this link: https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad


Fix tr2 statue

When I tested, I saw there is a reported issue that still happens to the SPEAR guardian.

While waking up, Lara aims and shoot at a point over the enemy.

Not a big deal although I don't know why happens. This do not happens to the sword statue.

When I tested, I saw there is a reported issue that still happens to the SPEAR guardian.

While waking up, Lara aims and shoot at a point over the enemy.

Not a big deal although I don't know why happens. This do not happens to the sword statue.

This is caused by the entity bounds, lara use the collisions bounds and the the center of it to aim, in case of the spear guardian, it's caused by the spear being too long in idle which increase the Y bound of the collision and cause lara to target him a bit upward.

I also need to add a hitRoutine to avoid them taking damage when going to life

This branch is done :)


lint examples

@alexlande Addresses #735.

:bow:

Coverage remained the same at 96.26% when pulling 2f2a63948a89155be91d5a1304716a3a4f7867ed on jmcriffey:chore-lintExamples into 764b23d3457630a8a8dc8b2bdb4434e2749d5d33 on FormidableLabs:master.


Could you please update the jars

HI Tom,
There are few external jars which are required by framework to support input, detailed and consolidated report.

POI.jar (Apache POI to generate consolidated report),

jxl.jar (to fetch data at runtime from input xls) and

SQLJDBC42.jar (to establish connection to Azure SQL DB for validations).
These jars doesn’t come as part of standard sopaui jars and needs to be added externally at soapui installation folder at bin/ext and jre

SoapUI-5.4.0\bin\ext - poi-3.16, sqljdbc_auth, sqljdbc42

SoapUI-5.4.0\jre\lib - sqljdbc42

Program Files\SmartBear\SoapUI-5.4.0\lib – jxl

Could you please add these jar files in SOAP UI .zip
jars.zip

Hi,
I'll look at that by the end of the month.
If you want to speed up the process, I'll gladly accept a PR.
And if you could also add a link about where you download those, it would be better
Thank you

Thanks Tom,
I will do the PR. Will also share the link for files, have to check with automation team from where they have downloaded.

Hi Tom,
PR is in place, could you please have a look and do the needful.

gentle reminder :)

Please see my readme:
Looking for someone to maintain this project
Hi, I'm looking for someone to take over this project as I no longer have time to dedicate to it.
If you would like to do so, please contact me via an issue, make a fork and do your first change. I can indicate on this README who is maintaining the project (name & url).


Error when run gulp

$ git clone https://github.com/ghpabs/angular2-seed-project.git && cd angular2-seed-project
$ nem install
$ gulp build serve

[10:18:03] Using gulpfile ~/angular2-seed-project/gulpfile.js
/usr/local/lib/node_modules/gulp/bin/gulp.js:129
    gulpInst.start.apply(gulpInst, toRun);
                  ^

TypeError: Cannot read property 'apply' of undefined
    at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:19
    at doNTCallback0 (node.js:430:9)
    at process._tickCallback (node.js:359:13)
    at Function.Module.runMain (module.js:459:11)
    at startup (node.js:138:18)
    at node.js:974:3

Isn't it related to https://github.com/ghpabs/angular2-seed-project/issues/53 ?
What's your node version ?

I think this is actually the gulp-cli version. From memory its when you have a mismatch. Make sure you have version 4 of gulp and gulp-cli

Yes! I updated to the last stable version of gulp and I got this error. Now I installed the version 4 beta and it works properly!
Thales

Great - thanks guys.

I am still getting this error even with the version 4 beta. Here are my versions:
[20:25:40] CLI version 3.9.1
[20:25:40] Local version 4.0.0-alpha.2

I am super confused about gulp here. Which version(s) do I need?

Hi @marcysutton I'm afraid you have the wrong version installed globally. Here's how it should read:
➜ gulp -v
[14:09:20] CLI version 0.4.0
[14:09:20] Local version 4.0.0-alpha.2

See below how to install Gulp 4 globally:
npm uninstall -g gulp
npm install -g "gulpjs/gulp-cli#4.0"

http://blog.reactandbethankful.com/posts/2015/05/01/how-to-install-gulp-4/
Let me know how it goes.

 Each project requires something different...I just had to use the right combination of node and gulp.

I am running into this problem currently.
In my environment I have:
20:53 $ gulp --version
[20:53:42] CLI version 3.9.1
[20:53:42] Local version 4.0.0-alpha.2
node --version
v6.4.0
npm --version
3.10.7
Note that I could not do:
20:54 $ npm install -g "gulpjs/gulp-cli#4.0"
npm ERR! git rev-list -n1 4.0: fatal: ambiguous argument '4.0': unknown revision or path not in the working tree.
npm ERR! git rev-list -n1 4.0: Use '--' to separate paths from revisions, like this:
npm ERR! git rev-list -n1 4.0: 'git  [...] -- [...]'
npm ERR! git rev-list -n1 4.0:
I just did npm install -g gulp. Somehow gulp --version thinks it is at 4.0.0-alpha.2 though.
Also I am using nvm. I'm not sure if @marcysutton resolved something else related to nvm.

npm start gives this message. I am on a Mac:
20:57 $ npm start

<EMAIL_ADDRESS>start /Users/kamlall/Box Sync/explore/angular2-seed-advanced
gulp --version; gulp serve.dev --color --config-env dev

[20:57:11] CLI version 3.9.1
[20:57:11] Local version 4.0.0-alpha.2
[20:57:11] Working directory changed to ~/Box Sync/explore
[20:57:12] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/browsersync.js
[20:57:12] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/build.js
[20:57:12] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/karma.js
[20:57:13] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/misc.js
[20:57:13] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/scripts.js
[20:57:13] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/styles.js
[20:57:13] Loading /Users/kamlall/Box Sync/explore/gulp_tasks/systemjs.js
[20:57:13] Using gulpfile ~/Box Sync/explore/gulpfile.js
/Users/kamlall/.nvm/versions/node/v6.4.0/lib/node_modules/gulp/bin/gulp.js:129
gulpInst.start.apply(gulpInst, toRun);
^
TypeError: Cannot read property 'apply' of undefined
at /Users/kamlall/.nvm/versions/node/v6.4.0/lib/node_modules/gulp/bin/gulp.js:129:19
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
at Module.runMain (module.js:592:11)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3

The following worked for me:
https://github.com/pattern-lab/edition-node-gulp/wiki/Updating-to-Gulp-4


Starscream with Objective-C

I wanted to use Starscream with Objective-C but the delegate misses the @objc attribute.

The @objc attribute makes your Swift API available in Objective-C and the Objective-C runtime. In other words, you can use the @objc attribute before a Swift method, property, subscript, initializer, class, protocol, or enumeration to use it from Objective-C code. Exposing Swift Interfaces in Objective-C

So I made the test and it works using:
@objc
public protocol WebSocketDelegate: class

I noticed that WebSocketPongDelegate could be part of WebSocketDelegate with the optional attribute like optional func websocketDidReceivePong(socket: WebSocket) but it will break old code.

About b29059a, optional values of non-Objective-C types aren't bridged into Objective-C.
https://github.com/daltoniam/Starscream/blob/d5f690123fd4510ce2f9ea6765c3c78ab8e2415d/WebSocket.swift#L160

Might a proposing using jetfire for the an objective-c app?
https://github.com/acmacalister/jetfire
jetfire should have all the same features as Starscream and lets us keep Starscream as a "pure" Swift implementation.

@daltoniam Does Jetfire have all the fixes from Starscream?

Yes it should be fairly even at this point. It gets updated in waves as I have time to port.


Notes template

Lets Users create Observation notes via a notes template in User preference.
Revises internal representation of Observation notes from a String to a serialized Hash, with the hash keys comprising the items in the notes template plus :Other.
Includes a data migration of Observation notes from the old String to the new Hash.

The Hash keys are:

key(s) from the User's notes template, and
a general Other key supplied by the system.

Keys with empty values are not saved.
The notes template is a comma-separated list of arbitrary keys (except for
the following which are reserved for the system: "Other", "other", etc., and
(some of ) their translations).
Sample observation.notes
 { }                                        # no notes
 { Other: "rare" }                          # generalized notes
 { Cap: "red", stem: "white" }              # With only user-supplied keys
 { Cap: "red", stem: "white", Other: rare } # both user-supplied and general

The create Observation form displays separate fields for the keys in the
following order:

each key in the notes template, in the order listed in the template; and
Other.

The edit Observation form displays separate fields in the following order:

each key in the notes template, in the order listed in the template;
each "orphaned" key -- one which is neither in the template nor Other;
Other.

The show Observation view displays notes as follows, with Other underscored:

no notes - nothing shown

only generalized notes:

Notes: value

only user-supplied keys:

Notes:
First user key: value
Second user key: value
...

both user-supplied  and general Other keys:

Notes:
First user key: value
Second user key: value
...
Other: value

Because keys with empty values are not saved in observation.notes, they are
not displayed with show Observation.
Notes are exported as shown, except that the initial "Notes:" caption is
omitted, and any markup is stripped from the keys.

Coverage increased (+0.03%) to 93.412% when pulling 852c7cee6422c478a77d012d16ce5b6a8a5255c8 on JoeCohen:notes into 26facab72d4a73d7b49e45f46280c8df9258a99d on MushroomObserver:master.

Coverage increased (+0.03%) to 93.412% when pulling f63668266a49326ce9e73c13534fa98adb9c40f8 on JoeCohen:notes into b5fc6627a716758d0c96ca5d70747b34369fb434 on MushroomObserver:master.

Coverage decreased (-0.2%) to 93.263% when pulling a9201b5fc80f5730cdfb597f06aed032694d889f on JoeCohen:notes into f8d5a7d6f4559223b70ddaccd31204977b2345c4 on MushroomObserver:master.

Coverage increased (+0.03%) to 93.447% when pulling d2c716d5e80417444960dabb98e139beea654ed3 on JoeCohen:notes into f8d5a7d6f4559223b70ddaccd31204977b2345c4 on MushroomObserver:master.

I will have to close this PR, then make a new one.
(I messed up a rebase merge, seemingly leaving this branch with circular conflicts between my local repo and my Github repo.)


Update aufstooverlay

removed historic left-over alephan/resinos-in-container:qemux86-64
added image from docker hub

Hi @maxtheaviator. This looks good. Could you please squash the two commits?


PropertyConfiguration: rename hidden to visible

The default value should be visible (hidden == false). Thus this property must be called hidden. Otherwise, true would be the default value.


custom dataset: camera direction?

In gps matcher code as below, it seems that images are paired in line 124 based on the close gps (lat, lon, alt) and time.
https://gist.github.com/hturki/5a76b1ee54b8cd23e34e075f8a8b87e0
Are you using camera direction? For my custom data, at each gps location and with timestamp, multiple images were taken (say front view, right, back, and left view). I am not sure how to pair these images with different directions. Maybe estimate camera parameters using front view images only, and then convert the camera matrix for the left/right/back views? or estimate camera parameters using each view individually?

So in the gist I shared I'm just matching based on gps position and timestamp (not camera direction). Hope that helps!


[BUG] Empty post collection is true inside twig if statement

Expected Behavior
{% set posts = get_posts({'post_type': 'not_existing'}) %}

{% if posts %}
  This is false
{% endif %}

{% if posts is not empty %}
  This is false
{% endif %}

Actual behavior
{% set posts = get_posts({'post_type': 'not_existing'}) %}

{% if posts %}
  This is true
{% endif %}

{% if posts is not empty %}
  This is false
{% endif %}

Notes
An empty array is falsy in PHP, which allow's Twig's if to tests if an array is empty Doc. This doesn't work, if you have a lazy Post Collection (get_posts) and not an array.
You need to use length or empty to check the Post Collection in Twig.
Solution
I don't see a way to improve this currently as the RFC for falsifable is not implemented - except to return an empty array if the post collection is empty (found_posts == 0).
I suggest updating the docs in the meantime with an example as this is not obvious and can lead to bugs.

What version of Timber are you using?
2.0
What version of WordPress are you using?
6.2
What version of PHP are you using?
8.1
How did you install Timber?
Installed or updated Timber through Composer

We closed this by further documentating on how to check if post collections have items or not in https://github.com/timber/timber/issues/3059


Add functions to write unsigned types in properties

Is your feature request related to a problem? Please describe.
Lack of functions to write unsigned types in properties
Describe the solution you'd like
Add shortcut functions setValuesOfXXXHdf5ArrayYdOfValues() in AbstractValuesProperty for missing types (i.e. mostly unsigned int 16,32,64) based on setValuesOfXXXHdf5ArrayOfValues()
Describe alternatives you've considered
n.a.
Additional context
n.a.

ETP (Avro) does not support unsigned types. So what to do? Upscale to larger type? Always or depending on actual values?
Or play with the logical vs physical types I had them add to the ETP spec?  But then how portable is that?
What are you trying to achieve with this enhancement request?

This topic is about FESAPI, not FETPAPI. AVRO (and ETP) is not in scope here.
HDF5 supports unsigned types and HDF5 is clearly in scope of FESAPI.
Some (non ETP aware) applications which are EPC/RESQML aware make use of unsigned types. RESQML (ETP is not of scope here) is definitely done to support unsigned types.
Final developer decide wether or not to use them or not depending on their usage context.

I see. Up to ETP-aware software to deal with it. Come to think of it, I actually do, since I've come across EPCs with unsigned integer arrays in fact. Nevermind then :). Thanks, --DD

But I agree with you @ddevienne. It becomes touchy when these unsigned types come into the play with ETP. Personally I don't think the existing solution is the smoothed.


Implement reading measures

Description of the problem
Having AOIs and fixations available, reading measures can be computed.
Description of a solution

[ ] define list of reading measure methods
[ ] implement list of reading measure methods
[ ] create tests and make them pass

Minimum acceptance criteria

[ ] reading measure implementations with passing tests

a first step was done in #784 and  #804


Need tests for BoxDecoration hitTesting

Tests for BoxDecoration hitTesting are needed when shape is BoxShape.circle or borderRadius is non-null.
I would expect to find them in packages/flutter/test/widgets/box_decoration_test.dart or packages/flutter/test/painting/box_painter_test.dart
See https://github.com/flutter/flutter/pull/7292

@HansMuller does #10438 address this to your satisfaction?

The new test does cover BoxShape.circle, but it doesn't  created rounded rectangles (borderRadius is non-null). Should be simple to add tests for that, I can do it.

I believe this no longer an issue now @HansMuller ,right?

Talked with @HansMuller, this was indeed fixed with #47915.


bin2script and script2bin

Hi yosh778! How about executable release?

Sorry this tool is no longer being updated. You will have to use the scripts as they are, the author of this tool has been MIA for a while now.


Failing to download a file should not end the entire update

Today if a file fails to download, this causes the entire update to error out and abort.
Instead, note the file failed, keep going, and report all failures at the end.
This is especially helpful for archive.org, who's servers can come and go at times.

Fixed in 0.31.0


iPhone 6s plus stuck before installing Pogo

Describe the bug
Script is not proceeding after the if block and before the while block. Console reads Error connecting to device: No such file or directory repeatedly and does not proceed. Phone boots into non-JB OS.
    if ! ("$dir"/sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost "echo connected" &> /dev/null); then
        echo "[*] Waiting for the ramdisk to finish booting"
    fi

    while ! ("$dir"/sshpass -p 'alpine' ssh -o StrictHostKeyChecking=no -p2222 root@localhost "echo connected" &> /dev/null); do
        sleep 1
    done

Expected behavior
Expected to see echo "[*] Dumping blobs and installing Pogo" in console and for script to continue.
Info:

iDevice's version: iOS 15.1
Computer OS and version: macOS 12.6
The command you ran: sudo ./palera1n.sh --tweaks 15.1 --debug

Additional context
The "I'm here" in the log is a line I added to see where the script stopped working.
Debug log
18:13:29-2022-10-06-Darwin-21.6.0.log

same issue ip6s+ 15.3.1 catalina 10.15.7
./palera1n.sh --dfu 15.3.1
??


Roulette contract

And one other thing, it will need some pretty thorough tests. The tests will help students know whether they are getting it, and when they are "done". Although we can always encourage them to go deeper and make the contract their own.
I sketched out some tests in solidity in https://github.com/Polkadot-Blockchain-Academy/Contract-Writing-Workshop/blob/main/evm/test/Roulette.t.sol


remove unused dependency and method in nlp-feature-extractors package

Description
remove unused dependency and method in nlp-feature-extractors package
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1823 (0e24112) into main (5fe8a91) will decrease coverage by 12.21%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1823       +/-   ##
===========================================
- Coverage   88.54%   76.32%   -12.22%
===========================================
  Files          96       26       -70
  Lines        5481      528     -4953
===========================================
- Hits         4853      403     -4450
+ Misses        628      125      -503

Flag
Coverage Δ

unittests
76.32% <ø> (-12.22%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../databalanceanalysis/aggregate_balance_measures.py

...tabalanceanalysis/distribution_balance_measures.py

...tools/counterfactual/dashboard_schemas/__init__.py

...eai/responsibleai/databalanceanalysis/constants.py

...sponsibleai/responsibleai/managers/base_manager.py

erroranalysis/erroranalysis/report/error_report.py

...ponsibleai/responsibleai/_tools/shared/__init__.py

...ponsibleai/databalanceanalysis/balance_measures.py

...is/erroranalysis/_internal/process_categoricals.py

...ponsibleai/responsibleai/rai_insights/constants.py

... and 60 more

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


CDI-471 Introduce SPI for retrieving multiple annotations of the same…

… type, deprecating the old one.  Updated spec docs for qualifiers to reflect repeatability and spec docs for annotated for new method.

One thing strikes me about this - is it possible people implemented their own annotated?  I can't think of a reason right now.

@mkouba all fixed, I hope!

@johnament Looks good!


feat: add igbinary 3.2.11 release

update igbinary with release 3.2.11

:tada: This PR is included in version 1.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[17.1.5] Port Forward No-RDR inconsistenty in UI

Probably should have a * for IP on the No-RDR rule or no * for port.
Having one for IP would make it consistent with the anti-lockout rule so I guess that is the preferred fix.

timeout due to inactivity


EDR store integration for transfer process callbacks

Describe the solution you'd like
Continue the work on callback integration done in #257, by introducing a transfer process local callback that store the EDR received in the TransferProcessStarted event and store it in the local EDR store.

Closed by https://github.com/eclipse-tractusx/tractusx-edc/pull/328


Added logging and assertions for login

Pull Request Test Coverage Report for Build 285

21 of 32 (65.63%)  changed or added relevant lines in 5 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 67.765%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/parser/AddressBookParser.java
2
3
66.67%

src/main/java/seedu/address/logic/BudgetCalculationManager.java
0
2
0.0%

src/main/java/seedu/address/logic/commands/BudgetCalculationCommand.java
0
2
0.0%

src/main/java/seedu/address/logic/commands/LoginUserIdPasswordRoleCommand.java
11
14
78.57%

src/main/java/seedu/address/logic/parser/LoginUserIdPasswordRoleCommandParser.java
8
11
72.73%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/address/logic/parser/LoginUserIdPasswordRoleCommandParser.java
3
83.02%

Totals

Change from base Build 282:
-0.02%

Covered Lines:
2159

Relevant Lines:
3186

💛  - Coveralls


Removed references to RefreshToken

A long time ago, we had separate types for Login and RefreshToken.  At some point, they were merged, and now Login maintains refresh state.
This PR removes a few straggler references to the removed RefreshToken type.
This came up because we use fhir.schema.json to generate OpenAPI definitions, which led to an error in some tools.

Coverage remained the same at 95.009% when pulling 8ab16edcfccd25202ec0d2251f2ab2bd06f46cb1 on cody-remove-refresh-token-references into 21a08f2b49221f6ef65f99b87e8fc763270ce5e1 on main.


Possible false positive/negative

Given the following code...
// --> I see an error here <--
const MenuItemLinkRoot = styled(MenuItem, {
  name: 'MenuItemLink',
  slot: 'Root',
  overridesResolver: (props, styles) => styles.root,
})<MenuItemLinkProps>``

const useUtilityClasses = (ownerState: Partial<MenuItemLinkProps>) => {
  const slots = {
    root: ['root'],
  }

  return unstable_composeClasses(slots, getMenuItemLinkUtilityClass, ownerState.classes)
}

// --> and here <--
const MenuItemLink = (props: MenuItemLinkProps) => {
  const { className, classes, ...rootProps } = props

  const slotClasses = useUtilityClasses({ classes })

  const routeMatch = useRouteMatch(props.to as string)

  return (
    <MenuItemLinkRoot
      {...rootProps}
      className={classnames(slotClasses.root, className)}
      selected={props.to === routeMatch?.path}
    />
  )
}

const _MenuItemLink = React.memo(MenuItemLink) as typeof MenuItemLink

export default _MenuItemLink

So as marked by the comments above, I see the error Fast refresh only works when a file only exports components. Move your component(s) to a separate file.
As I am only exporting one component from this file, this seem incorrect.
I would guess this is to do with the leading _ on the default export.
If I change the code so that: -

MenuItemLink becomes _MenuItemLink
_MenuItemLink becomes MenuItemLink

(so that the exported name starts with a capital, and the non-exported component startds with a _)
then it works without error.

Yeah this is an assumption builtin in the React refresh runtime: a function should start with a capital letter to be considered a component: https://github.com/facebook/react/blob/main/packages/react-refresh/src/ReactFreshRuntime.js#L715


Case of Targeted attack

For the case of a targeted attack, do we train the generator only for one target, indicated by the argument passed?

We trained generator only for one epoch on ImageNet trainset and for 10 epochs on painting and comics.

Oh, apologies for the poor wordings! I meant how do you set the targeted attack training for any dataset? For the untargeted attack, I understand it's -1 to indicate that the generator should learn to misclassify whatever the surrogate model says about the input clean image. But what about the case of a targeted attack? Do you set just 1 target for all the classes?

Hi...its alright.
I have updated the "train.py" for targeted training using relativistic cross entropy.
Now if you want to let say train targeted generator for "Goose (target_label 99, in ImageNet)" then just set --target 99. Generator will be optimized to project samples from a given domain such that they are misclassified as Goose.
Please feel free to ask further questions.

Thank you so much.  So, correct me if I am wrong. Basically, we can only train the generator for 1 label (as a targeted attack) at a time. For every targeted attack with a new label, we need to train the generator again.

Yes, that's correct.


Statemachine should handle unexpected panic of job hander.

When there's panic in job handler, statemachine should recover it and set the job to error state, otherwise it will keep retrying, like what happened in #2508

fixed in #2553


How to reduce the size of Runner.app

Hello every,
I build app for ios by using "flutter build ios"
the result I got in ./build/ios/iphoneos/Runner.app, the size of the file is so large as 460M.
How could I reduce the file size?
Thanks.

[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale zh-Hans-FR)
• Flutter version 1.17.0 at /Users/renjiewang/flutter
• Framework revision e6b34c2b5c (11 days ago), 2020-05-02 11:39:18 -0700
• Engine revision 540786dd51
• Dart version 2.8.1
Xcode - develop for iOS and macOS (Xcode 11.4)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.4, Build version 11E146
• CocoaPods version 1.9.1

Hi @wrjcs
Please check out this comment and read Measuring your app's size
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Using a variable in an @import

I may have got it wrong but I was under the impression that this was possible in Less.js version 1.4
@Utilities-path: "../../Utilities";

@import<EMAIL_ADDRESS>
This however doesn't work in DotLess v1.4. You receive a File Not Found error.  Should this work?  And it is not in DotLess can we please have this feature.
http://stackoverflow.com/questions/21438937/using-a-variable-in-import-statement-dotless

I miss this feature :(

So do I. Unfortunately, implementing it is non-trivial. At first, I thought it would be a fairly simple matter, which is why my commit above says that it fixes this issue -- except, it only did it for CSS imports.
Dotless' processing is roughly divided into three stages: parsing, evaluating and output. Currently, as I understand it, dotless implements @import entirely in the parsing stage. This means that variable interpolation can't quite work the way it should, because variable values are only available at a later stage.
Things are slightly better for the simple case of CSS imports, because they are handled by outputting the import node into the parse tree. This means that when that node is evaluated, it can also evaluate the quoted path and things will work nicely.
For LESS imports, the file contents obviously need to be parsed too. Since parsing currently happens as a separate stage that precedes evaluation, having this work means that it's necessary to do a bit of rearranging in dotless' internals -- chiefly, having the parser handy in the evaluation environment and then deferring LESS import parsing to the evaluation stage. I'm working on implementing that now.


Add reset feature to all nodes

This should only be done when the complete state machine of the entire system has also been considered.
A really long term low priority feature. For now, simply relaunching works effectively.

[ ] calculators
[ ] interpreter
[ ] runner

[ ] calculators
[ ] interpreter
[ ] runner

runner:

Closed by https://github.com/ipa320/araig_test_stack/pull/35


refactor: remove Python 2 related code

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

v5.0.7
GitHub release

Your semantic-release bot :package::rocket:


options_page as options.html

Expected Behavior:
Implemented as a single web app
Actual Behavior:
Package's README.md example manifest.json contains "options_page": "options.html" adding a second .html file (for options, in addition to index.html)
Fix:
Reference additional pages using anchor tags #. So in example, options page in manifest.json would be...
"options_page": "index.html#options"
// main.dart

final Map<String, Widget Function(BuildContext)> routes = {
  'options': (_)=>OptionsPage() // <= !! allows accessing page with anchor tags
};

MaterialApp(
  routes: routes,
  // ...rest of main material app
);

class OptionsPage extends StateFullWidget {
  // ...create class to allow people to set options
}

That is a good alternative. Thanks for bringing that up.

learn from my mistake...
Set the open_in_tab to true as in following...
    "options_ui": {
        "page": "index.html#options",
        "open_in_tab": true
    }

...is much easier.
The only way I could get it show up if false is to set the height and width for html>head>style in index.html. But that causes problems with the pop-up.
Thankfully, the pop-up dimensions can be set within Dart. For example
import 'package:web/web.dart' as web;

void sizePopUp({required int height, required int width}) {
  final styleTag = web.document.createElement('style');
  styleTag.textContent = 'html { ${width}px; ${height}px }';
  web.document.head?.append(styleTag);
}

final Map<String, Widget Function(BuildContext)> routes = {
  // options route..
  'popup': (_){
  sizePopUp(height:300, width: 600);
  return PopUpPage();
  }
}

class PopUpPage extends StateFullWidget {
  // ...create pop-up screen
}

In this approach I'm also launching the action from an anchor # tag off index.html...
    "action": {
        "default_popup": "index.html#popup"
    },

I think this is going to have benefits, as it frees up the home route.


Provide a max timelimit for web ui initiated test runs

Need a safety backstop for web UI initiated performance tests
I've just started working with locust, but already have walked away for meetings twice, and left my poor dev instance being hammered with tests-under-development. Appreciate the CLI time limit feature. Would the devs be open to a PR that implements a configurable time limit from the web ui as well?

As a work around I've found and been setting max_timestop on my HttpLocust classes. This does at least stop the hammering, but the test itself doesn't stop (even though there's 0 users left running, and reported so in the GUI)

Would the devs be open to a PR that implements a
configurable time limit from the web ui as well?

+1

@reedstrm Lots of +1 :) Will you have a look?

Sure - as it happens, my local load test frame work just came back to the front burner at work, so I can legitimize the time. :-)

@reedstrm any progress? :)

Closing due to lack of activity. I’m not saying it is a bad idea, just that it is unlikely to be prioritiezed.


Remove mandatory dependency on RabbitMQ

I've used your library to log to my GrayLog server and it works well, so thanks for that.
I'm only using the UDP target though, and I'm annoyed by the unneeded RabbitMQ dependency. It would be nice if everything RabbitMQ-related was split off into its own Nuget package.

Apparently the project abandoned. Do it in your Fork, I will support! :)

Hi @hVostt @gab,
Sorry for long delay... Unfortunatly, Now I haven't so much time for my projects.
But you can make pull requests ;-)


dropdown-filter-content is being overlapped by next element

Hi,
Thanks for this beautiful plugin, it helped me alot, was looking for filter solution for jquery datatable and it really helped me.
Now, the dropdown-filter-content is being hidden or (is being overlapped by the next element).
Is there any solution for this, like throwing dropdown-filter-content at the end of the body then call it dynamically, i think that could be solution but i'm limited by my js skills :smile:
Attached is the reference.

Hi,
First of all.. thanks for plugin it really helps for me. but only issue i was facing was if we have 5000+ records in bootstrap table.. the filter is not working as expected once we select any value not was rendering and the page was hung up.. any help would be great full...

hey brother this is a grant work, congratulations, i like very much , thanks very much


OpenAI compatibility: Images edits and variants

Now that the groundwork for diffusers support has been done, this is a tracker for implementing variations and edits of the OpenAI spec:

https://platform.openai.com/docs/guides/images/variations
https://platform.openai.com/docs/guides/images/edits

Variations can be likely guided by prompt with img2img and https://github.com/LambdaLabsML/lambda-diffusers#stable-diffusion-image-variations
Edits can be implemented with https://github.com/huggingface/diffusers/issues/1825

For variations you could also use this:
https://github.com/Stability-AI/stablediffusion/blob/main/doc/UNCLIP.MD


Update 2.1 version to 2.1.2-dev

D2IQ-71044 - Update 2.1 version to 2.1.2-dev

@mesosphere-mergebot label ready for review

This PR is 2.1 version update and build DC/OS is successful,  merging this PR.

@mesosphere-mergebot merge-it


Use SVG to render icons

Use SVG to render icons instead of using the graphics context methods

SVG is now supported to render icons but we have chosen not to convert all existing icons to SVG for now.

SVG is now supported to render icons but we have chosen not to convert all existing icons to SVG for now.


Add a user dashboard to the home page

The dashboard shows open cases. (This version of the SBEAP app doesn't assign cases to staff, so all open cases are shown.)
Also, the home page now redirects to the login page if the user is not yet logged in.

Dashboard looks good. You said it will eventually show only cases for the logged in user?

No, they no longer assign cases to individuals so there's nothing to filter on.


Wavelength Number for VNIR and SWIR

@solmazhajmohammadi
@czender and I noticed that the wavelength number in SWIR from November 2 is pretty strange. It is 273 instead of 272 (SWIR) or 955 (VNIR) we've usually seen.
Is it a fault or the wavelength number can be something other than 272 and 955?
The exact file is in
/projects/arpae/terraref/sites/ua-mac/raw_data/SWIR/2016-11-02/2016-11-02__09-31-50-056/c268c7f7-f9e4-4181-838c-9327863dc4a2_raw

and the error message is generated by hyperspectral_workflow.sh by executing:
hyperspectral_workflow.sh -d 1 -i /projects/arpae/terraref/sites/ua-mac/raw_data/SWIR/2016-11-02/2016-11-02__09-31-50-056/c268c7f7-f9e4-4181-838c-9327863dc4a2_raw

Error Message:
Hyperspectral workflow scripts in directory /gpfs/smallblockFS/home/jiarunm/new/computing-pipeline/scripts/hyperspectral
NCO version "4.6.2-beta03" from directory /gpfs/smallblockFS/sw/nco-4.6.2-beta03/bin
Intermediate/temporary files written to directory /gpfs_scratch/arpae/imaging_spectrometer
Final output stored in directory /home/jiarunm/new/computing-pipeline/scripts/hyperspectral
Input #00: /projects/arpae/terraref/sites/ua-mac/raw_data/SWIR/2016-11-02/2016-11-02__09-31-50-056/c268c7f7-f9e4-4181-838c-9327863dc4a2_raw
trn(in)  : /projects/arpae/terraref/sites/ua-mac/raw_data/SWIR/2016-11-02/2016-11-02__09-31-50-056/c268c7f7-f9e4-4181-838c-9327863dc4a2_raw
trn(out) : /gpfs_scratch/arpae/imaging_spectrometer/terraref_tmp_trn.nc.pid48316.fl00.tmp
ERROR: Unable to identify camera type (SWIR or VNIR?)
HINT: hyperspectral_workflow.sh requires header file  to report either 272 (SWIR) or 955 (VNIR) or wavelengths. Actual number reported = wvl_nbr = 273.

@FlyingWithJerome,
New sensor has been installed on late October. 11/02 should be the first set of data with new sensor, all the data after Nov 2nd has been collected with 273 bands.
I can look at the settings to see if we can reduce the spectral resolution to 272, if you think it is necessary.

@solmazhajmohammadi @FlyingWithJerome It is not strictly necessary to use 272 instead of 273 bands in the hyperspectral workflow. However, changing from 272 to 273 means that no SWIR images from before 11/2 will be directly comparable (i.e., without interpolating wavelengths) to files after 11/2. If this is acceptable to @dlebauer and others, we will make the workflow work with either 272 or 273 SWIR wavelengths. IMHO changing wavelength grids should be a team decision involving domain scientists, not one imposed because it is technically expedient. Maybe this has already been discussed but it was a surprise to me :)

We would also like clarity on whether the 273 wavelengths duplicate the 272 wavelength grid and add one more, or whether all 273 wavelengths are slightly shifted. This would help us understand whether interpolation or simple hyperslabbing are required to intercompare 272 with 273 wavelength images.

@czender This was not a decision to change the wavelength grid. Unwanted change that happened when we got a new camera.
The wavelength spread(how many nanometers a given pixel represents) for the new camera is 5.90-5.91nm and for the old sensor is 5.914-5.920nm. And in total spectral resolution has been increased by 4.6190nm.
linear interpolation between the two adjacent pixels can solve this.

I understand the new camera has very slightly different specifications, and changing the wavelength grid is imposed by the manufacturer. Summarizing from above:

wider spectral range by (<4.62nm of ~1500 nm total)
higher spectral resolution (narrower bands) (by <0.01nm  of ~5.6nm)
more bands (273 instead of 272)

@czender to reply to your comment " IMHO changing wavelength grids should be a team decision involving domain scientists, not one imposed because it is technically expedient. "
Yes this is correct - I'll defer to Wasit (@remotesensinglab) for guidance. but here is are my initial thoughts:

Our specification for level 1 data products is that the raw (level 0) be 'recoverable'. I interpret this as there should be no interpoloation or other processing in this step.
We will need to develop workflows that allow comparison across data collected from different sensors anyway (e.g. among different sites or research groups). This is where the interpolation can be done (on the fly or as derived data products depending on user needs).
Hopefully this use case will provide a first step toward generalizing the workflow to use sensor metadata to process data from different sensors (e.g. VNIR, old SWIR and new SWIR).

@czender does this make sense ... scientifically and practically?
@remotesensinglab your thoughts?

@solmazhajmohammadi can you work with @craig-willis to put the metadata from the new SWIR into the appropriate location?

That's all fine with me. I didn't know until yesterday that there would be other instruments with SWIR-like characteristics to intercompare with. NB: We already interpolate the Spectralon reflectance from the factory to the SWIR and VNIR grids, so it's nothing too new.

@czender - can this issue be closed?


Possible fix

@CalebBell , maybe not the most beutiful fix, but it seems there is an issue with a single root when evaluating the conditional
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "michelsen.py", line 242, in flash
    res = self.PT_flash(T=T,P=P)
  File "michelsen.py", line 272, in PT_flash
    liq = CEOSLiquid(PRMIX, self.eos_kwargs, HeatCapacityGases=self.properties.HeatCapacityGases, T=T, P=P, zs=list(x))
  File "<string>", line 135, in __init__
  File "C:\Users\ANRA\AppData\Local\Programs\Python\Python38\lib\site-packages\thermo\eos_mix.py", line 6971, in __init__
    self.solve(only_l=only_l, only_g=only_g)
  File "C:\Users\ANRA\AppData\Local\Programs\Python\Python38\lib\site-packages\thermo\eos.py", line 1153, in solve
    self.set_from_PT(Vs, only_l=only_l, only_g=only_g)
  File "C:\Users\ANRA\AppData\Local\Programs\Python\Python38\lib\site-packages\thermo\eos.py", line 1215, in set_from_PT
    if good_root_count == 1 or (good_roots[0] == good_roots[1]):
IndexError: list index out of range

Hi Anders,
What is your standalone reproducible test case that has an issue?
Sincerely,
Caleb

@CalebBell, sorry, for some reason I was setting CEOSGas with zero molefracs, that caused it. I will delete the PR. but maybe some warning or exception if molefrac sum <> 1 or all zero

Removing the PR


If a Statement is a Static Invoke, Check Method Reference Declaring Class

In the InsufficientLibraryUsageFilterRule filter. This fix ensures that we also include patterns which only have static calls the library, which would otherwise have been filtered away.
Furthermore:

When accumulating visits, return true iff either is true

Codecov Report

Merging #370 into master will decrease coverage by 0.05%.
The diff coverage is 91.66%.

@@             Coverage Diff              @@
##             master     #370      +/-   ##
============================================
- Coverage     71.91%   71.85%   -0.06%
- Complexity      361      386      +25
============================================
  Files            63       63
  Lines          1481     1631     +150
  Branches        185      201      +16
============================================
+ Hits           1065     1172     +107
- Misses          338      381      +43
  Partials         78       78

Impacted Files
Coverage Δ
Complexity Δ

...hgenerator/jimple/processors/UserUsageProcessor.kt
100% <ø> (ø)
9 <0> (ø)
:arrow_down:

...nerator/jimple/JimpleLibraryUsageGraphGenerator.kt
81.25% <ø> (ø)
18 <0> (ø)
:arrow_down:

...imple/libraryusagefilters/BranchStatementFilter.kt
82.35% <100%> (ø)
7 <1> (?)

.../jimple/libraryusagefilters/RecursiveGotoFilter.kt
100% <100%> (ø)
8 <1> (?)

...rnfilter/jimple/libraryusagefilters/ValueFilter.kt
75.38% <100%> (ø)
5 <1> (?)

...lter/jimple/libraryusagefilters/StatementFilter.kt
100% <100%> (ø)
13 <1> (?)

...src/main/kotlin/org/cafejojo/schaapi/OptionSets.kt
63.75% <100%> (+4.18%)
0 <0> (ø)
:arrow_down:

...ilter/jimple/InsufficientLibraryUsageFilterRule.kt
66.66% <66.66%> (-4.77%)
6 <6> (+6)

.../miningpipeline/miner/github/GitHubProjectMiner.kt
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...haapi/miningpipeline/miner/github/SearchOptions.kt
0% <0%> (ø)
0% <0%> (ø)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3178e50...e4dbef8. Read the comment docs.


LC0068 on tableextension object

To verify this, is there a way to assign permissions in the scenario below?
tableextension 50100 MyCustomer extends Customer
{
    procedure MyProcedure()
    var
        ShiptoAddress: Record "Ship-to Address";
    begin
        ShiptoAddress.SetRange("Customer No.", Rec."No.");
        ShiptoAddress.FindFirst(); // The current object is missing permission "r" for tabledata "Ship-to Address" (LC0068)
    end;
}

I thought of adding the InherentPermissions Attribute, to the method like this:
[InherentPermissions(PermissionObjectType::TableData, Database::"Ship-to Address", 'r', InherentPermissionsScope::Permissions)]
... but that raises another error An application object 'Table 222' could not be found in the current extension. Only application objects that belong to the current extensions can be used in this context. AL0720.

No there is not, if you want to comply with the rule you have to move the code to a codeunit.

I'm a bit doubting here on what is the best approach is here. I initially thought of adding this to the documentation of this rule, where I now doubting on if excluding records that a not part of the App itself and inside a table(extension) object, from this rule makes more sense?
Potentially we could add an extra rule, something like "..move database operation outside table(extension) object for managing (indirect) permissions.." to catch these.
I've created an PR for this, would be great to have your thoughts on this.

@Arthurvdv @StefanMaron Yes, I believe excluding the objects that are not part of the App is correct solution. We have now 150+ warnings in most of the apps for base app tables (Customer, Currency, Bank Account - standard tables where we can't add inherentopermissions).

@TKapitan But still, just because the language doesn't support adding inherent permissions in extensions objects, doesn't mean you don't need them.
If you don't care, you can either disable the rule completely, or put a pragma at the top of the extension objects

@StefanMaron what should this message for objects not under our control indicate? What should be the steps to fix the code without pragma?
I like the rule for my own objects, I don’t want to disable the whole rule, but also I can’t apply pragma in 300 places (another extension) as it would make code really messy

@TKapitan  I am not sure I understand the issue then.
In the example Arthur gave at the top he is creating a Table extension which he obviously has control over.
In order to comply with the rule to set permissions for all objects, you can not do the write/read/delete/modify on the extension object itself, you need to delegate this to a codeunit

@StefanMaron What’s the difference in this case of having it in CU or in a tableextension?

@TKapitan  The difference is that the Codeunit supports the Permissions property

I would prefer to comply with this rule if it can be addressed using the Permissions property or the InherentPermissions decorator. Initially, I considered excluding objects in a (table)extension that aren’t part of the App itself in the PR, but this seems contrary to the spirit of the rule.
My idea was to introduce a second rule for greater flexibility:

LC0068 with exclude table(extension)
LC00xx move database operation outside table(extension) object for managing (indirect) permissions

This would provide more control to handle indirect permissions partially. Handling only part of the indirect permissions scenarios feels incomplete to be honest. And playing devil's advocate here: Would it really benefit users if indirect permissions generally work, but fails in some cases?
With that in mind, I’m considering canceling my PR and moving my code into a codeunit instead.

Thanks @Arthurvdv  this explains my point of view as well.
I would not mind to split this into two Rules, but like you described (and like I tried to describe before :D) this would still leave code in extension objects with potential issues.
I also want to remind again, what my initial motivation for this rule was:
For some tables and pages the Microsoft license dictates that we (developers) need to use the indirect permission assignment in code.
And since we have no way to find out at compile time which objects are affected by this, my solution was to just have the permissions always defined, as its better practice anyways.
But we might update the diagnistic description to give a hint on extension objects, that the code has to be moved?
How about that?

Sorry pages is non-sense. Its reading thats sometimes restricted as well

@StefanMaron still not sure that this is working completely (sorry for using this issue; it's probably not specifically related to table extensions.
This warning can be fixed by

Adding Permissions on the object level that add the object permissions (extends user's indirect permission)
Adding InherentPermissions that changes the user permissions but does not extend the user's indirect permission.

This mean, that adding indirect permission in InherentPermission should not fix the warning as developer must

Add direct permission in InherentPermissions
Add indirect permission in InherentPermissions and add the Permission property with indirect permission

I was forced by our dev team to disable the rule as they don't agree with moving all code from reportextensions to codeunits.
I'll try to test a bit more examples once I'm back from holiday, but splitting to two rules (for own objects and for external objects) may be helpful for similar cases as ours.

We fixed the issue by disabling this rule. It does not make the code any more readable to move it away to a codeunit and giving indirect permissions may cause the same kind of random error that not giving them does, according to my interpretation of the Note at the end of the documentation from microsoft... just in the opposite way where a user may lack some permission given at the top of the codeunit but not a permission specific to run a procedure in that codeunit: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-permissions-property

Wouldn't it be nice to add a code action that does set the Permissions property to cover the permissions? Or is this to be asked for in the AL Code Action extension.

Wouldn't it be nice to add a code action that does set the Permissions property to cover the permissions? Or is this to be asked for in the AL Code Action extension.

I believe it would be fantastic to have this feature, though unfortunately, it isn't available today. If you'd like to support this idea, we could use more votes on this BC Idea.
For now, the best option is indeed to request this through one of the VS Code extensions.

I'll try to test a bit more examples once I'm back from holiday, but splitting to two rules (for own objects and for external objects) may be helpful for similar cases as ours.

It would be great if you could share some examples so we can gain further insights on this.

We fixed the issue by disabling this rule. It does not make the code any more readable to move it away to a codeunit and giving indirect permissions may cause the same kind of random error that not giving them does

I'm not sure if I fully understand your point. The purpose of this rule is that the method or codeunit will function if the user has been granted indirect permissions to the tabledata, rather than full permissions.
With setup and configuration, you can always assign full read, write, insert, and delete permissions. However, assigning indirect read, write, insert, or delete permissions will only work if the developer has explicitly set the permission property in the code. The rule highlights all possible scenarios where the permission property must be set in order to enable this functionality.

I think that note from the Docs is very confusing. Its like Arthur said. The Permissions property is necessary to make the Indirect Permissions of the users permission sets work.
Without the property, indirect permissions are simply useless.
And again, there are objects that are per Microsofts license indirect only.
Most commonly: writing to Ledger entry or Posted document tables.
But I recently noticed that its also sometimes set for reading data, like Sent Mails table.
Since we can never know during development if a table needs those permissions and since we enable the usage of indirect permissions for all other tables, I figured it would be good practice to always set Permissions for all Database operations.

Wouldn't it be nice to add a code action that does set the Permissions property to cover the permissions? Or is this to be asked for in the AL Code Action extension.

Hello may be you now it but function exists. It is part of "AZ AL Dev Tools" extension in VSC. You have to click to the object name in code. Wait for light bulb and there is option.

I know that you mentioned here many times and I fully understand that permissions are required without exceptions. I agree with you. But I have same problem as @TKapitan. Developers ask me for disabling this rule because they are working on upgrades and they have to much warnings on all extension objects. I think when you split rules as prepared @Arthurvdv it will still check what do you want.
My point of view is that when I use your default rules I will get warning about permission for normal objects and second warning for extensions. It will follow your primary idea. Good think is that it gives me option disable rule for object extensions. If I disable it, it will be my bad (exists option that my code will not work because permissions.), but It gives me chance how to keep rule for normal objects. I don't want disable this rule because I feel that it is right way, but I can't fight with developers. So imagine my ask as looking for smaller evil ("Have one's cake and eat it too").
I hope that you understand what I mean.

On Directions I talked to a few people about this rule as well and asked for feedback.
I got mixed opinions but the main point I took was, that this rule might not make sense for all projects and especially for Upgrade projects it might actually make sense to not have it enabled at the very beginning.
My problem with splitting is that I can not merge them back later, in case Microsoft would decide to introduce the Permissions property on Extension Objects, as removing a rule would be a breaking change.
However, I do understand the problem you have.
Did you try already to disable the warning on all extension objects with regex?
replace ^((pageextension|tableextension) \d+ [\s\S.\r\n]*?\{) with $1\n#pragma warning disable LC0068 globally across all files.
Maybe this can help you as it would be an instant solution.
Let me know!

I was confused about this for a while since the official documentation is deceptive, but from my understanding, there's no way to request direct permissions using the Permissions property, correct?
If that's the case, I don't think we'll use this rule because satisfying the rule would mean allowing indirect permissions as well.
In any case, however, I think splitting the rule for table extensions is a good idea since there should be a degree of flexibility. And at the very least, table extensions should consider permissions set in the original object. There's no reason to either use a pragma or codeunit when reading a Sales Line in a Sales Header.

Hello @StefanMaron, How to deal with report extensions? The data items require the indirect read permission, but we cannot move them outside of the report.


Add note to i18n guide for folks who can’t access Discord

Discord is blocked in some places, so this suggests an alternative engagement path for those impacted.

Great idea. ✅


JDK settings for intellij are not working properly

Expected behavior
As an IDEasy intellij user I expect IDEasy to configure my JDK settings in Project Settings/Project and Plattform Settings/SDKs properly.
Actual behavior
IDEasy does not replace or utilize the environment variable DEVON_IDE_HOME or IDE_HOME properly so the path to the JAVA_SDK is not valid for intellij.

Steps to reproduce (bug) / Use Case of feature request (enhancement)

Remove all settings from intellij e.g. .intellij and .idea from workspaces/main
Start intellij from git bash using ide intellij
Check the file workspaces/main/.intellij/config/options/jdktable.xml

Related/Dependent Issues
Comments/Hints:
Might be related to:
https://github.com/devonfw/ide-settings/blob/8f6da8c195e2932976374913dd34ecdd344614df/intellij/workspace/update/idea.properties#L3
https://github.com/devonfw/ide-settings/blob/8f6da8c195e2932976374913dd34ecdd344614df/intellij/workspace/update/.intellij/config/options/jdk.table.xml#L6-L7
https://github.com/devonfw/ide-settings/blob/8f6da8c195e2932976374913dd34ecdd344614df/intellij/workspace/update/.intellij/config/options/jdk.table.xml#L16
Shouldn't this be $[IDE_HOME] instead?
Affected version:

OS: Windows
IDEasy: 2024.09.002-beta-SNAPSHOT

IDEasy does not replace or utilize the environment variable DEVON_IDE_HOME or IDE_HOME properly so the path to the JAVA_SDK is not valid for intellij.

Syntax has to be $[IDE_HOME] instead of ${IDE_HOME}.
It seems I missed some spots in PR https://github.com/devonfw/ide-settings/pull/51/files
Sorry for that...
I just fixed this and other leftovers I have missed.
Could you recheck if the bug is fixed (after ide update) and we can close?

I've tried to start intellij after running ide update. It looks like the SDK is now working but I'm wondering why it does not use Java and added temurin-21 instead.


ffi: Out-of-bound access marshaling structs by value with size and alignment less than word size

Consider
struct S9 {
  uint8_t a0;
  uint8_t a1;
  uint8_t a2;
  uint8_t a3;
  uint8_t a4;
  uint8_t a5;
  uint8_t a6;
  uint8_t a7;
  uint8_t a8;
};
extern void Callee(S9);
void Caller(S9* s) {
  Callee(*s);
}

on ARM64. dart:ffi marshals the struct by using two word-sized loads to fill x0 and x1. The struct has only 1-byte alignment, so the last member might be at a page boundary, so using a word load instead of byte load may trigger an access violation.
On Windows ARM64, even if the load succeds, MSVC expects the upper 56 bits of x1 to be zeroed.  (As the callee, Clang does not. Both MSVC and Clang ensure these upper bits are zero as the caller.) Using an unsigned byte load during marshaling would ensure the upper bits are zero as MSVC expects.

Nice find @rmacnak-google !
This will need some massaging in kernel_to_il.cc and il_xxx.cc to make the loads/stores in various places respect bounds.

Current results feed shows this failing or flaking on most archs/oses:
https://dart-current-results.web.app/#/filter=ffi/function_struct_by_value_out_of_bounds_test&showAll

This is still failing on vm-fuchsia-release-x64 log

This is expected to fail on all ABIs except IA32 and Windows X64. I have a CL in progress to handle these cases.

Test is now green on all configurations: https://dart-current-results.web.app/#/filter=ffi/function_struct_by_value_out_of_bounds_test&showAll
Thanks @rmacnak-google! 🚀


Reduce library types to converters & wrappers

Actually, lets close down libhal-soft. I don't think there is a good reason to keep this here. hal::soft::adc_mux should be moved to libahl-expanders and hal::soft::rc_servo has already been moved to libhal-actuator.


Combine all docker set up steps into one place

Combine Docker install and docker post-install steps into one thing in training-modules

We decided against this.


Posting XML with a DOCTYPE to an API endpoint with XmlSerializerFormatting enabled results in a validation error

Describe the bug
I have an API endpoint that should receive an HTTP POST with an XML body. The request in question is done by an application I have no control over and it includes a DOCTYPE SYSTEM instruction.
With this instruction present, the request always fails with an HTTP 400 Bad Request with the following response:
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "|ea05d5e8-4de6964869f9a566.",
    "errors": {
        "": [
            "An error occurred while deserializing input data."
        ]
    }
}

If I remove the DOCTYPE the request succeeds as expected.
I had even tried to implement my own input formatter to set XmlReaderSettings to ignore any DTD. It inherits from XmlSerializerInputFormatter and only overrides a single function:
protected override XmlReader CreateXmlReader(Stream readStream, Encoding encoding)
{
    var reader = base.CreateXmlReader(readStream, encoding) as XmlDictionaryReader;

    var settings = new XmlReaderSettings
    {
        DtdProcessing = DtdProcessing.Ignore,
        IgnoreProcessingInstructions = true,
        ValidationFlags = System.Xml.Schema.XmlSchemaValidationFlags.ReportValidationWarnings
    };

    settings.ValidationEventHandler += Settings_ValidationEventHandler;

    var newReader = XmlDictionaryReader.Create(reader, settings);

    return newReader;
}

This did not make any difference, even though I could see from the TRACE logging it was being used as the input formatter. And the ValidationEventHandler I had setup was also never called, but still the requests ended with validation error.
To Reproduce
Using ASP.NET Core 3.0 RC1, create a new WEB API project.
In ConfigureServices() call AddXmlSerializerFormatters() on the object returned by the AddControllers() call that is already there.
Add a new controller (or update the existing default controller) to add a new function that accepts an HTTP POST and expects a single POC object [FromBody].
Add the POC object that should be deserialized to from from the XML.
Expected behavior
The XML from the request will be deserialized into the POC object and the controller function will run.
Screenshots
No screenshots, but I will attach a very simple test project that shows the problem:
XmlTest.zip
As for the raw HTTP request I am using with this test project:
POST /XmlTest HTTP/1.1
Content-Type: application/xml
User-Agent: PostmanRuntime/7.17.1
Accept: */*
Host: localhost:4000
Accept-Encoding: gzip, deflate
Content-Length: 134
Connection: keep-alive
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Request SYSTEM "http://unresolvable.website:8082/Request.xsd"[]>
<Request>
</Request>

Additional context
dotnet --info
.NET Core SDK (reflecting any global.json):
Version:   3.0.100-rc1-014190
Commit:    c4d43f672d
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.18362
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\3.0.100-rc1-014190\
Host (useful for support):
Version: 3.0.0-rc1-19456-20
Commit:  8f5d7b1ba4
.NET Core SDKs installed:
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.507 [C:\Program Files\dotnet\sdk]
2.1.508 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
2.2.101 [C:\Program Files\dotnet\sdk]
2.2.102 [C:\Program Files\dotnet\sdk]
2.2.104 [C:\Program Files\dotnet\sdk]
2.2.402 [C:\Program Files\dotnet\sdk]
3.0.100-rc1-014190 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-rc1.19457.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.3-servicing-26724-03 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-rc1-19456-20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0-rc1-19456-20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

XmlTest.zip

Hi. It looks like this is a question about how to use ASP.NET Core. While we do our best to look through all the issues filed here, to get a faster response we suggest posting your questions to StackOverflow using the asp.net-core-mvc tag.

It feels like a bug to me. Although admittedly it could be because I don't know what I'm doing.
DTD processing should be disabled by default I think, since it makes the application vulnerable to a reflection attack. And in the XmlReaderSettings, it is disabled by default.
So why is the default behaviour of this to still do DTD processing?
To be sure, I will ask the same question on Stack Overflow. And if I get it working and it turns out I didn't know what I was doing, I will close this bug.

@comburo looking at your code, my guess is that it's still using MVC"s default configured XmlSerializer which does not allow DTD Try removing this call and passing in the Stream to the reader that your code instantiates:
- var reader = base.CreateXmlReader(readStream, encoding) as XmlDictionaryReader;
+ var reader = XmlDictionaryReader.Create(readStream, settings);

@pranavkm Am I not doing that on the second to last line?
var newReader = XmlDictionaryReader.Create(reader, settings);

Or does that not do what I think it should do?

The reader that XmlSerializerInputFormatter produces restricts DTD processing. Wrapping it with a more lenient reader would still cause the underlying reader to fail.

Hi comburo,
Any news about this issue? I am having the same problem.


Environment

Hi @lxtGH ,
Thank you for your contribution. It would be nice if you can share the required libraries(i.e. the version of pytorch). Just tiny advice.

Hi! Thanks for your advices. I add requirement.txt for usage.


Update dependencies and migrate to AndroidX

At first I tried to build the app in Android Studio and it failed. I had to update Gradle and all of the dependencies to the latest version and now the app can compile and run on my phone. I also migrated to AndroidX (the support library is deprecated).
Even though I am not sure this PR will be useful, I decided to submit it anyway, who knows ;-)
I have not signed a CLA (Contributor Licensing Agreement)
Debug apk for mobile: mobile-debug.zip
Debug apk for wear: wear-debug.zip

Done :-)

Funny, the .idea files are on the repo. I will double check the gitignore, something is not working. Thanks. Merging.


v0.x is not python 3.12 compatible

Looks to be mostly around importlib_resources package usage, but here's a failed GHaction run showing the failures: https://github.com/cirrus-geo/cirrus-geo/actions/runs/11782985948/job/32819220414

I think this is sufficiently addressed by #290.  I'd rather it be a port to use the patterns described in the _legacy module, but this is probably sufficient for now.


chore(main): release 1.1.0

:robot: I have created a release beep boop
1.1.0 (2022-11-05)
Features

ability to update config (a5bd0dd)
rename save to song (060de3d)
spotify: option to use spotify search (d4ed917)

Performance Improvements

remove spotify-web-api-node (0ade8d9)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/EvolutionX-10/Ariaa/releases/tag/v1.1.0 :sunflower:


Use errors.Is to check for a specific error

Please provide a description of this PR:
comparing with != or == will fail on wrapped errors. Use errors.Is to check for a specific error

Is this hypothetical or a real issue? i worry this will have unintended consequences. We have merged PRs like this that look like they are improvements many many times later to find they are regressions. I would prefer we focus on real issues. you can searc hfor "Good first issues" here: https://github.com/istio/istio/issues?q=is%3Aopen+is%3Aissue+label%3A"community%2Fgood+first+issue"

@howardjohn Thanks for your reply, this Is what I thought was the problem when I read the code, and in golangci-lint, error ==is required to be replaced if errorlint linter is enabled，If you think this change is not necessary, I will close this PR, Thanks~


AWS SSO (Identity Center) profile errors with "missing required configuration: sso_region, sso_start_url"

I use aws --profile admin sso login to authenticate with AWS.
aws --profile admin sts get-caller-identity successfully reports arn:aws:sts::123456789012:assumed-role/AWSReservedSSO_AdministratorAccess_xxx/admin.  All aws-cli commands work fine, as does CDK.
But cloud-nuke reports:
ERRO[2023-07-01T20:24:31+01:00] profile "admin" is configured to use SSO but is missing required configuration:
sso_region, sso_start_url  binary=cloud-nuke version=v0.31.2

My ./aws/config is autogenerated by aws configure and looks like this:
[default]
region = eu-west-1
sso_session = default-sso
sso_account_id =<PHONE_NUMBER>12
sso_role_name = PowerUserAccess
[profile admin]
region = eu-west-1
sso_session = default-sso
sso_account_id =<PHONE_NUMBER>12
sso_role_name = AdministratorAccess
[sso-session default-sso]
sso_start_url = https://d-1234567890.awsapps.com/start
sso_region = eu-west-1
sso_registration_scopes = sso:account:access

I've tried to copy-and-paste sso_region and sso_start_url into [profile admin] (even though I shouldn't need to), then I get a different error:
ERRO[2023-07-01T20:24:01+01:00] could not find any enabled regions            binary=cloud-nuke version=v0.31.2

I've tried exporting AWS_PROFILE, AWS_REGION, AWS_DEFAULT_REGION, and AWS_SDK_LOAD_CONFIG=true but see the same error.

Hey @hertzsprung, have you tried using aws-vault with the profile. The command would look something like this once you configured the profile properly
aws-vault exec <profile_name> -- cloud-nuke command...

Since we haven't received any response, we will close this ticket for now. Please re-open or recreate the issue if you have any further concern or issues.

@hongil0316 there is no issue when running this via aws-vault.
However plain cloud-nuke fails to utilize sso-session from the config.
It looks similar to the issues I faced with terraform or packer

https://github.com/hashicorp/packer-plugin-amazon/issues/350
https://github.com/hashicorp/terraform/issues/32465

And the solution there was to bump AWS SDK.

Confirmed this is working in the latest source build (57df2d5)

Hey @jakub-pietrzak, you continue to see the issue? Can you explain why we can reproduce the same issue?

@hongil0316 I have now checked and also confirm that this is working fine in the latest source build.
go run main.go aws --dry-run --region eu-central-1

The same however does not work in 0.32.0.


Pushing in afterEach doesn't call afterEach again.

I'm using the .afterEach hook in my routing.
In this hook, i'm changing the pagetitle and also validating some logic.
In some cases the user have to be redirected, so I'm using push() to relocate the browser.
The problem is, that after the routing has been complete, the afterEach doesn't get called again, so my pagetitle isn't updated correctly...
Is this for a reason, or is it a bug?
Thanks!


Visible character code in recommended content link

Just wanted to point out something in case it's an issue elsewhere as well.
The "Recommended content" section displays a link titled "Logical OR operator: Ž|"
The character code is being displayed instead of the | character.  When I navigate to the page, the character seems to be displaying correctly.
You may also notice a link to an article about the left shift and right shift operators, >> and <<

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

ID: 262486b8-5d80-2c0b-f2eb-40c86aaf6a61
Version Independent ID: 26b45954-2bcc-263f-7522-0c72941141bb
Content: Integer Limits
Content Source: docs/cpp/integer-limits.md
Product: visual-cpp
Technology: cpp-language
GitHub Login: @corob-msft
Microsoft Alias: corob

@owenjustin
Thanks for the report, which is one we've heard before (#3570). We've updated content recently that used those escapes in titles and descriptions (we removed them), but apparently our change hasn't worked its way through the system yet. The "Recommended content" section is created by some independent publishing process that the C++ docs team has no control over. I expect this issue will clear itself up after some publishing process gets around to updating its database. I'm closing the issue as a duplicate for now, though if it persists, we may need to escalate it to the team responsible.


Manjaro Linux: Input.is_key_pressed() randomly receives inputs even when no keyboard input

Godot version
4.1.2.stable.flathub [399c9dc39]
System information
Manjaro Linux unstable rolling version, Gnome w/ Wayland (Help > Copy System Info output: Godot v4.1.2.stable (399c9dc39) - Freedesktop SDK 23.08 (Flatpak runtime) - Wayland - Vulkan (Compatibility) - Mesa Intel(R) Xe Graphics (TGL GT2) () - 11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz (8 Threads)
Issue description
Expected behavior
When I run my game within Godot IDE on Linux + Gnome desktop, the running game accepts keyboard input ("ui_accept" for jump, "ui_left" and "ui_right" for moving) to control character move. The character should stay if there's no input. It should only move when ui_left o ui_right key is pressed.
Actual behavior
At a random chances I can see the character moves when my hands leave keyboard, as if a ghost hand is pressing my keyboard. It can't be reproduced every time but happens in a relatively high frequency. In my experience the frequency is 1 hit per 3-5 launches.
When the ghost input happens, switching window focus does not solve this issue.
I tried to print return value of Input.is_key_pressed("ui_left") and Input.is_key_pressed("ui_right"). The output is true when the issue happens.
As it sometimes works completely fine, I can't exactly tell how it's reproduced in 100% stable rate. An observation is it can be triggerred quickly when I moves my finger on touchpad, either multi-finger move (flip desktop) or single-finger move.
A recorded example video is uploaded at: https://www.veed.io/view/9d6cb6c1-0607-4b45-a3c1-a5e990e578f1
Additional scenarios

The issue can be reproduced when the game is exported as standalone executable.
The issue can be reproduced on both Gnome + Xorg, and Gnome + Wayland. (So appears not a Wayland-specific problem)
The issue can be reproduced on both Linux kernel 6.4 and 6.5. (I switched kernels to make sure it was not a keyboard driver issue).
The issue can be reproduced on my own built Godot master branch, v4.2.beta.custom_build.b662d232a, on the same machine.
The issue cannot be reproduced on any of my Godot 3.5.3 game projects on same machine, no matter running within IDE, or exported as standalone binary.
The issue can not be reproduced on my Macbook Pro, OS macOS Sonoma 14.1 + Godot 4.1.2 official version downloaded from godotengine.org  (version = v.4.1.2.stable.official [399c9dc39].
I verified Gnome assesibility (repeated key, stick key) are disabled when the issue happens on my Linux box.

Additional information
OS: Manjaro Linux unstable (rolling build)
X11: package = libx11, version: 1.8.7-1
Wayland: package = wayland, version = 1.22.0-1
Steps to reproduce

Make sure the system setup is Manjaro Linux + Gnome (not sure whether other Linux distro can reproduce)
Open Godot and import project (https://github.com/fuzhouch/interactive-space-tour)
Click Run Project button to execute project.
Sometimes it's hard to reproduce, try switching desktop with mouse.

Minimal reproduction project
My project (GDScript-based): https://github.com/fuzhouch/interactive-space-tour
The all character moving logic is in Player.gd

Hey folks, I understand such a random issue may be difficult to diagnose by just description. So, if you requires logs or operations to help diagnose, please kindly let me know. I may not be able to response immediately due to time zone difference but will reply in 1-2 days.

Hei,
Can you confirm that when the "ghost hand" happens, it hits the _physics_process but not the ui_right / left logic?

Hei,
Can you confirm that when the "ghost hand" happens, it hits the _physics_process but not the ui_right / left logic?

Hi Dorin @d0x1n,
I'm not sure what you mean by ui_left/ left logic. If you mean whether Input.is_action_pressed() API returns value, then yes, it does.
My code is pasted below below. I added two print() lines for debugging purpose. The move_left and move_right variables immediately calls Input.is_action_pressed(), at the first two statements of _physics_process().
When the issue happens, the "move left" and "move right" messages are printed continuously. That means, _physics_process() is invoked and then called Input.is_action_pressed() API. Meanwhile, the Input.is_action_pressed() API keeps returning true when keyboard is not touched.
Code path: https://github.com/fuzhouch/interactive-space-tour/blob/main/characters/Player.gd
Or, if you mean something in C++ layer, could you help providing some steps so I can log it?
func _physics_process(delta: float) -> void:
    var move_left = Input.is_action_pressed("ui_left")
    var move_right = Input.is_action_pressed("ui_right")

    var direction: float = 0.0
    if move_left:
        print("move left")
        direction = -1.0
        if is_suite_on:
            action_status = STATUS_WALK
        else:
            action_status = STATUS_NOSUITE_WALK
    elif move_right:
        print("move right")
        direction = 1.0
        if is_suite_on:
            action_status = STATUS_WALK
        else:
            action_status = STATUS_NOSUITE_WALK
    else:
        if is_suite_on:
            action_status = STATUS_IDLE
        else:
            action_status = STATUS_NOSUITE_IDLE
    velocity.x = direction * speed
... # More code are skipped
....

Hi @brcontainer,
Thanks for your inputs. Let me try and get back to you.
Just to be clear on some points you made.

In my code I did use Input.is_action_pressed() not Input.is_key_pressed(). Thus it's not cauesd by string/enum problem. If you checked my code pasted in window. It clearly shows Input.is_action_pressed().
During the testing, there's no joystick connected on the machine. So it's a bit confusing to me that why you think a device can activate D-PAD or Axis.

Anyway, let's do this:
Let me create a project based on your Majaro-Input.zip, and make sure there's configuration only on keyboard. I will record a video and get back to you.

Hey @brcontainer,
You are right, appears it's a problem on joystick input. (Thanks!)
I uploaded your minimal project to Github (https://github.com/fuzhouch/manjaro-input) and did a quick try on my machine. To make sure the enviornment clean I managed to do the following:

I turned off Steam running on my machine, which may detect joystick devices.
I turned off Bluetooth on my machine, which means all external physical joysticks are disconnected.
I modified your code a little bit, only print when Input.is_action_pressed() returns true.

The result is shown as video: https://www.veed.io/view/f299612c-5b6e-429e-852a-85db12870a0d?panel=share
A summary below:

The issue can be reproduced. It can be triggerred immediately on launched.
Only d-pad-right and axis-0-plus are printed. The right_physical_or_unicode is never printed.

So to answe the directions you pointed out:

Is it ghost keyboard or ghost joystick? It should be "ghost joystick".
Hardware joystick accidentially connected to decice? Given I have turned off Bluetooth (you can see it in video), there should not be any possibility that a Bluetooth joystick accidentially connected to machine.
Software emulation that may triggers the issue? To make sure we have comparison, I also tried my Godot 3.5.3 game project (also support joystick) on the same machine. It does not have messy input at all. So software emulation is unlikely to be the root cause.

Could you suggest any next steps?

I strongly suspected some sort of a joystick issue and/or broken joystick drivers from the description. I vaguely remember someone having superfluous inputs due to having a joystick plugged in/the joystick/touchpad drivers misbehaving
Similar issue #62598 (but they had inputs dropped not superfluous inputs appearing) and #16832 (receiving joystick when not focused)

Thanks @Zireael07.
If I want to verify your theory, could you suggest a possible start point, e.g. which kernel module I need to check or udev rules? What information I should collect to help diagnose, e.g. dmesg output? This is the first time I started touching this area, so any starting point is greatly appreciated.
I checked and confirmed I didn't install any thirdparty drivers from either source or AUR.
Meanwhile, if it's a driver issue, there may be two more questions:

Why does Godot 3.5.3 project works fine on the same machine? Does Godot 3.5.3 and 4.1.2 uses different input drivers? (which sounds unlikely to me).
How can a driver functioning when there's no joystick connected? (If you check my previous video, you may have seen that I have disabled bluetooth from Gnome settings).

Ah, I missed the fact that 3.5 works fine
There was a ton of changes in Godot around input and joysticks specifically - this looks like a regression then
As for 2) that's exactly what a broken driver can do. Another possible culprit is your laptop touchpad, which can also be picked up as a joystick by SDL and can send superfluous events

Thanks @Zireael07. I am just replying.
If I want to verify it's caused by a bad driver, could you suggest a possible start point, e.g. which kernel module I need to check or udev rules? What information I should collect to help diagnose, e.g. dmesg output? This is the first time I started touching this area, so any starting point is greatly appreciated.
Btw, I checked and confirmed I didn't install any thirdparty drivers from either source or AUR.

Btw, I would like add one more context - I don't think I see less frequency on Godot 3 because I don't use it often. In fact, I uses Godot 3 more often than 4 on my machine.
Godot 3 is my main work system for my game, Tsetesg's Adventure which just released until last week. I just started working heavily on Godot 4 since last week, because I need to port my game from 3 to 4. Then I was bugged by the issue.

Oh I forgot one thing -- I actually did try to identify whether this is a kernel problem. Yesterday I switched between three kernels, 5.5, 5.6 and 5.1. Same issue happens on all kernels after reboot.

Observe the debugger, there are at least 2 errors that should not exist in this minimal example.
And you also made a mistake when writing the IFs (https://github.com/fuzhouch/manjaro-input/blob/e9dd79504421085ffe676a5e49ae88261b340f3c/mcve.gd#L12):
    if Input.is_action_pressed("axis-0-plus"): # <--- ERROR
        prints("d-pad-right:", true)
    if Input.is_action_pressed("axis-0-plus"):
        prints("axis-0-plus:", true)

Should be:
    if Input.is_action_pressed("d-pad-right"):
        prints("d-pad-right:", true)
    if Input.is_action_pressed("axis-0-plus"):
        prints("axis-0-plus:", true)

Hi @brcontainer
Oh you are my hero! Thank for pointing out -- Corrected and here you go - https://www.veed.io/view/1152ba86-e6c4-4ff1-8d5f-54f81afcc103?panel=share
It's on the same setup - Shutdown Bluetooth, close Steam, no other services like KDE Connect. From the output result it seems the only ghost is from axis-0-plus, no d-pad-right. So looks like d-pad is safe.

Will your game only run on computers?

Unfortunately the answer is no. The only reason I migrate from Godot 3.5.3 to Godot 4 is to port my game to Nintendo Switch. Running on Godot 4 is a requirement from my publisher.
Btw, I used to think this issue low priority, as Switch does not have keyboard. But now it appears to be a bigger issue to me, because D-pad/axis support is a must when I deliver the game. And axis seems more important due to Switch's gamepad layout.

I personally never use the builtin actions (with ui_ prefix)

Same with you. My project also defines my own input definitions (see screenshot below). But has you see, the issue can be reproduced on all three projects, no matter what name is.

Hi folks, @brcontainer @Zireael07 @d0x1n ,
I suddenly get a new finding that should narrow down the investigation. The issue can be stably reproduced.
The trick is, when I scroll the right edge of trackpad, it generates axis input. If I click any part of the trackpad, the input stops.  I uploaded a new video to show it: https://www.veed.io/view/a427a61e-b231-4390-a5d3-701ba921072b?panel=share
That explains why I hit it so frequently. During development I mostly use keyboard on my laptop with key set to WSAD (direction) and j/k/l (jump, fire, etc.). During this setting, my palm usually touches right edge of trackpad. Then the axis input is generated.
So it really look like @Zireael07 made a point that closes to root cause. Why does Godot 4 treats trackpad as axis? Especially, I use double finger scrolling in my Gnome desktop.
Morever, I also tried it in Godot 3.5.3 by mimicing @brcontainer 's Manjaro-Input project. Godot 3.5.3 does not response to the right-edge scrolling at all.

Ok, now update the issue title, to explain that the problem is with "Joypad Axis", and let's wait for the next investigations.

@fuzhouch I downloaded Godot3.5 and noticed a difference in the ui_right action:

In Godot4 we have the entries "Axis0+", "D-Pad Right" and "Right Physical or Right Unicode" for the ui_right input map.
In Godot3.5 we only have the "D-Pad Right" and "Right Physical or Right Unicode" entries for the ui_right input map.

In other words, this is probably why you didn't notice the problem in Godot3, because it wasn't configured to use Axis.
I created an MCVE for you to test in Godot3 on your Manjaro, test it and tell us if Axis is also printed in the Godot Console:
Manjaro-input-godot3.5.zip

Sure, man @brcontainer, but this time I don't agree with you. :(
I have already verfied on a mimic app mentioned before for Godot 3.5.3. The code is uploaded to Github as well: https://github.com/fuzhouch/manjaro-input-3. As you suggested long ago, I have stopped using ui_* in all tests mentioned above, but created settings to mimic your manjaro-input.zip project.
Since you asked, I created two videos to compare the result. You should be able to see the two IDEs are running on same machine at same time.
Godot 3.5.3: https://www.veed.io/view/98a03642-dbcf-4715-80cf-fb03ab1a77c6?panel=share
Godot 4.1.2: https://www.veed.io/view/dbfacd1b-e2fe-490a-bf26-7c5301bf3c07?panel=share
With thet the clips we can clearly see Godot 3.5.3 does not receive axis-0-plus event, while Godot 4 still receives when I slide my fingers on right edge of trackpad.

Sure, man @brcontainer, but this time I don't agree with you. :(
I have already verfied on a mimic app mentioned before for Godot 3.5.3. The code is uploaded to Github as well: https://github.com/fuzhouch/manjaro-input-3. As you suggested long ago, I have stopped using ui_* in all tests mentioned above, but created settings to mimic your manjaro-input.zip project.
Since you asked, I created two videos to compare the result. You should be able to see the two IDEs are running on same laptop at same time.
Godot 3.5.3: https://www.veed.io/view/98a03642-dbcf-4715-80cf-fb03ab1a77c6?panel=share Godot 4.1.2: https://www.veed.io/view/dbfacd1b-e2fe-490a-bf26-7c5301bf3c07?panel=share
With the clips we can clearly see Godot 3.5.3 does not receive axis-0-plus event, while Godot 4 still receives when I slide my fingers on right edge of trackpad.

The process of elimination exists in different contexts, such as mathematics, medicine, and the judiciary. In simple terms, this process that I have applied so far is what helped to detect that the problem is specifically in Axis and the last test I sent you is precisely to confirm whether it is a Godot4 bug or an external factor. As I said:

... this is PROBABLY why you didn't notice the problem in Godot3 ...

It probably indicates a possibility, this is not even a statement of fact. That's why I asked you to test the Godot3 MCVE that I created. It was thanks to the last test that we were able to verify the possible problem with Godot4.
👍👍👍

No problem I totally understand. Thanks for keeping the feedbacks to me.
Btw, just curious, is it possible that other folks to reproduce this issue? I'm afraid it's unreasonable to diagnose via video.

@fuzhouch I couldn't reproduce the problem, I'm trying a different technology than Godot to create another MCVE to send you, something that captures any input, so we can identify which input on your Manjaro is accidentally mapped to the same as the "Joypad Axis". Basically it's a script that will capture everything related to the inputs executed on your PC, I'm still coding, it may take some time.

@brcontainer I see. Just take your time. And a quick note - I will be out tomorrow for meeting. So response may be slow in the next day. Just send me script when you are ready. I will get back to you ASAP.