Catch exceptions in main()?

I expect that exception handling is usually supported by a C++ program. I wonder why your function "main" does not contain corresponding try and catch instructions so far.
How do you think about recommendations by Matthew Wilson in an article?
Would you like to adjust the implementation if you consider effects for uncaught/unhandled exceptions like they are described by Danny Kalev?

Overall, it's a conscious design decision to keep the error handling localized and readable (Yes I know Matthew Wilson does not agree with that) along with avoiding a lot of other fancier programming tricks unless absolutely needed in an age where C/C++ is no longer taught.
His recommendations for a bulletproof main.cpp seem sensible though.  I'll be writing some more useful examples in the coming weeks that show how to make use of more of the existing features of the framework given most of the failure cases involve CUDA issues which can currently only be caught with if (error) like clauses (Check out cudaSafeCall in all the CUDA SDK examples to see what I mean).   I'd end up with an error check followed by manual exception throwing in this case.


[Dissasm] Investigate and fix multiple labels shown into the same location

Duplicated by #205
Also fixed when #205 was Fixed


update atspi_test for improving CIs

please see #1329

Changing the yml under workflows/ does not trigger the GHA.
Is this due to permissions set on the repository?
Not only this PR, by not running the tests on Linux, the coverage is reduced and codecov results in failure.
If possible, the GHA would be triggered automatically by a PR.

Hmm... All the tasks are in "queued" status. Only CodeQL checks passed. I'm not sure why they are all queued.

Regarding approvals I've sent an invitation to the org with triage access to the repository. Hope CI can run for your PRs automatically after accepting the invitation.

Thank you!
First, I'd like to investigate those problems by checking the GHA configuration and manually re-running CI for other PRs.

I found that Ubuntu 18.04 is already marked as unsupported in GHA.

https://github.com/actions/runner-images/issues/6002

This might be the reason it's stuck in the 'queued' state.
I will update the atspi_test.yml to use the currently supported Ubuntu versions, which are 20.04 and 22.04.

@vasily-v-ryabov
I've found some problems with CIs, tests, and dependency packages.
Python 2.7 is not supported with actions/setup-python@>v1
Log
This is proposed in https://github.com/actions/setup-python/issues/672.

related PRs

https://github.com/actions/setup-python/pull/673
https://github.com/actions/setup-python/pull/674
https://github.com/actions/setup-python/pull/675

Error reports and workarounds have been proposed.

related comments

https://github.com/actions/setup-python/issues/672#issuecomment-1569000019
https://github.com/actions/setup-python/issues/672#issuecomment-1572546982
https://github.com/actions/setup-python/issues/672#issuecomment-1572609284
https://github.com/actions/runner-images/issues/7401#issuecomment-1571065641
https://github.com/actions/setup-python/issues/672#issuecomment-1589120020
https://github.com/actions/setup-python/issues/672#issuecomment-1601170904
https://github.com/actions/setup-python/issues/672#issuecomment-1607332070

However, whether or not to introduce them into the CI requires further discussion.
python-xlib installation is failed with Ubuntu-22.04
Log
Do we need to update python-xlib?
pywinauto/unittests/test_application_linux.py does not terminate whether it passes or fails
Log
I observed tests timing out and failing, so I added a commit to extend the timeout-minutes to 45 minutes. After this change, some jobs passed in less time than the timeout, while others still timed out.
When looking at the jobs that timed out, I noticed that they all had completed up to test_keyboard.py but were not completing in test_application_linux.py.
It's unclear whether the timeout condition in test_application_linux.py is too long or if there is a possibility of it getting stuck in an infinite loop, but I believe some changes in the test code are necessary.

Looking at the production codebase, the Linux Application doesn't have as many intricate branches or operations related to timeouts and idles as the Windows Application has.
I think that is the reason tests using assertRaises don't work well.
start
https://github.com/pywinauto/pywinauto/blob/bf7f789d01b7c66ccd0c213db0a029da7e588c9e/pywinauto/linux/application.py#L67-L80
https://github.com/pywinauto/pywinauto/blob/bf7f789d01b7c66ccd0c213db0a029da7e588c9e/pywinauto/windows/application.py#L394-L460
connect
https://github.com/pywinauto/pywinauto/blob/bf7f789d01b7c66ccd0c213db0a029da7e588c9e/pywinauto/linux/application.py#L82-L117
https://github.com/pywinauto/pywinauto/blob/bf7f789d01b7c66ccd0c213db0a029da7e588c9e/pywinauto/windows/application.py#L299-L392
To stabilize the CI, we need changes not only in the tests but also in the production codebase.
I'm not well-versed in Linux, so I hope someone else with Linux expertise can come up with a good implementation.

I specified python:2.7.18-buster for container, but the Install dependencies isn't working properly.

https://github.com/pywinauto/pywinauto/actions/runs/6123447605/workflow

Install dependencies failure log
Run python -m pip install --upgrade pip
  python -m pip install --upgrade pip
  sudo apt update -y
  sudo apt upgrade
  sudo apt install -y --no-install-recommends python-setuptools tk-dev python-tk
  sudo apt install -y --no-install-recommends python3 python3-pip python3-setuptools
  sudo apt install -y --no-install-recommends python-xlib
  sudo apt install -y --no-install-recommends xsel
  sudo apt install -y libjavascriptcoregtk-4.0-18
  pip install coverage codecov
  pip install python-xlib --upgrade
  pip install mock --upgrade
  python -m pip install pytest
  sudo apt install -y build-essential libssl-dev
  sudo apt install -y qt5-default
  sudo apt install -y libxkbcommon-x11-0
  sudo apt install -y python3-gi gobject-introspection gir1.[2](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:2)-gtk-[3](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:3).0
  sudo apt install -y at-spi2-core
  sudo apt install -y python3-pyatspi
  sudo apt install -y xvfb x11-utils libxkbcommon-x11-0 \
      libxcb-icccm[4](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:4) libxcb-image0 libxcb-keysyms1 libxcb-randr0 \
      libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 xdotool
  #pip3 install scikit-build # required for cmake>=3.23.0
  pip3 install cmake==3.22.6
  shell: sh -e {0}
  env:
    DISPLAY: :0
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pip
  Downloading pip-20.3.4-py2.py3-none-any.whl (1.[5](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:5) MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.3.4
/__w/_temp/e840ddf7-74b5-4ca3-8a4[6](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:6)-3de336bec61d.sh: 2: /__w/_temp/e840ddf[7](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:7)-74b5-4ca3-[8](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:8)a46-3de336bec61d.sh: sudo: not found
Error: Process completed with exit code [12](https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664#step:5:12)7.

https://github.com/pywinauto/pywinauto/actions/runs/6123447605/job/16621351664

My latest commit aims to prevent jobs from staying in the 'queued' state.
I made changes to the matrix and uses sections. Testing with Python 2.7 is failing.
The cost of continuing to support Python 2.7 has increased compared to a few years ago.
Any opinions would be appreciated.

I have been considering a way to support Python 2.7 in an Ubuntu environment using containers and committed experimental changes for this purpose. However, the CI has failed.
Here is a part of the message when using the container:
debconf: unable to initialize frontend: Dialog

https://github.com/pywinauto/pywinauto/actions/runs/6135067536/job/16648479694?pr=1330#step:9:2653

I've realized that containers were not intended for working with dialog interactions, so they are unsuitable for the GUI tests for this package.

I feel that there isn't much benefit in supporting backend=atspi in Python 2.7.

The last release version(https://github.com/pywinauto/pywinauto/tree/0.6.8) does not include backend=atspi (, AtspiWrapper and AtspiElementInfo).
Python 2.7 reached EOL on January 1, 2020, and it has been more than three years since then.

Therefore, nowadays, I think there are very few developers eagerly anticipating support for backend=atspi in Python 2.7.

@vasily-v-ryabov

Hope CI can run for your PRs automatically after accepting the invitation.

I confirmed that submitting a new PR or temporarily closing and reopening a previous PR causes the GHA to run.
However, with my current permissions, I cannot execute "Cancel workflow", "Re-run failed jobs", or "Re-run all jobs".
As mentioned earlier, tests for Application(backend="atspi") are unstable and sometimes do not terminate.
Without "Cancel workflow", I cannot cancel unterminated tests, resulting in a significant amount of time spent running tests for all conditions in the matrix.
Additionally, without "Re-run failed jobs", I cannot re-run those timed-out tests.

container: python:2.7.18-buster(https://github.com/pywinauto/pywinauto/compare/bf7f789...d5dc55b) did not work.
So I removed Python 2.7 from matrix(https://github.com/pywinauto/pywinauto/compare/bf7f789...fc675c1).
This has passed tests for at least one Python version.


remove double semicolons

💄

@jens1o,
Thanks for having already signed the Contribution License Agreement. Your agreement has not been validated yet. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks @jens1o!


Revert "Update hardcoded JDK next values (#1574)"

This reverts https://github.com/AdoptOpenJDK/openjdk-build/pull/1574 as it causes a build break on jdk-next (see https://github.com/AdoptOpenJDK/openjdk-build/issues/1820)

Superceeded by https://github.com/AdoptOpenJDK/openjdk-build/pull/1822. Closing...


Add cjson module

Problem
https://github.com/blueloveTH/pocketpy/issues/143
pkpy supports json module with two functions.
json.dumps(o: object) -> str
json.loads(s: str) -> object
https://pocketpy.dev/modules/json/
This feature was supported by the internal python parser, which is not special designed for JSON.
So pkpy's json module is "3-5x" slower than other JSON libraries.
The goal
cJSON is a widely adopted JSON library, which is stable and fast.
We want to add a new module cjson which provides the two functions above as an alternative JSON backend.
Also need some profile to show how fast cJSON is, comparing with the old JSON backend.

@blueloveTH Is there currently any way to compare performance of current json implementation and the proposed cjson implementation?

@blueloveTH Is there currently any way to compare performance of current json implementation and the proposed cjson implementation?

I have several benchmark json files for. I can do profile for you when you have implemented cjson module.

You will create a directory 3rd/cjson and put your wrapper files there. Inside you wrapper file, implement a function add_module_cjson(VM* vm);

@blueloveTH Could you please check if the structure of the cjson module is good?
I was able to build it using cmake and make but it was not compiled when I ran bash build.sh.
Could you please give some pointer how I can add necessary change in build.sh so that it compiles the cjson module? Thanks.

That's right. 3rd modules can only be built via cmake, not build.sh.

I am checking the project structure and will make some change for you.

I have refactored the project structure, now it is valid.
Changes

keeps cJSON.h and cJSON.c, use C compiler instead of C++ compiler for them.
rename the wrapper ('w' suffix) to cJSONw.hpp and cJSONw.cpp due to our convention.
add option in CMakeLists.txt and macro PK_USE_CJSON to control whether to add this module.
some other necessary changes at amalgamate.py.

Thank you.
On Fri, Oct 6, 2023 at 11:21 PM BLUELOVETH @.***> wrote:

I have refactored the project structure, now it is valid.
Changes

keeps cJSON.h and cJSON.c, use C compiler instead of C++ compiler
for them.
rename the wrapper ('w' suffix) to cJSONw.hpp and cJSONw.cpp due to
our convention.
add option in CMakeLists.txt and macro PK_USE_CJSON to control
whether to add this module.
some other necessary changes at amalgamate.py.

—
Reply to this email directly, view it on GitHub
https://github.com/blueloveTH/pocketpy/pull/151#issuecomment-1751582219,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXM5WB66Y7YJI4GDG3GO5PDX6DDEDAVCNFSM6AAAAAA5VAIKOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRGU4DEMRRHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have noticed several issues.

There is convert_cjson_to_dict and covert_dict_to_string. That's nice. However, json.loads("1") will get 1 and json.loads("[1,2]") will get [1, 2] which are not necessary dict.
Beware of + operator when concat strings! It may be slow!

There are some test files for you:
tests/80_json.py
tests/80_json_alt.py
tests/82_ldtk.py

@blueloveTH I've addressed the first issue (support JSON primitives ).
Right now, tests/82_ldtk.py tests are failing which I'm investigating.

I have enabled CI check for you.

@blueloveTH could you please enable the CI once again please?

It seems you are almost done! I'll review it now (and may submit some changes to fix the CI).

Congratulations! cjson.loads and convert_cjson_to_python_object are perfect! They work well and fast.
However, convert_python_object_to_string's implementation isn't correct.
You need to convert python object into cJSON * item first and then use cJSON_Print() to convert it into string.
PyObject* -> cJSON* -> const char*

I will explain why.
Current hand-written cjson.dumps uses some magic things like:
std::string str = CAST(Str&, obj).replace("\n", "\\n").replace("\"", "\\\"").c_str();

This is unreliable and it can only handle \n escape not \t for example. We need to consider all edge-cases.
It is slow and un-optimized. You create a lot of temporary strings. And such optimization is hard to be done by hand so we must use cJSON_Print() to do conversion.

Thank you for your review and suggestions. I will work on it.


Unhandled Promise rejection: Can't resolve all parameters for XXXXXX

-- please install the Augury Canary Build Chrome extension, as this will be used to test any new features or bug fixes.
Augury version (required): 1.16.1 AND 1.16.2
Angular version (required): 5.2.1
Date: 17.05.2018
OS: Debian Linux
-- Please make sure you're using the latest version of Augury before reporting an issue.
YES
Demo test application:
-- Git repository for demo app showing the issue (optional but very helpful for difficult issues).
-- If a code snippet will completely show the issue, please include it.
Description of issue:
-- Include (clipped) screenshot images if possible.
When enabled it crash :
zone.js:665 Unhandled Promise rejection: Can't resolve all parameters for RouterPathService: (?). ; Zone: angular ; Task: Promise.then ; Value: Error: Can't resolve all parameters for RouterPathService: (?).     at syntaxError (compiler.js:485)     at CompileMetadataResolver._getDependenciesMetadata (compiler.js:15692)     at CompileMetadataResolver._getTypeMetadata (compiler.js:15527)     at CompileMetadataResolver._getInjectableMetadata (compiler.js:15507)     at CompileMetadataResolver.getProviderMetadata (compiler.js:15867)     at eval (compiler.js:15778)     at Array.forEach (<anonymous>)     at CompileMetadataResolver._getProvidersMetadata (compiler.js:15738)     at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15306)     at CompileMetadataResolver.getNgModuleSummary (compiler.js:15125)     at eval (compiler.js:15223)     at Array.forEach (<anonymous>)     at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15201)     at CompileMetadataResolver.getNgModuleSummary (compiler.js:15125)     at eval (compiler.js:15223)     at Array.forEach (<anonymous>)     at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15201)     at JitCompiler._loadModules (compiler.js:34398)     at JitCompiler._compileModuleAndComponents (compiler.js:34359)     at JitCompiler.compileModuleAsync (compiler.js:34253)     at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:239)     at eval (core.js:6554)     at ZoneDelegate.invoke (zone.js:388)     at Object.onInvoke (core.js:4733)     at ZoneDelegate.invoke (zone.js:387)     at Zone.run (zone.js:138)     at eval (zone.js:872)     at ZoneDelegate.invokeTask (zone.js:421)     at Object.onInvokeTask (core.js:4724)     at ZoneDelegate.invokeTask (zone.js:420)     at Zone.runTask (zone.js:188)     at drainMicroTaskQueue (zone.js:595) Error: Can't resolve all parameters for RouterPathService: (?).     at syntaxError (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:706:34)     at CompileMetadataResolver._getDependenciesMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15913:35)     at CompileMetadataResolver._getTypeMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15748:26)     at CompileMetadataResolver._getInjectableMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15728:21)     at CompileMetadataResolver.getProviderMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:16088:40)     at eval (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15999:49)     at Array.forEach (<anonymous>)     at CompileMetadataResolver._getProvidersMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15959:19)     at CompileMetadataResolver.getNgModuleMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15527:50)     at CompileMetadataResolver.getNgModuleSummary (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15346:52)     at eval (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15444:72)     at Array.forEach (<anonymous>)     at CompileMetadataResolver.getNgModuleMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15422:49)     at CompileMetadataResolver.getNgModuleSummary (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15346:52)     at eval (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15444:72)     at Array.forEach (<anonymous>)     at CompileMetadataResolver.getNgModuleMetadata (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:15422:49)     at JitCompiler._loadModules (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:34619:87)     at JitCompiler._compileModuleAndComponents (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:34580:36)     at JitCompiler.compileModuleAsync (webpack-internal:///./node_modules/@angular/compiler/esm5/compiler.js:34474:37)     at CompilerImpl.compileModuleAsync (webpack-internal:///./node_modules/@angular/platform-browser-dynamic/esm5/platform-browser-dynamic.js:254:49)     at eval (webpack-internal:///./node_modules/@angular/core/esm5/core.js:6768:60)     at ZoneDelegate.invoke (webpack-internal:///./node_modules/zone.js/dist/zone.js:388:26)     at Object.onInvoke (webpack-internal:///./node_modules/@angular/core/esm5/core.js:4947:33)     at ZoneDelegate.invoke (webpack-internal:///./node_modules/zone.js/dist/zone.js:387:32)     at Zone.run (webpack-internal:///./node_modules/zone.js/dist/zone.js:138:43)     at eval (webpack-internal:///./node_modules/zone.js/dist/zone.js:872:34)     at ZoneDelegate.invokeTask (webpack-internal:///./node_modules/zone.js/dist/zone.js:421:31)     at Object.onInvokeTask (webpack-internal:///./node_modules/@angular/core/esm5/core.js:4938:33)     at ZoneDelegate.invokeTask (webpack-internal:///./node_modules/zone.js/dist/zone.js:420:36)     at Zone.runTask (webpack-internal:///./node_modules/zone.js/dist/zone.js:188:47)     at drainMicroTaskQueue (webpack-internal:///./node_modules/zone.js/dist/zone.js:595:35) api.onUnhandledError @ zone.js:665 handleUnhandledRejection @ zone.js:692 _loop_1 @ zone.js:682 api.microtaskDrainDone @ zone.js:686 drainMicroTaskQueue @ zone.js:602 Promise.then (async) scheduleMicroTask @ zone.js:578 ZoneDelegate.scheduleTask @ zone.js:410 onScheduleTask @ zone.js:297 ZoneDelegate.scheduleTask @ zone.js:401 Zone.scheduleTask @ zone.js:232 Zone.scheduleMicroTask @ zone.js:252 scheduleResolveOrReject @ zone.js:862 resolvePromise @ zone.js:808 (anonymous) @ zone.js:724 webpackJsonpCallback @ inline.bundle.js:22 (anonymous) @ operation-management.module.chunk.js:1
Steps to reproduce:

Enable Augury
Connect to your app --> Crash
Disable Augury --> Works !

Additional details:

workaround is downgrading to 1.16.0 by https://crx.dam.io/ext/elgalmkoelokbchhkhacckoklkejnhcd.html (rename .zip to .crx and install)

Same issue here it seems: https://github.com/angular/angular-cli/issues/5007

Having the same issue - currently on 5.2.7 of Angular

Since the update yesterday my angular application is broke. IT works when augury is disabled, and breaks when it's enabled. It took me and my co-worker most of the day trying to debug before we realized that it was Augury breaking the app.
Using Angular version 4.3.6 and Augury 1.16.2

yep, this just happened to our whole team out of nowhere, and thought it was a missing Inject() issue, but it turns out it's the Augury plugin after reverting our code back to run it.

Augury rolled back to 1.16.0 until this issue is resolved.
1.16.3 is a rollback release.

A new version of the Canary Build (1.17.0) is released, with what we believe might be a fix for this issue.
reflect-metadata has been removed from the bundle. Angular uses reflect-metadata for its JIT compilations, and a versioning conflict was occurring for some users. We now piggyback off of Angular's global reflect-metadata polyfill.
@elboukhari , @williamchristophercooley , @s001dxp , @jaj1014 , @mxchange , can you confirm / disconfirm that version 1.17.0 of the Canary Build fixes the issue?

A new version of the Canary Build (1.17.0) is released, with what we believe might be a fix for this issue.
reflect-metadata has been removed from the bundle. Angular uses reflect-metadata for its JIT compilations, and a versioning conflict was occurring for some users. We now piggyback off of Angular's global reflect-metadata polyfill.
@elboukhari , @williamchristophercooley , @s001dxp , @jaj1014 , @mxchange , can you confirm / disconfirm that version 1.17.0 of the Canary Build fixes the issue?

The problem went away with Canary Build (1.17.0). I'm on Angular 6.0.1.

Canary merged with master as official 1.18 release.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 08:33:29 on 2023.04.12
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 16108
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=16108

Problem has been resolved in 3m 0s at 08:36:29 on 2023.04.12
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 16108


Lack of seqres input in prep_proteins script should fail cleanly

If you don't add a  value for the  --seqres_yaml argument in modelling/prep_proteins.py you get a rather cryptic
  File "/store/ASAP_project/asapdiscovery/asapdiscovery-docking/asapdiscovery/docking/modeling.py", line 764, in prep_mp
    seqres=" ".join(res_list),
UnboundLocalError: local variable 'res_list' referenced before assignment

rather than a clean failure. Its likely  I don't understand all the use cases but  If the argument is indeed required we should make it so.

@hmacdope thanks for bringing this up! should be fixed in #207


postfix: make 2.11 the default, nixos: update postfix config for 2.11

Forked out from https://github.com/NixOS/nixpkgs/pull/5619#discussion-diff-22583008
This change is about being more humane to disk drives (especially SSDs). I have been using this for more than a month both with default and custom postfix configs and there have been no changes/problems whatsoever, except it stopped raping my SSDs.
I'd say this is a rather critical fix since the previous postfix raped one of my disks to death.
I debugged this by running
echo 1 > /sys/kernel/debug/tracing/events/jbd2/jbd2_run_stats/enable
echo 1 > /sys/kernel/debug/tracing/events/ext4/ext4_journal_start/enable
... (and similarly for other file systems)
cat /sys/kernel/debug/tracing/trace_pipe

on a server and then waiting a day without doing anything disk intensive on the machine.
After applying these and https://github.com/NixOS/nixpkgs/pull/5619 changes only ntpd generates writes in idle. Would be nice if someone could fix that.

That fifo type is not available in Postfix 2.8?

Regrettably.

Erm. What is not available is not fifo, but unix' for pickupandqmgr`.
http://postfix.cs.utah.edu/source/official/postfix-2.10.0.RELEASE_NOTES

And the problem with fifo is that using fifos between postfix and these two daemons changes corresponding inodes' mtimes every time postfix wakes them up. Which generates a disk write every minute and another one every five minutes for nothing.

So seems that it doesn't break compatibility and safe to merge?

Let's find out what happen ... :-)


Unregister listed non-github packages so that they can then registered with a new github URL

Can I please have the following packages of mine unregistered as I wish to then move them to a github repository (they currently point to my gitlab repository):

xhr-saml-ecp-js
saml-ecp-client-js
xhr-blocking-queue-js
xhr-adaptor-js

Done :)


Samples project doesn't compile

It seems like the Samples package doesn't build. It complains about missing xUnit and Shouldly references. We may have missed the right referencing as part of moving to xUnit and Shouldly.

Am wondering if maybe a NuGet sample project is the way to go? A simple webcast might be better?

But yes, we should fix the nuspec references in the short term


Add attribution guidelines to code of conduct

This partially fixes issue #34.

Mega 🌟 @Islast - thank you for adding your name.

WOOOO! 🎉 🎉 🎉


added architecture overview and guidance section

Purpose

Added Architecture Overview and Guidance Section

Does this introduce a breaking change?

[ ] Yes
[x] No

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

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

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@lei-msft Do you have the project structure already created for csharp? If you have that could we add that please for project structure.

@lei-msft Do you have the project structure already created for csharp? If you have that could we add that please for project structure.

I added here -> https://github.com/Azure-Samples/communication-services-authentication-hero-csharp/pull/46
Could you help me approve it?  Many Thanks in Advance 👍


RSC "ChannelMessage.Read.Group" doesn't work with Teams app manifest v1.12

Hi, the definition of the Teams App Manifest is not correct.
Based on the offcial documentation the JSON format to enable RSC permissions is different between v1.11 and v1.12+
https://docs.microsoft.com/en-us/microsoftteams/platform/graph-api/rsc/resource-specific-consent#update-your-teams-app-manifest
This sample uses the manifest version v1.12 with the schema definition of v1.11 and before = it generates a manifest parsing error when uploading the app in Teams.
Also, when using v1.12 definition, we don't receive the messages: it doesn't work.
We need to use v1.11 and the associated shema definition.
Here is what's working:
{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
    "version": "1.0.0",
    "manifestVersion": "1.11",
    ...
    "webApplicationInfo": {
      "id": "5278c93e-XXX-XXXX-xxxx-6ce34ff25f13",
      "resource": "https://RscBasedStoreApp",
      "applicationPermissions": [
        "ChannelMessage.Read.Group"
      ]
    }
}

We are looking into this, we will update you.

Can confirm: 1.12 does not allow the webApplicationInfo node in the schema. Reverting to 1.11 as shown by @timoleo23  fixes the problem.

@timoleo23 - We already have a bug raised for this issue, and the team is working on it. I will keep you posted on the updates.

Hi @Meghana-MSFT, do we have an update or ETA on this issue? Thanks

Hi @Meghana-MSFT , do we have an update or ETA on this issue?

Currently we do not have any ETA to share, I will keep you posted.

@timoleo23 - We see that bot is responding without @mention as well for 1.12 version as well. Can you please check and confirm once?

@timoleo23 - We see that bot is responding without @mention as well for 1.12 version as well. Can you please check and confirm once?

@timoleo23 - Hope you are doing well!!
Could you please confirm if your issue has resolved or still looking for any help?

We are closing this issue, please feel free to reach out to us if you have any questions. Thank you.


Remove redundant space in first(where:) of Sequence

Removed the redundant space which is not consistent with others.

Welcome @pixyzehn! Thanks for your contribution!
I'll kick off the bots, so we can merge this.
@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test Linux platform


Clarifiy version compatibilty with Workench release

Description of the modifications
In the PyWorkbench documentation,  there are no description of version compatibility with Workench releases ( it seems 2024R1 and R2 are supported at the moment)
To improve this, please add a page explaining this like https://dpf.docs.pyansys.com/version/stable/getting_started/compatibility.html
Useful links and references
https://dpf.docs.pyansys.com/version/stable/getting_started/compatibility.html

Added version requirement in getting-started document, per release 0.6.0.


Address sanitizer triggered by any C or C++ program

A memory leak is reported by the address sanitizer (g++ & clang) in ubuntu 22.04 when linking a C or a C++ program with libtcmalloc 4.5.9 installed via google-perftools. Linking with libtcmalloc_minimal does not trigger the issue.
Steps to reproduce:
In ubuntu 22.04 (reproduced via docker), run the following commands:
apt update
apt install -y build-essential google-perftools
echo 'int main(int, char**){return 0;}' > main.cc
# this line triggers the bug
g++ -g -fsanitize=address /usr/lib/x86_64-linux-gnu/libtcmalloc.so.4 main.cc && ./a.out
# this line does not
g++ -g -fsanitize=address /usr/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 main.cc && ./a.out

Reported error:
=================================================================
==4473==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 45 byte(s) in 1 object(s) allocated from:
    #0 0x7f0d37bd21c7 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f0d3783cf3d in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x14bf3d)

SUMMARY: AddressSanitizer: 45 byte(s) leaked in 1 allocation(s).

When linking with libtcmalloc_debug.so in an attempt to get a better backtrace, the following segfault is reported alongside with the memory leak:
AddressSanitizer:DEADLYSIGNAL
=================================================================
==4467==ERROR: AddressSanitizer: SEGV on unknown address 0x603ffffffff8 (pc 0x7f96e7dd264f bp 0x603ffffffff0 sp 0x7ffc9dce44b0 T0)
==4467==The signal is caused by a READ memory access.
    #0 0x7f96e7dd264f  (/lib/x86_64-linux-gnu/libtcmalloc_debug.so.4+0x1864f)
    #1 0x7f96e7df59f4 in operator delete(void*, unsigned long) (/lib/x86_64-linux-gnu/libtcmalloc_debug.so.4+0x3b9f4)
    #2 0x7f96e7de91bc in MallocExtension::Initialize() (/lib/x86_64-linux-gnu/libtcmalloc_debug.so.4+0x2f1bc)
    #3 0x7f96e7dcf936  (/lib/x86_64-linux-gnu/libtcmalloc_debug.so.4+0x15936)
    #4 0x7f96e89b647d  (/lib64/ld-linux-x86-64.so.2+0x647d)
    #5 0x7f96e89b6567  (/lib64/ld-linux-x86-64.so.2+0x6567)
    #6 0x7f96e89d02e9  (/lib64/ld-linux-x86-64.so.2+0x202e9)

AddressSanitizer can not provide additional info.

SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libtcmalloc_debug.so.4+0x1864f)
==4467==ABORTING
root@101d64eec628:/hello# g++ -g -fsanitize=address /usr/lib/x86_64-linux-gnu/libtcmalloc.so.4 main.cc && ./a.out

=================================================================
==4473==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 45 byte(s) in 1 object(s) allocated from:
    #0 0x7f0d37bd21c7 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7f0d3783cf3d in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0x14bf3d)

SUMMARY: AddressSanitizer: 45 byte(s) leaked in 1 allocation(s).

Thanks for filing the ticket of good quality. While we don't intend to have any explicit support for asan (or being linked into same binary with asan), and while "leak" of some internal objects is often intentional (as per Google Style Guide), this specific issue is gone in current master. So, closing.


Luci client splash not working in offline

In luci client splash worked perfect in online it shows the splash page and redirect to predefined url .But in offline no splash page will appear and no redirect occurred.
My project is just redirect every wifi user to a localhost eg:http://<IP_ADDRESS>**/welcome.html

that splash redirects http traffic to the splash page.
when you are offline, there will be no http traffic because dns-resolution will fail before any http traffic can start
so, how can we install/configure a dns faker?

For clarification, is this for 'luci-app-splash' ?

@cshoredaniel: yes it is

@hi3520 What du you mean with offine?

such an offline dns could go like this:
echo "address=/#/<IP_ADDRESS>" > /tmp/dnsmasq.d/spoof2.conf; /etc/init.d/dnsmasq restart
thanks to http://serverfault.com/questions/351108/using-dnsmasq-to-resolve-all-hosts-to-the-same-address

@hi3520 @LipkeGu Does @FreifunkUFO's solution work for you?

Very old and I think the solution works because no reaction from issue creator


Too many "the number of auto-reset points is exceeding the limit, will do rotating."

There are too many "the number of auto-reset points is exceeding the limit, will do rotating."
Try to suppress this message

https://github.com/uber/cadence/pull/2163


The function code example and its description does not point anything about SignalRConnectionInfo.ConnectionStringSetting

When putting a basic example code in place, the following error message is shown on screen:
Microsoft.Azure.WebJobs.Host: Error indexing method 'negotiate'.
Microsoft.Azure.WebJobs.Extensions.SignalRService:
The SignalR Service connection string must be set either via an 'AzureSignalRConnectionString' app setting,
via an 'AzureSignalRConnectionString' environment variable,
or directly in code via SignalROptions.ConnectionString or SignalRConnectionInfoAttribute.ConnectionStringSetting.
So, we populated SignalRConnectionInfoAttribute.ConnectionStringSetting with a proper connection string obtained from Azure SignalR Service but the following error message is shown:
Error indexing method 'negotiate'
Microsoft.Azure.WebJobs.Host: Error indexing method 'negotiate'. Microsoft.Azure.WebJobs.Host: Unable to resolve the value for property 'SignalRConnectionInfoAttribute.ConnectionStringSetting'. Make sure the setting exists and has a valid value.
The connection string format is like: Endpoint=https://mysignalrservice.service.signalr.net;AccessKey=mymaskedkey=;Version=1.0;
The function is 2.x and utilizes .net core 2.2. Is there an explanation for this problem or how to resolve it?

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

ID: 2ca50463-807e-fd04-de4d-25be2199ae70
Version Independent ID: 7a8f74f9-81b5-735e-fe85-4a5f1482456a
Content: Azure Functions SignalR Service bindings
Content Source: articles/azure-functions/functions-bindings-signalr-service.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @Arash-Sabet Thank you for your feedback! We will review and update as appropriate.

@Arash-Sabet Just checking if you have gone through the Create with Azure Functions and SignalR Service doc and GitHub samples.

@DixitArora-MSFT The point is that the document should be self-contained and thorough enough to help the reader understand the existese of the basic dynamics. Basics cannot be deferred to other web pages, articles, or git repositories found somewhere remote on the web.
The problem that I brought up has a solution per the following sample that needs to be incorporated within "local.settings.json" file in VS 2017 but it should have been included in this document. Now the next question that may raise is that whether the reader would know where to apply this change in hosted functions on cloud.
Would you please update this document accordingly? Thanks.
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
    "AzureSignalRConnectionString": "Endpoint=https://myendpointservice.signalr.net;AccessKey=maskedkey;Version=1.0;"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*"
  }
}

@Arash-Sabet I have assigned this to content author to review and update as appropriate.

Can you please post a client JavaScript example which would be able to negotiate with the following function? Please elaborate on how a header can be included in the JavaScript call to be able to communicate with this function to negotiate?
[FunctionName("negotiate")]
public static SignalRConnectionInfo Negotiate(
[HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequest req,
[SignalRConnectionInfo
(HubName = "chat", UserId = "{headers.x-ms-client-principal-id}")]
SignalRConnectionInfo connectionInfo)
{
// connectionInfo contains an access key token with a name identifier claim set to the authenticated user
return connectionInfo;
}

Same problem for me. I'm not sure why the binding is not working.
In my function.json I have:
"bindings": [       {         "authLevel": "anonymous",         "type": "httpTrigger",         "direction": "in",         "name": "req"       },       {         "type": "http",         "direction": "out",         "name": "res"       },       {         "type": "SignalRConnectionInfo",         "name": "connectionInfo",         "hubName": "chat",         "connectionStringSetting": "Endpoint=https://myapp.service.signalr.net;AccessKey=myappkey;Version=1.0;",         "direction": "in"       }     ]

@Arash-Sabet - the negotiate endpoint is consumed when you start the connection:
var connection = new signalR.HubConnectionBuilder()
        .withUrl(`${apiBaseUrl}/api`)
        .configureLogging(signalR.LogLevel.Information)
        .build();
connection.start()

If you check your network logs, you'll see that the /api/negotiate endpoint has been consumed.

I encountered the same issue. I suspected the local.settings.json file was disregarded when running locally. I found a hint here: -https://stackoverflow.com/questions/52194154/unable-to-read-local-settings-json-file-when-running-azure-function-locally

Make sure your local.settings.json file is marked to always be copied to the build output. (by right clicking on it in Visual studio). This will copy your files to the output path similar to bin\debug..

I guess this issue is because author used VS and I was using VS Code.
Then I created/copied the whole app (JS one) to a new project then it worked!!
Another issue i faced was an "Connection Handshake Error". It might be useful for someone and not waste 3 hours finding out the culprit.
For this I found then hint here:- https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-resource-faq

The Client connection closes with the error message "No server available". What does it mean?
This error occurs only when clients are sending messages to the SignalR Service.
If you don't have any application server and use only the SignalR Service REST API, this behavior is by design. In serverless architecture, client connections are in LISTEN mode and will not send any messages to SignalR Service. Read more on REST API.
If you have application servers, this error message means that no application server is connected to your SignalR Service instance.
The possible causes are:
No application server is connected with SignalR Service. Check application server logs for possible connection errors. This case is rare in high availability setting with more than one application servers.
There are connectivity issues with SignalR Service instances. This issue is transient and will automatically recover. If it persists for more than an hour, open an issue on GitHub or create a support request in Azure

So I changed my Azure SignalR Service from default to Classic Mode.
This should be mentioned in the https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-quickstart-azure-functions-javascript Doc!

I added a connection string settings section to the overview to direct readers to use the AzureSignalRConnectionString app setting.
#please-close


Update Post “best-chemical-to-use-for-termite-treatment”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
cf8d13e344d917645724238bffa8d0aa528315c5

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/654ae9aeb1f0f90008dbe709


fix the bugs in interrupt handling and mpu buffer validate

This PR fixes #22288
It includes two parts
* the bug in interrupt handling when interrupt comes out in user mode when USER_SPACE is configured. The root cause it that the switch between aux_user_sp/aux_sec_k_sp and sp relies on
the correct vaule of aux_irq_act' U bit.
* the bug in mpu v3' driver, the access to mpu regs should be atomic, mpu buffer validate is not procted by a lock, other mpu apis are protected by high level zephyr API, e.g. mem domain.
With this PR, the test in #22288 is passed.

Looks ok to me, just wondering if the v2 MPU buffer validate requires a some locking as well?

This PR has my patch https://github.com/zephyrproject-rtos/zephyr/pull/22393/commits/c507478007eb1d2666a5c64ee2bff5a6b3396418 included, this is in another PR and can't be merged until ARM is fixed, please remove it, it's probably why this is failing CI

Looks ok to me, just wondering if the v2 MPU buffer validate requires a some locking as well?

I review the MPUv2's code and run the test,  it does not need a lock as it has no index reg and the access to reg is atomic.

Looks ok to me, just wondering if the v2 MPU buffer validate requires a some locking as well?

I review the MPUv2's code and run the test, it does not need a lock as it has no index reg and the access to reg is atomic.

Thanks for checking, so the atomicity issue was only for 'read-only' operations (with a conflict on the index register based MPU v2 programming), and not for operations changing the MPU regions themselves during the MPU buffer validate? I assume that is somehow protected on a higher level (or, we don't have a test-case showing the race condition...).


HundeSohn

accept now!


Include a link to the email alert signup page on the topic page

As the topics are republished they'll be associated by link to an email_alert_signup for the topic. If that link is present, include it as part of the topic page.
Expecting tests to fail until related changes in govuk-content-schemas are merged.

Would definitely like to get some feedback on the frontend changes here. I feel like .email-link being a module is overkill, but it doesn't seem to belong anywhere else. Also not sure on the use of aside – should there be an aside for each thing, or is it OK to have one aside with multiple different things in it as I've done here?
Perhaps @gemmaleigh could take a look?

What is a block and an element in BEM is definitely an art rather than a science. In that case I might use email-subscription__link in the file email-subscription.scss. Or it could just about live in topic.scss as topic__subscribe but you've decided against that?
One of the big goals of the blocks, like modules, is reusability. Once we've stuck these links on the homepage and the standard the reusable part will probably be obvious. So I wouldn't worry about it to much.. we'll get it right then.
Dunno about the aside.

@thehenster Are you happy with this now? I've changed the presenter to use (and test for) the base path rather than providing a full url.

Would it be possible to move the .email-link scss into the related-item component for now?
It isn't used anywhere else.. so we could have .related-item__email-link and if it is reused out of this context, we can look to move it at a later date.

@gemmaleigh Done. 👍


Bundle UMD with rollup

Sizes before and after
webpack
material-ui.development.js 2.54M
material-ui.production.min.js 436.3K
rollup
material-ui.development.js 1.01M
material-ui.production.min.js 370.1K
Added size snapshot to track bundle size change on every commit.

@TrySound Thanks for the pull-request. I have been busy with the v1-rc.0 release. I will have a look at the pull-request tomorrow :)

@TrySound It's a great first pull request on Material-UI 👌🏻. Thank you for giving it a shot!


test: loosen the static-archive test

The test was overfitted to execution on Unix platforms.  Loosen it to
work on Windows as well.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test

@swift-ci please test Windows platform

@swift-ci please smoke test macOS platform


Can you add more options?

Great tool, but can you add more options?

Hi,
Do you have any specific options in mind? This tool is intended to leverage the Whoxy Reverse Micro API(and thus the name whoxyrm). Nonetheless, I can add a few or probably create another one if needed.
Thanks

I am asking for the other API options like "owner's name", "email address", "domain keyword"

Thanks for suggestion.
Since whoxy provides built-in API, I think this should be relatively easy to implement. I'll start working on this right away. :)

That's my point :)

I just sent out a commit to the test branch @spazbg. Can you please check and confirm if this works according to your needs before I merge it to master branch?
Thanks,

Hello how I can add api key ?

Marking as resolved.
Thanks,
Milind


KAFKA-14869: Ignore unknown record types for coordinators (KIP-915, P…

…art-1) (#13511)
This patch implemented the first part of KIP-915. It updates the group coordinator and the transaction coordinator to ignores unknown record types while loading their respective state from the partitions. This allows downgrades from future versions that will include new record types.
Reviewers: Alexandre Dupriez<EMAIL_ADDRESS>David Jacot<EMAIL_ADDRESS>More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I could not get a successful build because there is always an Timeout waiting to lock zinc-1.3.5_2.12.15_8 compiler cache error. However, two builds combines give us a good signal:

https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/detail/PR-13598/6/pipeline
https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/detail/PR-13598/3/pipeline


v13.0.0-2 without Power and s390x artifacts

Hi ,
Noticed that https://github.com/microsoft/ripgrep-prebuilt/releases/tag/v13.0.0-1 release had power and s390x artifacts but https://github.com/microsoft/ripgrep-prebuilt/releases/tag/v13.0.0-2 didn't have and latest release - https://github.com/microsoft/ripgrep-prebuilt/releases/tag/v13.0.0-4 has got the artifacts.
Any particular reason for not publishing version - v13.0.0-2 without Power and s390x artifacts ?

never mind found the issue , as travis support was removed in that release and hence P,Z artifacts got missed.

and we enabled P,Z in azure pipelines  -  https://github.com/microsoft/ripgrep-prebuilt/pull/13 , good to close this issue.


Where is EOP?

Hello Microsoft,
I realize you are very excited about all your product re-branding and UI changes, however the least you could do would be to provide documentation so admins can access the functions they need to access- clearly it's too much for you to maintain links in any of the places they used to be, but even your documentation doesn't tell us how to get there. Your article points to the new microsoft defender portal (which no admin wanted and it's awful) so even though this article is supposed to be about EOP there is no link to EOP, and not even any text telling us how to navigate there.  Please fix.

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

ID: a8878304-7f4b-15c3-d2b6-8a5583930199
Version Independent ID: 329f3b45-a087-6743-0664-e74dd9e0fc46
Content: Exchange Online Protection (EOP) overview - Office 365
Content Source: microsoft-365/security/office-365-security/exchange-online-protection-overview.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@saraporter, when you say "Where is EOP?", what exactly do you mean?
The Microsoft 365 Defender portal at https://security.microsoft.com is where to go to manage EOP features.
While it's still around, you can also manage EOP in the Security & Compliance Center https://protection.office.com.
I took a look at the classic Exchange admin center at https://outlook.office365.com/ecp. All of the EOP headings/tabs are still there, but there are banners everywhere redirecting you to the Defender portal.
So are you saying that you'd like a link to the Defender portal in the EOP topic?

Hello Chris,
I want to be able to see something in Defender that says EOP, and then under EOP, it can have all the policies and such.  You tell us to go to the M365 defender portal, but nothing in there references EOP directly.  So at the very least, I want the documentation to tell me how to get to those EOP features.   Instead the links on the EOP documentation tell me about more EOP features- that I still don’t know how to get to.  So for your documentation, instead of just saying what,  please also include where.
Here was my path:
M365 defender -> Email and collaboration -> Policies and Rules -> Threat policies -> Anti spam policies -> Antispam outbound policy
NOTHING in that path says EOP.  Your Defender documentation tells me EOP falls under defender, but nothing in the Defender navigation says EOP. (Additionally, nothing about that path is intuitive for “Did Microsoft turn off mail forwarding for my organization?”  either).
I found it after 30 minutes of googling for “Anti spam settings” based on a screenshot I took last year – God help the poor admin who is trying to find it without that bit of help.
Thank you,
Sara Porter
Systems Engineer III
University of Denver
From: Chris Davis @.>
Sent: Tuesday, March 15, 2022 2:34 PM
To: MicrosoftDocs/microsoft-365-docs @.>
Cc: Sara Porter @.>; Mention @.>
Subject: [EXTERNAL] Re: [MicrosoftDocs/microsoft-365-docs] Where is EOP? (Issue #8023)
@saraporterhttps://urldefense.com/v3/__https:/github.com/saraporter__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrPVMWLIa$, when you say "Where is EOP?", what exactly do you mean?
The Microsoft 365 Defender portal at https://security.microsoft.comhttps://urldefense.com/v3/__https:/security.microsoft.com__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrIV514Ji$ is where to go to manage EOP features.
While it's still around, you can also manage EOP in the Security & Compliance Center https://protection.office.comhttps://urldefense.com/v3/__https:/protection.office.com__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrOxNaABz$.
I took a look at the classic Exchange admin center at https://outlook.office365.com/ecphttps://urldefense.com/v3/__https:/outlook.office365.com/ecp__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrFsUYusz$. All of the EOP headings/tabs are still there, but there are banners everywhere redirecting you to the Defender portal.
So are you saying that you'd like a link to the Defender portal in the EOP topic?
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/MicrosoftDocs/microsoft-365-docs/issues/8023*issuecomment-1068442431__;Iw!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrDTbFMkn$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ASNY32KB457GN5IOGMBIJWDVADX43ANCNFSM5QZZIUMQ__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrDJ8WqOh$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https:/apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrDFelyCr$ or Androidhttps://urldefense.com/v3/__https:/play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!NCZxaNi9jForCP_SxBKJCA!CQ_2EPLGce4ceh_K5xea-bZaJAPlksEg_YyiRFEzK7fB7pMD0dNapQmNrB_kL26l$.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@saraporter, I hear what you're saying. There was a period of time a few years ago that we weren't allowed to say "EOP" in documentation. But eventually, we needed a foil against extra stuff that you get with Defender for Office 365 Plan 1 and Plan 2.
I'm curious what you were originally searching for. If you just search for "Exchange Online Protection" or "EOP", then yeah, you're going to get the high-level overview topic that talks about EOP holistically, although it contains directly actionable links for how to do specific tasks (anti-malware policies, anti-spam policies, anti-phishing policies, spoof, etc.).
If you were searching for "anti-spam policies in Microsoft 365", even without the quotes, the first hit in both Bing and Google is right where you want to be:
https://docs.microsoft.com/microsoft-365/security/office-365-security/configure-your-spam-filter-policies
That topic is chock-a-block full of references to EOP, how to get to the Defender portal, etc.
In summary, you'll find no references to EOP in the product UI, and I don't think that will ever change. There was never any such references in the old EAC, nor were there any in the Security & Compliance Center, nor are there any in the Defender portal. The problem is: if you separate out EOP by itself, then you would likewise need to separate out Defender for Office 365 Plan 1 and Plan 2 features by themselves (for example, Safe Links and Safe Attachments for P1 and P2, but Attack Simulations and Campaigns for P2 only, not P1), and that just seems messy from a UI design standpoint.
Not to sound overly simplistic, but pretty much anything you see under Email & collaboration is EOP, plus any add-ons for Defender for Office 365 Plan 1 or Plan 2. This tippy-top highest-level topic does a great job of explaining the differences:
https://docs.microsoft.com/microsoft-365/security/office-365-security/overview
If it's any consolation, we're in the middle of a big table of contents (TOC) re-org for content that will hopefully make more sense and land you closer to useful/related content. One TOC redesign ago, some topics were separated from each other that should have never been separated, which is the state that we're trying to clean-up now.
Not the answers you're looking for, but I hope my explanations help.

All I wanted was to find out if forwarding had been turned off for my organization.  I remembered one of the bajillion m365 announcements saying that they were turning it off by default and I couldn’t remember where the setting was.  I vaguely recalled something about it being handled by the EOP part of the chain but I couldn’t remember specifically where.  Mail forwarding has never meant spamming to universities, it’s a way we got affiliate faculty to actually read email once in a while because they work multiple jobs and like to send all the mail to one place.
So I didn’t search for antispam policies, originally.
I poked around exchange admin.  Nope, not there.
Looked in O365 admin, org settings just in case.  Nope, not there.
Defender page- email and collaboration.  Nothing mentioning EOP.
Googled mail forwarding.  Oh look, references to EOP and another link to the defender page.
Eventually found a screen shot from when I checked this the last time, it talked about antispam.
As for references to EOP- fine, perhaps not many, they called it “Protection” back in the day.  I did find one screenshot floating about online that shows they did reference “EOP” at some point, and we used to be able to get to it from the Exchange Admin, which actually made sense.
@.***
@.***
My search:
@.***
The article- which of course advertises the defender page, DOESN’T tell me to go to email and collaboration, policies, outbound antispam policies.  It DOES link to a page that tells you (Configure outbound spam filtering in EOP), if you don’t miss that link.  It’s like someone knew we wanted to check the forwarding, but they wanted to punish us for not knowing that this is now part of the Defender suite, and that forwarding is now spamming.  It would be nice if it felt like Microsoft was trying to help us instead of punishing us for using their products and not keeping up with the endless renaming/rebranding.
Thank you,
Sara Porter
Systems Engineer III
University of Denver
From: Chris Davis @.>
Sent: Tuesday, March 15, 2022 5:40 PM
To: MicrosoftDocs/microsoft-365-docs @.>
Cc: Sara Porter @.>; Mention @.>
Subject: [EXTERNAL] Re: [MicrosoftDocs/microsoft-365-docs] Where is EOP? (Issue #8023)
@saraporterhttps://urldefense.com/v3/__https:/github.com/saraporter__;!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUMi5MCg5$, I hear what you're saying. There was a period of time a few years ago that we weren't allowed to say "EOP" in documentation. But eventually, we needed a foil against extra stuff that you get with Defender for Office 365 Plan 1 and Plan 2.
I'm curious what you were originally searching for. If you just search for "Exchange Online Protection" or "EOP", then yeah, you're going to get the high-level overview topic that talks about EOP holistically, although it contains directly actionable links for how to do specific tasks (anti-malware policies, anti-spam policies, anti-phishing policies, spoof, etc.).
If you were searching for "anti-spam policies in Microsoft 365", even without the quotes, the first hit in both Bing and Google is right where you want to be:
https://docs.microsoft.com/microsoft-365/security/office-365-security/configure-your-spam-filter-policieshttps://urldefense.com/v3/__https:/docs.microsoft.com/microsoft-365/security/office-365-security/configure-your-spam-filter-policies__;!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUGcF4F1b$
That topic is chock-a-block full of references to EOP, how to get to the Defender portal, etc.
In summary, you'll find no references to EOP in the product UI, and I don't think that will ever change. There was never any such references in the old EAC, nor were there any in the Security & Compliance Center, nor are there any in the Defender portal. The problem is: if you separate out EOP by itself, then you would likewise need to separate out Defender for Office 365 Plan 1 and Plan 2 features by themselves (for example, Safe Links and Safe Attachments for P1 and P2, but Attack Simulations and Campaigns for P2 only, not P1), and that just seems messy from a UI design standpoint.
Not to sound overly simplistic, but pretty much anything you see under Email & collaboration is EOP, plus any add-ons for Defender for Office 365 Plan 1 or Plan 2. This tippy-top highest-level topic does a great job of explaining the differences:
https://docs.microsoft.com/microsoft-365/security/office-365-security/overviewhttps://urldefense.com/v3/__https:/docs.microsoft.com/microsoft-365/security/office-365-security/overview__;!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUJZXYFq3$
If it's any consolation, we're in the middle of a big table of contents (TOC) re-org for content that will hopefully make more sense and land you closer to useful/related content. One TOC redesign ago, some topics were separated from each other that should have never been separated, which is the state that we're trying to clean-up now.
Not the answers you're looking for, but I hope my explanations help.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/MicrosoftDocs/microsoft-365-docs/issues/8023*issuecomment-1068567057__;Iw!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJULh19-oc$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ASNY32MWOVYSXEPNKGWIWADVAENU3ANCNFSM5QZZIUMQ__;!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUPeqRd13$.
Triage notifications on the go with GitHub Mobile for iOShttps://urldefense.com/v3/__https:/apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675__;!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUFDT3NEd$ or Androidhttps://urldefense.com/v3/__https:/play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign*3Dnotification-email*26utm_medium*3Demail*26utm_source*3Dgithub__;JSUlJSU!!NCZxaNi9jForCP_SxBKJCA!Gn0ICd9dFoiWyAugaH4jusPiGgw_s46eQMFD6jdeFqmSRNS0ddbsgnpJUMvqJ-0y$.
 It's unclear to me what can be done from a documentation perspective to help, which is really all I can do. If you want code changes or feature changes, you should open a support ticket.


Fixed the rest of the lint errors and updating the linters

Fixed the rest of the lint errors and updating the linters to match what is typically used in other sub-projects and enable lint checks on presubmit.
Fixes https://github.com/kubernetes-sigs/gateway-api-inference-extension/issues/124

Thanks @ahg-g!
/lgtm


Add .txt files (humans, robots, ads)

ads.txt isn't going to be added, because it would just be a blank file... may as well just let it 404. The blanket 404 page will handle this one.


INFINITY-2513 Stop pods prelude: State store support

Defines the GoalStateOverride enum/class
Adds calls for setting/getting overrides in the StateStore (writes to Task/foo/Metadata/...)
Updates Persister transaction code to support mixed writes+deletes
And about 600 lines of new unit tests

I tested this by hand by running debug pod stop/debug pod start in the CLI against a pod:

stop: Pod was correctly restarted with a stopped+inprogress metadata state in ZK
start: Pod was restarted again with a none+inprogress metadata state in ZK

The operations are effectively a noop as the pod commands themselves aren't actually being changed yet, but the glue surrounding that seems to be working.


Logging an error is correct in the Electron devtools console, but an empty object {} in the terminal output

	import { shell } from 'electron'

	try {

		await shell.openExternal( resource )

	} catch ( error ) {

		 // displays `{}` in the terminal
		logger.log( error )

		 // prints the strings in the terminal
		logger.log( error.message, error.stack )

	}

This seems to be related: https://stackoverflow.com/a/38513494/939330

What Electron version? I think Electron 8 finally fixed the bug where it doesn’t correctly serialize errors.

That could be why, I'm still using Electron 6 because of this bug: https://github.com/electron/electron/issues/20933.
Cheers!


ionic add command will delete ionic-cli itself!

CMD:  ionic add circletype.js
Then run ionic:   zsh: command not found: ionic

@WingGao - are you sure that happens every time?
Try this:
npm install -g ionic
ionic add circletype.js
Are you sure it is removed then?

yes EVERYTIME

Could you please reinstall ionic, then run ionic info, and copy/paste that information here?
I am unable to reproduce the problem.
Without providing some additional information about your environment or project settings, there's not much I can do.


added support for 200 and 800 font weight

Checklist:

[ ] Test added / Snapshots updated
[ ] Documentation added / updated

@mosch - would you mind guiding us here? :)

https://github.com/allthings/elements/blob/master/src/atoms/Text.jsx#L75
we need to add a prop like weight: PropTypes.oneOf(['normal', 'strong', 'stronger', 'light', 'lighter']). We could keep the strong prop to not break the API and map it to the new weight prop.

Has been solved in https://github.com/allthings/elements/pull/942


Requesting Access to authorization domains

When you open a link to a workspace protected by an Authorization domain composed of one or more groups to which you do not belong, we should present you with the following text, and a button to request access to each group on the auth domain:

When searching in the workspace list, FireCloud presents this as a modal over the workspace list, which is nice because you don't lose your search context. We should do that.
When navigating to a page directly from a link, FireCloud simply says "not found". We should show a blank screen with the modal above it.
Request access behavior should be the same as FireCloud. Confirm this with Cloud Accounts- I believe it sends an email to the group's admins. We should ask cloud accounts to update this email to a Terra branded email if not done already
Dependencies

checking with Cloud Accounts about email behavior (not blocking)
checking with Cloud Accounts about email branding (not blocking)

Open Questions
What does the UI do when the "Request Access" button is clicked.
Any hard Deadlines?
Soft deadline end of May
Is this noteworthy? Does Comms need to know?
Should go in release notes. No separate product announcement.

In most cases, the "Request Access" button emails the managed group admins with the request for the user to be added.* There are some special cases where some instructions are (supposed to be) displayed instead, specifically "TCGA-dbGaP-Authorized" and "TARGET-dbGaP-Authorized". However, somewhere along the line, 2 things happened:

The data for these instructions went missing (both dev and prod, probably other envs as well): https://broadworkbench.atlassian.net/browse/CA-274
The Sam endpoint for setting these instructions stopped working: https://broadworkbench.atlassian.net/browse/CA-260

Until at least one of these issues is resolved, we won't be able to implement/test the code for that part of this feature.
While this only affects a couple of groups, I would guess that it affects a significant percentage of the auth-domain of workspaces in production. @bradtaylor, do you want to release this in two stages or wait until the special access instruction issues are fixed?
* We do not keep track of these requests, so the UI cannot show whether or not a request has been sent if the modal is closed and re-opened.

FYI this would be useful for my Data Explorer work, but with one non-urgent addition.
Background
NHS DE is protected by nhs_saturn_users auth domain.
Currently, if you click Browse Data button for NHS DE, the DE opens in a new tab. If you aren't in auth domain, you see a Google account switcher.
I'm working on embedding DE instead of opening a new tab. With embedded DE, if you click Browse Data and aren't in auth domain, you just see a blank page:

(This is due to limitations around Identity-Aware Proxy and iframes.)
So I will determine if user is in NHS auth domain and only show DE if user is in auth domain.
If user is not in auth domain, I'd like to show the above Request Access modal.
Requested addition
I'd like to add text like "Or switch to an account that is part of the group".
For example, I mainly use Terra as<EMAIL_ADDRESS>NHS data can only be accessed with a channing Google account. So if I'm logged in as<EMAIL_ADDRESS>and click "Browse data", it would be nice if I got a reminder to switch to my channing account.


What is y-axis on WOTKernel.plot_single_flow() ?

 Hi! I am so sorry to ask another question! What is the y-axis scale in wk.plot_single_flow() for the Waddington-OT Kernel? https://cellrank.readthedocs.io/en/stable/real_time.html#Probability-mass-flow-in-time
Is there a way to compare outgoing flow across clusters? For example, if multiple clusters have outgoing flow into a given cluster, is it possible to export from the WOTKernel the flow to compare the width of the veins across multiple clusters?
Thank you for your maintenance of this package!
...

Hi @JenniferWUSTL, in plot_single_flow, only a single cluster is allowed to have outgoing flow; thus you won't be able to compare outgoing flow across multiple clusters. You can compare incoming flow across multiple clusters, the definition of the flow is here: https://github.com/theislab/cellrank/blob/7de9678f415a04fe92322f7867fb66960d4be0d0/cellrank/kernels/utils/_tmat_flow.py#L153
@michalk8 implemented this method and might be able to tell you more about flow-normalization across different clusters.

Thank you @Marius1311, I will look into this code !
Is there a method to export the data for multiple clusters for outgoing flow and then I could compare in a different visualization, or is it not accurate to compare outgoing flow across clusters regardless of how the data is visualized?

We currently don't have any method in CellRank that computes or visualizes outgoing flow for several clusters at a time. We played around with this a bit but could not come up with a good way to determine which flows should be considered significant and which shouldn't. If you have an idea for how this could be done, we would welcome your contribution :)

We currently don't have any method in CellRank that computes or visualizes outgoing flow for several clusters at a time. We played around with this a bit but could not come up with a good way to determine which flows should be considered significant and which shouldn't. If you have an idea for how this could be done, we would welcome your contribution :)

For the sake of completeness, there is/was an implementation here but we weren't able to come up with a way to determine only significant flows.

Thank you both! I will take a look and close this issue as complete, will follow up if I have any ideas for the multi-flow plot in the future :)


Update autoscale-custom-metric.md

Typo

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

Verified the update.
@ohadschn Thanks for submitting the fix.


require-jsdoc false positive on first property after static field within class

ILink to my original issue I submitted on the ESLint repo:
https://github.com/eslint/eslint/issues/9356

/**
 * Employee component
 */
export class Employee extends React.Component {
  /** @type {Object} component prop types */
  static propTypes = {
    match: PropTypes.object.isRequired,
    title: PropTypes.string.isRequired,
    children: PropTypes.any.isRequired
  }

  /**
   * Construct component
   * @param {*} props - component properties
   */
  constructor(props){
    super(props);

    this.name = null;
  }

  /**
   * Pre-render
   */
  componentWillMount(){
    this.name = this.fetchName();
  }
}

In the above example I am getting, what I believe to be, a false positive on the first property/mehod defined after a property declaration like: static propTypes = {}.  If I change the declaration to  static get propTypes(){} then it no longer highlights as an error.  Both are proper ways to declare a static property, as far as I know, so I would expect to not see any lint errors with either declaration.
Thanks for your hard work and as always any help would be greatly appreciated.

Thank you for the issue. Now that @babel/eslint-parser has been released, we are making this repository read-only. If this is a change you would still like to advocate for, please reopen this in the babel/babel monorepo.


Not able to generate condition specific module

What happened?
A bug happened!
I am trying to generate ASTHMA module from built in module.
But it is not generating the allergy,device,supplies,imaging studies.

Environment
- Java: java JDK

Relevant log output
No response

We don't responding to issues or requests that use the -m feature. See https://github.com/synthetichealth/synthea/wiki/The--M-Feature
A quick review of the asthma module clearly shows that it does not directly include any allergies, devices, supplies, or imaging studies... so you should not expect to see any.


Formalize Changelog.

So we have few "unwritten rules" we do in our Changelog. Unfortunately, that's not always the case. Also, some of these "rules" were forgotten and, I think, were valuable enough to bring them back. So I suggest to:

Group changes to describe their impact on the project, as follows:

Added for new features.
Changed for changes in existing functionality.
Deprecated for once-stable features removed in upcoming releases.
Removed for deprecated features removed in this release.
Fixed for any bug fixes.

Add a GitHub tag to each Changelog entry.
Add a PR number with a change.
Put Breaking change label in breaking changes entry and put them first in the list.

Examples:

Breaking Change Removed parameters & parameterEncoding in TargetType (#1147) - @Dschee.
Added tests for Single<Response> operators (#1229) - @freak4pc.

There is also a question of what do we need in Changelog? Should this be only something visible to API users? Or maybe we should also add bigger notes of a development process like tests or refactorings?
Would love to know what do you think about it, @Moya/contributors!

@sunshinejr I started using GitHub tags + PR numbers at IBAnimatable and think it would be a great idea to formalize the same approach for Moya. Knowing the PR where the changes were made and who made them help a great deal with visibility and accountability. If I ship a regression (or have any questions about a change) you know where to find me 😃
Do you think we should also create a documentation file that describes our CHANGELOG process for new contributors?

If you're thinking of adding the full process - consider using http://keepachangelog.com/ or using the standard in the JS world: https://github.com/semantic-release/semantic-release#default-commit-message-format

Thanks for the links, @orta! Yeah, seems like we could adopt http://keepachangelog.com/ fully (I actually copied some of the rules from that website 😄). Additionally, I would really like to use both PR number and GitHub tag in the entry (which I've not seen on that website).
I'm also thinking if/how should we document that one. Maybe in our contributors repo? 🤔

Does anyone else have any opinion on that one, @Moya/contributors?

More is more 😄

Alright, I've made a PR so we can discuss the details further there - see Moya/contributors#16. Closing this one for now!


Request Support: vscode user settings fallback

path: .vscode/settings.json
{
  "markdownlint.config": {
    "line-length": false
  },
  "markdownlint.ignore": ".vscode/.markdownlintignore",
  "markdownlint.lintWorkspaceGlobs": [
    "**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}",
    "!**/bower_components",
    "!**/node_modules",
    "!**/vendor",
    "!**/.git"
  ],
}

i hope can support read .vscode/settings.json to reduce project root hidden files

Could you please explain what it does today and the change you would like to see?

sorry, should i submit to markdownlint-cli


release: wash v0.16.0, wash-lib v0.6.1

Feature or Problem
Third time's the charm.

Release wash-lib v0.6.1
Release wash v0.16.0

Related Issues
Contains fix for #341 (issues with dashed names in actors)
Release Information
wash 0.16.0
Consumer Impact
Consumers will be able to create actors with dashes in their names where that previously caused failures during build.
Testing
Built on platform(s)

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

Tested on platform(s)

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

Unit Test(s)
N/A
Acceptance or Integration
N/A
Manual Verification
Manually verified locally

Thanks for the thorough review :bow:

Given that this is just a version bump, I’m gonna merge without an official re review from you @mattwilkinsonn


gnome-feeds: 0.16.2 -> 2.2.0

Description of changes
gnome-feeds was broken for me, so I've been using the Flatpak. Latest version uses libadwaita and gtk4 and works perfectly on my machine.
Updated gnome-feeds and packaged syndication-domination/python-syndom.
https://gabmus.org/posts/gtk4_libadwaita_and_the_new_feeds/
Closes https://github.com/NixOS/nixpkgs/issues/204928
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

The app builds fine without glib and glib-networking, but there was a previous PR for glib-networking (https://github.com/NixOS/nixpkgs/pull/160198) that added it. How do we know when these sort of libraries are needed?

Just updated to 2.1.0, couldn't go up to 2.2.0 because they updated WebKit and webkitgtk_6_0 isn't packaged.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2073

@SuperSandro2000 Thanks for reviewing! I'm responding to a couple comments about syndom here.
I forgot to leave a comment before, but I'm not 100% on who should be a maintainer of syndom, I'm still learning Nix packaging and stopped using gnome-feeds as my main RSS reader, so I'm not sure I'd be the best choice. I can add myself to the maintainers list if there must be someone.
Syndom is tailor-made to gnome-feeds, so packaging it where listparser was might make sense especially when the creator of gnome-feeds adds features to it when needed by gnome-feeds without a version bump (see 56259b86). I'm also don't know how to convert a package with python bindings to a python package like you suggested.

can add myself to the maintainers list if there must be someone.

A new package must have a maintainer.

when the creator of gnome-feeds adds features to it when needed by gnome-feeds without a version bump

we have time, we can wait for a new release or people use overlays for themself.

I'm also don't know how to convert a package with python bindings to a python package like you suggested.

https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/python.section.md#topythonmodule-function-topythonmodule-function

I have a try and get this

diff --git a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
index 7563e8c22d7..90b29cece09 100644
--- a/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
+++ b/pkgs/applications/networking/feedreaders/gnome-feeds/default.nix
@@ -1,9 +1,9 @@
 { lib
-, callPackage

 , fetchFromGitLab

 , appstream
+, blueprint-compiler
 , gobject-introspection
 , meson
 , ninja
@@ -12,29 +12,29 @@

 , glib
 , glib-networking
-, gtk3
-, libhandy
-, listparser ? callPackage ./listparser.nix { }
-, webkitgtk
+, gtk4
+, libadwaita
+, webkitgtk_6_0
 , python3
 }:

 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-feeds";
-  version = "0.16.2";
+  version = "2.2.0";

   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "gfeeds";
     rev = version;
-    sha256 = "sha256-66dwVR9owg050aHCHJek7jYnT+/yyCKo4AaUE0hCqBA=";
+    sha256 = "sha256-XKwRFjz4ocH01mj8KshLGmGxbm/uvDiyYRf65KL0UFw=";
   };

   format = "other";

   nativeBuildInputs = [
     appstream
+    blueprint-compiler
     glib # for glib-compile-schemas
     gobject-introspection
     meson
@@ -46,22 +46,21 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     glib
     glib-networking
-    gtk3
-    libhandy
-    webkitgtk
+    gtk4
+    libadwaita
+    webkitgtk_6_0
   ];

   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
+    humanize
     python-dateutil
-    feedparser
-    html5lib
-    listparser
-    lxml
+    python-magic
     pillow
     pygments
     pygobject3
     readability-lxml
+    syndom
     pytz
     requests
   ];
@@ -72,10 +71,6 @@ python3.pkgs.buildPythonApplication rec {
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';

-  passthru = {
-    inherit listparser;
-  };
-
   meta = with lib; {
     description = "An RSS/Atom feed reader for GNOME";
     homepage = "https://gitlab.gnome.org/World/gfeeds";
diff --git a/pkgs/applications/networking/feedreaders/gnome-feeds/listparser.nix b/pkgs/applications/networking/feedreaders/gnome-feeds/listparser.nix
deleted file mode 100644
index c67df416c5c..00000000000
--- a/pkgs/applications/networking/feedreaders/gnome-feeds/listparser.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, python3
-}:
-python3.pkgs.buildPythonPackage rec {
-  pname = "listparser";
-  version = "0.18";
-
-  src = python3.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "0hdqs1mmayw1r8yla43hgb4d9y3zqs5483vgf8j9ygczkd2wrq2b";
-  };
-
-  propagatedBuildInputs = with python3.pkgs; [
-    requests
-    six
-  ];
-
-  checkPhase = ''
-    ${python3.interpreter} lptest.py
-  '';
-
-  meta = with lib; {
-    description = "A parser for subscription lists";
-    homepage = "https://github.com/kurtmckee/listparser";
-    license = licenses.lgpl3Plus;
-    maintainers = [
-      maintainers.pbogdan
-    ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/syndom/default.nix b/pkgs/development/libraries/syndom/default.nix
new file mode 100644
index<PHONE_NUMBER>0..23d23d911c5
--- /dev/null
+++ b/pkgs/development/libraries/syndom/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, meson
+, ninja
+, pugixml
+, fmt
+, html-tidy
+, python3
+}:
+
+stdenv.mkDerivation {
+  pname = "syndom";
+  version = "unstable-2023-03-25";
+  disabled = python3.pkgs.pythonOlder "3.6";
+
+  src = fetchFromGitLab {
+    owner = "gabmus";
+    repo = "syndication-domination";
+    rev = "75920321062d682437f3fb0319dad227d8b18f6c";
+    sha256 = "sha256-fOlE9CsNcmGkVBXaqYHxLDWB8voeRp46+dZYIJIwg7o=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    pugixml
+    fmt
+    html-tidy
+    python3.pkgs.pybind11
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/gabmus/syndication-domination";
+    description = "An RSS/Atom parser";
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c2397c4ce5d..b4d11c235b8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12432,6 +12432,8 @@ with pkgs;

   synapse-admin = callPackage ../tools/admin/synapse-admin { };

+  syndom = callPackage ../development/libraries/syndom { };
+
   sl = callPackage ../tools/misc/sl { };

   socat = callPackage ../tools/networking/socat { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0910ddca6a3..22268cd64f9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -11533,6 +11533,10 @@ self: super: with self; {

   syncer = callPackage ../development/python-modules/syncer { };

+  syndom = toPythonModule (pkgs.syndom.override {
+    python3 = python;
+  });
+
   synergy = callPackage ../development/python-modules/synergy { };

   synologydsm-api = callPackage ../development/python-modules/synologydsm-api { };

If you don't have time I can take over this PR.

Apologies I was cleaning up my fork, may come back to this PR

What's the status of this?

I'm no longer using Gnome Feeds so I don't have as much of an interest in updating the package. I'm also not interested in being a maintainer for the time being. This does contain the latest version of the app which works from my testing, so it could be something for someone else to work off of.


How to know when we reached the end / start of the carousel ?

I want to hide the Back button when the carousel is at start, and the Next button when the carousel is at the end, how can I get the proper information ?
Thanks

The buttons are enabled and disabled automatically by PRC. The buttons have classes assigned to them that state when they are enabled, disabled.  Tie into the classes with your own css.   If you simple want to hide them, add some css to set display:none or visibility:hidden
The specific classes added to each component are in the docs.

Thanks @mrbinky3000 for your quick reply.
My bad, I didn't catch the 'disabled' attribute passed down to the button.
I did a simple .carousel__back-button:disabled { visibility: hidden } and everything is perfect.
Nice job, my favorite carousel until now !


tests: irq_vector_table: support for mr_canhubk3 board

mr_canhubk3 board includes an off-chip watchdog that must be configured during boot to avoid triggering a reset, so add the interrupt handlers for its SPI bus master and external interrupt, besides the test ISRs.

I will close this and come back with an update to the board configuration to disable the conflictive device driver since it's also affecting other tests, and it seems the more reasonable approach.


Support read-only DSV in ITextureView.

Per discussion in Discord.

It is ready now.
I have written RenderPass-based test in addition to RenderTarget-based test, but I didn't commit it because I don't think it's useful.
Render passes already have all resource transitions explicitly described, so TEXTURE_VIEW_READ_ONLY_DEPTH_STENCIL has no utility when using render passes.

PS: I've just noticed that my IDE automatically removes trailing spaces. I can revert those if requested.


Add vial smasher plugin

This plugin is similar in concept to the door kicker plugin. It plays the teleport tablet animation when the spam message for barbarian vial smashing is seen in the chat box.

Whoops. Branched off a branch. Closing this one.


Fix blank page shown after user login

Description
Blank page is showing when login into the management console with IDP initiated SSO flow by using a federated identity provider. If a user is not part of the management console primary userstore and trying to login through the IDP user Instead of getting a login failed screen it is redirected to a blank page, in logs the authentication failed is shown but not in UI. Flow is working as expected when the federated user is also present in the IS with at least the login permissions and in the SP initiated SSO.
Related Issue

https://github.com/wso2/product-is/issues/14977

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/3318303488

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/3318303488
Status: success