Duration Pause/Play

Great plugin, nice work man.
Actually I have a problem with the recording duration, if I set a duration and enabled the pause recording function, it will pause the recording but the duration still counting on the background and when I check the console, I found the stop recording function works automatically while I am pausing the recording.. shortly, I need to pause the recording duration while pausing the recording.
console:
Paused recording.
Stopped recording video stream
stopRecording  @RecordRTC.js:100
(anonymous function)	@RecordRTC.js:230
Resume recording.

Seeing the same issue, pauseRecording looks buggy.

Seems a bug happens on Firefox. They are correctly changing mediaRecorder.state from recording to paused but, behind the scene, they are not pausing the existing/active recorders.
Quick workaround can be:
var arrayOfBlobs = [];
mediaRecorder.ondataavailable = function(event) {
    if (event.data && event.data.size) {
        if (isPausedRecording === false) { // manually skip if paused
            arrayOfBlobs.push(event.data);
        }
    }
};

We are not appending to arrayOfBlobs. We are passing 60 minutes interval on the start method:
mediaRecorder.start(3.6e+6);

So ondataavailable returns us a big/huge blob rather than shorter blobs.

It is browser-related (native) bug. That's why closing this issue.


Missing restraint_types in _ihm_derived_distance_restraint in the PDBDEV_00000054

I believe that with the 1.10 update of the IHM dictionary explicit setting of _ihm_derived_distance_restraint.restraint_type became mandatory thus the following record now produce an error:
loop_                                                                                _ihm_derived_distance_restraint.id
_ihm_derived_distance_restraint.group_id
_ihm_derived_distance_restraint.feature_id_1
_ihm_derived_distance_restraint.feature_id_2
_ihm_derived_distance_restraint.restraint_type
_ihm_derived_distance_restraint.dataset_list_id
1 1 1 2 . 2
2 1 1 3 . 2

/usr/local/lib/python3.8/dist-packages/ihm/reader.py in __call__(self, id, group_id, dataset_list_id, feature_id_1, feature_id_2, restraint_type, group_conditionality, probability, mic_value, distance_lower_limit, distance_upper_limit)
   2105         r.feature2 = self.sysr.features.get_by_id(feature_id_2)
   2106         print(restraint_type)
-> 2107         r.distance = _handle_distance[restraint_type](distance_lower_limit,
   2108                                                       distance_upper_limit,
   2109                                                       self.get_float)

KeyError: None

I guess it should be fixed in the entry? @brindakv

Mandatory fields can be set too . but I'll fix the data in this case.

Mandatory fields can be set to . but I'll fix the data in this case.

But in this case, it also has the associated Controlled Vocabulary. Does it mean that even fields like this can have . values?

Mandatory fields can be set to . but I'll fix the data in this case.

But in this case, it also has the associated Controlled Vocabulary. Does it mean that even fields like this can have . values?

Yes.
This is a legacy entry that was recently released and the depositor did not provide the values for restraint_type distance_lower_limit and distance_upper_limit.  It is not meaningful to add restraint_type without the distance value(s). Perhaps better to address this in the code.


HHH-15774 @CurrentTimestamp takes over from @Source

... and make value generation work better with version properties.

Screw it, I'm going to merge this: I've just spent hours wrestling with test failures, none of which had really anything to do with this work, and every time I rebased new and curious phenomena arose. Now, things are worse than when I started, but I know for sure the failures aren't due to my changes.


Open "layers" menu by default when entering the site

Is your feature request related to a problem? Please describe.
Currently when opening the site only the default layers are selected and when user may not be aware that one can hide some of them or reveal more. Also the naming may be confusing to normal people.
Describe the solution you'd like
We can open the "layers" menu by default. We could also change the name of it to "places".
Describe alternatives you've considered
-
Additional context
-

If we are going to show this menu by default, it should be a bit narrower. Something like that:

I

in pr #84

Done in https://github.com/openstreetmap-polska/ua-2022-map/pull/84


vehicles with wrong movement

About
any vehicle in use moves slowly and not smoothly as if it jumps from one block to another with a delay and the driver goes sideways when moving forward.

Minecraft version: 1.18.2
Server software: Paper
Plugin version: 2.4.3

When and why?
the error occurs when you get on the vehicle and try to move it, it does not move correctly or smoothly.
Documentation
Attach photos/videos documenting the bug.

https://user-images.githubusercontent.com/109554073/179614547-8e7ea3a6-aec3-4dd7-8b35-d4a4aeb251de.mp4

can you send your paper.yml?

It's strange, and I don't know what this is. Have you tried it on a different server?

I don't know but I updated the server to 1.19 and the problem was solved, but I have no idea what caused this error.


Add Telegram Share Button , How To

I want add telegram share button to jssocials , how to add it ?

Oh :smile:  sorry fix
Telegram ready
This is it , thanks :heart_eyes:
http://bestari.online/index.php?p=show_detail&id=6739


FreakyTextInputLayout: Fixed some layout issues

Added ability for layout to handle numeric fontsize values
Added new TitleFontSize property so user can change the size of the floating label
Fixed floating label positioning for various TitleFontSizes
Fixed margins for Bordered input type so the floating label doesn't overlap with a control above it

This looks interesting, have you tested this with high font size and if so, is this working as you expected it to?

My fix works well on Android. I haven't seen any issues with the changes. I did stumble upon a preexisting iOS issue with the FreakyTextInputLayout that is unrelated. I'm only developing on android though so the issue doesn't affect me. Anyway, looking forward to the release with these fixes! Thanks!


Add missing logging

This PR fills in missing logging in the store service.  Now when it's about to queue a notification or response it logs a line, and it also does that on success/failure.

Codecov Report

Merging #56 into develop will decrease coverage by 1.14%.
The diff coverage is 25%.

@@             Coverage Diff             @@
##           develop      #56      +/-   ##
===========================================
- Coverage     81.7%   80.55%   -1.15%
===========================================
  Files            6        6
  Lines          388      396       +8
===========================================
+ Hits           317      319       +2
- Misses          71       77       +6

Impacted Files
Coverage Δ

server.py
77.33% <25%> (-2.15%)
:arrow_down:

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 e2f5318...8763a18. Read the comment docs.


Added onkyo2

What is the difference to iobroker.onkyo https://github.com/ioBroker/ioBroker.onkyo ??

RE-CHECK!

Automated adapter checker
ioBroker.onkyo2

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "onkyo2" in latest repository

Add comment "RE-CHECK!" to start check anew

What is the difference to iobroker.onkyo

In order that the driver was perverted to the inability to use it

Closed, after agreement from Instalator


Projection type of the coordinates?

I apologize if this is an easily known question, but I am attempting to display the geojson that was generated using geojson.io; however, I am unsure of the projection being used. For example, this is what I have generated.
{   "type": "FeatureCollection",   "features": [     {       "type": "Feature",       "properties": {         "name": "North America"       },       "geometry": {         "type": "Polygon",         "coordinates": [           [             [               -531.650390625,               63.82128765261384             ],             [               -532.2216796875,               63.39152174400882             ],             [               -530.9912109374999,               63.3324127919358             ],             [               -529.8046875,               62.85514553774182             ],             [               -528.4423828125,               63.25341156651705             ],             [               -530.068359375,               63.78248603116502             ],             [               -531.03515625,               63.64625919492172             ],             [               -531.650390625,               63.82128765261384             ]           ]         ]       }     }   ] }
Am I doing something wrong for it to be generated in this format?

@MichaelMuinos looks like these features were traced from a wrapped view of the world. It's possible to do this with geojson.io and it's not sophiscated enough to unwrap. The GeoJSON should be OGC CRS84 (roughly EPSG:4326). If you add 360 to the longitudes you may get data you can use in other applications. Or, you could have the data re-generated so that all longitude values are between -180 and 180.


example: add EIP-1559 tx example

hi it is a great lib. I found that EIP-1559 transaction is absent in example dir, so the code was added for this purpose. Most of the variables and values in this example are copied from legacy-transaction.c.
But I'm not sure about one thing: when access_list is empty, do I need to add it when constructing RLP? After my test, it seems that it can be added or not (I temporarily commented this in the example)

hi it is a great lib. I found that EIP-1559 transaction is absent in example dir, so the code was added for this purpose. Most of the variables and values in this example are copied from legacy-transaction.c.

Hello, thank you for the PR.

But I'm not sure about one thing: when access_list is empty, do I need to add it when constructing RLP? After my test, it seems that it can be added or not (I temporarily commented this in the example)

ok(eth_rlp_array(&rlp0));
  // ok(eth_rlp_hex(&rlp0, &accees_list, NULL)); // empty for access_list
ok(eth_rlp_array_end(&rlp0));

you're already declaring empty array here before encoding empty hex (0x)
these are basically the same thing:
ok(eth_rlp_array(&rlp0));
ok(eth_rlp_array_end(&rlp0));
// and
ok(eth_rlp_hex(&rlp0, &accees_list, NULL)); // empty for access_list

Hopefully you tested the code, merging it!


Coap protocol confirmable resend fix and minor memory optimize

From old nsdl-c nanomesh4-rel fixies to new coap repository.

@yogpan01 , @kuggenhoffen and @teetak01 Could you review my PR.

rebased with Simos last commit

@anttiylitokola @teetak01 @kuggenhoffen @yogpan01 Review this Please.


[Go Live][17 Feb]

Push to live

Docs Build status updates of commit 7d3f5c9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/submission/teams-app-store-publish-process.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/submission/teams-validation-developer-portal.png
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/publish.md
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

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


How  about jetbrains platform's plugin?

Is it possible to support? Thanks

I don’t use those tools but anyone is free to create one if they’d like


Updated README.md with new mLab name

Submitting on behalf of mLab, please change Mongolab to mLab to reflect our recent name change. Thanks.

🎉 This change has been released in version 1.2.0


Various build fixes

Fix sidre docs

extra word
grouping attribute docs together)

Add FindLua

I am using it in Inlet and want to stop rebuilding lua locally

Update compilers

Remove clang 4/6, add clang 9/10
Remove gcc 6/7

Improve using examples

Newer compilers on TOSS3 need stdlib flags and need to be passed in places

Add ability to build just one tpl spec

example: scripts/llnl_scripts/build_tpls.py<EMAIL_ADDRESS>

Update spack packages

Axom/Conduit now respect spack's global compiler flags
MFEM: update to new package and add ability to honor debug variant which was broken when you had global C++ flags

This PR is ready to go except that the mint_mesh_cell_types causes a compiler seg fault in the<EMAIL_ADDRESS>spec.  I confirmed commenting out the test makes it go away.  Can someone who is familiar with mint look into this? Otherwise i can try narrowing it down even further for a work around.

This PR is ready to go except that the mint_mesh_cell_types causes a compiler seg fault in the<EMAIL_ADDRESS>spec. I confirmed commenting out the test makes it go away. Can someone who is familiar with mint look into this? Otherwise i can try narrowing it down even further for a work around.

Thanks @white238 -- I'll look into the issue with the mint_mesh_cell_types test tonight.

How do people feel about turning off this test when we are on<EMAIL_ADDRESS> I haven't tested it yet but i should be able to do it with a check against the clang compiler family and CMAKE_CXX_COMPILER_VERSION == 9.0.0
The other option is to abandon this spec, which seems drastic.  Though it might be helpful to get LC to install<EMAIL_ADDRESS>in hopes that it works on our platform.

This PR is ready to go except that the mint_mesh_cell_types causes a compiler seg fault in the<EMAIL_ADDRESS>spec. I confirmed commenting out the test makes it go away. Can someone who is familiar with mint look into this? Otherwise i can try narrowing it down even further for a work around.

Thanks @white238 -- I'll look into the issue with the mint_mesh_cell_types test tonight.

After closer inspection, I am afraid this looks more like a bug in the clang-9 compiler or in our LC installation.
Here is a sample error message from the compiler:
...
#47 0x00000000027a1f02 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/tce/packages/clang/clang-9.0.0/release/bin/clang-9+0x27a1f02)
#48 0x0000000000a14603 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/tce/packages/clang/clang-9.0.0/release/bin/clang-9+0xa14603)
#49 0x0000000000a119e8 main (/usr/tce/packages/clang/clang-9.0.0/release/bin/clang-9+0xa119e8)
#50 0x00002aaaabf7c555 __libc_start_main /usr/src/debug/glibc-2.17-c758a686/csu/../csu/libc-start.c:300:0
#51 0x0000000000a0f2ed _start (/usr/tce/packages/clang/clang-9.0.0/release/bin/clang-9+0xa0f2ed)
clang-9: error: unable to execute command: Segmentation fault (core dumped)
clang-9: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 9.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/tce/packages/clang/clang-9.0.0/release/bin
clang-9: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang-9: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-9: note: diagnostic msg: /var/tmp/zagaris2/mint_mesh_cell_types-a12671.cpp
clang-9: note: diagnostic msg: /var/tmp/zagaris2/mint_mesh_cell_types-a12671.sh
clang-9: note: diagnostic msg:

********************
gmake[2]: *** [axom/mint/tests/CMakeFiles/mint_mesh_cell_types_test.dir/mint_mesh_cell_types.cpp.o] Error 254
gmake[1]: *** [axom/mint/tests/CMakeFiles/mint_mesh_cell_types_test.dir/all] Error 2

I tried to simplify the code to work around the compiler, but, the fundamental problem is accessing the mint::cell_info array, which is a statically allocated array of structs consisting of metadata for each cell type.
I wasn't able to work around this easily.
@white238 reports that this works with the clang-10 compiler. Should we move to that and skip clang-9 (perhaps with a note alerting users in the RELEASE-NOTES)?
For my local development I have been using Clang-9.0.1 and I haven't seen this issue. So, it is possible this was a bug in Clang-9.0.0, which is what is being used in this branch.
@rhornung67, is Chris Earl still the LC Clang POC -- Should I reach out to him to submit a bug report on this?
Thoughts?

How do people feel about turning off this test when we are on<EMAIL_ADDRESS>I haven't tested it yet but i should be able to do it with a check against the clang compiler family and CMAKE_CXX_COMPILER_VERSION == 9.0.0

I am OK with disabling this test for clang-9.0.0 and push this through for now, especially, since there are host-codes that use this exact spec at the moment (as you indicated in your e-mail to the axom-dev mailing list).

@gzagaris I don't know if Chris is still the LC clang person. I would email John Gyllenhaal and ask who you should report this to.  Does the test compile and run for clang 8 and/or clang 10?

@gzagaris I don't know if Chris is still the LC clang person. I would email John Gyllenhaal and ask who you should report this to. Does the test compile and run for clang 8 and/or clang 10?

Yes, we only encountered this with clang-9.0.0 specifically.

@gzagaris I don't know if Chris is still the LC clang person. I would email John Gyllenhaal and ask who you should report this to. Does the test compile and run for clang 8 and/or clang 10?

Yes, we only encountered this with clang-9.0.0 specifically.

Then, it's probably a compiler issue and worth submitting since apps probably haven't moved to clang 10 yet.


Ensure Amazon EKS public endpoint not accessible to <IP_ADDRESS>/0

Possible check to target the following resource

[ ] aws_eks_cluster

closing, tracking in spreadsheet

closing, tracking in spreadsheet


feat: added fields to club schema

closes #
👷🏻 Changes made

added website and iframe fields (not required) to the club schema.

in my previous pr it was showing some test cases are not passes. So, i closed that and raise a new one.


Failure to export: [CLIError] Failed converting Markdown. (spawn UNKNOWN)

Marp for VS Code v2.8.0
Windows 10
When I Export Slide Deck...
It reports the error:
Failure to export: [CLIError] Failed converting Markdown. (spawn UNKNOWN)
I don't know why and how to fix it.

Duplicated: #439

Duplicated: #439

If I use AdBlock in edge extension, then I can't Export Slide Deck...?

The error spawn UNKNOWN is generally known to occur when the current user does not have the necessary permissions to spawn the browser process.
That is often due to restrictions by Windows group policies. It is not related to the browser's extensions such as the adblocker.

The error spawn UNKNOWN is generally known to occur when the current user does not have the necessary permissions to spawn the browser process.
That is often due to restrictions by Windows group policies. It is not related to the browser's extensions such as the adblocker.

Thank you!
So how could I set it up to have the necessary permissions to spawn the browser process?

I cannot provide a specific because generally these kinds of restrictions are set by system administrators. Please consider to review with your IT department or system administrator.

I cannot provide a specific because generally these kinds of restrictions are set by system administrators. Please consider to review with your IT department or system administrator.

Thank you!


ENH: Refactor trans

Fixed IO  + added support for no hs_file.

I don't think you meant to open this into master, can you open it into refactor-trans?


VM implementation for super-initializer parameters

See https://github.com/dart-lang/sdk/issues/48055 for the main tracking issue.

Currently there are no failing tests for super parameters on the VM configurations.


Garage Doors do not show proper status

I've set up my 3 garage door i/o lyncs and and they all show up in homekit correctly as garage doors.  However their statuses do not appear correct when homebridge starts up.  If I open and close the doors using a keypad link their statuses do not update.  I have logging turned on, what can I do to debug the issue?

@SteliosMakrinos - Sorry to hear things aren't working for you.
First thing to check is when homebridge starts up does it show the status of the doors as opposite of what they are? If so it means your garage door sensor is configured to be opposite of mine.
If it is opposite then this is the cause. Because these kits can't tell us status beyond open or closed (i.e. they can't tell you opening, or closing) the library needs to start in a well known state and if my logic is backwards for your setup you'll see weird effects like that. I put some logic in there to fix that up after it opens and closes but I may have missed something.
If that's it then I can whip up a fix allowing you to select the opposite behavior and things should work.
If that's not it then close your garage door, startup Homebridge with homebridge-isy-js configured with debug output, let it startup and then open the garage door, let it go all the way open and then close it and let it go all the way closed and then send me the debug output here.
Also, it will be good to have you post the portion of your config with the garagedoors in it. i.e. the garageDoors element from the config.json file.
We'll figure this out. Thanks.

Although I don't believe it is the only problem, you are correct, when homebridge starts up it is reporting the opposite state from what the sensors are and from what is shown in the ISY administrator.

@SteliosMakrinos
You could absolutely be correct. Let's tackle the reversed state first and if it is still not fixed we can do more troubleshooting.
If you have some familiarity with javascript you can try patching your local copy and see if it fixes things. If you'd rather not, that's ok as well. I'll code up something you could try later today, early tomorrow.
Here are the changes you would need to make:
index.js, Line 899. Change:
if(sensorDevice.getCurrentDoorWindowState()) {
to:
if(!sensorDevice.getCurrentDoorWindowState()) {
index.js, Line 994. Change:
if(this.device.getCurrentDoorWindowState()) {
to:
if(!this.device.getCurrentDoorWindowState()) {
If you do try this and it is still not fixed, please capture debug output like I described earlier.
Thanks!

I made the local changes.  Now the initial statuses are correct, however when I opened 2 doors with they keypad, the statuses did not update to "open".
Here is the output:
Node: 3B 90 40 3 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 46962 changed
Node: 3B 90 40 5 changed
Node: 00:21:b9:02:27:f6 changed
Node: 31930 changed
Node: 834 changed
Node: 34 8E 6F 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 34 8E 4 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 834 changed

For what it's worth, theres a preferred way to wire the iolinc sensor for garage door. If you wire it normally open, your keypad light will be inverted from the actual state if the iolinc loses power.
From UDI Wiki:
NOTE: If the I/OLinc loses power for any reason, the Trigger Off gets reset back to off (unchecked). This causes the keypad button light to be inverted and give a false indication of the garage door status until you reprogram the I/OLinc. As this can happen often, I would highly recommend that you use the RED and BLACK wires from the reed switch and NOT the Green wire (NC or Normally Closed reed switch operation).
Sent from my iPhone

On Feb 13, 2016, at 2:04 PM, SteliosMakrinos<EMAIL_ADDRESS>wrote:
I made the local changes. Now the initial statuses are correct, however when I opened 2 doors with they keypad, the statuses did not update to "open".
Here is the output:
Node: 3B 90 40 3 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 46962 changed
Node: 3B 90 40 5 changed
Node: 00:21:b9:02:27:f6 changed
Node: 31930 changed
Node: 834 changed
Node: 34 8E 6F 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 34 8E 4 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 834 changed
—
Reply to this email directly or view it on GitHub.

@SteliosMakrinos
We'll need to dig in deeper as to what is happening inside the Finite State machine that runs inside each garage accessory.
I've been looking through the code to figure out why your debug output is coming out correctly and I think I figured it out. You need to run homebridge with the -D command-line option to turn on debug logging in addition to the debugLoggingEnabled option being set to true. Once you have done both you should see output specific to the garage and it will tell us what is happening. It will look something like this:
[isy-js] 116-1-6#19:40:59- GARAGE:  Garage Door SensorCurrent state of door is closed and now sensor says open. Setting state to opening
[isy-js] 116-1-6#19:40:59- GARAGE: Ignoring redundant set of target state
[isy-js] 116-1-6#19:41:11- GARAGE:  Garage Door SensorCurrent door has bee opening long enough, marking open
That is the output we'll need to figure out what is happening.
If you open and close the door only from HomeBridge/Siri does the state track correctly?

For reference my setup is wired with the red and black.

And one more question -- when you say the state does not go to Open -- is it in opening state or some other state?

No, it shows "Closed".
I started it with -D, but it doesn't appear as you say.
Using the keypad, I opened one of the doors and got:
Node: 3B 90 40 3 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 46962 changed
Node: 34 8E 6F 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed

clicking it again to close first gave me:
Node: 00:21:b9:02:27:f6 changed
and then when it closed:
Node: 3B 90 40 3 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 46962 changed
Node: 34 8E 6F 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 41728 changed
Node: 29 F0 10 1 changed
Node: 00:21:b9:02:27:f6 changed
Node: 227 changed

@SteliosMakrinos - Let's switch to a live chat and work through this. If you are interested, join me on my slack here: https://troublex3.slack.com/, general channel.

Alternatively, if you'd rather not you can force debug output by changing this line (should be line 51 in index.js) from:
	this.log(timeStamp.getYear()+"-"+timeStamp.getMonth()+"-"+timeStamp.getDay()+"#"+timeStamp.getHours()+":"+timeStamp.getMinutes()+":"+timeStamp.getSeconds()+"- "+msg);

to:
	console.log(timeStamp.getYear()+"-"+timeStamp.getMonth()+"-"+timeStamp.getDay()+"#"+timeStamp.getHours()+":"+timeStamp.getMinutes()+":"+timeStamp.getSeconds()+"- "+msg);

That will force debug output. If your copy of index.js doesn't look like the above then you might be a version behind. In which case you need to do an npm update.
I'll hang on the slack channel for 30 minutes just in case.

Unfortunately I'm tied up the rest of the night. I'll email when I can and see if we can find a time to work through it.
On Feb 13, 2016, 4:13 PM -0500<EMAIL_ADDRESS>wrote:

Alternatively, if you'd rather not you can force debug output by changing this line (should be line 51 in index.js) from:
this.log(timeStamp.getYear()+"-"+timeStamp.getMonth()+"-"+timeStamp.getDay()+"#"+timeStamp.getHours()+":"+timeStamp.getMinutes()+":"+timeStamp.getSeconds()+"- "+msg);
to:
console.log(timeStamp.getYear()+"-"+timeStamp.getMonth()+"-"+timeStamp.getDay()+"#"+timeStamp.getHours()+":"+timeStamp.getMinutes()+":"+timeStamp.getSeconds()+"- "+msg);
That will force debug output. If your copy of index.js doesn't look like the above then you might be a version behind. In which case you need to do an npm update.
I'll hang on the slack channel for 30 minutes just in case.
—
Reply to this email directly orview it on GitHub(https://github.com/rodtoll/homebridge-isy-js/issues/16#issuecomment-183755488).

No problem. If you get a chance try the change I suggest up above and collect the debug output along with a note saying what sequence you went through (i.e. opened and let it open through homekit then closed it through homekit). Then when I might be able to figure out what is going wrong. If not we can meet on slack sometime that works for us both.

which index.js are you referring to?  I don't see it at all in the index.js or your plugin.

If you don't see the above line in index.js of the homebridge-isy-js directory then you don't have the latest version of the plugin. You'll need to update by running:
sudo npm update -g homebridge-isy-js
The above assumes you are running on mac OSX or Linux or raspberry pi.

Once you do an update you'll need to re apply the earlier changes you made as they will be over written by the update.

I'll add here that mine is working fine although I previously added a resistor to my sensor wire on IOLinc to reverse the NC because my garage door sensor only has two wires and I couldn't make it NO.

http://forum.universal-devices.com/topic/10954-bug-when-using-iolinc-trigger-reverse-checkbox/
I think a 470 ohm is wht works.

@SteliosMakrinos - I just released v. 0.1.4 of the homebridge-isy-js plugin. It has a new option when you specify a garage entry in the config to reverse the sensor logic. Just add an additional attribute called "alternate" in the garage entry and set it to true. Then try to see if this fixes your issue.
Sample:
{ "address": "17 79 81 1", "name": "Garage Door", "timeToOpen": 12000, "alternate": true }
Just do a:
sudo npm update -g homebridge-isy-js
to update to the latest.

To update folks on this issue. We got @SteliosMakrinos working. There still remains to be a few cases where you can get into a state where the system doesn't know what state the door is in temporarily. Specifically when the door is open when you start up and the door motor is activated. It's unclear if the motor is opening the garage door or closing it -- so the state doesn't change until the sensor does. This is because the motor doesn't have a direction associated with it that we can access.
Noodling on the right thing to do here but the issue is now different so closing this one.


Normative: Make index properties for immutable-backed TypedArrays non-configurable and non-writable

...allowing such TypedArrays to be frozen.
GFM rendering of this PR's diff from upstream ECMA-262: removals, additions
10.4.5 TypedArray Exotic Objects

<IP_ADDRESS> [[GetOwnProperty]] ( P )
The [[GetOwnProperty]] internal method of a TypedArray O takes argument P (a property key) and returns a normal completion containing either a Property Descriptor or undefined. It performs the following steps when called:
If P is a String, thenLet numericIndex be CanonicalNumericIndexString(P).If numericIndex is not undefined, thenLet value be TypedArrayGetElement(O, numericIndex).If value is undefined, return undefined.Let mutable be true.If IsImmutableBuffer(O.[[ViewedArrayBuffer]]) is true, set mutable to false.Return the PropertyDescriptor { [[Value]]: value, [[Writable]]: true mutable, [[Enumerable]]: true, [[Configurable]]: true mutable }.Return OrdinaryGetOwnProperty(O, P).

<IP_ADDRESS> [[DefineOwnProperty]] ( P, Desc )
The [[DefineOwnProperty]] internal method of a TypedArray O takes arguments P (a property key) and Desc (a Property Descriptor) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
If P is a String, thenLet numericIndex be CanonicalNumericIndexString(P).If numericIndex is not undefined, thenIf IsValidIntegerIndex(O, numericIndex) is false, return false.Let mutable be true.If IsImmutableBuffer(O.[[ViewedArrayBuffer]]) is true, set mutable to false.If Desc has a [[Configurable]] field and Desc.[[Configurable]] is false not mutable, return false.If Desc has an [[Enumerable]] field and Desc.[[Enumerable]] is false, return false.If IsAccessorDescriptor(Desc) is true, return false.If Desc has a [[Writable]] field and Desc.[[Writable]] is false not mutable, return false.If Desc has a [[Value]] field and mutable is false and SameValue(Desc.[[Value]], TypedArrayGetElement(O, numericIndex)) is false, return false.If Desc has a [[Value]] field and mutable is true, perform ? TypedArraySetElement(O, numericIndex, Desc.[[Value]]).Return true.Return ! OrdinaryDefineOwnProperty(O, P, Desc).

<IP_ADDRESS> [[Set]] ( P, V, Receiver )
The [[Set]] internal method of a TypedArray O takes arguments P (a property key), V (an ECMAScript language value), and Receiver (an ECMAScript language value) and returns either a normal completion containing a Boolean or a throw completion. It performs the following steps when called:
If P is a String, thenLet numericIndex be CanonicalNumericIndexString(P).If numericIndex is not undefined, thenIf SameValue(O, Receiver) is true, thenIsValidIntegerIndex(O, numericIndex) is true and IsImmutableBuffer(O.[[ViewedArrayBuffer]]) is true, return false.Perform ? TypedArraySetElement(O, numericIndex, V).Return true.If IsValidIntegerIndex(O, numericIndex) is false, return true.Return ? OrdinarySet(O, P, V, Receiver).

Read the render, thanks. Lgtm


Settings app crashes

The settings app crashes with a "Settings has stopped" message after opening. I ran all the commands in the list.

Hm, that's unfortunate. My best guess is OneUI or the keyboard app disable command was run, I thought I removed those/commented those out. You may have to do a factory reset. I haven't encountered any crashes. What device and firmware are you using? I've only tested this with S9 but it shouldn't have any problems with an S10

com.android.providers.userdictionary was the dependency that got removed, restoring it works. I tested this on a J710FN (Galaxy J7 2016) with latest 8.1.0 firmware.


Include all documentation images in repository itself in /docs/images

Please ensure the documentation should be consistent in itself and does not depend on cloud services. If a user clones the repo locally the user should not have to connect to the net.
Therefore:

move all images saved elsewhere on the cloud etc. into the documentation itself
move all images from docs/screenshot to docs/images
ensure all image links are updated

@mariobehling
This will bloat the repository.
Currently because of the previous images the repo size is 40MBs greater that what it should be.
What do you say?

Currently because of the previous images the repo size is 40MBs greater that what it should be.

This is another topic. There are ways to delete those old images from the history. Please open an issue for this.
We cannot make documentation depend on cloud services. The whole goal of git is that everyone has portable code and documentation. By linking things to cloud services you make this project dependent. Avoid dependencies, please.
We don't want dependencies.
If we decide to move to another service, e.g. gitlab I don't want to take care of updating images in tons of repositories.
Please keep it simple.

@mariobehling I think we can reduce the size of images using this https://kraken.io/ . It reduces size upto 90% . I tested this on one of the screenshot, you can see it reduced it by 62.68%.

@heysadboy I don't really think that compressing the images here is of topmost priority.
We can do that anytime, also I don't see how it benefits the project right now.
Reducing the repo size by few kilobytes won't make much of a difference anyways.
A better option would be to help close the existing issues 👍

For storing the images, we can use
http://github.com/fossasia/open-event
Create a new folder over here and move the images here.
Use the raw link from this repo in our projects.
@mariobehling does that sound good?

@the-dagger
https://help.github.com/articles/removing-sensitive-data-from-a-repository
should we use this?

This deletes files from git history.

@the-dagger I think it's better to just store it in the screenshot folder itself. What say?

@free4murad @rohanagarwal94 bfg is a good option that we can use.
Storing or not storing images in the git repo isn't really an issue over here tbh.
Instead storing images somewhere else is a better option imo since it keeps the dev repo clean from all the clutter.
@mariobehling I think we can use the open-event repo for uploading all the assets (image and gifs) common to the open-event project.

@the-dagger
Still, we can use the bfg to reduce the size of repo.
Because the previous images have bloated the repo.

Yeah, makes sense.

Should I open an issue for this?

@the-dagger Please keep it simple. I am getting disillusioned by this long discussion here. Please don't invent new problems here and let's keep it similar across all projects. I agree we are talking about a few KB.
@heysadboy I am asking for very small changes. Maybe I should just have made this change myself quickly. I already explained in detail why we want to include and tried to get you on board.
@free4murad Your suggestions are out of scope of this issue.
We need code. Can we shorten discussions? The goal of getting more people on board in the project is not to expand discussions. Can we get this app into a world-class app now? There are still open bugs, that need to be solved.
@rohanagarwal94

I think it's better to just store it in the screenshot folder itself. What say?

Screenshot folder - please read the actual issue description before posting.
I need to be direct. We are going in a completely wrong direction. I wonder what is the goal of extended discussions. The gain of this discussion is small compared to the time invested. Even though tons have people are working on this project, the progress is minimal compared to other projects.
Honestly, discussion in this project is big. Development is slow.
I just need to take a few minutes and I find numerous bugs. If you guys want to spend time discussing instead of coding maybe open your own chat.
It may sound harsh to some of you, but please look also look at at other projects that progress much faster. Thanks.

@free4murad
No need to open a new issue, who ever is fixing this issue, can run bfg on the existing repo before pushing the changes.

@the-dagger You comments are out of scope.

Tons of open PRs and super long discussions. This project has big problems.

@mariobehling apologies. I meant to say images folder only while there were other suggestions. Didn't notice until you pointed.

I have also added deleted files in a text so that if we plan to use BFG or git-filter in future, we can use them. But still I don't think it will change anything because if any user merges instead of rebasing from development branch, it will cause the old files to be re-added to the history. Nevertheless, it should be its own discussion in another issue


Presidio demo website seems to be down: https://presidio-demo.azurewebsites.net/

https://presidio-demo.azurewebsites.net/

You can use the demo website on Huggingface:
https://huggingface.co/spaces/presidio/presidio_demo


Notification fires itself over and over again

Hey there!
So i have been dealing with this problem and couldnt really find any sollution. Im trying to implement a feature where user will be able to set notifications on certain days, time and minutes. An example as follows:
On mondays, hour: 11, minute: 30, repeat always. And user will get notification every monday, at 11.30 oclock.
So let me show my code:
This is how i initialize it
  AwesomeNotifications().initialize(
    'resource://drawable/icon',
    [
      NotificationChannel(
        channelKey: 'scheduled',
        channelName: 'Scheduled notifications',
        channelDescription: 'Scheduled notification channel',
        ledColor: Colors.white,
      ),
    ],
  );

And the following code is how i create scheduled notification:
        reminder.days.forEach((int day) async {
          await AwesomeNotifications().createNotification(
            content: NotificationContent(
              id: (reminder.id + '$day').hashCode,
              channelKey: 'scheduled',
              title: 'Reading Reminder',
              body: reminder.customMessage != '' ? reminder.customMessage : 'Reading reminder for ${bookData.title}',
            ),
            schedule: NotificationCalendar(
              repeats: true,
              weekday: day,
              hour: int.parse(reminder.timeOfDay.split(':')[0]), // 18
              minute: int.parse(reminder.timeOfDay.split(':')[1]), // 30
              timeZone: localTimeZone,
            ),
          );
        });

reminder.days is basicly a list of integers from 1 to 7, represents week days.
So as i said i want to show notification to user say every Sunday at 17.30 lets say. Thats the code i use and its working but the problem is once it shows a notification it never stops and constantly repeats itself again untill i cancel it. Like every second it pops a new notification and never stops.
I found a thread where one user had the same problem: https://github.com/rafaelsetragni/awesome_notifications/issues/180
So i have the same problem and cant solve it.
Platform: Android (tested on multiple real devices)
awesome_notifications version: ^0.0.6+9
localTimeZone: Europe/Istanbul
Any help? Thanks in advance
Edit: just realized one more issue opened already https://github.com/rafaelsetragni/awesome_notifications/issues/211
Looking forward to hear for updates. Would like to contribute if i can

problem is once it shows a notification it never stops and constantly repeats itself again untill i cancel it. Like every second it pops a new notification and never stops.

You can use one thing.
But this will not cancel the notification, which means user will not get constant notification, the notification will not trouble the user, else when user removes the notification before a minute then it will not be removed after a minute it will be removed or cancelled but it will surely be better,
Use onlyAlertOnce: true in the notification initialisation•
It will not constantly alert the use but once, but if you try to remove the notification before a minute it will again pop down, but it will go if the user will not touch it.
Still better but worse.

like this @N1ght-Fury

but still, Rafaelsetragni must check this, he said in my issue he wants to take a  meet, but yeah, I guess he never read my comment there. I hope this is not helpful, but this is the best currently.

@madd-project Oh i see. Thank you for that. Yea as you said thats a workaround but author of the package should really have a look at this. This is a very critical bug imo and should be fixed immediately.
I will try to downgrade the package and see if the same problem occurs on older versions. I will post the result here

So i tested some old version and same problem occurs on them as well. Looking for updates at this point

Inviting @rafaelsetragni ...

ok

Try to check if this fix works for you:
Add this into your pusbpec.yaml:
# awesome_notifications: ^0.0.6+9
awesome_notifications:
     git:
       url: https://github.com/rafaelsetragni/awesome_notifications.git
       ref: 85b7b34

Hey! Thank you so much for your efforts really appreciate it.
The new branch you provided worked for me after setting second:0. It works without any problems now. Thank you.
Here is the code that i use right now:
await AwesomeNotifications().createNotification(
            content: NotificationContent(
              id: (reminder.id + '$day').hashCode,
              channelKey: 'scheduled',
              title: 'Reading Reminder',
              body: reminder.customMessage != '' ? reminder.customMessage : 'Reading reminder for ${bookData.title}',
            ),
            schedule: NotificationCalendar(
              repeats: true,
              weekday: day,
              hour: int.parse(reminder.timeOfDay.split(':')[0]),
              minute: int.parse(reminder.timeOfDay.split(':')[1]),
              second: 0,
              timeZone: localTimeZone,
            ),
          );

Also congrats with the baby :) Best wishes ❤

By the way, i tested it again without the specific branch you provided, and after adding second:0 parameter it also works without any problems. So anyone having this problem can just add that parameter and it will work on any version i guess.
Thanks again, closing the issue

Well maybe it was a little too early to close the issue :(
So i have tried it with other devices and sadly, the same problem still occurs even after i did everything i said in the previous comments. It does not even stop after 1 minute passes, its like an endless loop, constantly showing notification.
And here is what i found, im from Turkey and my device language is Turkish. When i changed device language to English, it stops showing notifications endlessly. At this point i am pretty sure device language is causing bugs if its not set to English.
How does device language and showing notifications related? @rafaelsetragni Sir I know you are busy but this seems a minor bug about the device language. As far as i can see thats what causes the problem. Could you please have a look at it one last time?

So when i create a new schedule, here is what i see on my debug console:
25 D/NotificationScheduler(26120): Scheduled created
But it shows it over and over again and it fires a new notification endlessly.
When i change the device language to English, the problem stops. I tried to debug the code but i coudlnt solve it :(
Here is a github repo for you to test it: https://github.com/N1ght-Fury/notification-error. Set device language to Turkish first and run the application. And then turn it back to English and you will see it runs without any problems.

Here is a video i just take to make it more clear. Please watch: https://www.youtube.com/watch?v=mvz4QJv-VDA

hey guys... im also having the same problem. when i set the device language to turkish it keeps showing notifications nonstop :( after i set it back to english it just works flawlessly. any help to solve this please?

I couldnt reproduce this error. For me, even changing the main language to turkish, the schedules are being correctly created. If someone could attach a native debug into the app using Android Studio to discover whats going on, will help me a lot.

@rafaelsetragni i ran the project on android studio. could you please tell how can i get native debug? or you need some kind of log data? if so how can i get it?

@rafaelsetragni i ran the project on android studio. could you please tell how can i get native debug? or you need some kind of log data? like you want me to copy and paste logcat here?

Can you also try again this way:
set timeZone: "Europe/Istanbul" and also set device language to Turkish. Maybe you can reproduce the error this way.

@rafaelsetragni Love you, Congrats, for the @rafaelsetragni Jr. Junior is so cute. Love you. Love You , And You are so Lucky. ❤

Well the Answer was not working..
Stillll

Same for me. It actually works for me when i set the second: 0. It only doesnt work on Turkish devices. I guess it happens because of timeZone. It creates the cron job wrong and fires notification every second. Thats what i think is happening.

The problem is that I can not simulate an Turkish device. Im planning to create a YouTube video showing how to debug native and flutter level.
That way everyone will be capable to debug and realize what's going on, with every flutter app and every plugin.

The problem is that I can not simulate an Turkish device. Im planning to create a YouTube video showing how to debug native and flutter level.
That way everyone will be capable to debug and realize what's going on, with every flutter app and every plugin.

Looking forward to it!

I am also having this issue.
@talhakerpicci  @talhakerpicci  @madd-project  @Mohi-exe @rafaelsetragni
Is there any progress?
What information can I provide to debug this?

@rokk4 move to beta 3 and try again, setting the seconds to 0.

Beta 5 still has the issue

Anytime repeats is set will lead to notifications either being spammed like crazy or just every time notification is dismissed. Android only, API 27

Try to set the second parameter to 0

Try to set the second parameter to 0
This works. I had the same issue and fixed with this solution before finding this ticket.

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


Would you please consider contructing omegaconf in a object-oriented way?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Describe the solution you'd like
Please consider contructing omegaconf in a object-oriented way, such as,
dict_config = DictConfig("cfg.yaml")

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@songyuc the official API for constructing OmegaConf objects is through the omegaconf.OmegaConf class:
from omegaconf import OmegaConf, DictConfig
dict_config: DictConfig = OmegaConf.load("cfg.yaml")

@songyuc the official API for constructing OmegaConf objects is through the omegaconf.OmegaConf facade:
from omegaconf import OmegaConf, DictConfig
dict_config: DictConfig = OmegaConf.load("cfg.yaml")

I think this pattern might not be appropriate for inheritance programming, such as:
class ExpConfig(DictConfig):
	...

Currently the DictConfig.__init__ function works like this:
cfg = DictConfig({"foo": "bar"})
assert cfg == {"foo": "bar"}

This is not documented and should not be considered a stable API.
You could load a yaml file like this: DictConfig(yaml.safe_load(open("cfg.yaml"))).
I would be curious to learn more about your use-case. Why do you want to subclass DictConfig? Are you adding some new methods?

Currently the DictConfig.__init__ method works like this:
cfg = DictConfig({"foo": "bar"})
assert isinstance(cfg, DictConfig)
assert cfg == {"foo": "bar"}

This is not documented and should not be considered a stable API. You could load a yaml file like this: DictConfig(yaml.safe_load(open("cfg.yaml"))).
I would be curious to learn more about your use-case. Why do you want to subclass DictConfig? Are you adding some new methods?

Yes, I may add some new methods and some custom attributes, like:
class ExpConfig(DictConfig):
	def __init__(yaml):
		super().__init__(yaml)
		self.date = self.get_curr_date_time

class ExpConfig(DictConfig):
	...

Got it.
One downside of inheriting from DictConfig is that parts of OmegaConf's implementation are tightly coupled to the DictConfig class. For example, calling OmegaConf.merge on ExpConfig will not work.
I wonder: would custom-resolvers would work for your use-case?
# tmp.py
from datetime import datetime

from omegaconf import OmegaConf

experiment_data = """\
datum1: 123
datum2: 456
"""

base_conf = {
    "date": "${get_curr_date_time:}",
    "other_custom_field": "...",
}

OmegaConf.register_new_resolver(
    "get_curr_date_time", lambda: datetime.now().isoformat()
)

cfg = OmegaConf.merge(base_conf, OmegaConf.create(experiment_data))
print(cfg.datum1)
print(cfg.date)

$ python tmp.py
123
2022-05-16T05:27:39.668795

class ExpConfig(DictConfig):
	...

Got it. One downside of inheriting from DictConfig is that parts of OmegaConf's implementation are tightly coupled to the DictConfig class. For example, calling OmegaConf.merge on ExpConfig will not work.
I wonder: would custom-resolvers would work for your use-case?
# tmp.py
from datetime import datetime

from omegaconf import OmegaConf

experiment_data = """\
datum1: 123
datum2: 456
"""

base_conf = {
    "date": "${get_curr_date_time:}",
    "other_custom_field": "...",
}

OmegaConf.register_new_resolver(
    "get_curr_date_time", lambda: datetime.now().isoformat()
)

cfg = OmegaConf.merge(base_conf, OmegaConf.create(experiment_data))
print(cfg.datum1)
print(cfg.date)

$ python tmp.py
123
2022-05-16T05:27:39.668795

That looks like a good solution.
I will also try to adopt a factory pattern to realize this inheritance programming.

I implement a custom configuration class as:
class Config(DictConfig):
    def __init__(self, yaml_path, dict_exp_var=None, qa=QualityAssuranceBase(__file__)):
        super(Config, self).__init__({"Dataset": "None"})  # input an empty dict to init as, DictConfig({})
        # Read model config information
        conf = OmegaConf.load(yaml_path)
        print("before update()")
        self.update(conf)
        pass # Debug here

But when I use the debug of PyCharm, I meet an error as:

Error evaluating: thread_id: pid_52995_id_140371051443776
frame_id:<PHONE_NUMBER>71296
scope: FRAME
attrs: self
Traceback (most recent call last):
File "/home/user/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 351, in getattr
return self._get_impl(key=key, default_value=DEFAULT_MARKER)
File "/home/user/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 438, in _get_impl
node = self._get_node(key=key, throw_on_missing_key=True)
File "/home/user/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 470, in _get_node
raise ConfigKeyError(f"Missing key {key}")
omegaconf.errors.ConfigKeyError: Missing key yaml_path

So, how can I resolve this error, and debug my custom class with debug of PyCharm?

File "/home/user/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 351, in __getattr__

It looks like DictConfig.__getattr__ is being called with the key "yaml_path".
This fails because the "yaml_path" key is not present in the config object.
A few questions that might be relevant for debugging:

Do you get the same error if you use a factory pattern instead of using class inheritance?
are you using the OmegaConf PyDev.Debugger plugin to integrate with pycharm? It's source code is here.

File "/home/user/software/python/anaconda/anaconda3/envs/conda-general/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 351, in __getattr__

It looks like DictConfig.__getattr__ is being called with the key "yaml_path". This fails because the "yaml_path" key is not present in the config object.
A few questions that might be relevant for debugging:

Do you get the same error if you use a factory pattern instead of using class inheritance?
are you using the OmegaConf PyDev.Debugger plugin to integrate with pycharm? It's source code is here.

Thanks for the response. I find this error would appear only in the Config constructor function.


Gcc error when init hyprland

I builded hyprland in the 9999 package in gentoo but i get this error when i use Hyprland command to init log

Did it leave a coredump? if so, attach it.

I can't get the coredump because i use gentoo with openrc and a ebuild from wayland-desktop.

No, that just means you have to put in more work.
Try the debug coredump method.
If you can't provide any, I can't narrow down this issue.

I will need some help to debug. I cloned the repo and did sudo make debug inside the dir of Hyprland and get this.
mkdir -p build && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Debug -H./ -B./build -G Ninja
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 12.2.1
-- The CXX compiler identification is GNU 12.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
fatal: detected dubious ownership in repository at '/home/hellboy/Hyprland'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/hellboy/Hyprland
fatal: detected dubious ownership in repository at '/home/hellboy/Hyprland'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/hellboy/Hyprland
fatal: detected dubious ownership in repository at '/home/hellboy/Hyprland'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/hellboy/Hyprland
fatal: detected dubious ownership in repository at '/home/hellboy/Hyprland'
To add an exception for this directory, call:

	git config --global --add safe.directory /home/hellboy/Hyprland
-- Configuring Hyprland in Debug with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Checking for modules 'wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;libdrm;egl;xkbcommon;libinput'
--   Found wayland-server, version 1.21.0
--   Found wayland-client, version 1.21.0
--   Found wayland-cursor, version 1.21.0
--   Found wayland-protocols, version 1.31
--   Found cairo, version 1.17.6
--   Found libdrm, version 2.4.115
--   Found egl, version 1.5
--   Found xkbcommon, version 1.5.0
--   Found libinput, version 1.22.1
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for module 'xcb'
--   Found xcb, version 1.15
-- SYSTEMD support is requested (NO_SYSTEMD not defined) checking deps...
-- Checking for module 'libsystemd'
--   Package 'libsystemd', required by 'virtual:world', not found
-- Looking for systemd/sd-daemon.h
-- Looking for systemd/sd-daemon.h - not found
CMake Warning at CMakeLists.txt:102 (message):
  Systemd support requested but libsystemd or systemd headers were not found

-- Setting link libraries
-- Setting debug flags
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hellboy/Hyprland/build
cmake --build ./build --config Debug --target all -j8
ninja: error: '/home/hellboy/Hyprland/subprojects/wlroots/build/libwlroots.so.12032', needed by 'Hyprland', missing and no known rule to make it
make: *** [Makefile:148: debug] Error 1

Why do I have to redirect everyone to the wiki.
https://wiki.hyprland.org/Getting-Started/Installation/#custom-installation-legacy-renderer-etc
you didn't run make config nor make protocols.

 I tried export ASAN_OPTIONS="log_path=asan.log" in my tty and runned Hyprland but don't appear any asan.log in my dir ~/

asan logs will only be produced in debug

But i builded in debug mode, the config is hyprlandd.conf

That would suggest no asan fault was detected. Either hyprland exit normally, or there is a hyprland crash log saved

hyprland generates this log in /tmp/hypr but when run Hyprland command it runs and not open and i get this  with Hyprland &> log

that should produce a coredump. Paste the stacktrace here or attach the analysis from coredumpctl as instructed in the issue guidelines

What i saíd i can't get the coredump like described here my hyprland is complied in debug mode and i followed theses instructions but asan.log don't appear

No clue, but seems like your system is at fault here. Without a coredump or an asan log I can't do anything.

I know what it means but there are a billion places where that could've happened

@Mederim is this resolved now ??

@fufexan I think we can close this


Existence of the IsInEditMode parameter in the Api input of the TodoTemplate project

The IsInEditMode parameter in the TodoItemDto, is only for the razor page and shouldn't exist in Api input.
(There is an example of this in UserDto)

now YES :)


tinify webpacks

Please describe the changes this PR makes and why it should be merged:
shave off a fair amount of code from webpacks, under 200kb now
Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

This needs a rebase because of the earlier merged PR.


Rd use setup for test when setting capabilities

This should fix the hanging issue I've been seeing occasionally when running the tests in Chrome. It seems there's a race condition that can occur where we're setting the capabilities for the browser too early. This does not happen in when running the tests in Firefox. Upon reviewing browsers.py I discovered we should be setting browser capabilities by overriding the setup_for_test method in the browser daughter classes. After making this change I no longer encountered the hanging issues when running the suite.
Also update to use the newest selenium.
cc @Bassoon08 @rtabor @rleibovitz89 @nicolenglish

LGTM


Posts

Editing posts has been added, along with some other small improvements (mostly performance)

 Edit a post - WL 3

 Edit a post - WL 3


Merge results from all plugins

With multiple plugins selected Genie was returning only result of the last plugin. Now merged result from all plugins will be returned.

I'm not 100% sure about this approach. Maybe you have another idea how to implement this?

We will update you after reviewing the changes.

LGTM

@lukaszo, changes are fine, can u pls rebase once to resolve conflict so that we can merge this PR, thanks

@sushanthakumar that's super cool. In the meantime the patch become bigger but I didn't push it here because I didn't know if you are interested in merging in. I will prepare new version soon.
It's bigger because some CNI plugins return result in wrong way and it requires some fixing before merge with previous result.

@lukaszo , u can update using latest changes and we can have a review

@sushanthakumar I've update PR. I can also add some unit tests if it's required.


Parsing variable names (chars without spaces between)  results in a Multiply element with a list

parse("Pts_{total} =")  // ["Multiply","P","t",["Subscript","s",["Multiply","t","o","t","a","l"]]]

This is how it looks like, it's basically a variable name for total points.

I understand the reason to wrap it in Multiply, yet I'm not sure how to deal with it... Wrapping it in \text{} changes  formatting, keeping it like it is now obscures the AST... If you don't have a suggestion / solution, feel free to close this issue, it seems to be a somewhat fundamental ambiguity in the semantic interpretation of LaTEX.

If you have a finite set, you can define entries in the dictionary:
const customLatex = new LatexSyntax({
          dictionary:
            [...LatexSyntax.getDictionary(),
              {
                name: 'Pts', // MathJSON symbol
                trigger: { symbol: ['P', 't', 's'] } // symbol is an array of Latex tokens
              }
          ]
});

If you have an arbitrary set, you can define a dictionary entry with a custom parse function:
const customLatex = new LatexSyntax({
          dictionary:
            [...LatexSyntax.getDictionary(),
              {
                parse: (lhs: Expression, scanner: Scanner,  minPrec: number) : string => {
                // parsing code goes here...
                }
              }
          ]
});

Interesting, I might try the custom parse function option and see if that helps! Thanks a lot for the quick response!


[WB-3871] Exceptions raised in handlers should not hang the user process

This appears to be the root cause of: https://wandb.atlassian.net/browse/WB-3871.
If the send handlers raise an uncaught exception, it kills the SendManager and no further messages are processed. This results in the user process hanging indefinitely on any synchronous requests to the internal process.
Due to the severity of this issue when hit, it seems preferable to wrap the top level send functions with exception handling, in the event we add new handlers with uncaught exceptions.

I dont think this is the right approach,  SendManager is being used in SenderThread, which is derived from: RecordLoopThread, which is derived from: ExceptionThread.
This is supposed to capture exceptions that happen in these backend threads.

I dont think this is the right approach, SendManager is being used in SenderThread, which is derived from: RecordLoopThread, which is derived from: ExceptionThread.
This is supposed to capture exceptions that happen in these backend threads.

Ah, I missed that. Thanks for pointing that out.
So it looks like while it does capture the exceptions and set __stopped, the entire sender thread just stops (we hit the end of run). This means no new messages get processed, which means all communicate requests just block forever. We also short-circuit the cleanup of _finish().


feat: update kusion project and stack create

What type of PR is this?

/kind feature
What this PR does / why we need it:
This PR updates the implementation of kusion project create and kusion stack create, adding a hint when project and stack successfully created.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation e.g., design docs, usage docs, etc.:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

9 of 11 (81.82%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 54.953%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/cmd/stack/create/options.go
3
5
60.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
8815

Relevant Lines:
16041

💛  - Coveralls


prescan: add number format

For instance: Found 12334 files. should be 12.334 (I guess it's a point in English???)
Maybe the same improvement for the scanner

@Zhykos Hi, I would like to work on this issue. I have already made a pull request to see what I have done. I added a simple method to format the number as you like. By default it is formatted in English (USA) format: 1000 becomes 1,000. However, I added a simple enumeration that you can use to change the format. In addition, there is an url you can use if you want to add other values to the enumeration or if you need a different locale.

Hello @AndreVale69, welcome and thank you so much! 🙂 I'll check your PR 😉

Thank you again @AndreVale69 ! It's merged and will be released on the next 2.2.0 (see the dedicated PR)


hello

Hi, I would like to join in with this project

the project will be made open source in a months time
for now it is private and only for members of knx.


Indistinguishable colors in inline diff

Colors in the inline diff have become indistinguishable. Both the added and removed line colors is gray with same-colored cyan borders. See screenshot.
I've removed the color settings from my user settings (GitSavvy.sublime-settings) and removed all the .tmLanguage.cache and .tmTheme.cache files recursively in the Packages folder. The latter in a wild attempt to fix this on my own...
http://cl.ly/image/2e0S2e3F3r0V
(Edit: add the screenshot)

How did this come about?  This may be trivially solvable by deleting the tmTheme files in Packages/User/GitSavvy.  These themes are calculated per-file and then cached.

I can't really remember what happened around the time when this started appearing. Unfortunately I have experienced this for some time but haven't reported it, thinking it was something I'd messed up myself (it still might be though).
Isn't it supposed to say something about GitSavvy in the bottom right where the current syntax is shown?
For me it says SCSS (or whatever syntax matches the file)
http://cl.ly/image/0s0R0W0n410A

Sorry, forgot to report back on your solution. I tried removing the tmTheme files. But it didn't work. A new file for the scss file type was created though.

It won't say anything about GitSavvy in the bottom right (although that's not a bad idea...).  It'll just use the same string that was in the original syntax definition.
Can you confirm which version of GitSavvy and Sublime you're using?  This seems very strange to me, and I'm trying to rack my brain for possible causes.  Can you also look for any errors in the console when you initially load an inline-diff view?
One additional thing you try is:

install ScopeHunter
open an inline-diff view
place the cursor within one of the gray blocks of code
copy the string that it reports, and paste that back here
open the tmTheme file associated with the file you're diffing
find the entry for the scope that you recorded above, and copy/paste that here as well

If everything matches up, i.e. the scope is set correctly and there is an entry in the theme file with the correct color, then this may be a bug with Sublime itself.

GitSavvy is pulled directly from master and Sublime is in the Stable Channel, build 3083.
ScopeHunter, while cursor is standing on "size" in the screenshot below:
Scope:                         source.scss
                               meta.property-list.scss
                               meta.property-name.scss
                               support.type.property-name.scss
------

I'm a little unsure what you mean by checking the tmTheme file. If you mean checking GitSavvy.active-diff-view.scss.tmTheme (while in a scss file) I cant find any of the definitions listed above by seraching though the file.
http://cl.ly/image/211N2A2b0Q0F

Can you upload GitSavvy.active-diff-view.scss.tmTheme somewhere I can take a look?  I steered you wrong with ScopeHunter - it doesn't show dynamically added scopes after all (vs ones determined by the syntax).

Absolutely!
Here you go: http://pastebin.com/FW64RMW2

Just commenting that the same thing happened to me a few days ago. Tried the following

Reinstall GitSavvy (no difference)
Remove .tmTheme files (no difference)
Also remove .thTheme files (very minor difference, I could now see that the inline diffs with only a few words changed had a 'border' around those words too, kinda showing the exact difference in a line)

My version is a tiny bit different from the screenshot in the first comment, but I'm guessing that's due to a different theme (the 'grey' in my case is lighter, closer to white).
I can check on the other computer later when I get home, the whole thing is synced over Dropbox so I'm guessing it's the same but can double check.
Versions and OS:

Arch Linux
Sublime Text 3 (build 3083) - package https://aur.archlinux.org/packages/sublime-text-dev/ from the AUR
GitSavvy v2.3.0 (installed via package manager)

This is super strange, and possibly a Sublime bug.
The regions are obviously being added - otherwise the gray/white blocks wouldn't be appearing at all.  If added, they will have the correct scope, because that value is hard-coded.  The values from sublime.load_settings("GitSavvy.sublime-settings").get("colors") have been added correctly to the tmTheme file you uploaded, so that's not the problem.  So as long as they have the correct scope and it is themed with the active tmTheme file, it should appear with the correct coloration.
Alright, two more things you can try for me.

Open an inline diff view, and type view.settings().get("color_scheme") into the console.  It should list one of the generated themes; for JavaScript it should show 'Packages/User/GitSavvy/GitSavvy.active-diff-view.js.tmTheme'.  If it doesn't paste what you see here.
Open a new file.  Copy the content of this GitHub comment (or just random text) into the view.  Then, in the console, enter view.add_regions("test-region", [sublime.Region(0, 10)], "keyword.control.flow");.  If you're using Monokai theme, the background and foreground of the first ten characters should change to something colored.

Result of 1) 'Packages/User/Color Highlighter/themes/Afterglow.tmTheme'
This led me to try the following:

Disable Color Highlighter
Close Sublime Text
Delete Packages/User/GitSavvy/*.tmTheme
Start Sublime Text
Inline diff works!

It seems Color Highlighter takes precedence when it comes to overriding the color themes.

Maybe GitSavvy gets a hold of the tmTheme file after Color Highlighter has already modified it?

That's good news!  From the behavior it sounds like Color Highlighter is hijacking the theme just like GitSavvy does.  To be honest, I'm not sure if there's a deterministic way to guarantee that GitSavvy sets the theme after Color Highlighter does.
Plugin interactions are hard to know what to do with.  Do you know if Color Highlighter can be configured to ignore a particular type of view - for example, if a property is defined on the view's settings?

I can confirm that it is an issue with "Color Highlighter". All I did was to disable it and reload ran GitSavvy: relaod submodules and reopen the inline diff. I am really happy you all the solution/issue :)
I think we should report this a issue to "Color Highlighter", since this have been like this for top 2 weeks.

It's a pity Sublime doesn't expose an API to dynamically augment the active color scheme.  I'm going to close this ticket for now, but feel free to re-open if something actionable turns up from your investigations with Color Highlighter.

You're right @stoivo, the past two weeks sounds about right.
Well the solution is simple otherwise, remove Color Highlighter. That plugin isn't nearly as useful as GitSavvy :)
Thanks for troubleshooting with me, and a special thanks to @divmain for developing GitSavvy. I'm heading over to Color Highlighters issue page.


README.md correction - Shadows render correctly in IB

In your README.md, you said that shadows didn't render correctly in IB and that it might be an IB bug.
I am using Xcode 7.3 beta and shadows are rendering just fine. Just thought I'd let you know.

I have tried this morning, and it still can't render correctly in IB. I will check it again once Apple release Xcode 7.3 GM and update README.md if it has been fixed. Thanks.


Docker Pull Failing - unknown blob

It seems something is not working with the dockerhub registry. This happens when I pull:
% docker pull geerlingguy/docker-debian9-ansible
Using default tag: latest
latest: Pulling from geerlingguy/docker-debian9-ansible
4f250268ed6a: Already exists
4a665d6b5506: Pulling fs layer
6d752cc2d6b3: Pulling fs layer
19ae5145211a: Pulling fs layer
de8b4079cca0: Waiting
16f0eb458230: Waiting
3b399e5ae8a5: Waiting
d22866fc0436: Waiting
error pulling image configuration: unknown blob

Any ideas? Luckily its simple to build the image locally, but unfortunately my molecule scenarios try to pull each time and are now failing.

Yeah, this is really weird, and I'm seeing failures across the board now too :)
I'll re-build on docker hub and see if that fixes it.

@domenicbove - Looks like it's working now. Sorry about Docker Hub's strange behavior :P

Working fine now, thanks for the quick turn around!


Getting compile error when running admin-watch

PHP Version
7.4
Shopware Version
trunk
Actual behaviour
ERROR in /var/www/html/custom/plugins/FroshTools/src/Resources/app/administration/src/module/frosh-tools/component/frosh-tools-tab-files/index.js
Module not found: Error: Can't resolve 'diff-match-patch' in '/var/www/html/custom/plugins/FroshTools/src/Resources/app/administration/src/module/frosh-tools/component/frosh-tools-tab-files'

Expected behaviour
Compile successfully
Steps to Reproduce?
Run administration watch command.

run npm install inside the folder where the package.json is

@shyim is there a longterm solution for this?
afaik jq is used to find the packages.json files and install in the vendor folders, no? The manual task is a little cumbersome.
Maybe there is something on the way already in 6.5 ?

When jq is installed on the prod templateit should just work

I think this is not mentioned in the requirement anywhere
https://github.com/shopware/production#requirements
I thought maybe there is a better way of solving that by a onboard package in major unix systems.
Anyhow, pipeline ran now :laughing:

feel free to contribute. Needs to work with bash + npm and basic unix tools 😅


ItemBuilder should also get the index of the item

This seems useful for numbering the entries in the list, for example.
Fixes #328

LGTM.
A lot of the examples were using ints already. Is there something we can do to make them better now?

We can have the list be all nulls and use the index instead.


trait: Add unit tests for route trait

Release Note
NONE

This is closed in favor of https://github.com/apache/camel-k/pull/2577


Add create user button to user admin view

@stevenabadie This is done in my branch. I'll make a pr.


Add missing dependency: react-addons-css-transition-group

     "react": "^0.14.7",
+    "react-addons-css-transition-group": "^0.14.7",
     "react-dom": "^0.14.7",

Good catch.
CSS Transition doesn't work yet actually. Don't know why, though :)


Scheduler job won't deploy from an ARM template when using the listAccountSas function

I am trying to create a storage queue scheduler job using the new listAccountSas ARM template function to create a SAS token for a storage account. The template I'm deploying is available here.
However, when I deploy this, it fails with this error:
Deployment failed. Correlation ID: a091e077-8814-492b-b3fa-636daaee2dd8. {
  "error": {
    "code": "BadRequest",
    "message": "StorageQueue Action is missing the SAS token. This is required information."
  }
}

If I generate a SAS token myself using the exact same policies and format, and then put it into the template on line 90 instead of using the listAccountSas function, the template deploys successfully.
Any ideas on how I can deploy this template?

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

ID: 3cf735c7-4780-bce1-2422-33a1f5189fa5
Version Independent ID: 9578d88a-dc82-12e3-e7e2-1020c850644b
Content: Get started with Azure Scheduler in Azure portal
Content Source: articles/scheduler/scheduler-get-started-portal.md
Service: scheduler
GitHub Login: @derek1ee
Microsoft Alias: deli

@johndowns Thank you for your feedback! We will investigate and get back to you with our findings.

@Adam-Smith-MSFT any idea on this?

@johndowns still investigating but one quick note...
Apologies if I missed this in your template but noticed it doesnt inlcude an object definition as stated in the sample template referenced below. An object needs to be passed to the listAccountSas function in order to retrieve the SAS token.
Can you try updating the " Variables" & "sasToken" sections of your template as highlighted below and see if that resolves your issue?

Thanks for the update @Johndowns. Adding the content owner to see if he can shed some light on this issue. @derek1ee  - any insights?

Having the same problem as @gesch80550. Has this been resolved?


Issues while enabling SSH in WSL2

I have been using Ubuntu 20.04 on WSL2. I have successfully installed SSH in it, but while trying to connect with my IP Address, it shows the error "ssh: connect to host  port 22: connection refused". I have already tested the same installation procedure in Ubuntu 20.04 and it worked great. What is wrong with WSL or WSL2?

Firewall?

Please fill out the issue template.


Update package.json

updated knex and pg to work with node 14

As I wrote here https://github.com/nestjsplus/knex/pull/14#issuecomment-864990110


Handle LDAP Connection Exceptions

Catch LDAP Connection Exception during startup and display them in the UI.

Coverage increased (+0.4%) to 94.34% when pulling 05e36956163d48df70807ec5e0c88f2e4edd6af8 on handle-ldap-connection-errors into e97846272f73d362bb35ed1991264ef1504a5ab7 on develop.


  It is not; it is for KSP 1.3.

Thanks for sorting that out, @ferram4! Merged


refactor(behavior_path_planner): renaming and comment collision check debug

Description

🤖 Generated by Copilot at 2335c67
This pull request improves the debug information and messages for the lane change module of the behavior path planner. It modifies the CollisionCheckDebug struct and the functions that use it in utils.hpp, safety_check.cpp, and debug.cpp to use more descriptive and consistent names and fields. It also updates the interface.cpp and normal.cpp files to use the modified struct and provide more informative and consistent debug messages.
Tests performed
Compile autoware
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[X] I've confirmed the contribution guidelines.
[X] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kyoichi-sugahara
Thank you. Sure, I will move the functions via another PR.


Lookahead not working in Regex?

It seems (negative) lookahead isn't working in RegEx:
[root@myMachine]# multitail -E '^(?!.*AUTH).*$' access_log_.txt
 --*- multitail 6.5.0 (C) 2003-2019 by<EMAIL_ADDRESS>-*--

The following problem occured:
-----------------------------
Failed to compile regular expression '^(?!.*AUTH).*$'.
Reason: MultiTail warning: regular expression failed, reason: Invalid preceding regular expression

MultiTail uses "POSIX Extended Regular Expression syntax", is that the
problem?
On Mon, Oct 31, 2022 at 5:08 PM BenjaminDaSilva @.***>
wrote:

It seems (negative) lookahead isn't working in RegEx:
@.# multitail -E '^(?!.AUTH).$' access_log_.txt
--- multitail 6.5.0 (C) 2003-2019 by @.* -*--
The following problem occured:
Failed to compile regular expression '^(?!.AUTH).$'.
Reason: MultiTail warning: regular expression failed, reason: Invalid preceding regular expression
—
Reply to this email directly, view it on GitHub
https://github.com/folkertvanheusden/multitail/issues/9, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUN5IW36VPFIZFMRV252G53WF7VJPANCNFSM6AAAAAARTHNO3E
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Well, I guess that's the issue then ...
"POSIX extended regular expressions do not support negative lookahead assertions."
I'll try to find a work around ....


Transmission depth and subsurface radius don't have suggested bounds

The valid range given for transmission_depth and subsurface_radius is $[0, \infty)$, which is impractical for UI. Is there a soft range we could suggest?

Thanks for this recommendation, @virtualzavie, as well as for the fix in #114.  I'll go ahead and mark this as resolved.


ambex: failing to load envoy.json can result in "empty" snapshot being pushed to Envoy

Describe the bug
If ambex fails to load any Envoy config files, the file in question is completely ignored BUT the new snapshot update continue. This cause ambex to save and push a new snapshot without the correct configuration. See https://github.com/emissary-ingress/emissary/blob/v3.5.2/pkg/ambex/main.go#L405-L409
For example, when envoy/envoy.json is skipped due to a loading error, this cause Envoy to be reconfigured with none of our Listeners/Mappings/etc. Listener then go in drain mode, requests are failing with various response flags (NC, UAEX, UH).
To Reproduce
Haven't reproduced locally (yet), but I would expect the following to work:

Run ambex locally
Add a valid config file in the directory being watched
Validate that Ambex has pushed a snapshot and Envoy has loaded the config
Mutate the file to make it invalid
Validate that ambex failed to load the file, but still pushed a snapshot
Validate that Envoy loaded config is wrong (missing the configuration from files)

Expected behavior
ambex should handle the error properly and not continue the snapshot generating if it failed to load any of the given input files.
Versions (please complete the following information):

Emissary-Ingress: v3.5.2
GKE 1.25.8-gke.1000

Additional context
Logs showing the issue:
2023-06-05 22:42:29 diagd 3.5.2 [P31TAEW] INFO: EnvoyConfig: Generating V3
2023-06-05 22:42:34 diagd 3.5.2 [P31TAEW] INFO: V3Listener <V3Listener HTTP https-listener on <IP_ADDRESS>:443 [XFP]>: generated ===========================
2023-06-05 22:42:35 diagd 3.5.2 [P31TAEW] INFO: V3Ready: ==== listen on <IP_ADDRESS>:8006
time="2023-06-05 22:42:50.8810" level=warning msg="/ambassador/envoy/envoy.json: proto: unexpected EOF" func=github.com/emissary-ingress/emissary/v3/pkg/ambex.update file="/go/pkg/ambex/main.go:407" CMD=entrypoint PID=1 THREAD=/ambex/main-loop
time="2023-06-05 22:42:50.8814" level=info msg="Saved snapshot v1165" func=github.com/emissary-ingress/emissary/v3/pkg/ambex.csDump file="/go/pkg/ambex/main.go:350" CMD=entrypoint PID=1 THREAD=/ambex/main-loop
time="2023-06-05 22:42:51.0230" level=info msg="Pushing snapshot v1165" func=github.com/emissary-ingress/emissary/v3/pkg/ambex.updaterWithTicker file="/go/pkg/ambex/ratelimit.go:159" CMD=entrypoint PID=1 THREAD=/ambex/updater

Note: we run with envoy_validation_timeout=0 (disabled) because with the size of our config (328.0MB), the validation uses too much memory and is too slow. In that particular error case proto: unexpected EOF, it is possible that envoy/envoy.json was corrupted and that having the validation enabled would have catch this before it reach ambex. But the Decode() function has a lot of other case where it could fail, like failing to read the file, which would end up in the same situation.
You can also see that since ambex didn't return an error, diagd think we successfully reconfigured Envoy with all the expected config (S13379 L1 G9199 C8503)
2023-06-05 22:42:59 diagd 3.5.2 [P31TAEW] INFO: configuration updated (incremental) from snapshot snapshot (S13379 L1 G9199 C8503)

If we return the err instead of continuing, it cause the ambex/main-loop goroutine to exit, but the other goroutine never exit. Causing the entrypoint to continue happily, without ever updating the configuration again. Need to open another bug for that one.

If we return the nil instead of continuing, this will work as I expect. The snapshot generation is stopped and Envoy keeps the valid running config. Next time diagd generate a new config, ambex will try again

However, if EndpointResolver is used and some pods targeted by a mappign/service are created/deleted, ambex will fail to generate a new snapshot until the next diagd generated config. This isn't great. I'm actually surprise that ambex reads the config and do all this work. Couldn't it just update the endpoint from the previous snapshot that is already in-memory instead?

Thanks for reporting, @dethi .  If you are able to reproduce it please do let us know.  We suspect this is a one-off error but we'll monitor for another reports of this, and agree better error handling is needed.

Yes I can reproduce this quite easily when manually corrupting the file. But you are probably not interested by that.
I think I found the actual root cause of the issue: the way diagd replaces envoy/envoy.json is not atomic/consistent. With a large config like ours (320MB), it takes a few seconds for diagd to write the config:
$ ./write-speed-test.py
Took 1.46s to write the config to disk

write-speed-test.py
#!/usr/bin/env python3
import json
from contextlib import contextmanager
from timeit import default_timer

import orjson

def dump_json(obj, pretty=False) -> str:
    # There's a nicer way to do this in python, I'm sure.
    if pretty:
        return bytes.decode(
            orjson.dumps(
                obj,
                option=orjson.OPT_NON_STR_KEYS
                | orjson.OPT_SORT_KEYS
                | orjson.OPT_INDENT_2,
            )
        )
    else:
        return bytes.decode(orjson.dumps(obj, option=orjson.OPT_NON_STR_KEYS))

@contextmanager
def elapsed_timer():
    start = default_timer()
    elapser = lambda: default_timer() - start
    yield lambda: elapser()
    end = default_timer()
    elapser = lambda: end - start

def test():
    with open("prod-envoy.json", "r") as f:
        config = json.load(f)

    with elapsed_timer() as elapsed:
        with open("/tmp/envoy.json", "w") as output:
            output.write(dump_json(config, pretty=True))

    print(f"Took {elapsed():.2f}s to write the config to disk")

if __name__ == "__main__":
    test()

Note: this test is on my laptop with a NVMe drive, on GKE with network attached drive it may be slower (I didn't check if the speed was limited by the JSON dump generation or the disk speed)
If during that time ambex tries to read the config file, it will fail (because the file on disk is only partially written) and will thus generate an "empty" snapshot (as described in my original report above).
I think that this scenario can happen when ambex trigger an update because of the k8s/consul watcher. From what I understand of the code, there is some kind of in-memory snapshot that is kept for the fast update of endpoints, but I don't think this in-memory snapshots contains the full configuration (this is where I'm a little bit confused and would appreciate some explanation 🙏🏻). Thus if it can't load envoy/envoy.json during a fast update, it will generate and push an incomplete snapshot.

I need to cleanup my branch tomorrow, but this would be the fixes proposed:
https://github.com/emissary-ingress/emissary/compare/master...aristanetworks:emissary:ambex-data-race-fix

If we return the err instead of continuing, it cause the ambex/main-loop goroutine to exit, but the other goroutine never exit. Causing the entrypoint to continue happily, without ever updating the configuration again. Need to open another bug for that one.

I'm surprised at this behavior, I would have expected the pod to restart. Did you observe this?
The reason being is that the goroutines are kicked off with the dgroup which is set to block on the main entrypoint until all go-routines have completed or an error occurs.
started here: https://github.com/emissary-ingress/emissary/blob/c28d9fa4fc51774ae7e268af8b72e95be8fe484b/cmd/entrypoint/entrypoint.go#LL170C1-L170C1
Waiting here: https://github.com/emissary-ingress/emissary/blob/c28d9fa4fc51774ae7e268af8b72e95be8fe484b/cmd/entrypoint/entrypoint.go#L216

However, if EndpointResolver is used and some pods targeted by a mapping/service are created/deleted, ambex will fail to generate a new snapshot until diagd generated a full new config. This isn't great. I'm actually surprise that ambex reads the config and do all this work. Couldn't it just update the endpoint from the previous snapshot that is already in-memory instead?

I would agree, I think there is an optimization opportunity here, it would just take some effort/refactoring to make sure its implemented properly and doesn't introduce regression/breaking changes.

I think that this scenario can happen when ambex trigger an update because of the k8s/consul watcher. From what I understand of the code, there is some kind of in-memory snapshot that is kept for the fast update of endpoints, but I don't think this in-memory snapshots contains the full configuration (this is where I'm a little bit confused and would appreciate some explanation 🙏🏻). Thus if it can't load envoy/envoy.json during a fast update, it will generate and push an incomplete snapshot.

Yes, you are correct. The Golang layer takes care of watching resources and xDS (ambex) while diagd is in the python layer has the main task of generating the most of the envoy configuration. It hasn't been refactored into the Golang layer which is partially the reason for the syncing via files (I believe historically it was also done for debug-ability but I could be mistaken on this).
The fastpath snapshot which can be triggered by EndpointResolver and ConsulResolver to avoid needing to do a full diagd reconfigure thus bypassing the python layer. This in-memory snapshot is minimal and is just the endpoints needed to leverage EDS so the connection pools are not drained. The reason the full snapshot is needed is because we use Aggregated xDS (“ADS”) which sends it over every time. Now I'm not so certain that statement is fully true and would need to experiment but I think there is a potential optimization where instead of loading the envoy.json file in this use case, the existing xDS snapshot could be enriched. I think its doable but working with the snapshot is not always the most fun but you could take a look here: https://github.com/envoyproxy/go-control-plane/blob/main/docs/cache.md#snapshots
Hope this helps!


[material-ui][Breadcrumbs] Document CondensedWithMenu option for Material UI Breadcrumb

Closes #42597

[x] I have followed (at least) the PR section of the contributing guide.

@ZeeshanTamboli After reviewing the PR I realized I didn't understand the original ask. There are no code changes needed to implement original issue ask. Instead they can use the example in this PR.


Alignment issues with InsertInstructionPatch

As I've been writing some test cases for InsertInstructionPatch when language="C", I've come across segmentation faults that occur when data sections are not aligned properly. As an example, take a look at the following program in Ghidra:

The highlighted instruction is accessing a chunk of readable data, and the argument needs to be 16 byte aligned. Running this program results in a segfault due to misalignment. Other instructions in this micropatch seem to have a similar problem.
Here is the error in gef:

There seems to be a chicken and egg problem with the patch, where you don't know the true size of the patch until you know its insertion address, but to get the address of the patch you need the size. Right now I believe we first get the size by assuming the compiled function starts at address 0. Could this be related to the alignment bug?
Although this problem cropped up with the InsertIntructionPatch, I assume this issue also crops up in InsertFunctionPatch.
I have attached the binaries (before and after patch) and the Python script needed to reproduce the issue (you need to run the Python script on the draperlaboratory fork). I have also attached the log of running the Python script, which prints out what the MICROPATCH function is:
iip_c_alignment_bug.zip

Thank you for providing the binaries that demonstrated the issue! I've fixed it in commit https://github.com/purseclab/Patcherex2/commit/6bc4e580fe7b085dd35d464455d88a62a334e0a8.Now the alignment should be handled properly. You will just need to apply the same change in the Draper fork.
Please let me know if you have any questions regarding this.

Great! This fixed the alignment issue - the problem went away as soon as I merged in your change without any further work.
There does still seem to be size differences depending on what you set the base relocation address to. I will open a separate issue for that after I spend some time further analyzing the problem.


AuthZ: Support CAP tokens

Closing for now, we will probably do that in the future multi-tenant client


[@azure/monitor-query] Releasing new beta version 1.2.0-beta.3 November 2023

Packages impacted by this PR
@azure/monitor-query
Issues associated with this PR
NA
Describe the problem that is addressed by this PR
There is no specific problem to be addressed by this PR. The service team has done some changes to their service and provided us with a swagger update. We are regenerating the SDK based on the new PRs. These changes do not cause any breaking changes or even any API changes. All changes are happening only in the generated code and the custom code is handling them internally and not exposing any changes to the customers.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
No special design considerations are required in creating this PR. This only requires regeneration and modifying the custom code to handle the changes in the generated layer.
Are there test cases added in this PR? (If not, why?)
No. Since there are no changes exposed, the existing test cases are sufficient to handle the changes.
Provide a list of related PRs (if any)

https://github.com/Azure/azure-sdk-for-java/pull/37687 (Corresponding Java SDK changes)
https://github.com/Azure/azure-sdk-for-python/pull/32589 (Corresponding Python SDK changes)

Command used to generate this PR:**(Applicable only to SDK release request PRs)
autorest --typescript swagger\logquery.md
autorest --typescript swagger\metric-Batch.md
autorest --typescript swagger\metric-definitions.md
autorest --typescript swagger\metric-namespaces.md
autorest --typescript swagger\metrics.md

Checklists

[X] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


feat: improve TEST-PROD workflow triggers and/or conditionals

It's possible to push a tag to TEST manually, then close a PR, causing that PR to go out anway.  Investigate and prevent.

There doesn't seem to be a way to prevent this other than limit access to our repos.