Bisecting on Summit

I am bisecting through the commits to figure out when legion stopped working reliably on Summit. The first good commit is the parent tha originates from control_replication of realm/fbpack_cr_ipc. So far I have found 1c04fd08f86be2c08fd01a960a2c3e658a642e88 to be a first bad commit with 5b8870329da02f1fe6471786ea361f46d8223d2f being good. The bad commit's mode of failure was either a hang or some obscure error. Empirically trying to understand the backtraces, I think this has to do with futures. An example backtrace of an error that LEGION_FREEZE_ON_ERROR=1 caught is this one:
gdb.txt
I am suspecting this not to be the root cause of issues I see with the most recent control_replication since it has a different mode of failure. My hypothesis is that git bisect put me first on a commit behind a fix to the above error.

These changes are from very long ago. The nature of the first bad commit you and the backtrace suggest an issue with the interaction between Realm and GASNet. I know that many such fixes have been put into Realm since last September. Are we sure they haven't been fixed by later commits? Are you working with Sean to resolve this or are you looking for more general help?

@streichler is helping a lot in general. I started this binary search myself because there is a definitive issue on Summit. I am not the only one seeing it. Since I might need recent or new changes to the runtime, I didn't want to postpone figuring out the current issue too much. I am looking for general guidance. What you said seems to confirm my hypothesis, i.e. the (most recent and first) bad commit I identified happened to have a different issue that might be already fixed. But if the current issue was introduced before that fix, then binary searching becomes more difficult since I am not aware of all the issues and fixes and I would need to start cherry-pick commits here and there at each step of the bisection.

Good idea, i'll try

I used another workaround suggested by Sean. I used -gex:rmaput 0. This is now the newly identified commits:
git bisect good 42b768e1 (commit on which realm/fbpack_cr_ipc is based)
git bisect bad 63721caa (most recent CR)
731c514db7256e0bc03dad6264d4f7de18b3a2aa good
38d9923729ee1121a0034f2a9eb17bd1dc8deef0 bad
solver: /ccs/home/bandok/Softwares/legion/runtime/realm/gasnetex/gasnetex_internal.cc:1668: void Realm::XmitSrcDestPair::push_packets(bool, Realm::TimeLimit): Assertion `ncomps > 0' failed.
solver: /ccs/home/bandok/Softwares/legion/runtime/realm/gasnetex/gasnetex_internal.cc:733: bool Realm::PendingCompletion::invoke_remote_completions(): Assertion `prev_count > 0' failed.

b84b060086443d7c1bcb6ec157f811424eecd556 bad
[4 - 200036f9f890]    1.538350 {5}{runtime}: [error 576] LEGION ERROR: Failed to allocate eager future buffer for task store_elem_volume_task (UID 664) because Visible to all processors on a node memory 1e00040000000001 is full. This is an eager allocation so you must adjust the percentage of this mememory dedicated for eager allocations with '-lg:eager_alloc_percentage' flag on the command line. (from file /ccs/home/bandok/Softwares/legion/runtime/legion/runtime.cc:10461)

9ef17bc67f20546b63e0c5e15083548476cb321c good
44e5ba69b8c6339fa18582325e57e8a0d6e3059a bad
*** Caught a fatal signal (proc 0): SIGSEGV(11)
e67a940283e9084fd7bd84953ac8f295174cfafc bad
ERROR:  One or more process (first noticed rank 0) terminated with signal 11 (core dumped)

45d99995f11633260fc48e43a02c8359c28730f9 good
e67a940283e9084fd7bd84953ac8f295174cfafc (first bad commit)

Let me know if I need to fecth a backtrace for e67a940.

The backtrace from e67a940283e9084fd7bd84953ac8f295174cfafc
gdb.txt

@bandokihiro I assume this was a SEGV?
@lightsighter here's the line where it's happening: https://github.com/StanfordLegion/legion/blob/e67a940283e9084fd7bd84953ac8f295174cfafc/runtime/legion/region_tree.cc#L10036

I can't say for certain but I'm pretty sure I fixed a bug like that several months ago. Without a reproducer it's going to be impossible to fix.

a) failed
gdb.txt

This just reeks of memory corruption. Errors are all over the place.

Are any of the errors reproducible?

It reliably fails, I don't know if it is always for the same reason.

I mean does it fail with the same backtrace or the same few backtraces in the same place everytime on the same commit? I haven't seen a repeated backtrace yet.

Probably not, I have seen all sort of failure modes. But the first bad commit always fails so far so I can generate a few backtraces with the same binaries if it helps.

Also, ignore the first backtrace. This hang has been solved recently and I can bypass that with the gex flag.

To summarize

backtrace from e67a940283e9084fd7bd84953ac8f295174cfafc
backtrace from 45d99995f11633260fc48e43a02c8359c28730f9 with realm changes
backtrace from 45d99995f11633260fc48e43a02c8359c28730f9 with legion changes

gdb.txt
gdb_a.txt
gdb_b.txt

And which of those are repeatable?

I have only run once each for now.

45d99995f11633260fc48e43a02c8359c28730f9 with realm changes from e67a940283e9084fd7bd84953ac8f295174cfafc (a) and fa7834d8 did not fail.
45d99995f11633260fc48e43a02c8359c28730f9 with legion changes from e67a940283e9084fd7bd84953ac8f295174cfafc (b) failed with the same backtrace so it is reproducible.

(d) e67a940283e9084fd7bd84953ac8f295174cfafc with fa7834d8 failed like (b)

Ok, I remember the Legion bug. There's an issue with reference counting. In January, I overhauled the reference counting scheme for index space expressions including index spaces to keep them alive correctly in all circumstances, including those like this where a disjointness test lags the deletion of an index space. There's not going to be a way to back-port those changes as they were super-invasive all throughout the runtime.

So what is the strategy moving forward? Can you point me to the first commit that fixed all these issues?

You'll at least need the commits in these merge requests:
https://gitlab.com/StanfordLegion/legion/-/merge_requests/419
https://gitlab.com/StanfordLegion/legion/-/merge_requests/420

I think that's all of them, but I might be wrong.

Thanks to @streichler, this seems fixed. I am running in a while true loop my case several times just to be extra safe. The fix will be merged very soon into master. I'll leave this open for the rest of the week if someone wants to add something. But so far, it looks resolved.

hanged after 15 runs on summit so I guess this is not quite over yet

It seems that there is another bug that @streichler already fixed related to the use of more than 1 utility processor on Summit. The fixes are not merged yet. I'll let him comment as to when this will happen. So far 30 runs succeeded.

Running a bigger case, the most recent CR + additional realm fixes fail with the following backtraces
gdb0.txt
gdb1.txt

Both ranks have a thread doing this:
#4  0x0000000010abef88 in Legion::Internal::Runtime::find_messenger (this=0x1ede0010, sid=4294967295) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:20917
#5  0x0000000010ad3d70 in Legion::Internal::Runtime::send_equivalence_set_replication_update (this=<optimized out>, target=<optimized out>, rez=...) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:22620
#6  0x00000000110eedbc in Legion::Internal::EquivalenceSet::broadcast_replicated_state_updates (this=0x20222c492940, mask=..., mapping=0x0, origin=<optimized out>, applied_events=..., need_lock=<optimized out>, perform_updates=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/legion_analysis.cc:11788
#7  0x00000000110ef030 in Legion::Internal::EquivalenceSet::broadcast_replicated_state_updates (this=0x20222c492940, mask=..., mapping=0x0, origin=<optimized out>, applied_events=..., need_lock=<optimized out>, perform_updates=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/legion_analysis.cc:11756
#8  0x00000000110ef4e4 in Legion::Internal::EquivalenceSet::handle_replication_update (derez=..., runtime=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/legion_analysis.cc:16705
#9  0x0000000010a52524 in Legion::Internal::Runtime::handle_equivalence_set_replication_update (this=<optimized out>, derez=...) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:24583
#10 0x0000000010b24b84 in Legion::Internal::VirtualChannel::handle_messages (this=0x2022000291d0, num_messages=<optimized out>, runtime=0x1ede0010, remote_address_space=<optimized out>, args=<optimized out>, arglen=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:12715
#11 0x0000000010b2545c in Legion::Internal::VirtualChannel::process_message (this=0x2022000291d0, args=<optimized out>, arglen=120, runtime=0x1ede0010, remote_address_space=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:11770
#12 0x0000000010b25848 in Legion::Internal::MessageManager::receive_message (this=<optimized out>, args=<error reading variable: value has been optimized out>, arglen=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:13203
#13 0x0000000010b258ac in Legion::Internal::Runtime::process_message_task (this=<optimized out>, args=0x200cb812e31c, arglen=<optimized out>) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:25628
#14 0x0000000010b25b80 in Legion::Internal::Runtime::legion_runtime_task (args=0x200cb812e310, arglen=136, userdata=<optimized out>, userlen=<optimized out>, p=...) at /gpfs/alpine/scratch/bandok/csc335/Softwares/legion/runtime/legion/runtime.cc:31140

@lightsighter thoughts?

This code is also already been deleted in the collective instances branch, so has the same lifetime as the other issue: no more than a few weeks at most. If you want me to look at it I need a reproducer and even then I can't promise I'm going to take the time to fix it.

fcced203e was found to be healthy in the sense that I have been able to run strong scaling tests on Summit from 1 to 32 nodes without issues. I will likely scale up in the near future and see if my application triggers any bug.


[New Port Request]

Library name:
frei0r
Library description:
Frei0r is a minimalistic plugin API for video effects.
Source repository URL:
https://github.com/dyne/frei0r.git
Project homepage (if different from the source repository):
Anything else that is useful to know when adding (such as optional features the library may have that should be included):
Develop video editor in VS2019

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.

Hi there! I'm the upstream maintainer of frei0r and would like to add the port myself, I just managed to include MSVC builds in our CI and I'm confident it will be easy. Is there something I should absolutely know and read besides the guidelines and sign the CLA? thanks!


[BUG][Spark] DeltaTable.forName method fails to parse fully qualified table name with catalog in Python API

Bug
Which Delta project/connector is this regarding?

[X] Spark
[ ] Standalone
[ ] Flink
[ ] Kernel
[ ] Other (fill in here)

Describe the problem
The DeltaTable.forName method from the delta Python package fails to parse and retrieve a Delta table created with a fully qualified three-level namespace (catalog.schema.table). This results in a syntax error, despite the table being accessible via Spark SQL.
Steps to reproduce

Install OpenJDK 17 and PySparksudo apt update && sudo apt install openjdk-17-jdk -y && pip install pyspark==3.5.1 delta-spark==3.2.0

Initializate a PySpark Shell using Delta:pyspark --packages io.delta:delta-spark_2.12:3.2.0 --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" --conf
"spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog"

Create a new Delta table using Spark SQL with full 3 level namespace specification:spark.sql("CREATE TABLE spark_catalog.default.delta_table (id INT NOT NULL, name STRING) USING DELTA")

Now import DeltaTable from delta Python package and try to retrive the newly created table:from delta import DeltaTable
dt = DeltaTable.forName(spark, "spark_catalog.default.delta_table")

Observed results
You will get a Syntax error, with the following traceback:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/tmp/spark-1ee53fda-4e6c-4a2a-b8d7-5ed7821ba08a/userFiles-9a4e32cc-8679-43f1-9237-cdea4e229ced/io.delta_delta-spark_2.12-3.2.0.jar/delta/tables.py", line 419, in forName
  File "/usr/local/lib/python3.11/site-packages/pyspark/python/lib/py4j-<IP_ADDRESS>-src.zip/py4j/java_gateway.py", line 1322, in __call__
  File "/usr/local/lib/python3.11/site-packages/pyspark/errors/exceptions/captured.py", line 185, in deco
  raise converted from None
pyspark.errors.exceptions.captured.ParseException:
[PARSE_SYNTAX_ERROR] Syntax error at or near '.'.(line 1, pos 21)

== SQL ==
spark_catalog.default.delta_table
---------------------^^^

Expected results

Further details
I should get the same result as using the 2-level syntax (without specifying the catalog). Using Spark SQL I can also access the Delta table correctly. The problem seems to be specific to the Python package API.
Environment information

Python version: 3.11.9
Delta Lake version: 3.2.0
Spark version: 3.5.1

Willingness to contribute
The Delta Lake Community encourages bug fix contributions. Would you or another member of your organization be willing to contribute a fix for this bug to the Delta Lake code base?

[ ] Yes. I can contribute a fix for this bug independently.
[ ] Yes. I would be willing to contribute a fix for this bug with guidance from the Delta Lake community.
[X] No. I cannot contribute a bug fix at this time.

The same problem I have, please ping me if any details required, but from description above it is clear, looking forward if it will be fixed thx guys!


Add plan review for Reactive Streams Operators 3.0

@Emily-Jiang in the voting result list Heiko W. Rupp as iJUG Alternate is missing - can you please add him at least with the voting resutls?
Thanks!

@Emily-Jiang in the voting result list Heiko W. Rupp as iJUG Alternate is missing - can you please add him at least with the voting resutls? Thanks!

@JanWesterkamp-iJUG have you informed Eclipes Foundation? @jclingan fyi please update your working group minutes template with this info.

@Emily-Jiang in the voting result list Heiko W. Rupp as iJUG Alternate is missing - can you please add him at least with the voting resutls? Thanks!

@JanWesterkamp-iJUG have you informed Eclipes Foundation? @jclingan fyi please update your working group minutes template with this info.

@Emily-Jiang yes, the official process with EF (announcing on the WG mailing list) was done and the Excel sheed got updated:
https://docs.google.com/spreadsheets/d/1QflmI_5NWLEGDGImibvMx5iSFUZisbnHjMvvOIcLRy0/edit#gid=0


Propagate tracing information to hbase server

HBase itself supports tracing using OpenTelemetry, but requires the use of the protobuf "Headers" field in the RPCTInfo structure to do so.
https://github.com/apache/hbase/blob/6a78f0f18868352200c42de631a6414796ed1f62/hbase-protocol-shaded/src/main/protobuf/rpc/Tracing.proto#L26

hi @warrenhodg . A couple of us are actively reviewing the otel support in HBase, in preparation for its first release in 2.5.0. If you have any questions/concerns/bugs you'd like to see addressed, now is a great time to engage with us. Check out the tracing component in Jira or come hang out with us on on our Slack channel.


There needs to be more time between searches, and possibly start of searches

Is your feature request related to a problem? Please describe.
Yes. Searches often don't count.
Describe the solution you'd like
Microsoft recently added a new rule only allowing 3 searches to count for points between 15-minute periods. Searches should be changed to account for that. Some of the tasks that are completed before that part also seem to count towards searches, so maybe a 15-minute wait should be placed between when search automations start.
Describe alternatives you've considered
I've tried using a chrome extension or other bots to complete searches, but they all seem to have similar problems.
Additional context
Some accounts or regions may not be impacted by this, so a possible solution there could be to include a toggle.

You can edit the time between searches - read the config and edit it accordingly.


issue  in customer  to customer payment

[x] if we enabled the check box in first customer payment,the enabled checkbox and amount remains same in new customer payment
[x] if we enabled received full amount , the amount filled in total,amount paid & amount used for payment field (so .if we enabled received full amount , the amount should fill only amount paid field)
[x] once payment received is done, if we do new payment received , the data in total ,amount paid ,amount used for payment is not getting cleared.

issue closed


Seeking Insight: How to Prevent Pattern Synchronization After Editing the Locations of Custom-Design Signs?

According to the creator of ACNL save editor, "The building list has information about X,Y info for every building. Additional info like the pattern used is stored somewhere else. Moving the custom PWPs(signs, standees) resets them to the first pattern of custom PWPs.“
Therefore, I located a section in the save file (garden.dat) that contain information related to the pattern data of the pattern PWPs, a few blocks of 0x878 bytes starting at 0x4bf70. It is certain that the pattern of a custom PWP is saved here. Additionally, I found what appears to be their X,Y info, located in the last 8 bytes of each block of 0x878 bytes. I attempted to modify this X,Y data to fit the edited ordinates of the custom PWPs, but unfortunately, this did not work, the save data was corrupted.
Do you have any ideas on how to solve this problem (All signs synchronize their pattern after being moved) ?

Hi, thank you for your question!
This should be definitely possible, that's no big deal at all. As long as only the coordinates are being overwritten, there should be no data loss.
I don't know if the offset is the same in the Welcome Amiibo version as I primarily work with that, but if you can provide me your garden.dat, I can take a look at that too.
The save data is very likely to be corrupted if you modify it using a hex editor, as the game stores a lot of checksums in the savegame to verify its integrity.
This project is btw at a very early stage of development, but I will continue the development as soon as I find time for it (I also do a lot of research and am trying to gather as much information about the game files as possible). This project is going to be worked on in the future, but I'm currently very busy with school stuff.

Thanks for your detailed reply. I really appreciate your support and the effort you’re putting into this project. It’s great to hear that this will eventually be a feature of your editor!
I’m working with the Welcome Amiibo data from the Japanese version and was wondering if the regional difference might affect the offset. Otherwise 0x4bf70 should be the place where the patterns of PWPs are stored since I found the offset by looking up the image data of a pattern and tested the correlation of the pattern change in the game and the file.
I do use the hex editor to simply modify the ordinates, I guess that is why I failed. I am curious about is there any existing files or websites that could illustrate the proper way to edit the save file. In the meantime, if there are any resources or documentation you’d recommend for understanding the checksum mechanism or modifying save data more safely, I’d be grateful if you could let me know.
Moreover, do you think there’s a way to transfer save data between different regional versions of the game?
I understand you’re currently busy with school, so please take your time. I am looking forward to the future of this project!
Here is my edited garden.dat file:
garden_plus.zip

Slattz already did some research on the savegame format here. Unfortunately, most of the data structures have no annotated offsets, so I decided to make my own version https://github.com/Le0X8/acnl-research/blob/main/binaries/garden_plus.dat.md (WIP & incomplete!).
I could write a small tool to fix the offsets, that shouldn't be hard at all as there aren't many checksums.
As far as I know, most of them are Uint32LE CRC-32 checksums, but there are also some CRC-16 and CRC-8 ones. Most of the checksums are listed here.
Bells, MEOW coupons and some other values are encoded in a specific format, SciresM reverse-engineered it: https://gist.github.com/SciresM/0ecc3c2b8c93922d3b21f7c4e552626c
There should be no difference in savegames across regions, but I am not 100% sure. I only used the EUR version of the game, and all the savegame editors use the same offsets for every region and they seem to work.

Thanks for the link of document your provided and the checksum fixer you created. They really help a lot! I am using a Mac computer so instead of the released exe program, I run the source code file in idea. However, it does not seem to fix the checksum correctly. Maybe it is because of the way I use it. But fortunately, I figure out a way to do the checksum fixing, use ACNL save editor after I edit the hex. And it turns out that the last two u32 relate to the ordinates of the pattern PWPs. And I hope this information will help you to achieve this feature as well. My problem is solved, thanks for your help!!
Here is the structure of ACNL_BuildingData:
ACNL_Pattern   UnkPattern1;     u32 X_Coord;     u32 Y_Coord;
( A little weird point is that assigning u32 to a coordinate seems to overly large, it could contain other information but I edited the first u8 of each u32 and it worked, so maybe it is fine)

Thanks for your work!

it does not seem to fix the checksum correctly

I don't see where the checksums are wrong as this uses the same algorithm, offsets and lengths like the ACNL editor, though the game crashes as soon as I try to load your savegame. My savegame worked just fine with my program... maybe there are other checksums I missed.
As the game's map is smaller than 256x256, u8 would be enough, but maybe the devs didn't think about that... or, another possibility: the game stores other data in these 6 bytes, but this seems weird because x and y should always be stored together.
I would rather say the structure is like this:
ACNL_Pattern UnkPattern1;
u8           X_Coord;
[u8; 3]      Unknown1;
u8           Y_Coord;
[u8; 3]      Unknown2;

But thanks for your research!


REST service fails to start due to soft_unicode import error

After building service, it fails to start with the following error
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/python3.8/dist-packages/markupsafe/__init__.py)

Two workarounds:

Use container from dockerhub: intel/video-analytics-serving:0.7.0
Update connexion version to 2.11.1 in requirements.service.txt and re-build.

Fixed in v0.7.1.


Calculate checksum instead of extracting version directly

This PR targets #26, not the main branch.
It changes the rust-version calculation to be a checksum of the entire output of cargo --version and rust --version. It's shorter and includes the version number, though it means that cache keys no longer contain a readable version.

I'm not sure including the version number is technically desirable. If the version number changes but the rustc and cargo hash / dates both don't change, that means there was a Rust update that only included an update to some other component(s). I don't think that's ever happened before, but if it does happen, the cache shouldn't be invalidated.
On the other hand, the commit hashes are both necessary because in a nightly version like 1.82.0-nightly, the version number will stay the same while the hash may change.

As for the length of the key, I'm not too bothered, as it's extremely long already :D

So personally, I would prefer to remove the hashing.
I'd be fine with keeping the entire version string though, if @benfrankel agrees

Including the version number is fine. In practice it's redundant, and in theory it could cause an unnecessary cache invalidation, but that'll probably never happen + it doesn't really matter if it does.

I prefer having the plain text version number in there. Very useful for debugging.


Not working

Hello there.
Trying this app, but nothing works.
It runned without errors, I see it at system tray, but alt+tab get default system behavior.
alt+` not works
Windows specifications:
Edition	Windows 11 Pro
Version	22H2
Installed on	1/3/2023
OS build	22621.1555
Experience	Windows Feature Experience Pack 1000.22640.1000.0

$ ls
        Directory: C:\tools\window-switcher

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a---         5/12/2023   6:20 AM         297472 ﬓ  window-switcher_32.exe
-a---         5/12/2023   6:04 AM         342016 ﬓ  window-switcher_64.exe
-a---         5/12/2023   6:20 AM            288   window-switcher.ini

cat .\window-switcher.ini
# Whether to show trayicon, yes/no
trayicon = yes

[switch-windows]

# Hotkey to switch windows
hotkey = alt+`

# List of hotkey conflict apps
# e.g. game1.exe,game.exe
blacklist =

[switch-apps]

# Whether to enable switching apps
enable = yes

# Hotkey to switch apps
hotkey = alt+tab

Append follow settings to window-switcher.ini to enable log
[log]
level = debug
path = window-switcher.log

The restart window-swither.exe, try again, submit window-switcher.log to this issue. please.

Hi there again. Tested it one more time.
alt+` - works only with visible windows.
Case I fold with minimize one of them (alt+space+n) - your app don't see it.

Here is log for switching between same app - explorer.
window-switcher_same_app_switch.log
alt+tab not works , have default windows 11 switcher

Here is fresh log for alt+tab attempt
window-switcher_diverse_app.log

If you help me to setup environment to build app, e.g. fast way to install cargo / required libs e.t.c. What to run for building app.  I'll try to debug code.

setup rust
https://www.alpharithms.com/installing-rust-on-windows-403718/
run windows-switcher

git clone https://github.com/sigoden/window-switcher
cd window-switcher
cargo run

Well it was a nice journey. I debugged and founded some things.

I used right_alt with code 165, and you accept left_alt.
Just have ergo-keyboard, and alt+tab looks other way.

Case I minimize any app, use start+d as example - I can't switch to anything, you filtered all apps and blocked them from windows list. Iconic option turns from true to false and you blocked it.

I added this code to debug required processes and got all your options
    let is_visible = is_visible_window(hwnd);
    let is_special = is_special_window(hwnd);
    let is_small = is_small_window(hwnd);
    let is_cloaked = is_cloaked_window(hwnd);
    let is_popup = is_popup_window(hwnd);
    let is_iconic = is_iconic_window(hwnd);
    let is_topmost = is_topmost_window(hwnd);
    let pid = get_window_pid(hwnd);
    let module_path = get_module_path(pid);

        debug!("visible: {:?}, special: {:?}, small: {:?}, cloaked: {:?}, popup: {:?}, iconic: {:?}, topmost: {:?}, pid: {:?}, hwnd: {:?}, p: {:?}",
            if is_visible_window(hwnd) {'+'} else {'-'},
            if is_special {'+'} else {'-'},
            if is_small {'+'} else {'-'},
            if is_cloaked {'+'} else {'-'},
            if is_popup {'+'} else {'-'},
            if is_iconic {'+'} else {'-'},
            if is_topmost {'+'} else {'-'},
            pid,
            hwnd,
            Path::new(& module_path).file_name().unwrap().to_str().unwrap(),
        );

Here is side by side difference at state, when it's possible to switch and when not.
report_iconic.log

I have music application, and it uses ApplicationFrameHost.exe.

This process is related to Universal Windows Platform Applications (also known as Store Applications - a new type of application that comes with Windows 10). Although most of the apps that come with Windows 10 (such as Mail, Calculator, OneNote, Movies & TV, Photos and Groove Music) are UWP apps, these are available from the Windows Store. If this process is forcibly ended, all open UWP apps will be closed.

So, all apps, based on this FrameHost - are same for you. As example basic app calculator and mine app for music. You can try it with 2 apps - calculator and 'Movies & TV'
App looks like this

and got default exe icon

I made same debug output for ApplicationFrameHost, containing music app, and processes, containing app name.
report_music.log
Looks, like child processes must be checked.

Thanks for your contribution.
I apologize for replying so late.
#47 solved point 1.
#48 solved point 3.
The point 2 is tricky. I can't find a way to restore the minimized uwp window.

Good update.  Tw, what is sense of iconic condition? I removed it from that filter, and all works.

Iconic is no longer needed.

#50 solved restore the minimized uwp window.
All done.


Support xcworkspace generated by CocoaPods

While importing my project, which is managed by CocoaPods, the vsimporter failed to find targets in Pods project and some build phases in targets generated by CocoaPods are unsupported and ignored as well. Considering that CocoaPods is quite popular in the community, it would be great if a specific support for CocoaPods is provided in WinObjC.

What arguments did you pass to vsimporter when you ran it? I tried running the tool on Wenjin-iOS but could not reproduce the error.

@asimonov-msft I just followed the wiki since I'm not familiar with the tool but did you run pod install before running vsimporter? Otherwise the directory Pods won't be created.

@xnth97 I generated the Pods project/workspace under OS X and ran vsimporter under Windows. However I did not get the 'Failed to find target with ... id in "Pods" project.' As far as I could tell, the projects & solution were generated successfully (although they did produce various compilation errors when I tried building them).

@asimonov-msft sorry that I didn't notice the 9-hour-ago commit. The latest vsimporter binary seems to have fixed it and solution generated successfully as you said. AWESOME! But still I got 'Ignoring unsupported PBXHeadersBuildPhase in "..." target'

@xnth97 Please let us know if you're still seeing issues.

I have the same problem by my project
C:\Projects\morhipo-ios>..\winobjc\bin\vsimporter.exe
[W] Failed to find target with 1B5AF4373D1D079F7634CB41 id in "Pods" project.
[W] Failed to find target with 329F61350CF75E41B6B09BDC id in "Pods" project.
[W] Failed to find target with 773023E2800C06B55F98C786 id in "Pods" project.
[W] Failed to find target with D77780FAE95C3D53AFBF5D7A id in "Pods" project.
[W] Failed to find target with F4E035A7DF2ADF477C69E3E4 id in "Pods" project.
[W] Failed to find target with 216E3325FB3D561F1B3CBF8C id in "Pods" project.
[W] Failed to find target with E71D38B5262A56007A9E1479 id in "Pods" project.
[W] Failed to find target with 18CF71E3623CE5240AAF0040 id in "Pods" project.
[W] Failed to find target with 74E37BC6EC18AFF903B1169A id in "Pods" project.
[W] Failed to find target with DFA088E75C8620A8BA39AA5C id in "Pods" project.
[W] Failed to find target with AF55D958E1452E86C35BA404 id in "Pods" project.
[W] Failed to find target with F315E07EB8C882649F38B236 id in "Pods" project.
[W] Failed to find target with 3013F4255B1BB7271BCF2719 id in "Pods" project.
[W] Failed to find target with 58074ECF86CAA40F36463564 id in "Pods" project.
[W] Failed to find target with 2C3986BB65120B2C0822008B id in "Pods" project.
[W] Failed to find target with 8290D3F5D4DDA81CE328D86D id in "Pods" project.
[W] Failed to find target with 137DB292B228CEE443A66859 id in "Pods" project.
[W] Failed to find target with FE0E1E27F920CDCBE9FF6CA0 id in "Pods" project.
[W] Failed to find target with 1585D2BA09EC05C1D38C3AAB id in "Pods" project.
[W] Failed to find target with E0EBD74144E3A7EE37B25863 id in "Pods" project.
[W] Failed to find target with EFAF1C2C433696D6EE6E96B6 id in "Pods" project.
[W] Failed to find target with 4C215B5F94FB6361E524A340 id in "Pods" project.
[W] Failed to find target with 8497F79EA09F527724BEC207 id in "Pods" project.
[W] Failed to find target with E84316D0F50953B1177BCFD2 id in "Pods" project.
[E] No valid targets to import.
C:\Projects\morhipo-ios>


Is there a way to Inversion y-axis values?

For example, the default
30
20
10
0

But I want this
0
10
20
30

Note #579. It will be built into version 2.

thanks @wcatron I can't find it in v2.0 documents
https://github.com/nnnick/Chart.js/blob/v2.0-dev/docs/02-Line-Chart.md
So, it will be add later?

Check in the v2 dev branch docs folder. It has not been pulled into the github pages yet.

On Nov 24, 2015, at 12:08 PM, 斯人<EMAIL_ADDRESS>wrote:
thanks @wcatron I can't find it in v2.0 documents
https://github.com/nnnick/Chart.js/blob/v2.0-dev/docs/02-Line-Chart.md
So, it will be add later?
—
Reply to this email directly or view it on GitHub.

I see, great

On Nov 25, 2015, at 01:14, Weston Catron<EMAIL_ADDRESS>wrote:
Check in the v2 dev branch docs folder. It has not been pulled into the github pages yet.

On Nov 24, 2015, at 12:08 PM, 斯人<EMAIL_ADDRESS>wrote:
thanks @wcatron I can't find it in v2.0 documents
https://github.com/nnnick/Chart.js/blob/v2.0-dev/docs/02-Line-Chart.md
So, it will be add later?
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub https://github.com/nnnick/Chart.js/issues/1676#issuecomment-159344850.

V2 docs have been updated at http://nnnick.github.io/Chart.js/docs-v2/


TST: Avoid xarray.dims deprecation

Use sizes instead as the deprecation warning suggests.
https://docs.xarray.dev/en/stable/whats-new.html#id38

Raise a FutureWarning warning that the type of Dataset.dims() will be changed from a mapping of dimension names to lengths to a set of dimension names. This is to increase consistency with DataArray.dims(). To access a mapping of dimension names to lengths please use Dataset.sizes(). The same change also applies to DatasetGroupBy.dims. (GH8496, PR8500) By Tom Nicholas.

Go ahead and merge, I'll rebase it in :)


Use Go 1.13 error handling verb

When using fmt.Errorf(), we should use the new %w error verb so that error messages can be unwrapped.
This would make the minimum Go version be 1.13, so we should make sure client_golang is OK with this.

cc @beorn7 about the client_golang interaction.

There is no fixed policy, but unless it's prohibitively cumbersome, I'd like to support three to four past Go versions, which is currently back to Go 1.12 or 1.11.
Could we use a build tag to keep supporting older build versions for a while?

We could, but there's no rush to do this change. It's just a nice to have to allow more verbose library errors, while still being able to parse "no such file or directory" errors.

Is this not a dupe of https://github.com/prometheus/procfs/issues/358 ? If so, it has been partially implemented, with https://github.com/prometheus/procfs/issues/519 waiting for a major release in order to change the minimum Go version.

Yea, this can be closed.


feat(object-ids): allows optionally including IDs for newly created e…

…ntity instances
I didn't include any new tests, but all the existing tests pass ... perhaps someone wanted to add the tests for me ...

Fixed in https://github.com/goldcaddy77/warthog/pull/194, closing


[WIP] Add the doc of S2Theme

👀 PR includes

🎨 Enhance

[x] Refactoring

🔧 Chore

[ ] Test case
[x] Docs / demos update
[ ] CI / workflow
[ ] Other

📝 Description

Add the doc of S2Theme.
Refactor the Theme scheme

cc @lijinke666  去除了 expandIcon 配置，归并到了 icon 里  packages/s2-core/src/common/interface/theme.ts


Sky ending

Describe your problem here.
I try to make something like the good or bad ending of the sky mod using .lua, but the ending is based on the misses of the song
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.


Narrowing doesn't work

TypeScript Version:  3.5.3

Code
validate: (actualValue: string | null): string | null => {
    if (isNullOrEmpty(actualValue)) {
       return "Value is required";
    }

    // Error here. TS2531. Value must be narrowed to `string`
    if (actualValue.length !== uuidPattern.length ||
        sanitizeUUID(actualValue) !== uuidPattern) {
        return "Doesn't match regular uuid pattern";
    }
    return null;
}

export const isNullOrEmpty = (str: string | null): boolean => {
  if (str == null) {
    return true;
  }
  return str.replace(/\s/g, "").length === 0;
};

If you inline check it will work as expected. See playground link below for examples
UPD
Same thing in chained methods

Expected behavior:
no error of course
Actual behavior:
weird error
Playground Link:
playground
Related Issues:

Your isNullOrEmpty function returns boolean. It does not tell the compiler anything about what the type of str is. What you are looking for is a type guard. Change the return type of isNullOrEmpty from boolean to str is null and it will work. That syntax tells the compiler that the function can be used to narrow the type of the argument.

@MartinJohns I don't get the idea of type guard and why ts compiler cannot narrow type itself like rust compiler does?


New StringProperty 'Display Name' that allows to distinguish multiple…

… instances. The name is so far only used for the trigger service, but could also be used for topics to set framerate. The service is now also relative to rviz so that rviz should be started with a fixed name

I'm not seeing the camera trigger service here- one problem may be that it is only created after the namespace is set, but even after updateDisplayNamespace is run I still don't have that service.

Sorry, I shut down the service when the image was reconfigured but only set it up when configuring the namespace.

Run catkin_make roslint_rviz_camera_stream and fix all the warnings (roslint is available as a ros deb if you don't already have it).  Also run it again after the below steps just to make sure nothing new was introduced.

Resolve the conflicts with master (I believe this will be a rebase).

Squash all the commits for this pr.  (maybe this is more easily done before the above step and after)

If you do all that then I don't have to manually modify and merge, and if I merge through github it will properly show the pr as accepted.


Output source files and lines to JSON

This commit ensures that the json dump includes information about source locations.

FWIW, this coding style is kind of terrible but since it matches the existing style I'll merge it as is. The preferred way to write this would be using Array#map.

@blakeembrey, the entire codebase probably should be reviewed and a tslint configuration added. It would be a lot of work but possibly a good way to someone who wants to take on #256 to get a good handle on the codebase.

Absolutely, I agree - there's a lot I'd love to refactor - it's just not in a state where I can actively maintain it. The codebase is takes advantage of too much fanciness for me to focus on how it actually works (decorators, indirect dependencies, etc). I can get a gist, but without rewriting I'm not comfortable maintaining it myself right now 😄


Question regarding stamp construction

In your example document, you have the following code:
// The connection object.
const DbConnection =
  stampit().refs({ // Assigns the mongoose connection object.
    dbConnection: mongoose.connection
  })
  .init(function () { // Connecting to the DB upon creating an object.
    if (!this.dbConnection.readyState) {
      this.connection.open(this.connectionConfig);
      this.log('Opening a DB connection');
    }
  })
  .methods({ // A method to close the connection.
    close() {
      if (this.dbConnection.readyState) {
        this.dbConnection.close();
        this.log('Closing the DB connection');
      }
    }
  })
  .compose(
    Logger, // add logging capability via this.log()
    DefaultConnectionConfig // add the default this.connectionConfig value
  );

const conn = DbConnection(); // Open a DB connection
const conn2 = DbConnection({ connection: conn.dbConnection }); // reusing existing

how does the following line execute for conn when you don't supply connection in the constructor?
     this.connection.open(this.connectionConfig);

Also is there a way to use Destructuring to enforce certain values in constructors?
Thanks for your time.

Could you please elaborate a little. What is "values in constructors"?

@tcrosen There is no "construtors" in stampit. There can be "intitializers". The only difference is that a stamp can have multiple initializers, which addup during composition (see .compose() functions).
Answering your question: take a look at the .compose(Logger, DefaultConnectionConfig) piece. As you can see we compose the DbConnection stamp with two more stamps. The latter one have single purpose - to set the connectionConfig string property to the instantiated objects: https://github.com/stampit-org/stampit/blob/master/docs/API.md#example
Thus, each time we create an object - DbConnection() - the object will have the connectionConfig set.
Does that answer your question?

The confusion lies around this line:
this.connection.open(this.connectionConfig);

this.connection is never defined and in the creation of conn connection is not passed in the refs argument.
There are two typos in this document.
The line above should be this.dbConnection.open(this.connectionConfig);
And the following:
const conn2 = DbConnection({ connection: conn.dbConnection }); // reusing existing

Should be:
const conn2 = DbConnection({ dbConnection: conn.dbConnection }); // reusing existing

omg. :) Thank you.

@tcrosen I've just merged @BerkeleyTrue fix. Take a look now:
https://github.com/stampit-org/stampit/blob/master/docs/API.md#example
Does it look right to you now?

That was fast.

Wow thanks guys, I guess it was a simple typo.  I think I grok the whole concept. @koresar when I was writing "constructor" it crossed my mind I'd get yelled at :)  I loosely used it to describe an object "creator" or "initializer" method.
Thanks @BerkeleyTrue for clarifying my question.

PS.

 You guys rock. :guitar: :fire: :notes:

@tcrosen You probably would like this effort as well: https://github.com/stampit-org/stamp-specification
We are trying to make the "stamp" a universal concept, so that other stamps from other libraries could be compatible with stampit's stamps.

I'll throw in another  for the user community. You guys rock.

I discovered this from reading your articles, @ericelliott.  I tried implementing raw POO in a real application and quickly found it difficult to manage the subtleties -  instantiation, privatization, etc. and boilerplate code started to pile up.  This library solved most of my problems, to me it's become a necessity to use stamps seriously.
I'm planning on going full steam ahead with it and will be tackling real-world business problems.  I'll keep you guys posted with progress and contribute to contribute fixes and hopefully new documentation (eg. recipes/examples) I might discover.
Thanks again.

This is the first time I've noticed seeing prototypal OO written as POO. I almost fell out of my chair.
Glad to have you with us. I'm confident that once everything clicks, you'll never want to inherit from another class again.
Stamps have spoiled me. I wouldn't want to code a major app without them. =)

This is the first time I've noticed seeing prototypal OO written as POO

Dude I've been totally referring to it as POOP(rogramming) since I read about it in your articles.

Sorry guys. I had to tweet that. :)
https://twitter.com/kore_sar/status/645793395957338112

haha


Choose license

I like this game. I've taken the liberty of including it in https://github.com/jart/cosmopolitan/blob/master/examples/asteroids.c and I want to be able to distribute your game as part of https://cosmo.zip/pub/cosmos/bin/ however I need your permission to do that.
Could you please choose a license? What I would recommend is putting this at the top of your file:
// Copyright 2024 Tsotchke
// https://github.com/tsotchke/asteroids
//
// Permission to use, copy, modify, and/or distribute this software for
// any purpose with or without fee is hereby granted, provided that the
// above copyright notice and this permission notice appear in all copies.

Then create a file named LICENSE in this repo that says:
ISC License

Copyright 2024 Tsotchke

Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted, provided that the
above copyright notice and this permission notice appear in all copies.

 IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

Thanks!

MIT license, similar format. go ahead and push it.

`MIT License
Copyright (c) 2024 Tsotchke
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
`

Sure thing!

OK so I've added a LICENSE file for the MIT license with you as the copyright holder. Yes I assign you copyright for any changes I contribute to this project. I'd still encourage you to consider the ISC license. The ISC license is basically the same thing as the MIT license, except it uses language simplifications that were made possible by the universal adoption of the Berne Convention. Say the word and I'll make the change. Otherwise MIT is fine too.


Feat: Auto Commenting when an Issue is Closed by maintainer

Is your feature request related to a problem? Please describe.
Yes, the feature request is related to the problem of lack of communication and acknowledgment when issues are closed in the repository. Contributors may feel neglected or uncertain about the status of their issues if they are closed without any feedback or acknowledgment. This can lead to frustration and a decrease in motivation to contribute further.
Describe the solution you'd like
The solution is to automatically post a comment on the issue whenever it gets closed. This comment should thank the issue creator for their contribution and inform them that their issue has been closed. The message can include the issue number and a friendly greeting to make it more personal. This automation ensures that every closed issue receives a consistent and timely response, improving communication and contributor experience.

@jaibhedia please assign me this issue under gssoc'24


Approval not possible in the Keptn Bridge in rare cases when having the manual deployment strategy

When deploying a service and having the manual approval strategy for a production, the approval triggered event is missing the (:ballot_box_with_check:  / :negative_squared_cross_mark: ) confirmation in rare cases.
In the previous stage, the evaluation is successful: There is an configuration changed event with the promote action for staging, however, it is listed after the approval triggered event for production in the event feed.

This seems to be an issue in the Bridge's UI as I can query and trigger the open approvals using the CLI.
After doing so, the service gets deployed and I get the expected behavior in the event feed (except the confusing ordering for the staging/production events).
I've attached the event-json of the approval triggered and configuration changed events.
Environment

Client OS (e.g., Linux, OSX, Windows): Ubuntu 20.04 focal
Keptn Version (keptn version): 0.7.3
Kubernetes Cloud Provider (e.g., GKE, AKS): GKE
Kubernetes version (kubectl version): v1.16.15-gke.4300
Browser: Google Chrome Version 87.0.4280.141 (Official Build) (64-bit)

Affected Component

[ ] Docs
[ ] CLI
[ ] Kubernetes Integration
[ ] Openshift Integration
[ ] Helm
[ ] Istio
[X] Bridge
[ ] Gatekeeper
[ ] Datastore
[ ] REST API
[ ] eventbroker / distributor
[ ] jmeter

To Reproduce
This bug occurs randomly in rare cases. I have not found a consistent way to reproduce this issue.
It noticed that if an event comes after the approval triggered event in the feed, the confirmation is missing.
Expected behavior

Current behavior

Additional context
Shipyard.yaml:
stages:
  - name: "dev"
    deployment_strategy: "direct"
    test_strategy: "functional"
  - name: "staging"
    approval_strategy:
      pass: "automatic"
      warning: "automatic"
    deployment_strategy: "direct"
    test_strategy: "performance"
  - name: "production"
    approval_strategy:
      pass: "manual"
      warning: "manual"
    deployment_strategy: "direct"
    remediation_strategy: "automated"

Approval Triggered Event (Production):
{
  "contenttype": "application/json",
  "data": {
    "deploymentstrategy": "direct",
    "image": "andreastscheinig/microservice-template",
    "labels": null,
    "project": "webshop-10",
    "result": "pass",
    "service": "checkout",
    "stage": "production",
    "tag": "0.4.0",
    "teststrategy": "performance"
  },
  "id": "9cac9069-2b0d-475a-ada2-44606101e370",
  "source": "gatekeeper-service",
  "specversion": "0.2",
  "time": "2021-01-11T15:18:09.191Z",
  "type": "sh.keptn.event.approval.triggered",
  "shkeptncontext": "84809005-98b4-4a66-9cd3-cc77d4b2280a"
}

Configuration changed event (Staging)
{
  "contenttype": "application/json",
  "data": {
    "canary": {
      "action": "promote"
    },
    "labels": null,
    "project": "webshop-10",
    "service": "checkout",
    "stage": "staging"
  },
  "id": "b8814ffd-734a-4fa6-b066-b41ad566e67b",
  "source": "gatekeeper-service",
  "specversion": "0.2",
  "time": "2021-01-11T15:18:09.191Z",
  "type": "sh.keptn.event.configuration.change",
  "shkeptncontext": "84809005-98b4-4a66-9cd3-cc77d4b2280a"
}

FYI @johannes-b this affects 0.7.x and 0.8.x.
Detailed Analysis in Code
This is the affected division in the Angular Code:
https://github.com/keptn/keptn/blob/90a6e25fbf6f863a53f1205c29fd684ec8511a97/bridge/client/app/_components/ktb-event-item/ktb-event-item.component.html#L50-L61
Looking at the condition
_event.isApproval() && project.getRootEvent(project.getService(_event.data.service), _event).isApproval() == _event.data.stage

I'm guessing that _event.isApproval() is fine, but the second condition project.getRootEvent(...).isApproval() == _event.data.stage might be false if the events are retrieved by Bridge in a different order (as shown in the screenshot above).
Looking at Root.ts, this is the code (that I guess is doing something here):
  isApproval(): string {
    return this.getLastTrace().isApproval();
  }

  getLastTrace(): Trace {
    return this.traces ? this.traces[this.traces.length - 1] : null;
  }

Especially getLastTrace will in this case not be the approval event, but the configuration-change event.
Fixing/Discussion
@ermin-muratovic @johannes-b @Kirdock I'm not sure what the best fix is in this case.
On one hand, it doesn't make sense to approve something unless it is the last event. On the other hand, there might always be cases where events are coming out of order (or additional events are coming). So my guess is that the approach using getLastTrace (in root.ts) might need to be adapted. Please add your opinions and concerns about this.

FYI @johannes-b this affects 0.7.x and 0.8.x.
Detailed Analysis in Code
This is the affected division in the Angular Code:
https://github.com/keptn/keptn/blob/90a6e25fbf6f863a53f1205c29fd684ec8511a97/bridge/client/app/_components/ktb-event-item/ktb-event-item.component.html#L50-L61
Looking at the condition
_event.isApproval() && project.getRootEvent(project.getService(_event.data.service), _event).isApproval() == _event.data.stage

I'm guessing that _event.isApproval() is fine, but the second condition project.getRootEvent(...).isApproval() == _event.data.stage might be false if the events are retrieved by Bridge in a different order (as shown in the screenshot above).
Looking at Root.ts, this is the code (that I guess is doing something here):
  isApproval(): string {
    return this.getLastTrace().isApproval();
  }

  getLastTrace(): Trace {
    return this.traces ? this.traces[this.traces.length - 1] : null;
  }

Especially getLastTrace will in this case not be the approval event, but the configuration-change event.
Fixing/Discussion
@ermin-muratovic @johannes-b @Kirdock I'm not sure what the best fix is in this case.
On one hand, it doesn't make sense to approve something unless it is the last event. On the other hand, there might always be cases where events are coming out of order (or additional events are coming). So my guess is that the approach using getLastTrace (in root.ts) might need to be adapted. Please add your opinions and concerns about this.


Update method

Hey guys, hope you are well. Quick question, will the update method be released any time soon? I tried using the query builder but it didn't work =/, I'm getting the same error of when using the Model Call to a member function prepare() on null in /var/www/html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:492. Thanks in advance.
\DB::connection('datastore')
                    ->table('pending_emails')
                    ->where('hash', $datastoreRow->getHash())
                    ->update(['is_triggered' => true]);

Just an update here if anyone is having the same issue, you can use the datastore query builder for that:
        $datastoreRows = $datastore->runQuery($query);```


"FIREBASE_CREDENTIALS" is not set & GOOGLE_APPLICATION_CREDENTIALS" is not set

Describe the bug
I made a php file, i wanna my users auth is identical with realtime database, but it shows :
Fatal error: Uncaught Kreait\Firebase\Exception\ServiceAccountDiscoveryFailed: Kreait\Firebase\ServiceAccount\Discovery\FromEnvironmentVariable: The environment variable "FIREBASE_CREDENTIALS" is not set. Kreait\Firebase\ServiceAccount\Discovery\FromEnvironmentVariable: The environment variable "GOOGLE_APPLICATION_CREDENTIALS" is not set. Kreait\Firebase\ServiceAccount\Discovery\FromGoogleWellKnownFile: The well known file is not readable or invalid in /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/ServiceAccount/Discoverer.php:48 Stack trace: #0 /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/Factory.php(148): Kreait\Firebase\ServiceAccount\Discoverer->discover() #1 /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/Factory.php(191): Kreait\Firebase\Factory->getServiceAccount() #2
Just wonder if i miss something to set so shows this error.
To Reproduce
----------The file create new user-----------
include("/opt/lampp/htdocs/firebase/dbAuth.php");
if(!$database->getReference('users/'.$uid.'/')->getSnapshot()->exists())
{
$fileName = "NewPlayerData.json";
$file = fopen($fileName, "r");
$newData = fread($file, filesize($fileName));
fclose($file);
    //echo $newData;

    $newData = json_decode($newData,true);

    $newData['Profile']['UserID'] = $uid;

    $database->getReference("users/")->getChild($uid)->set($newData);

    echo "Create New User";

}
$newData = $database->getReference("users/")->getChild($uid)->getValue();
echo json_encode($newData);
--------------dbAuth.php-------------
require DIR.'/vendor/autoload.php';
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
$serviceAccount = ServiceAccount::fromJsonFile(DIR . '/secret/xxx.json');
$factory = new Factory;
$firebase = $factory
->withServiceAccount($serviceAccount)
->withDatabaseUri('https://xxx.com')
->create();
$database = $firebase->getDatabase();
$auth = $factory->createAuth();
$token = $_POST["Token"];
$uid = "User_1234";

I see from your code that you're using a 4.x release of the SDK, please consider upgrading to a 5.x release, the 4.x is only supported for security fixes.
I can't see from your stack trace where the error is actually thrown (please consider updating the post to apply code formatting), so I can't tell you why this is happening, but the error is explaining the cause: the credentials you provided are not picked up. Perhaps it has something to do with the include, but I'm just guessing.
I'll close this now because it's not a bug with the SDK, but I invite you to add further comments and/or share your findings so that others can benefit from them. If you'd like, you can also join the Discord linked in the Readme, where you'll find other users of the SDK that might be able to help.

Hello Jérôme thanks for your reply, I already did what you mean about SDK upgrading to 5.x release and composer update,

But it still shows :
Fatal error: Uncaught Error: Class 'Firebase\Auth\Token\Verifier' not found in /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/Factory.php:168 Stack trace: #0 /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/Factory.php(197): Kreait\Firebase\Factory->getIdTokenVerifier() #1 /opt/lampp/htdocs/api/v1/dbAuth.php(10): Kreait\Firebase\Factory->createAuth() #2 /opt/lampp/htdocs/api/v1/CreateNewPlayer.php(3): include('/opt/lampp/htdo...') #3 {main} thrown in /opt/lampp/htdocs/api/v1/vendor/kreait/firebase-php/src/Firebase/Factory.php on line 168
Did i need to change something for my setting?

Hello Jérôme, thanks for your reply. I tried to do your suggestion, I did composer require kreait/firebase-php ^5.0 & composer update --lock, then it was actually upgrade well, but still shows:
Fatal error: Uncaught Error: Call to undefined method Kreait\Firebase\Factory::create() in /opt/lampp/htdocs/api/v1/dbAuth.php:11 Stack trace: #0 /opt/lampp/htdocs/api/v1/CreateNewPlayer.php(3): include() #1 {main} thrown in /opt/lampp/htdocs/api/v1/dbAuth.php on line 11
it seems firebase-php composer.json not be handle with, is that probably i did something wrong process my upgrading, so made the structure going wrong? thank you very much

Please have a look at https://firebase-php.readthedocs.io/en/5.9.0/troubleshooting.html#call-to-private-method to see how to change the initialization of the SDK after the upgrade from 4.x to 5.x
Please let me know if that helped 🙏🤞

Hello Jérôme,Thanks for your help, but that seems doesnt work for me, So i decided to show you my process of upgrading, maybe i got something wrong with that.

Just dont know if i made mistake for the question i did red frame you can see, cos i just type y to answer those questions. Thank you again for always tried to figure out my problems. :)

Please try this: delete the vendor directory, and do a new composer install after that.
If this doesn't help, delete the vendor directory again and try a composer install --prefer-dist
If this doesn't work please have a look at your PHP installation - I can see from the screenshot that you don't seem to have the zip and unzip PHP extensions installed - this prevents composer from downloading the release packages and causes it to git clone every library instead. This will lead to conflicts in case you have modified files inside the vendor directory, which then leads to conflicts during a git clone.
All in all, something seems to be not right or at least not optimal with the PHP environment 😕

Hello i already tried to delete vendor file then run composer install & composer install --prefer-dist, They both didnt work for me, And you mentioned about the zip and unzip PHP extensions installed that i dont really know cos i installed my php environment by
"xampp-linux-x64-7.4.6-0-installer.run", I also searched that and tried to run something,But it seems nothing happened.

Can you please tell me more about how to do that if its my PHP environment problem made that conflicts, Thank you :)

Hello i already tried to delete vendor file then run composer install & composer install --prefer-dist, They both didnt work for me, And you mentioned about the zip and unzip PHP extensions installed that i dont really know cos i installed my php environment by
"xampp-linux-x64-7.4.6-0-installer.run", I also searched that and tried to run something,But it seems nothing happened.

Can you please tell me more about how to do that if its my PHP environment problem made that conflicts, Thank you :)

I see from your latest screenshots that a php-zip package has been installed, but still, in your previous screenshots it's written that it's missing, so something must be off 🤔
I'm sorry, but I'll have to leave you on your own here, general development support is out of scope of the SDK and of what I can provide here 😅

Thanks for your helping, I can understand it already out of scope of the SDK, But can you provide me a standard procedure of installation for php-firebase, Cos i will try to make a new one if i can avoid something wrong that would be better. :)

Hello Finally i fixed my problem,I can see src in my firebase-tokens file, So my php file can work now, Thanks so much for your help :)

Hello Jérôme,
I completed my game and will release soon, but I had a problem with the efficacy of my server(PHP) with firebase, It's slow when my game read/store with firebase, I check my server status is pretty good, So I wanna know how I can improve the situation Or its feature of PHP handle about data read/store with firebase slower than other languages, Thx :)

It's not a "feature" of PHP being slow, this I can say :).
Not knowing your application, I can say this: if you developed your game to call a remote server that then, in turn, calls Firebase, will always be slower than calling Firebase directly from within your game. Assuming your game runs on a mobile device or in the browser (which also is a client), it would be better to use one of the Firebase Client SDKs instead of a server SDK.
With a client SDK the communication flow is:
Client -> Firebase -> Client
With an admin SDK running on the server (e.g. PHP, but it's the same with the other admin SDKs), the flow is:
Client -> Server -> Firebase -> Server -> Client
The second flow must be slower than the first one because it involves more HTTP requests and more processing of the individual responses.

Hello Jérôme,
Thanks for your reply, I can understand client SDK must be faster than the server SDK, But consider those data unsafe to handle on the client-side, We have to through the server to read/store, I tried to use the profiler built into the Firebase CLI to get insights into how my database instance is performing, I have a question about why that didn't display those speeds data on my snapshot, But I can get other data, Thank you!

The reason is that the PHP SDK has no profiler built-in 😅

Hello Jérôme,
I found this issue
https://stackoverflow.com/questions/51694810/using-php-with-firebase-database-is-slow
Its just the question i got now, Why it took so long time getValue() on realtime database,
That made my game read data slowly, Do you have any better idea to fix it? Or i only can do less calls on my game? Thx


Added support for the list of private_ips

Fixes #102

But it seem to break single node creation without specifying private_ip:
Error: Error in function call

  on .terraform/modules/mongo_1/terraform-aws-modules-terraform-aws-ec2-instance-f03dffe/main.tf line 27, in resource "aws_instance" "this":
  27:   private_ip = element(
  28:
  29:
  30:
    |----------------
    | count.index is 0
    | var.private_ip is ""
    | var.private_ips is empty list of string

Call to function "element" failed: cannot use element function with an empty
list.

My bad, I was too fast, fixed in bc0a43c6023995ea2842ba0cd780b5299fc48152 which is part of v2.3.0.


Update: query/aggregate.js

createEach method: changing async.each to async.eachSeries.
This allows to insert records in the same order as we expect. Also a lot of integraion tests from https://github.com/balderdashy/waterline-adapter-tests expect this behaviour.

@devinivy @dmarcelino now that we updated the adapter tests I think it's good to merge this if it makes sense. I know most of the tests expect this to be true and it's simple enough.

Re-ran Travis– looks good!

Thanks @devinivy

Awesome thanks @devinivy!

Thanks @devinivy it works as expected now.

Hey guys (@imevs, @particlebanana, @devinivy, @tjwebb and @brandonsimpson) I would like to re-open this for discussion due to performance concerns. Please take a look at: #980.

Yeah I'm down. Ideally we check if the adapter defines their own createEach method and use that and just use the .map as a fallback. This way we could get this to a single insert query in pg and mysql.


DBZ-5043 Change namespace of schema history and remove database.server.name

https://issues.redhat.com/browse/DBZ-5043
Changes related to https://github.com/debezium/debezium/pull/3804

@vjuranek Could you please rebase the PR?

@vjuranek Please there are compilation failures in tests referring to renamed classes

yes, I noticed @jpechane . I still have some issues to run UI test locally, so to speed it up, I'm using GH actions instead. Until this is a draft, feel free to ignore any changes.

@vjuranek End-to-End tests are still failing, does this PR depends on something else?

@vjuranek I've rebuilt the nightly image but the failure is still present.


within a due date, sort by priority

As the title says, for every due date, sort the tasks due by priority, I think this could come in handy :)

Added in commit bf6b404ca8ced96a5d79474f3af4e8d5764c0bbe

Thank you for the update! I have added a comment to the commit, because the bug persists though it is now one character away from working :)


Trapping Rain Water

Trapping Rain Water in Cpp

@RidhikaJoshi  is this still open

can i code this question i java also


Add "Australian College of the Arts (Collarts)" to list of educational institutions

@dsmithcollarts First stage of verification passed, official domain for Australian College of the Arts (Collarts) is collarts.edu.au as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@dsmithcollarts Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Cleanup some async stuff

Description:

fix envisalink they break our loop
fix mqtt coro/future schedule
fix some old aiohttp response release handling
fix media player universal

🐬

This PR seems to have broken binary_sensor state updates for my setup. I have a DSC panel with Evisalink 4. I can see the alarm_control_panel state but none of the binary_sensors are updating. I can attach more debug logs if you tell me what you'd like and how to enable more debugging.

@larizzo You ever get this component to work well? I'm still having similar issues with status not working on primary partition and super-laggy statuses on all sensors https://github.com/home-assistant/home-assistant/issues/6905


Implement RBAC for pulumi cluster

Currently the pulumi stack deploy code is tightly bound to the user that runs it. So if you create the cluster, you can grab the kubeconfg and get access. However other developers, even though they have the pulumi token, can't connect. The theory is that this is because we need to configure RBAC for the cluster.
This blog post provides the general approach. This is linked out of the crosswalk docs.
Here is the source that is referenced in the blog post. I think of special interest is the use of groups. We have a group ARN that we would like to use.

This explains in greater detail exactly what is going on in the createIAMRole function of the code linked above: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html
Basically the thing that binds the authorization back to either 1) our whole account if we use the account ARN, or 2) the ART of individual users if we want to go that route is Principal.

These two docs have been very useful:

https://aws.amazon.com/premiumsupport/knowledge-center/iam-assume-role-cli/
https://aws.amazon.com/premiumsupport/knowledge-center/amazon-eks-cluster-access

The role that we have created in code gives users in our account the ability to assume the role. The latest commit has instructions in the readme for how to do this. I have tested it and it works for me. After assuming the role, my aws tokens are overridden and I'm able to connect to the cluster with the tokens provided after assuming the role.

@jwfuller I'm going to argue that we consider pulumi operations and accessing the cluster two different things, each with their own methods of access.
Here's the problem we're trying to solve: we have to assume a role to access the cluster. This is known. Why not just have that role have the access it needs to do pulumi stuff too. Seems reasonable. One login for everything.
The problem is that the kind of access we need to do pulumi stuff is quite a bit different from the kind of access we need to login to the cluster. In fact, after some experimentation, it's pretty clear that the pulumi stuff needs a lot more access to do its work than we need to access the cluster.
The upshot of this is that the role that we have to access the cluster is missing all sorts of stuff to do the pulumi stuff. We could try to add these permissions into the pulumi code, but every time you need to do a new thing like create a new resource, you'll have to log back out of the role and log back in with your default creds, run pulumi up there, and try it out back in the assumed mode -- switching back and forth until you have it right. A lot more unpleasant than staying in pulumi's more friendly god mode for pulumi stuff.
Here are some examples of the kinds of errors I saw trying to run pulumi under the assumed role:

Assuming the role is a pain, but there are a lot of clever scripts out there to do it in a one liner like this for example. And then another one liner to switch back out.

@steveellis This seems reasonable

@jwfuller Cool, thanks. Let me clean up my code and abstract everything out into submodules (haven't done that yet) and then I'll open a PR (hopefully this afternoon).


Ability to Login

Changes:

Added ability to login.
Some routes are now private routes (routed back to /login if no user is stored).
Added UserContextManager to handle login/logout/ping for users.

Unrelated style changes:

Will upload screenshot when PR is ready.
These are just my personal preference, I can revert these changes or make them different if we decide on something.
Changes:

Made the content span the entire page.
Removed black border from navigation bar.
Changed side navigation border from black to light grey.

Known issues:

Login page looks horrible, because I couldn't exactly figure out how the current css rules are structured and they mess a lot with bootstrap. For next iteration, I suggest switching to a bootstrap friendly sidebar/content by wrapping everything in a bootstrap container and using grids to tell how much space should be taken up by the navbar, sidebar and content. This would also have the benefit of scaling correctly when switching to smaller screens.

 Task 4: Create Login page


Wraping parameters into dictionary in "Function arguments (2 or fewer ideally)"

class Menu:
    def __init__(self, config: dict):
        title = config["title"]
        body = config["body"]
        # ...

menu = Menu(
    {
        "title": "My Menu",
        "body": "Something about my menu",
        "button_text": "OK",
        "cancellable": False
    }
)

From my experience, using a dictionary as a structure for holding data can lead to a big mess, when you have several complex structures like that. It is not typed checked and can't be annotated. I would use TypedDict instead.
Also, I think, it is not completely clear, how it solves the stated problem. The function still has the same amount of parameters. I think the more proper solution is to refactor the function/class into several smaller functions/classes and compose them (e.g. make_menu_content, make_button, etc.).

I also think that the comparison is so unfair. A function is getting X number of arguments where as the constructor gets a single dictionary. A function can work just as well with the dictionary 😄

Yeah, this seems like a weirdly Java-y thing to recommend in Python!

I agree with @sitnarf comments. I believe the IO layer (i.e., a dict from JSON or similar) should be clearly decoupled from the core data model of the class. One possible mechanism to do this is using staticmethod or a class method.
For example.
class Menu:
    def __init__(self, title:str, body:str):
        self.title  = title
        self.body = body

    @staticmethod
    def from_dict(d:dict):
        return Menu(d['title'], d['body'])

def example():
    # perhaps loaded from JSON or defined as code
    # in your app
    raw_conf = dict(title="Title", body="Content")

    m1 = Menu.from_dict(raw_conf)
    # if you "trust" the source and don't want to
    # explicitly write a "from_dict" method
    # then you can pass the dict.
    m2 = Menu(**raw_conf)
    return m1, m2

Unpopular opinion: using "no-schema" dictionaries with key access/validation in constructor is similar with using no-sql databases: technically, you still have a contract (or scheme), but implicit. I usually use pure python dict subclasses with fixed key sets (or dataclasses in new python versions). Errors will be more detailed with TypeError on creating MyDictyType object than on construction call of an another object.

I agree with @sitnarf comments. I believe the IO layer (i.e., a dict from JSON or similar) should be clearly decoupled from the core data model of the class. One possible mechanism to do this is using staticmethod or a class method.
For example.
class Menu:
    def __init__(self, title:str, body:str):
        self.title  = title
        self.body = body

    @staticmethod
    def from_dict(d:dict):
        return Menu(d['title'], d['body'])

def example():
    # perhaps loaded from JSON or defined as code
    # in your app
    raw_conf = dict(title="Title", body="Content")

    m1 = Menu.from_dict(raw_conf)
    # if you "trust" the source and don't want to
    # explicitly write a "from_dict" method
    # then you can pass the dict.
    m2 = Menu(**raw_conf)
    return m1, m2

May be better to use @classmethod here? Explanation

Thanks. These are all good suggestions. I've addressed them in d08459e. I'm closing this issue for now. Sorry it took so long.

@zedr no problem, thank you for addressing the issue! 😉

@zedr However, your code is not completely correct. See https://mypy-play.net/?mypy=latest&python=3.8&gist=4a366a0393a1341976132d00ef52f02e. Also, see https://www.python.org/dev/peps/pep-0589/#rejected-alternatives.

TypedDict unfortunately lacks default values. The problem can be mitigated by using @dataclass, but from my experience, using TypedDict is better, since it is much more clear and you can do syntax tricks like {**foo_dict, **bar_dict}.

TypedDict unfortunately lacks default values. The problem can be mitigated by using @dataclass, but from my experience, using TypedDict is better, since it is much more clear and you can do syntax tricks like {**foo_dict, **bar_dict}.
One way how to mitigate the lack of default values would be to use factory functions:
def make_menu_config(
    title: str, body: str,
    button_text: str,
    cancellable: bool = False
) -> MenuConfig:
    return MenuConfig(*args, **kwargs)

IMO best alternative for everything :) - attrs lib.  https://www.attrs.org/en/stable/why.html


Validation TagHelper for properties doesn't work for self-closing tags

I'm getting a weird behavior on validation taghelpers on RC1-update1. If you have an input with validation declared like this:

        <input asp-for="UserName" class="form-control"/>

And you are doing any kind of server-side property validation, either with Attributes or ModelState.AddModelError("UserName", "Invalid"), the field gets highlighted in red but the error doesn't show up when the page is returned.

To address this, you must change the code above to:

Then it will show up.
Is this by design? If so, is this specified somewhere?
Here's a repro sample: https://github.com/akamud/ValidationTagHelperSample

This is expected. The MVC tag helpers do not change whether an element is self-closing or not. We've discussed changing the behaviour but everything we've come up with was both too magical and had too many surprising corner cases.
aspnet/Tooling#398 is about making the problem more obvious in the VS editor.

Maybe this should be added to the validation docs (I couldn't find it) so people know this is expected?
I could make a PR for that if you think this is valid.

validation docs (I couldn't find it)

The right place would be with the rest of the tag helper documentation. Nothing about this behaviour is specific to the validation tag helpers.

I understand that it is not specific, but it could cause confusion with some users.
How about add this to the Tag Helper docs and make just a note about this behavior on the Validation docs, linking to the tag helper docs?

@danroth27 @DamianEdwards thoughts on how to resolve this type of confusion?

I agree the current behavior is surprising. There's nothing that prevents a tag helper from changing the rendering style of a tag - it's just not something the built-in MVC tag helpers will do for you. There also really isn't a single place in the docs where we can let people know about this behavior (maybe the intro to tag helpers doc?).
@DamianEdwards If we get this feedback a lot would we consider changing the behavior?

(FWIW,  elements' closing tags are not omissible: https://www.w3.org/TR/html5/single-page.html#the-span-element)

@tuespetre if you want to write a tag helper than fixes the .cshtml author's HTML errors, there's nothing stopping you. However the MVC tag helpers doing that for the few elements they target would be worse.

@DamianEdwards any thoughts on this? This would be a significant behavior change so it's now or never. I doubt we would change this after v1.

Something about the idea of auto-expanding these elements via the tag helpers leaves a bad taste in my mouth. Thinking...

Ok not planning on doing anything here at this time. We'll revisit this behavior in the future and perhaps find a way to alert a developer that something odd is going on.

For now I believe just a note in the documentation would help programmers and decrease the number of issues raised around this.

There is a SO question regarding this http://stackoverflow.com/questions/39464226/asp-validation-for-tag-helper-is-not-working-for-server-side-validation-errors

Ok not planning on doing anything here at this time. We'll revisit this behavior in the future and perhaps find a way to alert a developer that something odd is going on.

I'm closing this in favor of https://github.com/aspnet/Razor/issues/433
The fix for this would come from Razor/VS and would probably be a warning in VS, warning on pre-compilation. This would make it pretty visible.


Error when capturing pokemon

Impossible to capture pokemon since last pull master
[#] A Wild Eevee appeared! [CP 211] [Potential 0.56]
[#] IV [Stamina/Attack/Defense] = [11/1/13]
[x] Using Pokeball...
[x] Captured Eevee! [CP 211] [IV 0.56] - exchanging for candy
Traceback (most recent call last):
  File "./pokecli.py", line 187, in <module>
    main()
  File "./pokecli.py", line 178, in main
    bot.take_step()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 35, in take_step
    self.stepper.take_step()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 61, in take_step
    self._work_at_position(position[0], position[1], position[2], True)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
    self.bot.work_on_cell(cell, position, pokemon_only)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 120, in work_on_cell
    hack_chain = worker.work()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/seen_fort_worker.py", line 40, in work
    self.stepper._walk_to(self.config.walk, *position)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 87, in _walk_to
    alt, False)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
    self.bot.work_on_cell(cell, position, pokemon_only)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 90, in work_on_cell
    if worker.work() == -1:
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 135, in work
    if self.should_release_pokemon(pokemon_name, cp, pokemon_potential, response_dict):
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 213, in should_release_pokemon
    release_config = self._get_release_config_for(pokemon_name)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 255, in _get_release_config_for
    release_config = self.config.release_config['any']
KeyError: 'any'

Did you rename release_config.json.example to release_config.json?

No, I didn't, just use command line option.
And now I renamed this file, we'll see

Don't forget to check if the default config suits your needs.

What should I put in this config exactly ?
This is my config:
{
    "auth_service": "google",
    "username": "My email",
    "password": "And my password",
    "location": "2 Allée Adrienne Lecouvreur, 75007 Paris",
    "cp": 300,
    "max_steps": 50,
    "mode": "all",
    "walk": 4.16,
    "debug": false,
    "test": false,
    "initial_transfer": false,
    "pokemon_potential": 0.1,
    "location_cache": true,
    "distance_unit": "km",
    "item_filter": ["101","102","103","104"]
}

I just edited my email, password and location, it seems not enough to avoid error. It happens every time when capturing pokemon
Error:
[#] A Wild Hitmonchan appeared! [CP 499] [Potential 0.44]
[#] IV [Stamina/Attack/Defense] = [11/3/6]
[x] Using Greatball...
[x] Captured Hitmonchan! [CP 499] [IV 0.44] - exchanging for candy
Traceback (most recent call last):
  File "./pokecli.py", line 187, in <module>
    main()
  File "./pokecli.py", line 178, in main
    bot.take_step()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 35, in take_step
    self.stepper.take_step()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 61, in take_step
    self._work_at_position(position[0], position[1], position[2], True)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
    self.bot.work_on_cell(cell, position, pokemon_only)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 120, in work_on_cell
    hack_chain = worker.work()
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/seen_fort_worker.py", line 40, in work
    self.stepper._walk_to(self.config.walk, *position)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 87, in _walk_to
    alt, False)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/stepper.py", line 134, in _work_at_position
    self.bot.work_on_cell(cell, position, pokemon_only)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/__init__.py", line 90, in work_on_cell
    if worker.work() == -1:
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 135, in work
    if self.should_release_pokemon(pokemon_name, cp, pokemon_potential, response_dict):
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 213, in should_release_pokemon
    release_config = self._get_release_config_for(pokemon_name)
  File "/Users/ttran/TMPS/PokemonGo-Bot/pokemongo_bot/cell_workers/pokemon_catch_worker.py", line 255, in _get_release_config_for
    release_config = self.config.release_config['any']
KeyError: 'any'

You're looking at config.json.example not release_config.json.example ;). You don't need to use config.json.example if you pass arguments to the command line.

Since commit 8d40a4f90c644d37b5a27db48256280653b6277b, the bot will check if the release_config.json.example has been renamed to release_config.json.
@03t02 Have you gotten it to work?

Oh Sorry, my bad. misread. It works now :). Thanks you all

Anytime. Can you close the issue, please? Thanks!


Why is the Shortcuts not working with hover: active: events

UnoCSS version
0.50.6
Describe the bug
Shortcut classes does not work with hover: and active: events
shortcuts: {
  // default :hover and :active styles
  'hover-bg': 'bg-gray-200 cursor-pointer',
  'hover-active-bg': 'bg-gray-300',
}

Reproduction
none
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

because default separators is [':', '-']
https://github.com/unocss/unocss/blob/ef02bb17e20e646b3e07d8ef40bd6bf53dd5b7db/packages/core/src/config.ts#L100
https://github.com/unocss/unocss/blob/ef02bb17e20e646b3e07d8ef40bd6bf53dd5b7db/packages/preset-mini/src/_variants/pseudo.ts#L139
so you can set separators: [':']
export default defineConfig({
  ...
  separators: [':'],
}

Or rename your shortcut to avoid using hover- as the prefix. Yes.


🐛 BUG:  Environment variables in page functions not passing trough

Which Cloudflare product(s) does this pertain to?
Pages
What version(s) of the tool(s) are you using?
3.72.0 [Wrangler]
What version of Node are you using?
v20.10.0.
What operating system and version are you using?
Windows 10
Describe the Bug
When submitting the form on my webpage and invoking a function, the vars in the toml file dosent appear on context.env
Observed behavior
It shows this on webpage on return when submitting the form.
    {"ASSETS":{},"CF_PAGES":"1","CF_PAGES_BRANCH":"main","CF_PAGES_COMMIT_SHA":"ididid","CF_PAGES_URL":"urlurlurl","FORM_D1_DB":{"fetcher":{}},"FORM_R2_DB":{}}
Expected behavior
Vars showing up, so API_HOST = "example.com" should be in the env context, so something like this:
    {},"CF_PAGES":"1","CF_PAGES_BRANCH":"main","CF_PAGES_COMMIT_SHA":"ididid","CF_PAGES_URL":"urlurlurl","API_HOST ":"example.com","FORM_D1_DB":{"fetcher":{}},"FORM_R2_DB":{}}
Steps to reproduce
Please provide the following:

A minimal working subset of your worker code

    export async function onRequestPost(context) {
	    try {
		    return new Response(JSON.stringify(context.env), { status: 200 });
	    } catch (error) {
		    return new Response("Error: " + error, { status: 400 });
	    }
    }

A minimal working subset of your wrangler.toml

    name = "name"
    pages_build_output_dir = "./public"
    compatibility_date = "2024-08-18"
    compatibility_flags = ["nodejs_compat"]
    send_metrics = True

    [vars]
    API_HOST = "example.com"

    [[d1_databases]]
    binding = "FORM_D1_DB"
    database_name = "name"
    database_id = "ididid"

    [[r2_buckets]]
    binding = "FORM_R2_DB"
    bucket_name = "name"
    jurisdiction = "eu"

Commands used to start your local dev server, including custom env and cli args

Used live on webpage with GitHub repo linking to page project

Steps to be performed in the browser, curl commands, or a test we can run that reliably fails (at least a percent of the time)

Using a form on the index page with this html:
            <form method="POST" action="/api/submit" enctype="multipart/form-data">

                Namn
               <input id="name" name="name" type="text" maxlength="35" required/>

              <button type="submit" class="form_submit">Skicka</button>
            </form>

Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
No response

Are you able to provide a link to a repo with a reproduction? I'm testing this myself with this setup and it seems to return the environment variable correctly: https://github.com/emily-shen/6520-bug-repro

here is a repo https://github.com/Corsix9/cf-bug-6520-reporter-repro  with minimal repro that i get it to have the problem of not having VARS show in the context env. I deploy it to a pages project on cf and access the .dev page; https://cf-bug-6520-reporter-repro.pages.dev/

@Corsix9 it doesn't look like your wrangler.toml file is valid. https://github.com/Corsix9/cf-bug-6520-reporter-repro/blob/main/wrangler.toml#L5 should be send_metrics = true, rather than True (you should be able to see an error message about this in your Pages CI logs). If you make that change your project should be able to deploy with the right variables bound.


NaNs in sequence classifier output

Hello,
I have an enormous amount of nan and inf in outputs of quantized models for sequence classification. It is not the case with non-quantized models, which never outputs nans whatever the sequence classification head initialisation. I conclude it must come from the quantization of the classification head.
This is not due to the model outputing nans, as I tested the quantized version for text generation without any problem.
This behavior is observed for several quantized models.
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

model_id = "ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf"
# model_id = "ISTA-DASLab/Mistral-7B-v0.1-AQLM-PV-2Bit-1x16-hf"
# model_id = "ISTA-DASLab/Meta-Llama-3-8B-AQLM-PV-1Bit-1x16"
# model_id = "ISTA-DASLab/Meta-Llama-3-70B-AQLM-PV-2Bit-1x16"

quantized_model = AutoModelForSequenceClassification.from_pretrained(
    model_id,
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
    device_map=device,
    num_labels=2,
)

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
quantized_model.config.pad_token_id = tokenizer.eos_token_id

input_tokens = tokenizer([
    "There is a problem somewhere",
    "This is not related to the num_labels argument",
    "There are nan or inf way to many times to be normal"
    ],
    padding='longest'
    )

output = quantized_model(
    input_ids=torch.tensor(input_tokens['input_ids']).to(device),
    attention_mask=torch.tensor(input_tokens['attention_mask']).to(device)
    )
output.logits
>>>
# tensor([[nan, nan],
#         [nan, nan],
#         [nan, nan]], device='cuda:0', dtype=torch.bfloat16,
#        grad_fn=<IndexBackward0>)

For now, replacing the last layer with a non-quantized one solves the issue, but it is probably not an ideal solution.
new_head = torch.nn.modules.linear.Linear(
    quantized_model.score.in_features,
    quantized_model.score.out_features,
    device=device,
    dtype=torch.bfloat16
    )
setattr(quantized_model, "score", new_head)
type(quantized_model.score)

aqlm version : 1.1.6
torch : 2.3.1+cu121
nvcc version : 12.1
gcc version : 10.5.0
GPU : NVIDIA L40S

Hi!
As of right now, we only support quantized models with LM head (i.e. AutoModelForCausalLM).
For classifier, my guess is that the model created an empty classification head but it did not have any (quantized) weights associated with it. When initialized with empty data, quantized layers have undefined behavior.
Your workaround with explicitly initializing classifier head looks like a good (perhaps best) solution to this problem.
Unfortunately, we currently do not have time to explicitly support non-LM models (i.e. token classification, sequence classification, qa, etc). If you have bandwidth to implement such support without breaking LM models, we would welcome this as a pull request.


add config for v0.10.11 src14 dec2276

New Prod config
Self check-list:

[x] I have checked the lstchain config, in particular for:

[x] az_tel instead of sin_az_tel if data to be analyzed have been produced with lstchain <= v0.9.7
[x] "increase_nsb" and "increase_psf" are provided in "image_modifier" (if used)

[x] I have checked the environment in the lstmcpipe config and it is the one used to analyse DL>1 data
[x] I have provided the command (in README), or script (in additionnal .py file) used to produce the lstmcpipe config

Prod_ID
20240821_v0.10.11_src14_tuned
Short description of the config
full DL1ab production (with NSB tuning for src14) with lstchain v0.10.11
Why this config is needed
Analysis of future data taken on src13

I just realised that you probably want to use lstchain-v0.10.11 not lstchain-v0.10.7 as stated in the config.
I will update the config and start the prod

This prod is done @rlopezcoto 🏁


Update densenet.py

Consistency with other files

Linter is complaining (one extra line). Can you fix this?
Afterwards this should be good to go

@fmassa I removed the incorrectly indented lines


Refine deep learner

Keep training watch and MNIST worlds.
Adjust parameters.
Clean, condense, and comment ziptie
When performance is adequate, tag BECCA, watch and MNIST.
Make and publish a video of features generated by each.

With the tagging of becca 0.6.2, becca_world_watch 0.6.2.a and becca_world_mnist 0.6.2.a, this task is complete.


Wrong aa deletion?

Many inframe deletions of CCA on the page: http://exac.broadinstitute.org/gene/ENSG00000100811 (regarding the YY1 protein) suggest a deletion of the amino acid histidine. CCA is the codon for proline.  Why would a CCA deletion be stated as a His deletion and not a Pro?
Patrick

This is a deletion of CCA repeats, but the actual amino acids deleted are CACs - see: http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg19&highlight=hg19.chr14%3A100705787-100705793&position=chr14%3A100705762-100705818


Bump Grover and Puppeteer

What
Test PDF generation using latest Grover and Puppeteer
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
The standards in the Git Workflow document on Confluence should be followed
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

All good


Custom filter ordering doesn't work in ResultSet

System information:

Operating system (distribution) and version Win10
DBeaver version 7.3.0 EA

Steps to reproduce, if exist:

Open Custom filter for a table in the ResultSet
Set a criteria to order in Custom>Order by and press Ok

Expected: the specified column is sorted ASC
Actual result: the sorting is not applied
Workaround: do it in the Data Editor

Fixed in 21.0.2

DESC  sorting doesn't work in the Custom filter:

Open Custom filter for a table in the ResultSet
Set a criteria to order in Custom>Order by column_name DESC

Expected: the specified column is sorted DESC
Actual result: ASC sorting is applied

Fixed for cases: "Column DESC", "Column1,Column2"

verified


Change color to xAxis label

before I used to do:
"xAxis": {
    "label": {
        "color": "#d8d9da"
    },
},

How do I change now the color of the label by passing props? It seems like there is no XAxis.Label component. Should I pass some props directly to XAxis component? What would the format be?

Unfortunately, this is one of the occasions where we need to pass in a configuration object .
We should investigate how best to extract this as a component.
Example here

By the way this is the best work i've seen lately. I needed this sooooo much! Great great great work!

I can't get the text of the legend to get colored as I want. How would you do it?

This is probably a good use case for using the style by CSS import by the way.
In JS
import Highcharts from 'highcharts/js/highcharts'

CSS
@import url('https://code.highcharts.com/css/highcharts.css');

.highcharts-xaxis-labels text {
  fill: red;
}

.highcharts-yaxis-labels text {
  fill: blue;
}

.highcharts-legend-item tspan {
  fill: green;
}

Example here

By the way this is the best work i've seen lately. I needed this sooooo much! Great great great work!

And thanks 😀

Closing, please reopen if this remains an issue.