Getting a crash with the new update.

Game crashes when I press F to mark something and nothing's in range.
`Application has crashed: C++ exception
mods/Keepers/lua/playerstandard.lua:36: attempt to index a nil value
SCRIPT STACK
_start_action_intimidate() lib/units/beings/player/states/playerstandard.lua:3618
_check_action_interact() lib/units/beings/player/states/playerstandard.lua:2242
_update_check_actions() lib/units/beings/player/states/playerstandard.lua:910
update_original() lib/units/beings/player/states/playerstandard.lua:414
update() @mods/Burstfire/burstfire.lua:135
lib/units/beings/player/playermovement.lua:275

Callstack:
     payday2_win32_release  (???)     ???
     payday2_win32_release  (???)     zip_get_name
     payday2_win32_release  (???)     zip_get_name
     payday2_win32_release  (???)     ???

Current thread: Main

System information:
Application version : 1.80.413.
CPU : AMD Athlon(tm) X4 750 Quad Core Processor (2 cores); SSE; SSE2; SSE3; SSSE3; SSE4.1; SSE5
DirectX : 10.0
GPU : Radeon(TM) RX 460 Graphics / aticfx32.dll[<IP_ADDRESS>]
Language : english
Memory :     8147MB 408KB
OS : 6.1.7601 (Service Pack 1) 0x100-0x1 (64 bits)
Physics : threaded
Renderer : DX9 threaded
Sound : Realtek Semiconductor Corp. (Speakers (Realtek High Definition Audio))
`

It's something with the mod 'Keepers', not the BLT itself

Not a BLT issue.


Add mog_transform:withInitialValue: that overrides initial from the reducer

This serves two purposes.

Make it easier to use a simple reducer that doesn't define an initial or complete.
Make it possible to override the starting value (for example append to existing NSMutableArray.

Not for now.


test on windows fails

tests are ok on ubuntu and I assume by portability, it should work on windows.
On windows, as wsl is used, I have some issues because to run tests on github environment, it requires wsl + ubuntu dotnet + gcc installed so it faills. I tried to replace wsl by powershell , some tests fails (gcc warnings due to portability in c code ) and
As in windows , dll shall be executed in windows and cannot run in wsl, we need to use powershell instead of wsl. For compiler, gcc might work but we need some adjustement. I wonder if switching to llvm or microsoft c compiler is better or not.
I some tests it generate a .out file which cannot run on windows
So some tests have o be improved to be functionnal on windows/linux
This project is compatible x86/x64 but I wonder if x64 alone for testing is ok

I think when we first added github actions to StateSmith, the only free OS was linux. Is it possible to add windows-latest for free now?
The specification test running is rather complicated. It's written in a way to try and make it as easy as possible to add new programming languages to StateSmith. It could definitely use some clean up and refactoring.

WSL is used on windows, but I expect to have powershell (as dll generated cannot run under wsl)

WSL is only used to build and run the generated code projects:

[native OS] the StateSmithTest project is built and run
[native OS] each supported programming language runs StateSmith to generate target files (.c, .h, .cs, .js...). This is only done once per programming language. We use an xUnit IClassFixture for this. For C#, see https://github.com/StateSmith/StateSmith/tree/main/src/StateSmithTest/spec/2/CSharp .
An external process is then invoked to build the C/C#/JS specification project. If on Windows, WSL2 is used. The C# specification test project is here: https://github.com/StateSmith/StateSmith/tree/main/src/test-misc/csharp-spec2
For each of the 46 individual specification tests, an external process is invoked to run the C/C#/JS specification projects. If on Windows, WSL2 is used. The specification project run is provided input arguments for how to exercise the state machine. As the state machine is exercised, it prints to std out. The process output is captured and compared to what we expect.

Does that help explain why and when we use WSL?
This is pretty complicated. I think I'll make a write up or video that explains it better.

If you run into issues using StateSmith, you can sometimes find the answer on the wiki: https://github.com/StateSmith/StateSmith/wiki/Building-Source-and-Running-Tests
I like the idea of also running unit tests with native windows programs. Let's continue that particular discussion here: https://github.com/StateSmith/StateSmith/issues/262

@totocaca123 Do you think there is more work to do here? I'm pretty happy with the compiler test changes implemented in #262.


New RNN API introduced in v7.2

I implemented some helper functions for cuDNN's extended RNN APIs introduced in cuDNN v7.2.
This PR includes refactoring code to reduce change.

[x] fix typo #1838
[x] make a helper function #1839
[x] simplify code about cx #1842

jenkins, test this please.

Jenkins CI test (for commit 7cbb415059f12e88e9e06e1f5e8dfefc980c60f4, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

@unnonouno

jenkins, test this please.

Jenkins CI test (for commit 3607cdd8a3365ca9a0d9ee9e80f12104513faf01, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

LGTM!


add Russian translation

Adding Russian translation for Rotating Sun settings menu.

Looks great, thanks a lot!


Fixes the path to the commonjs-usable format. Fixes #133

Should fix #133 according to my brief testing.

:+1:

Since I kind of need this to be in sooner rather than later, if this isn't merged soon, I'll probably publish a quojs-standalone package until this gets merged in.

Merged!! :)

Awesome, thanks @soyjavi!

Thanks guys!

Er, @soyjavi I must have edited the wrong package.json becuase the main attribute in the published package.json is still incorrect. Should be https://github.com/soyjavi/QuoJS/blob/master/package.json#L11

Maybe he hasn't published it to npm yet? In the meantime, you can require the module straight from GitHub: https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

Looks like you're right @holic. Using the github method doesn't work because the coffeescript version of package.json in here isn't readable by npm. @soyjavi Can you publish a 3.0.9 with this change when you get a chance?


Remove the Bytes object

One of the first things I did when starting this project was to write a slice-type object. I made two versions, one that allows mutating the underlying data, and one that does not. It's actually not a great idea to have the mutating version, as it adds complication and weirdness (const_cast, CRTP stuff in a public header for no good reason). Furthermore, the user never actually needs it to use the API! It's only used internally. Most of the time when we need a non-const pointer for use as an out parameter, we already know the size of the memory it points to, or we are otherwise able to guarantee that it'll be large enough. We should be able to use raw pointers in these cases, and unify the Bytes and BytesView objects into a single Slice object.

I renamed BytesView to Slice, and moved Bytes into an internal header. It's too painful to remove all uses of it right now, since there are so many. The changes are in develop, I'll merge them in later on.


internal/zstd: fix seek offset bounds check in skipFrame

A bug where seeking beyond the end of strings.Reader or bytes.Reader
instances did not return an error is now fixed. The Reader.skipFrame
method has been adjusted to handle zero-sized frames without performing
redundant operations, improving efficiency and correctness.
The change involves a pre-check for size == 0 to update blockOffset
and return early. For non-zero sizes, it carefully seeks one byte less
than the size before manually incrementing relativeOffset to ensure
an EOF is caught if the seek went past the object's bounds.
This behavior aligns with expectations that an out-of-bounds seek should
result in an error, preventing potential silent failures in decompression
operations which could lead to unexpected behavior or security issues.
Updates #63824

(cc @klauspost)


Automatically generate tutorial README files

This PR adds a script that will generate

tutorials/README.md with YouTube playlist links and Colab/NBViewer badges for all student notebooks
tutorials/{day}/README.md with Colab/NBViewer badges for both instructor and student notebooks on that day

The script runs as part of the notebook processing workflow.
For the youtube links, it depends on a mapping defined in tutorials/youtube_playlists.txt. We'll need to track playlists both in the content review google sheet and in this file, which is kind of a pain. But compared to having the script parse the google sheet itself, this seems not obviously less robust, and it's much simpler than managing google credentials. The text file should be very easy to edit and PR directly from the github UI.
I could add a separate Github action that re-generates READMEs when the youtube link inventory is edited, but I haven't done that here. It's easy enough to run the script locally and push if need be.

Yeah I put it as draft so I could push a test notebook.
Changing the column names makes sense.

Good to go.


The Reactive data doesn't work with Array in Object

Version
2.3.3
Reproduction link
https://jsfiddle.net/ccforward/fa35a2cc/
Steps to reproduce

In this demo, (https://jsfiddle.net/ccforward/fa35a2cc/) I cannot render the template and the data resultWrong equals {}

In this demo, (https://jsfiddle.net/ccforward/zoo6xzck/), if I use a temporary variable to save the async data ,then I can get the result and render the template

If I add another function named as getRightData() in the methods, then the  getWrongData()  can work and the template can be rendered.
link: https://jsfiddle.net/ccforward/7f42owpc/4/

If I delete the getRightData() method, then the getWrongData() cannot work.
link:  https://jsfiddle.net/ccforward/7f42owpc/3/

What is expected?
https://jsfiddle.net/ccforward/zoo6xzck/
What is actually happening?
https://jsfiddle.net/ccforward/fa35a2cc/

You have to use Vue.set / this.$set() to add new keys to reactive objects.
https://vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats


Throw error when I import a script that does not exist

If I import a script that does not exist, I want the console to throw an error.

@TheNoumanDev give it a shot, let me know if you have questions


Use didRender in x-option

According to the ember 1.13.0 release notes, didRender will
be called after the element is inserted.
This makes manually scheduling code to the afterRender queue obsolete.
DEPRECATION: A property of <my-app@view:-outlet::ember547> was modified
inside the `didInsertElement` hook. You should never change properties
on components, services or models during `didInsertElement` because
it causes significant performance degradation.

+1 to merge this, this should resolve the deprecation messages Ember 1.13+ users have been experiencing.

@Robdel12 has this been fixed already in the 2.0 target branch?

Err, I think this is good. We just have to make sure once this is merged we're done with anything that isn't glimmer.


Special character % getting interpreted strangely

Summary
Passwords containing a % are getting interpreted as '%! (MISSING)'
Steps To Reproduce
Create a secret with a password containing one or more '%' characters
Expected behavior
Password treated as plain text
Environment
Mac OS 11.2
gopass version 1.12.0 go1.15.7 darwin amd64
Installed via brew
Additional context
Perhaps I am missing something but when I enter passwords using gopass insert -e -f  I get this strange behavior:
> gopass insert -e -f testaccount
Enter password for testaccount []: my%test%password%
Retype password for testaccount []: my%test%password%
> gopass show testaccount
Secret: testaccount

my%!t(MISSING)est%!p(MISSING)assword%!
(MISSING)

Yes, this was fixed in #1794.
We're cutting a patch release today to fix it.
I'm closing since this is a duplicate of #1793


Keyboard shortcut to move tabs left and right

I'm a very visual person, and I work better when I drag similar tabs together. I can do that using the cursor, but I'd love to be able to do that using the keyboard.
Ideally, there would be keyboard shortcuts to move a tab:

to the left
to the right
to the further left side
to the further right side

Basically, I'd love to be able to do in VSCode what I can do in Chrome using this extension.

I suggest you also ask on https://stackoverflow.com/questions/tagged/visual-studio-code?tab=Votes for commands that already do this.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Maybe replace "tab" with "editor", for example:

Pfff. Ah-mazing!
Thanks for looking into it!
Closing and updating the SO question too.


Adds plugin for OpenAI's Generative Artificial Intelligence platform

should we use the python library?
https://platform.openai.com/docs/libraries/python-bindings

@wssheldon yeah, I was just working on switching to it. chatGPTv4 doesn't seem to be aware of it, apparently :)

@mvilanova What's the end user experience like with this plugin?

What's the end user experience like with this plugin?

@sara4dev the plugin does not change the UX at the moment, but it's there in case collaborators want to experiment with it. We have some ideas on how to leverage it that we will be experimenting with and potentially merge this year. I started a discussion with some of them in case you want to check it out/ contribute to.

@mvilanova - got it. I would like to contribute in this effort, could you include me in the discussions?


Filepond documentation doesn't display all content outside of print-view

When viewing the docs, (specifically https://pqina.nl/filepond/docs/patterns/plugins/introduction/) there's a link to read more about registering plugins. The anchor then shows in the browser url bar, but nothing is navigated to on the page. If you find the same link in the print-view version of the docs, the anchor works as expected, and there's documentation about registering plugins.
I was unable to find the content outside the print-view.

It should link to this page:
https://pqina.nl/filepond/docs/patterns/api/filepond-object/#registering-plugins
Will update the docs.


Add module examples and general docs edits.

This is globally good, nice work! Take a look at my comments.

Looks good to me, aside from a few nits.
Bonus points if you add #![deny(missing_docs)]! 😄

Thanks for the comments! I think I addressed all of them. :smile:

Thanks!


When Does The Device Token Change For APNS and FCM

I get that the device token gets stored in localstorage and that the app checks to see if the registrationid changed using the code below. What are all the scenarios that device token could change? Could the device token change if I don't quit out of the app, minimize the app, and then bring the app back up again?
var oldRegId = localStorage.getItem('registrationId');
if (oldRegId !== data.registrationId) {
// Save new registration ID
localStorage.setItem('registrationId', data.registrationId);
// Post registrationId to your app server as the value has changed
}

@dmarcus1 the registration ID can change at any time that APNS or FCM/GCM feel like refreshing the tokens. However, that is pretty infrequent. If the app is running you'll get a registration event. If your app is not running then you'll get the updated registration ID then next time it starts.


about cuda version

Hi, I am trying to deploy this project, I encountered the following error:
(OpenBioMed) root@iv-ycdgpn6dke7grboy6e0h:~/OpenBioMed/open_biomed# bash scripts/dti/train_baseline_regression.sh

/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_geometric/typing.py:31: UserWarning: An issue occurred while importing 'torch-scatter'. Disabling its usage. Stacktrace: /root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_scatter/_version_cuda.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKSs
  warnings.warn(f"An issue occurred while importing 'torch-scatter'. "
/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_geometric/typing.py:42: UserWarning: An issue occurred while importing 'torch-sparse'. Disabling its usage. Stacktrace: /root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_sparse/_version_cuda.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKSs
  warnings.warn(f"An issue occurred while importing 'torch-sparse'. "
Traceback (most recent call last):
  File "tasks/mol_task/dti.py", line 19, in <module>
    from datasets.dti_dataset import SUPPORTED_DTI_DATASETS
  File "/root/OpenBioMed/open_biomed/datasets/dti_dataset.py", line 17, in <module>
    from feat.drug_featurizer import SUPPORTED_DRUG_FEATURIZER, DrugMultiModalFeaturizer
  File "/root/OpenBioMed/open_biomed/feat/drug_featurizer.py", line 21, in <module>
    from torch_geometric.data import Data
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_geometric/__init__.py", line 1, in <module>
    import torch_geometric.utils
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_geometric/utils/__init__.py", line 8, in <module>
    from .dropout import dropout_adj, dropout_node, dropout_edge, dropout_path
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_geometric/utils/dropout.py", line 6, in <module>
    import torch_cluster  # noqa
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_cluster/__init__.py", line 18, in <module>
    torch.ops.load_library(spec.origin)
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch/_ops.py", line 255, in load_library
    ctypes.CDLL(path)
  File "/root/micromamba/envs/OpenBioMed/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /root/micromamba/envs/OpenBioMed/lib/python3.8/site-packages/torch_cluster/_version_cuda.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKSs

It seems to be an issue with the CUDA version.
May I know which CUDA version you are using?
If possible, please also let me know the versions of PyTorch and other necessary dependencies. Thank you.

Hi，thanks for your interest in OpenBioMed.
The CUDA version we used is 11.4, you can install PyTorch and other necessary dependencies use the following command. Other versions of CUDA like 11.3 work as well.
# linux
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch

We will supplement the dependencies of the environment in requirments.txt and build a docker image soon.
Best wishes！

Hi there, this may be an issue related to the installation of extensions of PyTorch Geometric. You may have to manually download wheels from https://data.pyg.org/whl/ according to your version of PyTorch, then run pip install <wheel_filename> for each extension.
We used

torch_cluster-1.6.0-cp38-cp38-linux_x86_64.whl
torch_scatter-2.0.9-cp38-cp38-linux_x86_64.whl
torch_sparse-0.6.14-cp38-cp38-linux_x86_64.whl
torch_spline_conv-1.2.1-cp38-cp38-linux_x86_64.whl

with PyTorch version 1.12.1+cu116 and PyTorch Geometric version 2.2.0.


docs: update libraries-bom

Is the libraries-bom update automated in any way? I suspect our docs page reads directly from here.
The tests took over hours to finish. Is there a way to skip some of these tests for README changes?

@elharo Thanks for approving the PR. I started a rerun to see if they will pass this time.
Could you point me to the autoupdater so I could take a look for this library?

You can ask @chingor13 about the auto-updater.


[3.7.0] No key or keycard spawn as loose loot

General information:
Project issue is for:
Server
Expected result:
Keys spawning as loose loot in maps
Actual result:
No keys or keycards are spawned
In locations looseLoot.json files we can't find any instance of any keys to be spawned.
May need new dump from live ?
How to reproduce:

Go in raid
Don't find any key
???
Don't profit

Log files:
No log

Originally written by TonioX

Per my understanding, there are two core issues:
1: There is less loot in "offline raids" in the live client than in "online raids". It's not just that the quantity is lower, but the quality is also lower. Loose key spawns are one of the most heavily impacted categories of loose loot.
2: The loot tables for SPT rely on dumping the data from a large number of "offline raids" with a live client. It's my understanding that those raw loot dumps are then used to build the loot tables for SPT. Due to the lower loot quality/quantity on official "offline" raids, somewhere in the neighborhood of ~500-5000+ loot dumps are needed for every one of the 9 maps in the game in order to have enough raw data for the "final" loot tables to accurately represent what you are able to get from official "offline" raids.
Since I know that I've found both those Shoreline keys on recent "official" releases of SPT, my guess is that the new "random container spawn" system introduced with the 13.5 patch forced the SPT devs to start the loot dumping process entirely from scratch, so it wouldn't surprise me if there's stuff that's still not in the SPT loot tables because it isn't in any of the dumps yet (either due to insufficient sample size, or BSG screwing things up and making them not spawn in offline raids at all).
If you want to help by using your time and machine to generating more loot dumps to submit to the project, I'm sure they'd love the help.
Also, Chomp: I'm not sure how you're collating the raw dumps to form the SPT loot tables, but would it be practical to create/add some sort of function to check for the number of loot dumps that include specific loose spawns (particularly keys), and then spit out which of those items were found in the input dump files, and how many dump files they appeared in? In the long term, that might be a good way to gauge whether "enough" dump files have been collected for each map and/or which maps likely have more need of additional dump files.
If you think that'd be worthwhile, I'd be happy to suggest a list of keys (names and item IDs) to use for each map.

Originally written by Brin

Closing this as Dumps have made this ticket likely outdated.

Originally written by CWX


Data Science with Python : Edges & Contours using OpenCV

Description 📜
I have added Edges & Contours using OpenCV file in computer vision and tigers.jpeg and shapes.jpeg files to DSresources/computer vision. It includes a way to do edge detection and contour detection using canny and draw contour function. I have also added code with descriptions, comments such that its easy for everyone to understand the code .
Fixes # <issue_number_here>
#370

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Datascience with Python

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@prathimacode-hub  How is it

want to contribute
mohit kumar
issue 1016
approach:
What are contours?
Application of Contours in Computer Vision
Different contour retrieval techniques

@prathimacode-hub How is it  now

We will review it and let you know. Your file is under processing.

We will review it and let you know. Your file is under processing.

alright

Issue reviewing will be done by mentors first. For structure glitches here it is
Changes to be done 👍

The issue contribution should be under "/Computer Vision/Libraries/Edges & Contours using OpenCV
The project file name should be in snake case : edges_and_contours.ipynb
The readme file should be as README.md
You can add up many more topics like features, how it's optimized, advantages.
Provide overall summary of things done in conclusion so that final outcome said is been justified

Kindly work on these things until mentors get back to you. @Adi7171

@prathimacode-hub @DhruvBajaj01 I added the changes

This PR will be merged once receives an approval from one of your mentor. @Adi7171
@DhruvBajaj01, Look into this.

Add up the respective datasets used in "DS Datasets" in "Computer Vision" folder and resources referred in "DS Resources" in "Computer Vision" folder @Adi7171

Add up the respective datasets used in "DS Datasets" in "Computer Vision" folder and resources referred in "DS Resources" in "Computer Vision" folder @Adi7171

I didn't use any datasets and only images are the resources which I used and you told me me before not to keep there

Your PR is approved. Congrats on your first PR. This was an amazing start. 👌✔@Adi7171


Add background color to tags

Similar to how GitHub shows labels.
All tags can be shown with the same color

Fixed in #200


Fix misleading error msg & adding "contains" argument in CLI tests

This PR tackles 2 small bugs.
The first was mistakenly introduced in #145.
The bug causes the error message of porchctl cmd's that edit the package-revision's resources AND they fail e.g. copy failing due to not being published, will also be padded with the error message related to rendering error.
Example error with bug
porchctl -n porch-demo rpkg copy porch-test-3a6d81f91097fa9b935edd53e4f20110785cc25a --workspace=asdsqweaasdads
Error: Internal error occurred: source revision must be published

Error occurred rendering package in kpt function pipeline.
Package has NOT been pushed to remote.
Please fix package locally (modify until 'kpt fn render' succeeds) and retry.

Error should be as follows
porchctl -n porch-demo rpkg copy porch-test-3a6d81f91097fa9b935edd53e4f20110785cc25a --workspace=asdsqweaasdads
Error: Internal error occurred: source revision must be published

The reason this occurred is because the code did not include a wrapping/check for the task type being of type=eval which is the render tasks only which has been rectified in this PR.
Secondly added a argument called ContainsErrorString in the CLI tests. this argument allows tests to check the output if it contains a sub-string instead of an exact string match which it currently does.
This was added to amend an issue with certain error messages returned by porch CLI not being consistent.
For example here

/test presubmit-nephio-go-test

/approve
/lgtm


Added infrastructure in metadata for ios extensions and the new require functionality. Fixed #128, Fixed #127

iOS Extensions availability is added in metadata file.
Metadata file is always initialized when used.
Availability check is extended to check the context in which it is running - ios app or ios extension, and check the correct availability.
Added modules information and module table in metadata and exposed in metadata API in the runtime.
Refactored Metadata API (removing MetaFile and MetaFileReader)

:+1: after formatting

I think that this is too big a change for a single pull request. I suggest splitting in three: new metadata api, extension availability awareness, and modules.

The pull requiest will be splitted in two pull requests:

Metadata API refactoring
Module info added in metadata


oEmbed server

To make Discord embeds more informative.

This is done since the addition of GET /b.


bring back snap and pips, somehow lost in recent commit

:+1:

Thanks! Just having a look at what is up with Travis

Will upgrade the chain separately

0.7.0 just got published with this fix and #19

Thanks!


Log out after 600 refresh

Hello
I get logged out after 600 refresh, I have read other posts but mine seems to happen on the number every time.
Any ideas?
Thanks

You beat me to it, Helinate! I have also been logged out several times now, on the 600th refresh.
I'm going to reduce the refresh rate to every 10 or 15 secs for now, just for duration / coverage. Otherwise I'm scared I'm going to miss out on a large dump of December dates, due out soon...

Yep me three, just had it happen now

Yes I can confirm this as well :S

The process is bombing out consistently now after 600 refreshes. Terminal output is below:
Welcome to the MIQ Booking Assistance!
A new browser window should appear. Please navigate to "Secure your allocation" page.
Found "Secure your allocation" page! Wait for beep sound, confirm the date selected is what you want, then do the reCAPTCHA and click 'next' to continue booking.
Checked MIQ: 600 times, last checked at: 07/08/2021, 22:00:46
/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:509
const timeoutError = new Errors_js_1.TimeoutError(waiting for ${options.title} failed: timeout ${options.timeout}ms exceeded);
TimeoutError: waiting for selector #accommodation failed: timeout 30000ms exceeded
at new WaitTask (miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:509:34)
at DOMWorld.waitForSelectorInPage (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:420:26)
at Object.internalHandler.waitFor (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/QueryHandler.js:31:77)
at DOMWorld.waitForSelector (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/DOMWorld.js:313:29)
at Frame.waitForSelector (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:841:51)
at Page.waitForSelector (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2252:33)
at prepareAndCheckPage (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/miq-assistance.js:119:16)
at prepareAndCheckPage (/miq-nz-booking-tools-master-9/MIQ-Booking-Assistance/miq-assistance.js:138:15)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)

Also having the same issue. Wonder if there would be a way that the program could reset it's self after 590 refreshes or something and just start form 0?

I was just watching this happen on the 600th refresh. As far as I can tell it is actually the MIQ website that is ending the session here not this booking tool.

The only workaround I can see at the moment as mentioned above is to increase the timeout value from 1000 in miq-assistance.js:
await page.waitForTimeout(secondsTillRefresh * 1000);
1500 just ran for around 4-5 hours with 1527 refreshes.

Hi everyone, having this same issue. What effect does increasing the timeout value have? Does it increase the refresh rate set in the main part of the tool?

Hi there, first time poster on github/ only just registered with sole purpose to download this script and run it, to try and get a spot in NZ MIQ. What a ball-ache. Thank you to everyone who have been helpful in comments and above to the authors of the script.
I just downloaded and was getting booted after 600 refreshes.
I changed the:
<<await page.waitForTimeout(secondsTillRefresh * 1000);>>
to 1500 as suggested by @mquinn023 to try and avoid any issues. So far so good.
In the miq-assistance.js file, on line 16, it says: "But if you like you can prefill credentials instead. To do this you have to change the option to "login", run the script and login. Afterwards you need to switch back to "login-done" and restart the script"
I followed these instructions, but after logging out and logging back in, I still had to enter in my login credentials. I am assuming this part does not work/ apply anymore as on the login screen on the MIQ page you have to the recaptcha and select the box that "you are not a robot".
Any advice is greatly appreciated.
Thank you.

Hi there, first time poster on github/ only just registered with sole purpose to download this script and run it, to try and get a spot in NZ MIQ. What a ball-ache. Thank you to everyone who have been helpful in comments and above to the authors of the script.
I just downloaded and was getting booted after 600 refreshes.
I changed the:
<<await page.waitForTimeout(secondsTillRefresh * 1000);>>
to 1500 as suggested by @mquinn023 to try and avoid any issues. So far so good.
In the miq-assistance.js file, on line 16, it says: "But if you like you can prefill credentials instead. To do this you have to change the option to "login", run the script and login. Afterwards you need to switch back to "login-done" and restart the script"
I followed these instructions, but after logging out and logging back in, I still had to enter in my login credentials. I am assuming this part does not work/ apply anymore as on the login screen on the MIQ page you have to the recaptcha and select the box that "you are not a robot".
Any advice is greatly appreciated.
Thank you.

Update - I got to 424 refreshes and then I was logged out. I am not sure if this was because I was temporarily blocked from too many refreshes (I did not get a warning message etc stating that), OR was it due to inactivity. If it was due to inactivity, is there way to edit the code such that this is avoided?

The login feature automates the population of the login fields just fine. Just add your email and password, set it to login (rather than login-done) and leave it like that.

Thanks @GaryBartlett, appreciate it!

await page.waitForTimeout(secondsTillRefresh * 1000);
1500 just ran for around 4-5 hours with 1527 refreshes.

You don't need to change the code for that. Just change page refresh time in the user interface to 7.5 (default is 5 multiplied by 1.5)

What effect does increasing the timeout value have? Does it increase the refresh rate set in the main part of the tool?

Yes, it's the same.


Error using median_vaf_purity on a combined-polyphen-snpeff.vcf

Getting the following error when trying to estimate median_vaf_purity on a combined/merged VCF file.
/home/jacquelineburos/projects/cohorts/cohorts/functions.py in grab_vaf(variant)
    271     def grab_vaf(variant):
    272         filterable_variant = FilterableVariant(variant, variants, patient)
--> 273         return variant_stats_from_variant(variant, filterable_variant.variant_metadata).tumor_stats.variant_allele_frequency
    274     vafs = [grab_vaf(variant) for variant in variants]
    275     return 2 * pd.Series(vafs).median()

/home/jacquelineburos/projects/cohorts/cohorts/variant_stats.py in variant_stats_from_variant(variant, metadata, merge_fn)
    189             stats = mutect_somatic_variant_stats(variant, variant_metadata)
    190         else:
--> 191             raise ValueError("Cannot parse sample fields, variant file {} is from an unsupported caller.".format(variant_file))
    192         all_stats.append(stats)
    193     return merge_fn(all_stats)

ValueError: ('Cannot parse sample fields, variant file /mnt/disks/data/xxxx-1normals-1tumors--b37decoy/passed_somatic_combined_polyphen-snpeff.vcf is from an unsupported caller.', 'occurred at index 0')

@jburos it currently looks for "mutect" or "strelka" in the filename to figure out how to parse the file. Silly, I know. We need to do better--

@tavinathanson yep, i figured it was something like this. just noting for now, it's not urgent atm. seems like having an "other" category & parsing like a generic vcf would be useful -- i assume there is a generic vcf format?

@jburos my understanding is that we can't rely on a standard format for things like depth and VAF, hence needing to understand the caller in order to grab them. But we should be able to infer the format.

Here is the backstory on this one: Strelka's VCF implementation is not complete and VCF validators fail them because of the weird choice of fields/annotations they use in the VCF. The funny things is that its developers are aware of this and the whole Biostars has been complaining about this, but still no change/fix.
The main problem with Strelka in terms of the VAFs is that Strelka doesn't output a VAF field since the number of reads supporting each allele is coming from simulations. This is especially true for the indels and although there is a way to get a VAF-like number out for these variants, it is often not in line with the other tools' estimation. The only exception to this is the variants that are called by both callers, where we do see almost exactly the same VAF across tools (Search the bladder repo for keyword Strelka and there is a notebook that is investigating this issue). So that is why the VAF extraction fails with Strelka variants, since there is no VAF in those VCFs :(
Furthermore, MuTeCT does a terrible job with naming the variant columns and I found that the only way to tell a tumor sample from the normal one is to look within the header. This is very mutect-specific and therefore fails on non-mutect/GATK files.
Jacki, if you are doing lots of VCF reads, you might want to drop all "REJECT"ed variants from the mutect file to speed up the process. PyVCF is just terrible with huge VCFs and I assuming it should be taking quite a lot of time to process the mutect ones. Just FYI.

Yikes - @armish thanks for this backstory. It all sounds pretty horrifying. Seems like everyone would benefit from a "format normalization" tool which might sanitize/fix vcfs into a sane format, and perhaps address some of these issues along the way.
On a more practical angle, what is the best way for me to confirm that I am processing the vcf files correctly? This makes me a little nervous to think we might be misreading them accidentally.

@jburos: unfortunately there is no silver bullet here: pyvcf is pretty robust and is the de facto library for the field so I trust it; but unless you make sure you have the cython libraries installed up-front, its default Python-based implementation can become too slow for large VCFs (one solution is to pre-filter VCFs down to non-REJECTED ones). There is a relatively new variation of pyvcf valled cyvcf which is blazing fast and builds on top of pyvcf methods. It is great for reading a large VCF file if performance is an issue, but extracting variant annotations is a bit harder/non-intuitive compared to pyvcf.
If you are interested in ETLing the annotations, then either pyvcf or cyvcf is the way to go. If you are only interested in the variants themselves, then varcode.load_vcf does a decent job by utilizing pandas's table read (which speeds things up).
But as a rule of thumb: I suggest always checking for None values when getting a variant annotation and also never assuming that the VCF is uniform.


⚠ SceneTime has degraded performance

In cfaddd1, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 4812 ms

Resolved: SceneTime performance has improved in b3f6d7d after 7 minutes.


Fix supported markdown-lint violations in markdown files

No description provided.

@MAJKYTHEBOSS

<EMAIL_ADDRESS>MichalHorvat www.Atumcurrency.com


Cache in Paginator module supports only Memory and Filesystem adapters

There are problems with cache in Paginator module Zend/Paginator/Paginator.php.
The Paginator class uses for caching an Adapter object, which implements Zend\Cache\Storage\StorageInterface. But this class uses methods from Adapter which are not declared by StorageInterface:

Lines 372, 710: Zend\Cache\Storage\IterableInterface::getIterator()
Lines 375, 713, Zend\Cache\Storage\TaggableInterface::getTags()
Line 620, Zend\Cache\Storage\TaggableInterface::setTags()

This is a problem, because only Memory and Filesystem cache adapters implement IterableInterface and TaggableInterface. Other adapters will throw a runtime error i.e. Apc, Dba, Memcached, Redis, Wincache, XCache, ZendServerDisk, ZendServerShm.
I think, the only possibility is to rewrite the cache handling in Paginator module, so it doesn't require additional interfaces. Otherwise, we should explicitly mention that only an instance of Memory or Filesystem adapter is allowed to be used as cache in Paginator.

Absolute links to code references:

https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L372
https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L710
https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L375
https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L713
https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L620

These additional interfaces are only used by two methods:

getPageItemCache() https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L705
clearPageItemCache() https://github.com/zendframework/zf2/blob/9ee2075758265876b294a14287c135c63ff241f7/library/Zend/Paginator/Paginator.php#L364
Iterator is used to get all elements from the cache, and tags are used to distinguish between paginator and other entries. But I don't really understand, why the complicated tags logic is needed here. Couldn't we just make it simpler and check that each cache element key starts with self::CACHE_TAG_PREFIX for namespacing? I'll make a small example today.

@hver beware that the entire caching mechanism is due to legacy bits since the port from zf1: the fact that the cache is static is already a big concern.

@Ocramius I have removed the dependencies from TaggableInterface. But as you told, I'm not sure if the removed tags logic were there due to backwards compatibility.
I still have no idea how to get rid of IterableInterface dependency. StorageInterface provides no possibility to gel all cache items.

@hver The paginator component needs to be refactored to well handle caching:

move caching support from Zend\Paginator\Paginator into specific adapters to solve auto generation of cache key currently based on spl_object_hash or serialize
reduce caching mechanism to only use basic methods getItem / setItem / ...

cleaning cache items is up to the configured cache adapter and/or to the user
means the user can use cache storage specific features to remove more than one item

@hver I would be happy to see a PR (marked for ZF3 as it's an BC break) addressing this but I don't have enough time

@marc-mabe I'll try to refactor the Zend\Paginator\Paginator. (Because of my vacation, it will take some time)


Error building site

`Building sites … ERROR 2019/12/27 15:08:31 render of "taxonomyTerm" failed: execute of template failed: template: _default/category.terms.html:30:46: executing "_default/category.terms.html" at <len .Site.Params.mainsections>: error calling len: len of untyped nil
ERROR 2019/12/27 15:08:31 render of "home" failed: execute of template failed: template: index.html:30:46: executing "index.html" at <len .Site.Params.mainsections>: error calling len: len of untyped nil
Total in 11 ms
Error: Error building site: failed to render pages: render of "taxonomyTerm" failed: execute of template failed: template: _default/tag.terms.html:30:46: executing "_default/tag.terms.html" at <len .Site.Params.mainsections>: error calling len: len of untyped nil
`

I am using
Hugo Static Site Generator v0.58.1-24277B92/extended linux/amd64 BuildDate: 2019-09-06T09:25:12Z

please paste your config.yml.
@kprasadvnsi according to your error log, may be you didn't set this param.
params:
  enablePostCopyright: true
  # the directory under content folder that you want to render
  mainSections: ["posts"

yup, you are right. adding this code solves the problem.

I followed the Hugo quickstart guide and most of the themes work out of box with default config.tomal file. IMHO this theme should also be compatible with the official Hugo quickstart guide.

May be later.You can take a look at examleSite/config.yaml and READEME


Add initial files

Overview of changes:

c987090 Add basic documentation
339709a Add pre-commit hooks
7f321be Create CHANGELOG.md file
cbb72c8 Add dotfiles and config files
f472e91 Configure Jest
c910379 Remove boilerplate static files
9a43d0b Add common react hooks
f36ac76 Add tiny localization framework
70f2520 Remove boilerplate files
53017ad Add base styles
6e21025 Add TypeScript typing utils
4fdaf46 Fix TypeScript errors
feb29ea Add internationalization helpers
f453727 Add a Loading Context
6b7f73a Add a React Error Boundary
af8f0e4 Fix failing test
cc353f7 Add issue templates
dd66787 Add Chrome Extension manifest v3 file
e777219 Add GitHub action for running unit tests

Looking good. Need to build/run locally and then I'll approve.

For some reason it seems to be failing the Jest tests locally for me at "src/components/Atoms/Internationalization.tsx:107:27" with the error: " RangeError: Value dateTimeField out of range for Intl.DisplayNames options property type at new DisplayNames ()"
I feel like this might be something about my computer because the error really makes no sense, clearly 'dateTimeField' is in the range of possibilities for that type.

I believe you are running an older version of Node.js.
Please upgrade to Node.js 18 (which is the current release) and the issue will be fixed
For reference, here is how successful output would look like - https://github.com/maxxxxxdlp/calendar-stats/runs/8271512945?check_suite_focus=true#step:8:1

Good call, that fixed it!


Error spam on mobile renderer (usage type error)

Tested versions

Reproducable in 4.3 master (1aab6e96b96af734d1fe5979d30d1a4232cb270d)

System information
Windows 10
Issue description
When using the mobile renderer without any effects such as glow or dof or usage of screen texture, log is getting spammed with:
Tracker can't have more than one type of usage in the same draw list. Draw list usage is 15 and the requested usage is 14.
Tracker can't have more than one type of usage in the same draw list. Draw list usage is 15 and the requested usage is 14.
Tracker can't have more than one type of usage in the same draw list. Draw list usage is 15 and the requested usage is 14.

Steps to reproduce

Create a new project selecting the mobile renderer
Using the 3 dots environment settings button, turn OFF glow (on by default):

Watch the errors fly by :)
Minimal reproduction project (MRP)
n/a

Note that this is caused by Godot applying a 2 subpass approach when no effects are on for maximum performance.
Subpass 1: Renders 3D content to an RGB10A2 buffer
Subpass 2: Reads from the RGB10A2 buffer, tonemaps and color corrects the result, and writes to our RGBA8 output.
This approach results in the RGB10A2 data never leaving tile memory.
Because subpass 1 writes to the RGB10A2 buffer, and subpass 2 reads from this buffer, the error is falsely given.

Important clarification: it only gets logged in dev builds as that's the one that detects the error, it won't happen in release builds. It doesn't actually result in an error because the underlying layout is the same Vulkan, but it's an error nevertheless.
I'll look into some possible solutions soon as it requires adding an exception to the graph for the particular case of the color attachment usage in both write and read only modes.

Important clarification: it only gets logged in dev builds as that's the one that detects the error, it won't happen in release builds. It doesn't actually result in an error because the underlying layout is the same Vulkan, but it's an error nevertheless.

You'd be amazed at how many users panic when they see errors, esp if it repeats :)

You'd be amazed at how many users panic when they see errors, esp if it repeats :)

Yeah it should get fixed, just clarifying in case someone wants to reproduce it you can only see it in dev build mode.


add undelegate callback unittest

Context and purpose of the change
Add UndelegateCallback unittests. This also breaks up UndelegateCallback into smaller functions and adds some unittest helpers.
NOTE: I'm still writing tests for UpdateHostZoneUnbondings, but wanted to open this up for review because everything else is done
Brief Changelog

Add success case test and failure case tests for UndelegateCallback
Break up UndelegateCallback into four sub-functions

UpdateDelegationBalances
GetLatestCompletionTime
UpdateHostZoneUnbondings
BurnTokens

Add msgResponse argument to ICAPacketAcknowledgement so that we can return mocked response types in TxMsgData (required to to get the unbonding time)

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] manually tested (if applicable)
[ ] confirmed the author wrote unit tests for new logic
[ ] reviewed documentation exists and is accurate

Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md?
[ ] This pull request updates existing proto field values (and require a backend and frontend migration)?
[ ] Does this pull request change existing proto field names (and require a frontend migration)?
How is the feature or change documented?

[X] tests

@sampocs I

updated the Require messages
added the remaining tests
addressed your other comments


Broken link in mobile documentation

There are a few broken links.
The first link in this page
https://github.com/mozilla-l10n/localizer-documentation/blob/master/src/products/firefox_ios/adding_new_ios_locale.md
Link to screenshots in Focus page
https://github.com/mozilla-l10n/localizer-documentation/blob/master/src/products/focus/testing_focus.md

To be clear, no clue what your plans are for the Focus page.

Plans are not definite for Focus, so for now, probably best to just keep them there.

Just read the doc for Focus again, and now I get your point.
It gives the impression that this project is still active from an l10n standpoint, and there's no use in knowing how to test it, if corrections don't get in anyways these days.
Is it possible to just hide that folder (in case we need it in the future again)? Did a quick online search and haven't been happy with the results I've found (as in, they are multiple and not sure what's the easiest for us in this case). Thanks!

There's no hiding, you should remove it. If we need to add it back, we can recover it from history of the repository.


added array based version of TestStore.assert

cmon, how to I get conflicts, I pulled. Ignore until I sort this out

Well, that was embarassing :D all good now?

Looks good!


Save and load policies from a file

The MJX tutorial has a partial example, but it's incomplete, as it relies on a make_inference_fn that was created during training and never saved. We should have some utilities to make saving and loading easy, particularly for non-default policy architectures.

Whoever picks this up should start from here: https://flax.readthedocs.io/en/latest/api_reference/flax.serialization.html


Update IPEX import and device definition

intel_pytorch_extension has been renamed to intel_extension_for_pytorch for legal reasons (the prior no longer exists in any of the conda or pip channels)
you no longer need to specify ipex.DEVICE from the ipex documentation "The underhood device is changed from the extension-specific device(XPU) to the standard CPU device which aligns with PyTorch CPU device design regardless of the dispatch mechanism and operator register mechanism. The interface impactions are that the model does not need to be converted to the extension device explicitly." https://intel.github.io/intel-extension-for-pytorch/1.10.100/tutorials/releases.html#highlights

closed request to add the optimization function required by the updated package.


Tr/fixes

Type
enhancement, documentation

Description

Introduced a new function _perform_commands_gitlab in gitlab_webhook.py to execute configured commands for GitLab webhooks, enhancing automation capabilities.
Updated the GitLab webhook handler to use the new command execution function for merge request events.
Added documentation for setting up and configuring GitLab webhooks, including how to specify commands to run automatically.
Added a new configuration option to enable help text for the /checks command in CI feedback documentation.
Simplified the GitLab section in the configuration file and introduced pr_commands to specify commands for automatic execution.

Changes walkthrough
Relevant filesEnhancement

gitlab_webhook.pyIntroduce Command Execution for GitLab Webhooks

pr_agent/servers/gitlab_webhook.py
Added a function _perform_commands_gitlab to execute configured GitLab commands.  Updated gitlab_webhook function to use _perform_commands_gitlab for merge request events.  Added imports for update_settings_from_args and apply_repo_settings.

+18/-1

configuration.tomlUpdate Configuration for CI Feedback and Simplify GitLab Settings

pr_agent/settings/configuration.toml
Added enable_help_text configuration under the checks section.  Simplified and updated the GitLab configuration section with pr_commands.

+7/-12

Documentation

Usage.mdDocument GitLab Webhook Setup and Command Configuration

Usage.md
Added a new section for GitLab Webhook setup and configuration.  Explained how to configure commands to run automatically for GitLab PRs.

+11/-0

CI_FEEDBACK.mdAdd Help Text Configuration for CI Feedback

docs/CI_FEEDBACK.md
Added a configuration option to enable help text for the /checks command.

+1/-1

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/help

PR Agent Walkthrough
🤖 Welcome to the PR Agent, an AI-powered tool for automated pull request analysis, feedback, suggestions and more.
Here is a list of tools you can use to interact with the PR Agent:
ToolDescriptionInteractively send this command :gem:

DESCRIBE
Generates PR description - title, type, summary, code walkthrough and labels

[ ] Run

REVIEW
Adjustable feedback about the PR, possible issues, security concerns, review effort and more

[ ] Run

IMPROVE
Code suggestions for improving the PR.

[ ] Run

ANALYZE 💎
Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.

[ ] Run

UPDATE CHANGELOG
Automatically updates the changelog.

[ ] Run

ADD DOCUMENTATION 💎
Generates documentation to methods/functions/classes that changed in the PR.

[ ] Run

ASK
Answering free-text questions about the PR.

[*]

GENERATE CUSTOM LABELS
Generates custom labels for the PR, based on specific guidelines defined by the user

[*]

TEST 💎
Generates unit tests for a specific component, based on the PR code change.

[*]

CI FEEDBACK 💎
Generates feedback and analysis for a failed CI job.

[*]

CUSTOM SUGGESTIONS 💎
Generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.

[*]

SIMILAR ISSUE
Automatically retrieves and presents similar issues.

[*]

(1) Note that each tool be invoked automatically when a new PR is opened, or called manually by commenting on a PR.
(2) Tools marked with [*] require additional parameters to be passed. For example, to invoke the /ask tool, you need to comment on a PR: /ask "What is the purpose of this PR?". See the relevant documentation for each tool for more details.

PR Agent Walkthrough
🤖 Welcome to the PR Agent, an AI-powered tool for automated pull request analysis, feedback, suggestions and more.
Here is a list of tools you can use to interact with the PR Agent:
ToolDescriptionSend Interactively :gem:

DESCRIBE
Generates PR description - title, type, summary, code walkthrough and labels

[ ] Run

REVIEW
Adjustable feedback about the PR, possible issues, security concerns, review effort and more

[ ] Run

IMPROVE
Code suggestions for improving the PR.

[ ] Run

ANALYZE 💎
Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.

[ ] Run

UPDATE CHANGELOG
Automatically updates the changelog.

[ ] Run

ADD DOCUMENTATION 💎
Generates documentation to methods/functions/classes that changed in the PR.

[ ] Run

ASK
Answering free-text questions about the PR.

[*]

GENERATE CUSTOM LABELS
Generates custom labels for the PR, based on specific guidelines defined by the user

[*]

TEST 💎
Generates unit tests for a specific component, based on the PR code change.

[*]

CI FEEDBACK 💎
Generates feedback and analysis for a failed CI job.

[*]

CUSTOM SUGGESTIONS 💎
Generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.

[*]

SIMILAR ISSUE
Automatically retrieves and presents similar issues.

[*]

(1) Note that each tool be invoked automatically when a new PR is opened, or called manually by commenting on a PR.
(2) Tools marked with [*] require additional parameters to be passed. For example, to invoke the /ask tool, you need to comment on a PR: /ask "What is the purpose of this PR?". See the relevant documentation for each tool for more details.

PR Agent Walkthrough
🤖 Welcome to the PR Agent, an AI-powered tool for automated pull request analysis, feedback, suggestions and more.
Here is a list of tools you can use to interact with the PR Agent:
ToolDescriptionInvoke Interactively :gem:

DESCRIBE
Generates PR description - title, type, summary, code walkthrough and labels

[ ] Run

REVIEW
Adjustable feedback about the PR, possible issues, security concerns, review effort and more

[ ] Run

IMPROVE
Code suggestions for improving the PR.

[ ] Run

ANALYZE 💎
Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.

[ ] Run

UPDATE CHANGELOG
Automatically updates the changelog.

[ ] Run

ADD DOCUMENTATION 💎
Generates documentation to methods/functions/classes that changed in the PR.

[ ] Run

ASK
Answering free-text questions about the PR.

[*]

GENERATE CUSTOM LABELS
Generates custom labels for the PR, based on specific guidelines defined by the user

[*]

TEST 💎
Generates unit tests for a specific component, based on the PR code change.

[*]

CI FEEDBACK 💎
Generates feedback and analysis for a failed CI job.

[*]

CUSTOM SUGGESTIONS 💎
Generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.

[*]

SIMILAR ISSUE
Automatically retrieves and presents similar issues.

[*]

(1) Note that each tool be triggered automatically when a new PR is opened, or called manually by commenting on a PR.
(2) Tools marked with [*] require additional parameters to be passed. For example, to invoke the /ask tool, you need to comment on a PR: /ask "<question content>". See the relevant documentation for each tool for more details.

/help

/help

PR Agent Walkthrough
🤖 Welcome to the PR Agent, an AI-powered tool for automated pull request analysis, feedback, suggestions and more.
Here is a list of tools you can use to interact with the PR Agent:
ToolDescriptionInvoke Interactively :gem:

DESCRIBE
Generates PR description - title, type, summary, code walkthrough and labels

[ ] Run

REVIEW
Adjustable feedback about the PR, possible issues, security concerns, review effort and more

[ ] Run

IMPROVE
Code suggestions for improving the PR.

[ ] Run

ANALYZE 💎
Identifies code components that changed in the PR, and enables to interactively generate tests, docs, and code suggestions for each component.

[ ] Run

UPDATE CHANGELOG
Automatically updates the changelog.

[ ] Run

ADD DOCUMENTATION 💎
Generates documentation to methods/functions/classes that changed in the PR.

[ ] Run

ASK
Answering free-text questions about the PR.

[*]

GENERATE CUSTOM LABELS
Generates custom labels for the PR, based on specific guidelines defined by the user

[*]

TEST 💎
Generates unit tests for a specific component, based on the PR code change.

[*]

CI FEEDBACK 💎
Generates feedback and analysis for a failed CI job.

[*]

CUSTOM SUGGESTIONS 💎
Generates custom suggestions for improving the PR code, based on specific guidelines defined by the user.

[*]

SIMILAR ISSUE
Automatically retrieves and presents similar issues.

[*]

(1) Note that each tool be triggered automatically when a new PR is opened, or called manually by commenting on a PR.
(2) Tools marked with [*] require additional parameters to be passed. For example, to invoke the /ask tool, you need to comment on a PR: /ask "<question content>". See the relevant documentation for each tool for more details.

/help


3.1.2 depends on org.apache.velocity 1.7 which depends on commons-collections 3.2.2 which has a CVE

Time to upgrade to velocity 2.0.

My mistake.  I had another package in my build that had the commons-collection 3.2.1 dependency.
I have been upgrading velocity to 2.0 across many projects so I was a little eager. Sorry. :-)


[stable/prometheus]: remove outdated networkpolicy note

Removing a note in prometheus README.md, that's only correct in the very early proposals and alpha implementation of the NetworkPolicy feature.

This is a readme-only change, does it warrant updating the version number?

/assign @mgoodness

@ahmetb even documentation changes warrant increasing the version number. Our goal is to keep a version immutable.

/lgtm


PHP 8 compatibility

This package cannot be installed under PHP 8. Composer complains:

traderinteractive/mongo-queue v3.0.1 requires php ^7.0 -> your php version (8.1.11) does not satisfy that requirement.

If you go ahead and install it anyway with --ignore-platform-reqs, it appears to work for my particular use case at least, albeit with some warnings:

PHP Warning:  Private methods cannot be final as they are never overridden by other classes in {...}/vendor/traderinteractive/mongo-queue/src/AbstractQueue.php on line 267
PHP Warning:  Private methods cannot be final as they are never overridden by other classes in {...}/vendor/traderinteractive/mongo-queue/src/AbstractQueue.php on line 387

I have not attempted to run a full test suite to check for other potential compatibility issues.

Support for PHP 8 is now available in v4.0.0.


The usage of TransferCompound device

Description
In the docs, I think it is not clear which device is "transferred" or "transferring" Following the paper [1], there are two types of array: A for accumulation of gradients and C for weights of neural network. When defining devices by the parameters, unit_cell_devices, we have no idea about which index of the device corresponds to A and C. As I looked over the C++ source code, 0-th index of unit_cell_devices corresponds to A and 1-st index to C.

How to reproduce

Expected behavior
I hope you to describe the details at the usage of unit_cell_device.

Other information
[1] Tayfun Gokmen and Wilfried Hanesch, Algorithm for Training Neural Networks on Resistive Device Arrays, Frontiers in Neuroscience, 2020.

Pytorch version: 1.8.0
Package version:
OS: Ubuntu 18.04.2
Python version: 3.8
Conda version (or N/A):

Yes, indeed, the first device is always the one receiving that SGD updates and the transfer is done from lower indexed devices to higher.

Thanks Malte - @chaeunl, do you think we can close the issue after the updates at #92?

@diego-plan9 and @maljoras , of course. The description is good enough! Thank you for revising the docs :)

Wonderful! Thanks to you for pointing it out :+1:


Migrate CopyFiles task to Node 10

We need to migrate CopyFiles to Node 10.

At the moment we are re-checking the issues we observed with migration previously - to make sure that they are not related to the migration itself.

This would be awesome.
For example, the task PipAuthenticate@1 generates this waring:
##[warning]This task uses Node 6 execution handler, which will be deprecated soon. If you are the developer of the task - please consider the migration guideline to Node 10 handler - https://aka.ms/migrateTaskNode10. If you are the user - feel free to reach out to the owners of this task to proceed on migration.

AppCenterDistribute@3 is also throwing the Node 6 warning. Is there a general issue to migrate all tasks that use Node 6 to Node 10 or should we create one per task?

Due to the deployment freeze, there will be a delay with the rollout of the changes for this item. They will be deployed approximately at the end of January.


Micro consumes CPU time when idle

Description of the problem or steps to reproduce
Watch the Micro process in, e.g., htop, when Micro is idle. It consumes a changing notable amount of CPU time.
Commit hash: 1856891
OS: Arch Linux
Terminal: lxterminal

I have also noticed this. On PythonAnywhere, if I forget to close micro, I eventually get into the tarpit, which is a soft CPU limit

This is now fixed but requires updating the version of tcell bundled with micro. I'll update for the next release.


Adds Mutator UI and an IfElseMutator

This creates a field on the block specifically for the mutator config
element. This mutator field does not exist in the block's list of
inputs/fields but does create a view which is inserted into the first
input of the block's view hierarchy.
It also adds a simple mutator UI for the If Else block.

This change is

Ready for review.

Review status: 0 of 44 files reviewed at latest revision, 7 unresolved discussions.

Comments from Reviewable

Reviewed 7 of 24 files at r1, 3 of 10 files at r2, 1 of 6 files at r3, 35 of 37 files at r4.
Review status: all files reviewed at latest revision, 33 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/TurtleActivity.java, line 36 at r4 (raw file):

import com.google.blockly.model.DefaultBlocks;
import com.google.blockly.model.mutator.IfElseMutator;
import com.google.blockly.model.Mutator;

Remove unused imports.

blocklylib-core/src/main/assets/default/logic_blocks.json, line 19 at r4 (raw file):

    "nextStatement": null,
    "colour": 210,
    "mutator": "controls_if_mutator",

We might want to hold back on this until the reshape() is working.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 91 at r4 (raw file):

        // TODO Set up default extensions and mutators
    }

Remove.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 436 at r4 (raw file):

     */
    @NonNull
    protected Map<String, Mutator.Factory> getBlockMutators() {

Removed.  Replaced by above method.

blocklylib-core/src/main/java/com/google/blockly/android/BlocklyActivityHelper.java, line 633 at r4 (raw file):

            return;
        }
        MutatorFragment fragment = mutator.getMutatorFragment();

Can this come from the BlockViewFactory, using the mutator id, instead of from the Mutator?
I'm trying to make sure it can be extended safely, allowing app developers to match their own UI without replacing block definitions or mutators.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 26 at r4 (raw file):

import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v4.app.DialogFragment;

Remove. No other new changes reference this.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 169 at r4 (raw file):

        final int inputCount = inputs.size();
        Mutator mutator = block.getMutator();
        boolean showMutatorUi = mutator != null && mutator.hasUI();

Replace hasUI() with a lookup of registered MutatorFragment for the mutator id. Trying to make sure the UI can be extended safely.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 359 at r4 (raw file):

     * @return A {@link FieldView} for the mutator open icon.
     */
    protected FieldView buildMutatorFieldView(final Mutator mutator) {

TODO: Refactor so buildMutatorFieldView() can be put in VerticalBlockViewFactory.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 380 at r4 (raw file):

     * @return The new {@link FieldView} for the icon.
     */
    protected FieldView buildIconFieldView(View.OnClickListener listener, int resId) {

TODO: Refactor so buildIconFieldView() can be put in VerticalBlockViewFactory.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 427 at r4 (raw file):

     */
    public interface MutatorToggleListener {
        void onMutatorToggled(Mutator mutator);

I feel like this should be a block reference, since you can got from Block to Mutator, but not vice versa.
I'm not fully convinced it belongs here in the abstract BlockViewFactory instead of just the vertical-stacking view factory, but I don't think the changes required to move this are currently worth while.

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 1 at r4 (raw file):

package com.google.blockly.android.ui;

Copyright

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 7 at r4 (raw file):

public abstract class MutatorFragment extends DialogFragment {

JavaDoc

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 30 at r4 (raw file):

     * Listener interface for performing cleanup when a MutatorFragment is dismissed.
     */
    public interface DismissListener {

Nit: I prefer public interfaces and nested classes at the top, since these are expected to be understood and overloaded by developers. Google Java Style doesn't seem to enforce a preference.

blocklylib-core/src/main/java/com/google/blockly/android/ui/WorkspaceHelper.java, line 19 at r4 (raw file):

import android.app.Activity;
import android.app.Dialog;

Cleanup unused imports.

blocklylib-core/src/main/java/com/google/blockly/android/ui/fieldview/BasicFieldIconView.java, line 2 at r4 (raw file):

/*
 * Copyright 2016 Google Inc. All Rights Reserved.

Year

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 1 at r4 (raw file):

package com.google.blockly.android.ui.mutator;

Copyright

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 23 at r4 (raw file):

import org.xmlpull.v1.XmlPullParser;

public class IfElseMutatorFragment extends MutatorFragment {

JavaDoc comment

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 94 at r4 (raw file):

        });

        AlertDialog dialog = new AlertDialog.Builder(getActivity())

Refactor so the  AlertDialog construction is shared by all MutatorFragments. Relatedly, it will allow us to add support for positioned dialogs on larger screens, or other customizations.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 1129 at r4 (raw file):

    /**
<<<<<<< HEAD

Merge cruft

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 1134 at r4 (raw file):

     * (inputs, next, previous, and output).
     */
    private void rebuildConnectionList() {

I don't see a call to this private method.

blocklylib-core/src/main/java/com/google/blockly/model/BlockFactory.java, line 84 at r4 (raw file):

    /** Default constructor. */
    public BlockFactory(Context context) {
        mMutatorAltText = context.getResources().getString(R.string.mutator_icon_alt_text);

mutator_icon_alt_text should move to BlockViewFactory.

blocklylib-core/src/main/java/com/google/blockly/model/BlockFactory.java, line 131 at r4 (raw file):

     */
    @VisibleForTesting BlockFactory() {
        mMutatorAltText = "Test mutator alt text";

remove this constructor once mMutatorAltText is moved to BlockViewFactory.

blocklylib-core/src/main/java/com/google/blockly/model/DefaultBlocks.java, line 85 at r4 (raw file):

     */
    public static Map<String, Mutator.Factory> getMutators(Context context,
            BlocklyController controller) {

Move the controller param to Mutator.Factory.newMutator(..), eliminating the need for this reference in the static map.

blocklylib-core/src/main/java/com/google/blockly/model/Field.java, line 49 at r4 (raw file):

    public static final int TYPE_IMAGE = 8;
    public static final int TYPE_NUMBER = 9;
    public static final int TYPE_ICON = 10;

Remove fake field type. See comment in VerticalBlockViewFactory.

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 43 at r4 (raw file):

public abstract class Mutator {

    public static final Map<String, Factory> STANDARD_MUTATORS = Collections.EMPTY_MAP;  // TODO

Remove. Use DefaultBlocks.getMutators()

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 95 at r4 (raw file):

     * @return true if this Mutator has an editor UI.
     */
    public boolean hasUI() {

Per prior comments, I don't feel the model should know if the Mutator has a UI.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 61 at r4 (raw file):

        mContext = context;
        mController = controller;
        mIfLabel = mContext.getString(R.string.mutator_if_else_if_label);

Add TODO: Replace with Blockly string table / TranslationsManager call.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 110 at r4 (raw file):

    @Override
    public MutatorFragment getMutatorFragment() {
        IfElseMutatorFragment dialog = new IfElseMutatorFragment();

Register mutator fragment with BlockViewFaactory, and query via mutator id (so developers can easily replace the UI).

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 214 at r4 (raw file):

        }

        mBlock.reshape(newInputs, mBlock.getOutputConnection(), mBlock.getPreviousConnection(),

There is a shorthand that doesn't take input references. Just mBlock.reshape(newInputs);.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 226 at r4 (raw file):

        public Factory(Context context, BlocklyController controller) {
            mContext = context;

This causes DefaultBlocks.getMutators(), a static method, to require a reference to the controller and context.
Move the controller param to newMutator(), where a factory or mutator constructor can use controller.getContext().

blocklylib-vertical/src/main/java/com/google/blockly/android/ui/vertical/VerticalBlockViewFactory.java, line 173 at r4 (raw file):

        BasicFieldIconView iconView = null;

        int layoutResId = getLayoutForField(Field.TYPE_ICON);

I think this is the only real use of Field.TYPE_ICON, and could be replaced with a separate method that returns a default_field_icon. Doing so would eliminate the need to add the fake field type.

blocklytest/src/androidTest/java/com/google/blockly/model/mutator/IfElseMutatorTest.java, line 67 at r4 (raw file):

                assertThat(mBlock.getInputByName("ELSE")).isNull();

                mutator.update(2, true);

Nit: Prefer to break up long tests, so we get more precision and coverage even when some test breaks.

Comments from Reviewable

Review status: 19 of 47 files reviewed at latest revision, 33 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/TurtleActivity.java, line 36 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove unused imports.

Done.

blocklylib-core/src/main/assets/default/logic_blocks.json, line 19 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
We might want to hold back on this until the reshape() is working.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 91 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 436 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Removed.  Replaced by above method.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/BlocklyActivityHelper.java, line 633 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Can this come from the BlockViewFactory, using the mutator id, instead of from the Mutator?
I'm trying to make sure it can be extended safely, allowing app developers to match their own UI without replacing block definitions or mutators.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 169 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Replace hasUI() with a lookup of registered MutatorFragment for the mutator id. Trying to make sure the UI can be extended safely.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 359 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
TODO: Refactor so buildMutatorFieldView() can be put in VerticalBlockViewFactory.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 380 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
TODO: Refactor so buildIconFieldView() can be put in VerticalBlockViewFactory.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/BlockViewFactory.java, line 427 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I feel like this should be a block reference, since you can got from Block to Mutator, but not vice versa.
I'm not fully convinced it belongs here in the abstract BlockViewFactory instead of just the vertical-stacking view factory, but I don't think the changes required to move this are currently worth while.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 1 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Copyright

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 7 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
JavaDoc

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/MutatorFragment.java, line 30 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Nit: I prefer public interfaces and nested classes at the top, since these are expected to be understood and overloaded by developers. Google Java Style doesn't seem to enforce a preference.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 1 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Copyright

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 23 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
JavaDoc comment

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 94 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Refactor so the  AlertDialog construction is shared by all MutatorFragments. Relatedly, it will allow us to add support for positioned dialogs on larger screens, or other customizations.

That won't simplify the API at all since I still need to pass the title and content view through. Also, AlertDialogs are a bit restrictive and I'd rather not make them the default.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 1129 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Merge cruft

Done.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 1134 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I don't see a call to this private method.

I think this was leftover from a merge. Removed.

blocklylib-core/src/main/java/com/google/blockly/model/BlockFactory.java, line 467 at r1 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Does the mutator field have to exist at the model level? I thought of it's creation (and placement) to be specific to the BlockView implementation.  As is, you are specifying sizing and icon assets here in the BlockFactory.

mutator field has been removed. Let me know if I've missed some UI cleanup.

blocklylib-core/src/main/java/com/google/blockly/model/BlockFactory.java, line 84 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
mutator_icon_alt_text should move to BlockViewFactory.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/BlockFactory.java, line 131 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
remove this constructor once mMutatorAltText is moved to BlockViewFactory.

actually, made the one without a context the default again.

blocklylib-core/src/main/java/com/google/blockly/model/DefaultBlocks.java, line 85 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Move the controller param to Mutator.Factory.newMutator(..), eliminating the need for this reference in the static map.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/Field.java, line 49 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove fake field type. See comment in VerticalBlockViewFactory.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 43 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove. Use DefaultBlocks.getMutators()

Done.

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 95 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Per prior comments, I don't feel the model should know if the Mutator has a UI.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 61 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Add TODO: Replace with Blockly string table / TranslationsManager call.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 110 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Register mutator fragment with BlockViewFaactory, and query via mutator id (so developers can easily replace the UI).

Done.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 214 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
There is a shorthand that doesn't take input references. Just mBlock.reshape(newInputs);.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/mutator/IfElseMutator.java, line 226 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
This causes DefaultBlocks.getMutators(), a static method, to require a reference to the controller and context.
Move the controller param to newMutator(), where a factory or mutator constructor can use controller.getContext().

Done.

blocklylib-vertical/src/main/java/com/google/blockly/android/ui/vertical/VerticalBlockViewFactory.java, line 173 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I think this is the only real use of Field.TYPE_ICON, and could be replaced with a separate method that returns a default_field_icon. Doing so would eliminate the need to add the fake field type.

Done.

blocklytest/src/androidTest/java/com/google/blockly/model/mutator/IfElseMutatorTest.java, line 67 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Nit: Prefer to break up long tests, so we get more precision and coverage even when some test breaks.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 26 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove. No other new changes reference this.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/WorkspaceHelper.java, line 19 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Cleanup unused imports.

Done.

blocklylib-core/src/main/java/com/google/blockly/android/ui/fieldview/BasicFieldIconView.java, line 2 at r4 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Year

Done.

Comments from Reviewable

Reviewed 30 of 32 files at r5.
Review status: 41 of 47 files reviewed at latest revision, 5 unresolved discussions.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 88 at r5 (raw file):

    private static final String TAG = "AbstractBlocklyActivity";

    protected BlocklyActivityHelper mActivityHelper;

Do we really want to do this? The naming mBlockly has been in the public sphere for 3 months.  At the very least, it should be a separate commit.
I originally considered mHelper, but that is already often used to a refer to a WorkspaceHelper. Even so, I prefere mBlocklyHelper, because this is the thing other developers will drop into their non-Blockly code, so  "Blockly" should be in the name.
(Okay.  This may be stretching the rationale for the field name, compared to the class name, but makes it easier to cut and paste AbstractBlocklyActivity code into an existing activity if we assume the field name is the same.)

blocklylib-core/src/main/java/com/google/blockly/android/ui/mutator/IfElseMutatorFragment.java, line 94 at r4 (raw file):
Previously, RoboErikG wrote…
That won't simplify the API at all since I still need to pass the title and content view through. Also, AlertDialogs are a bit restrictive and I'd rather not make them the default.

Fine for now, but I'm concerned we are leaving the sizing positioning left to each MutatorFragment.
My preference would be to have a Fragment that is inserted into a frame managed by the.... BlockViewFactory? (Too many things going into that, but some similar UI singleton on the UI side.) Then, there is a single place to control placement (especially on larger screen real estate devices), and a single place to tweak the mutator dialog chrome.

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 67 at r5 (raw file):

    }

    public abstract String getMutatorId();

Per offline, make this a final implementation, add abstract version to Factory, and add protected constructor Mutator(Factory).

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 20 at r5 (raw file):

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;

unused?

blocklytest/src/androidTest/java/com/google/blockly/model/MutatorTest.java, line 130 at r5 (raw file):

        @Override
        public String getMutatorId() {

Make sure this gets removed (replaced by default implementation).

Comments from Reviewable

Review status: 37 of 45 files reviewed at latest revision, 5 unresolved discussions.

blocklylib-core/src/main/java/com/google/blockly/android/AbstractBlocklyActivity.java, line 88 at r5 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Do we really want to do this? The naming mBlockly has been in the public sphere for 3 months.  At the very least, it should be a separate commit.
I originally considered mHelper, but that is already often used to a refer to a WorkspaceHelper. Even so, I prefere mBlocklyHelper, because this is the thing other developers will drop into their non-Blockly code, so  "Blockly" should be in the name.
(Okay.  This may be stretching the rationale for the field name, compared to the class name, but makes it easier to cut and paste AbstractBlocklyActivity code into an existing activity if we assume the field name is the same.)

undid the rename. Will follow up in a separate CL to change it to mBlocklyActivityHelper to make it clearer what it is.

blocklylib-core/src/main/java/com/google/blockly/model/Mutator.java, line 67 at r5 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Per offline, make this a final implementation, add abstract version to Factory, and add protected constructor Mutator(Factory).

Done.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 20 at r5 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
unused?

Done.

blocklytest/src/androidTest/java/com/google/blockly/model/MutatorTest.java, line 130 at r5 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Make sure this gets removed (replaced by default implementation).

Done.

Comments from Reviewable

Reviewed 8 of 10 files at r6.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


TypeError: Cannot read property 'path' of undefined

Describe the bug
To Reproduce
Expected behavior
Screenshots
Applicable Versions:

Netlify CMS version<EMAIL_ADDRESS>Git provider: git-gateway
Browser version: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

CMS configuration
backend:
  name: git-gateway
  branch: main
media_folder: static/img
public_folder: /img
collections:
  - name: jeux
    label: Jeux
    folder: content/jeux
    format: frontmatter
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    editor:
      preview: false
    fields:
      - label: Titre
        name: titre
        widget: string
      - label: Date de Pubication
        name: date
        widget: datetime
      - label: Description
        name: description
        widget: string
      - label: Corps
        name: corps
        widget: markdown
    publish: true
    type: folder_based_collection
    sortable_fields:
      - commit_date
      - titre
      - date
      - commit_author
      - description
    view_filters: []
    view_groups: []
publish_mode: simple
slug:
  encoding: unicode
  clean_accents: false
  sanitize_replacement: "-"
isFetching: false
error: null

Additional context

Hello @sandro-git . Can you provide the steps of actions that lead to the TypeError issue? There have been three report of this issue in the past week, so it's probably not trivial. The more information you give, the faster it takes for our amazing contributors to fix it.


InfluxDB write failed: connection failed

Steps to reproduce:
I've tried to reproduce the basic write example: https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino/blob/master/examples/BasicWrite/BasicWrite.ino
I fulfilled the information, INFLUXDB_URL, INFLUXDB_TOKEN, INFLUXDB_TOKEN, INFLUXDB_ORG and INFLUXDB_BUCKET.
Expected behavior:
I would expect wifi connected and influxDB connect
Actual behavior:
Wifi is connected, but influxdb has error:
InfluxDB connection failed: connection failed
Writing: wifi_status,device=ESP8266,SSID= rssi=-84i
InfluxDB write failed: connection failed
Wait 10s
Specifications:

Library Version: latest
InfluxDB Version: 2
Board/ESP chip: ESP8266 Feather Huzzah board
Device Arduino SDK version: 2.0.3

@ewwachter, make sure you have the correct Server URL, not http://localhost:8086.
If you are still unsure, enable debug and add a log, please.

Hi, thanks for the update, please see the log:
6.509 [D]  Org:
6.512 [D]  Bucket:
6.515 [D]  Token:
6.524 [D]  DB version: 2
6.527 [D] probeMaxFragmentLength to us-east-1-1.aws.cloud2.influxdata.com:443
6.744 [D]  MFLN:yes
6.745 [D] setUrls
6.745 [D]  writeUrl: https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/write?org=&bucket=
6.748 [D]  queryUrl: https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/query?org=
6.756 [D] Validating connection to https://us-east-1-1.aws.cloud2.influxdata.com/health
6.764 [D] GET request - https://us-east-1-1.aws.cloud2.influxdata.com/health
8.247 [E] Error - connection failed
8.248 [D] error -1: connection failed
InfluxDB connection failed: connection failed
9.250 [D] writeRecord: bufferPointer: 1, batchPointer: 0, _bufferCeiling: 1
9.251 [D] Flushing buffer: is oversized true, is timeout false, is buffer full false
9.255 [D] Writing batch, batchpointer: 0, size 1
9.260 [D] Writing to https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/write?org=&bucket=
9.271 [D] Sending:
9.279 [D] POST request - https://us-east-1-1.aws.cloud2.influxdata.com/api/v2/write?org=&bucket=, data: 81bytes, type text/plain
10.795 [D] HTTP status code - -1
10.796 [E] Error - connection failed
10.797 [D] error -1: connection failed

As you are using HTTPS you should have started with the SecureWrite example. Your code most probably fails due to certificate validation.
Add these lines before validating connection:
  // Accurate time is necessary for certificate validation and writing in batches
  // For the fastest time sync find NTP servers in your area: https://www.pool.ntp.org/zone/
  // Syncing progress and the time will be printed to Serial.
  timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");

  // Alternatively, set insecure connection to skip server certificate validation
  //client.setInsecure();

I've tried with Central Europe: "CET-1CEST,M3.5.0,M10.5.0/3" and it gives the same error, but now I can see the Synchronized time: Tue Apr 11 17:19:53 2023
Which is central europe and not the UK one. Can this be the issue? How can I find the TZ_INFO for UK?

I did manage to change the timezone:
#define TZ_INFO "GMT0BST,M3.5.0/1,M10.5.0/2"
but still got the same error

Arduino Core for ESP8266 has a nice set of TZ constants: https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h.
Try adding client.setInsecure(), please.

It works! Many thanks.
So, essentially for some reason it is not working securely? is that the issue?

It looks like the default included certificate doesn't work now. I will check later. You can add the new server certificate in your app if needed: https://github.com/tobiasschuerg/InfluxDB-Client-for-Arduino#secure-connection

Hi , I m having the same issue using an ESP8266 running the basic write example  , the error message is 01:56:34.755 -> 165.421 [D] POST request - http://<IP_ADDRESS>:8086/api/v2/write?org=9195xxxxxxxxf&bucket=ESP8266, data: 68bytes, type text/plain
01:56:34.755 -> [hostByName] Host: <IP_ADDRESS> is IP!
01:56:34.755 -> 170.439 [D] HTTP status code - -1
01:56:34.755 -> 170.440 [E] Error - connection failed
01:56:34.755 -> 170.440 [D] error -1: connection failed
01:56:34.755 -> 170.441 [D] Leaving data in buffer for retry, retryInterval: 0
01:56:34.755 -> 170.444 [D] Success: 0, _bufferPointer: 1, _batchPointer: 1, _writeBuffer[_bufferPointer]_0x3fff0fac
01:56:34.755 -> InfluxDB write failed: connection failed
Thank you very much for any support on this

Hi , @vlastahajek I m having the same issue using an ESP8266 running the basic write example , the error message is 01:56:34.755 -> 165.421 [D] POST request - http://<IP_ADDRESS>:8086/api/v2/write?org=9195xxxxxxxxf&bucket=ESP8266, data: 68bytes, type text/plain
01:56:34.755 -> [hostByName] Host: <IP_ADDRESS> is IP!
01:56:34.755 -> 170.439 [D] HTTP status code - -1
01:56:34.755 -> 170.440 [E] Error - connection failed
01:56:34.755 -> 170.440 [D] error -1: connection failed
01:56:34.755 -> 170.441 [D] Leaving data in buffer for retry, retryInterval: 0
01:56:34.755 -> 170.444 [D] Success: 0, _bufferPointer: 1, _batchPointer: 1, _writeBuffer[_bufferPointer]_0x3fff0fac
01:56:34.755 -> InfluxDB write failed: connection failed
Thank you very much for any support on this


event trigger: allow param function for dynamic values

Would it somehow be possible to send the document id or some field as a parameter to the request if the build was triggered by an event? This would make my revalidation code a lot easier and more efficient (I wouldn't have to check every single page for changes)

This is already possible via the trigger.events.params object, a sample configuration can be found in the original feature request

This doesn’t necessarily solve my particular issue, I’d need the params to get the value of the model being edited.
proposed solution:
module.exports = ({ env }) => ({
  "website-builder": {
    enabled: true,
    config: {
      url: "http://localhost:3000/api/revalidate",
      trigger: {
        type: "event",
        events: [
          {
            params: (page) => ({
              page: page.attributes.slug,
            }),
            model: "pages",
            types: ["create", "delete"],
          },
        ],
      },
    },
  },
});```

This is very handy! I would like to have it too.

This will be included in the next release

Released in v2.2.0

Thank you!


GitHub URLs are not case sensitive

The example also needed updating. Instead of removing the example completely, I changed it to just show it fixing a spelling mistake (the other topic under the heading).

Why:
Closes:  github/docs#34573

What's being changed (if available, include any code snippets, screenshots, or gifs):
The docs mention that GitHub git remotes are case sensitive, which is not true.

I removed the part saying that they are case sensitive, and updated the example so that it fixes an actual spelling mistake (cocoareactive instead of ReactiveCocoa):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@ewels Thank you very much for the fix! Updating the example to fix a spelling mistake is wonderfully clever, thank you ✨
This repo is currently in a code freeze, but we will get this merged as soon as the freeze ends on 9/16! 🍏


Add new examples

Adds a list of different examples (using each language that OpenShift
catalog supports) as well as updates the create.go command to list
each and every one of them!

LGTM :)

@kadel Updated!


Add triggers notification for events

Allow user to set up a trigger for event. example:
When 80% of RAM - Send Slack
Whem 90% of Disk - Send Email

Also alert when server is down for X minutes.

Would also love this.

I'd also like to propose that the notification interface be created in a generic way, so later more notification "plugins" could be added.

Just released the first version of triggers. Please give it a try! I'll be trying them on the next days to test and see if I can find improvements to make.
Slack and outgoing Webhook available.

Closed issue and waiting feedbacks!


Fatal error: Return value

I have a weird error. Just installed Ray to debug an issue. But didn't expect that the debugger needs debugging. 😁
ray('test'); // After that, this error comes in WP All Export:
// Fatal error: Uncaught Error: Spatie\WordPressRay\Spatie\Ray\Payloads\Payload::getOrigin(): Return value must be of type Spatie\WordPressRay\Spatie\Ray\Origin\Origin, Spatie\Ray\Origin\Origin returned

Installed is WordPress 6.1.1 and PHP 8.0 – tested with PHP 8.1 too.
I tried to debug the code inside an action called pmxe_after_export within the functions.php – which I was debugging multiple times in the past and deinstalled Ray afterwards.

How did you install Ray and what version are using? I've tried to reproduce the error with WP All Export and the hook you are using, but I'm not getting this error.

I've tested both PHP 8.0 (including re-install of the plugin) and 8.1 but I don't have the error occurring. Perhaps you can turn on the debug log. That should provide a stack trace..