In distributed training, in order to continue training, an error occurred when loading model checkpoints after saving them.

Experimental environment: Two Ubuntu GPU servers
Experimental code source:  https://github.com/OvJat/DeepSpeedTutorial.git
Fault Description: I used engine. save() to save the model training status to the specified path, and then used engine. load() to load the training status. The following error was reported, and all the fault information is provided below.
(Note: In single machine DeepSpeed training, the above process does not report any errors and can run normally, but it does not work in multi machine training)
Fault information:
<IP_ADDRESS>: [2024-07-07 22:27:26,103] [INFO] [torch_checkpoint_engine.py:27:load] [Torch] Loading checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_model_states.pt... <IP_ADDRESS>: [2024-07-07 22:27:26,105] [INFO] [torch_checkpoint_engine.py:29:load] [Torch] Loaded checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_model_states.pt. <IP_ADDRESS>: [2024-07-07 22:27:26,106] [INFO] [torch_checkpoint_engine.py:27:load] [Torch] Loading checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_model_states.pt... <IP_ADDRESS>: [2024-07-07 22:27:26,108] [INFO] [torch_checkpoint_engine.py:29:load] [Torch] Loaded checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_model_states.pt. <IP_ADDRESS>: [2024-07-07 22:27:26,109] [INFO] [torch_checkpoint_engine.py:27:load] [Torch] Loading checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_optim_states.pt... <IP_ADDRESS>: [2024-07-07 22:27:26,246] [INFO] [torch_checkpoint_engine.py:29:load] [Torch] Loaded checkpoint from /tmp/checkpoints/global_step11/zero_pp_rank_0_mp_rank_00_optim_states.pt. <IP_ADDRESS>: [2024-07-07 22:27:26,246] [INFO] [engine.py:3018:_get_all_zero_checkpoint_state_dicts] successfully read 2 ZeRO state_dicts for rank 0 <IP_ADDRESS>: [2024-07-07 22:27:26,277] [INFO] [engine.py:2968:_load_zero_checkpoint] loading 2 zero partition checkpoints for rank 0 <IP_ADDRESS>: terminate called after throwing an instance of 'gloo::EnforceNotMet' <IP_ADDRESS>: what(): [enforce fail at ../third_party/gloo/gloo/transport/tcp/pair.cc:446] op.preamble.length <= op.nbytes. 1664 vs 1536 <IP_ADDRESS>: [rank1]: Traceback (most recent call last): <IP_ADDRESS>: [rank1]: File "/root/DeepSpeedTutorial/deepspeed_script.py", line 203, in  <IP_ADDRESS>: [rank1]: main() <IP_ADDRESS>: [rank1]: File "/root/DeepSpeedTutorial/deepspeed_script.py", line 199, in main <IP_ADDRESS>: [rank1]: train() <IP_ADDRESS>: [rank1]: File "/root/DeepSpeedTutorial/deepspeed_script.py", line 178, in train
### Tasks

@WhaleSpring, can you clarify two things to help debugging.

Are checkpoints saved onto local disk? The load logs contain /tmp/ references which is typically a node local storage.
Is this using gloo instead of nccl? The logs reference gloo.

Closing for lack of response. Please re-open if needed.


typo correction

"it's" should be "its"
e.g. "Click on a command below to learn more about its purpose and usage."

confirmed fixed in 7a08dd2


question about bst.dump_model, what's the value after 'leaf=' mean?

Hello!
I have dumped the model after I have trained. I found some lines like:
"
227:leaf=0.0938776
228:leaf=-0.0333333
"
what does the value after "leaf=" mean? It means the predicted value of this value or the weight of this path?

see http://xgboost.readthedocs.org/en/latest/model.html It is the score in the leaf


Face mesh

Please make sure that this is a solution issue.
System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in Mediapipe):
No

OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4):
Linux python

MediaPipe version:
Latest on pip

Solution (e.g. FaceMesh, Pose, Holistic):
FaceMesh

Programming Language and version ( e.g. C++, Python, Java):
Python

Describe the expected behavior:
I want to see whether there is a way to specify the bounding box provided to the facial landmark detection graph.
Basically I want to do the facial landmark detection with known bounding box. Thank you.
Standalone code you may have used to try to get what you need :
If there is a problem, provide a reproducible test case that is the bare minimum necessary to generate the problem. If possible, please share a link to Colab/repo link /any notebook:
Other info / Complete Logs :
Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached:

One way is that we reverse the tflite model to (pytorch  face mesh). Then, we need to figure out the input to this model. The facemesh used aligned face with left and right eyes, further with 25% padding.

Hi @tobyclh ,
We have similar issue https://github.com/google/mediapipe/issues/3423 and waiting for resolution , we will keep you posted once get resolution.

Hi @sureshdagooglecom
Thanks for coming back.
I am directly using the TFLite version of the model and it does solve my problem. However, I have another question, the output of the TFLite model only has 2D output for the refined landmarks while the mediapipe python interface directly provide 3d positions. Is there any documentation that describe how should they be matched?
Thank you.

Hi @tobyclh ,
Please open another new issue for different question and if you found resolution for this issue please close the issue.


Switch to C++ style casts

C style casts are error prone. Now that the codebase is C++, we should prevent anyone from adding new c style casts, and attempt to switch all existing casts to C++ style.
Clang-tidy can do about half of this work.

Not pursuing

@hcaseyal is this still relevant?

Yes, this is something we should do at some point.


UNVT Online Workshop with HOT 2022 Mar

UNVT Online Workshop with HOT 2022 Mar.

Passcode：900913

Abstract
The United Nations Vector Tile Toolkit (UNVT) is a collection of Open Source Software (OSS) to produce, host, style and optimize vector tiles for web mapping. UNVT can bring OSM datasets and other GIS data as raster/vector tiles. This workshop will exchange our UNVT experiences and know-how.
https://unvt.github.io/
Goals

Participants will understand UNVT.
Participants will be able to imagine how UNVT can be used.
In particular, participants will learn that UNVT Portable is a practical and useful tool even in developing countries where the power supply is unstable.

Organizers

Furuhashi Lab., Aoyama Gakuin University
YouthMappers AGU
Open Mapping Hub - Asia Pacific, and HOT
UNVT Community, UN OpenGIS Initiative

Day/Time Schedule
16 Mar. 2022
19:00-21:00 JST / 18:00-20:00 PHT,Taiwan /  17:00-19:00 Jakarta / 15:45-17:45 NPT / 15:30-17:30 SriLanka
19:00-19:10 JST  Opening by Taichi
19:10-19:30 JST  Introduction by Ibuki,Shiori,Urara
19:30-20:00 JST  Technical Session by Kohki
20:00-20:40 JST  Sharing use-cases for each county by Sota, Natsumi, Ibuki, Ayako
20:40-20:55 JST  Q&A time
20:55-21:00 JST  Closing by Taichi and HOT team
Communication Tools

Zoom Webinar

https://zoom.us/j/96111611379?pwd=Zk5kVXBXTGU0TTdUYnE4NlZCcEdiZz09
Passcode：900913

GitHub

https://github.com/unvt/hackathonmeetup202112/issues/2

HackMD
https://hackmd.io/@rXNENS7aSaW9c6QzLF-OiQ/ByOeZdwRF/edit

11AM-1PM CET / Berlin Time 🔗 Calendar Link


Fix link to removed volumes being shown in info card and list view

Description
The volume snapshots and the snapshot details page show a link to the snapshotted volume. However, if the volume has been removed, it is not possible to access its page, resulting in a 404 when a user clicks the link.
This PR adds a validation in the UI in order to avoid showing this link when the volume has been removed.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

Screenshots (if appropriate):

When the volume exists, a link is shown.

If the volume has been removed, the link does not get shown.

How Has This Been Tested?

I created a volume snapshot and verified that the volume snapshots and the snapshot details page showed a link to the volume;
I removed the volume and verified that the link was not shown anymore.

@blueorangutan ui

@sureshanaparti a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/8833 (QA-JID-309)

qa does not seem to be responsive, not tested!

@winterhazel , I marked this for 4.20 now as it is targeted for main. Do you want this in 4.19?

Thanks for testing @lucas-a-martins. At first, I think the issue regarding invalid links in the list view should be tackled in another PR, but I'll investigate how it could be implemented to see if it makes sense to unify how the validation is performed with this one.

@winterhazel , I marked this for 4.20 now as it is targeted for main. Do you want this in 4.19?

@DaanHoogland sure, I'll target 4.19.

Hey @lucas-a-martins @DaanHoogland, sorry for the delay.
Looking back at this PR, I think it would be better to implement the link validation in both pages by including the volume's state in the response and verifying it in the UI, as the approach here (calling an API to obtain a single volume's data) would become unfeasible when we need to validate links for a lot of resources (such as in the volume snapshots page). I suppose this would also be the ideal approach for validating most links to resources.
I will make some changes in this PR to adjust this, and to include the validation in the volume snapshots page as well.

@lucas-a-martins @DaanHoogland, I changed how the link validation is performed, and included it in the list view as well. Could you guys take another look at this PR?

@blueorangutan package

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 10444

@blueorangutan test

@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-10948)

[SF] Trillian test result (tid-10950)
Environment: kvm-alma9 (x2), Advanced Networking with Mgmt server a9
Total time taken: 46197 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr8833-t10950-kvm-alma9.zip
Smoke tests completed. 132 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

Merging based on approvals, CI result and manual tests by @lucas-a-martins


Web Socket gets closed (400 Bad Request)

The devices toggles without the request being successfully acknowledged. The device is not controlable through the api. I keep getting WebSocket closed messages in my log and reconnecting each time i toggle a device.
And I understand they recently updated the ewelink app and might have changed the API. any help to fix this or a change in the plugin would be much appreciated.

Hi @aswathraja are you using the latest version (0.1.18)? Would you please post the homebridge logs here?

Hi @aswathraja are you using the latest version (0.1.18)? Would you please post the homebridge logs here?

same isssue here 😢
please check

Yes I can confirm their WebSocket protocol changed. It will take quite some time to update this plugin to emulate the new protoal in the latest ewelink app. If you guys happen to know programming, please consider contributing! This is an open source project that I maintain in my free time, to keep this plugin working we need more developers to help.

@howanghk
same question....
please see as below
[12/22/2019, 1:51:42 PM] [eWeLink] Setting power state to [on] for device [空氣清淨機]
[12/22/2019, 1:51:42 PM] [eWeLink] WebSocket messge received:  {"error":406,"sequence":"1576993902636"}
[12/22/2019, 1:51:42 PM] [eWeLink] WebSocket was closed. Reason [1006]
WebSocketClient: reconnecting...
[12/22/2019, 1:51:48 PM] [eWeLink] Sending login request [{"action":"userOnline","userAgent":"app","version":6,"nonce":"157699390811300","apkVesrion":"1.8","os":"ios","at":"3xxxxxxxxc0019414a0e44350efac775510e0e11","apikey":"xxxxxxxxx-72d4-4b65-800c-
bc0df4e10b87","ts":"1xxxxxxx908","model":"iPhone10,6","romVersion":"11.1.2","sequence":1576993908113}]
[12/22/2019, 1:51:48 PM] [eWeLink] WebSocket messge received:  {"error":400,"reason":"Bad Request","apikey":"cxxxxxxxx-72d4-4b65-800c-bc0df4e10b87","sequence":"157xxxxxxxx113","actionName":"userOnline"}
在此非常非常感謝您對此應用的付出。

@howanghk i have updated v 0.1.19 just now. But the issue seems to be persistent. Please find my logs below.
Dec 23 04:22:44 raspberrypi homebridge[13800]: [12/23/2019, 4:22:44 AM] [eWeLink] Setting power state to [on] for device [***** CH 1] Dec 23 04:22:44 raspberrypi homebridge[13800]: [12/23/2019, 4:22:44 AM] [eWeLink] WebSocket messge received:  {"error":406,"sequence":"1577055164483"} Dec 23 04:22:44 raspberrypi homebridge[13800]: [12/23/2019, 4:22:44 AM] [eWeLink] WebSocket was closed. Reason [1006] Dec 23 04:22:49 raspberrypi homebridge[13800]: WebSocketClient: reconnecting... Dec 23 04:22:49 raspberrypi homebridge[13800]: [12/23/2019, 4:22:49 AM] [eWeLink] Sending login request [{"action":"userOnline","userAgent":"app","version":6,"nonce":"1577****6974300","apkVesrion":"1.8","os":"ios","at":"fa5ef22819f*****2faae06*****8e0b842e2","apikey":"****************************","ts":"1577055169","model":"iPhone10,6","romVersion":"11.1.2","sequence":1577055169743}] Dec 23 04:22:49 raspberrypi homebridge[13800]: [12/23/2019, 4:22:49 AM] [eWeLink] WebSocket messge received:  {"error":400,"reason":"Bad Request","apikey":"**********************","sequence":"1577055169743","actionName":"userOnline"}

we must waiting
howanghk please check
We look forward to solving

It's working! thanks😆🥰🤩
Merry christmas🎄

Thanks a lot, its working again
Merry Christmas 🎄

獻上最大的感謝，再度動起來了。。。
聖誕快樂～～～

I can confirm its back working again, i wonder if it was their server side issue and changes they had to do at their end.
Merry Christmas
Thanks

This is doing this for me again now, almost a year later. I did have internet go down for a day and it wrecked a few things, but this error is the only one I can't fix. App working fine, status working fine, importing devices working fine - but as the OP said, just not toggling the device on or off etc. I wonder if the API has changed again and it's just a coincidence when they took down our power/internet for fire safety? I've never had this problem. I wish I could flash these to work on the local network but I never did. It's a shame the homebridge plugin requires the ewelink cloud to work. As they will do local processing within the app, so that means the app is capable of doing something locally that I just wish the homebridge plugin would replicate. Oh well.

This is doing this for me again now, almost a year later. I did have internet go down for a day and it wrecked a few things, but this error is the only one I can't fix. App working fine, status working fine, importing devices working fine - but as the OP said, just not toggling the device on or off etc. I wonder if the API has changed again and it's just a coincidence when they took down our power/internet for fire safety? I've never had this problem. I wish I could flash these to work on the local network but I never did. It's a shame the homebridge plugin requires the ewelink cloud to work. As they will do local processing within the app, so that means the app is capable of doing something locally that I just wish the homebridge plugin would replicate. Oh well.

Hello, im also having the exact same problem, also had it last year. At first i though there was some problem on my end as yesterday there was a update to the UI-X plugin, but i think it wouldn't cause this problem, now i see your message, and seems im not the only one.

I am also having the same issue since yesterday. I tried updating the Imei but no success.

Ok I'm glad to hear I"m not the only one 👍
I also tried updating the imei
tried changing the API server
Tried adding country code just in case (mine is 1)
Very weird that it works just fine getting devices and their statuses but won't actually do anything.

please try uninstalling homebridge-ewelink-max and installing homebridge-ewelink

Confirmed working swapping plugins - thanks @bwp91
And as far as I can see from the logs, this is finding the devices LOCALLY via the LAN IP addresses.
That's amazing!

@benjackson1111 glad you like my plugin 👍

@bwp91 Dude this is what I've been looking for for almost a year now. Thank you so much. All my (3) gates all have sonoff relays and a bunch of outside lights, and I rely on them to even open for me when i arrive home etc. Without local processing, it can be real buggy! You're a legend.

@benjackson1111

You’re a legend

Nicest compliment i’ve had in a long time! thanks! 🤣

Thanks so much for the new plugin, all working great now for me as well. Thank you !!!


Re-organize documentation and website

Fixes #216 #248 #11
Attempt  to reorganize the documentation into a more useful form, specially for new users.  The current site has 2 main section of documentation: the API reference and the cookbook. The reference is built from text taken the module and package docstrings. The modules pages also list all functions and classes with their associated docstrings.  The cookbook is a collection of ..py files. There is no text explaining things and the output of the scripts is not shown.
I think the docs are missing:

Narrative documentation: text explaining where things are and how they work along with the source code examples.
Figures: there is practically no code accompanied by the figures of results produced.
Simple API reference: the specification of functions and classes is mixed with a lot of text. Sometimes you need to go through 3-4 pages to find the docs for a particular function. A better reference would list all functions and classes with links to their documentation (taken from the docstrings).

Both of these would make the package more friendly and attractive to new users.
Main changes:

Removed the old "Library Reference" section. It was replaced by an API reference (as specified above) and a User Guide (narrative documentation)
The API Reference lists all functions/classes from all modules and packages.  The page gets a bit big but it's very convenient to have it all in a single page. You can search with Ctrl+f. The modules of subpackages (gravmag, inversion, etc) are listed for now.
Pages for each function and class are automatically generated by autosummary
The User Guide is built from Jupyter notebooks in doc/userguide. This is better because we can include Mayavi figures and the user can download and run the code.
The User Guide has a page for each module/package. The idea is to have a description of what the module/package does and simple examples of every function/class in it. The examples should be simple and are meant to show what Fatiando can do. More complicated examples would be left for a Tutorial section.
The doc build runs the notebooks and converts to rst. This guarantees that the results are updated always. We could even plug in some doctesting here in the future.
I put a lateral navigation bar in most pages to help with navigation.
The Overview in the front page links to the User Guide sections.
The Guide and API link to each other.

I put a preview of the site on http://www.fatiando.org/tmp-docs/
Checklist:

[ ] Make tests for new code (at least 80% coverage)
[ ] Create/update docstrings
[ ] Include relevant equations and citations in docstrings
[ ] Docstrings follow the style conventions
[ ] Code follows PEP8 style conventions
[ ] Code and docs have been spellchecked
[ ] Include new dependencies in doc/install.rst, requirements.txt, and
README.rst
[ ] Documentation builds properly (run make docs locally)
[ ] Changelog entry (leave for last)

@mtb-za @birocoles @eusoubrasileiro @drandykass I would love some feedback on this.

I think that this is a really great idea.
Will see what I can come up with for narrative script examples.

@mtb-za thank you for the feedback. I'll start writing the user guide as soon as I get a change. I'll ask for feedback again when I have a draft.
Of course, any ideas/wants are welcome!

I'm going to split this into separate PRs for each change. This is too big and I'll end up never completing it this way. I'll post the PRs here when I open them.

https://github.com/spatialaudio/nbsphinx is probably the best way to use the notebooks for the userguide.

Love the new gallery.

ta fodástico! :+1:

@mtb-za @eusoubrasileiro thanks! This is the latest version http://www.fatiando.org/dev/gallery/index.html

Closing this in favor of incremental changes that have been made in other PRs.


Attribute defaultsTo not working on type json

Sails version:0.12.4
Node version:6.4.0
NPM version:3.10.3
Operating system:OSX 10.12.1

It looks like the attribute type json can't have a required with defaultsTo property.
Model declaration
module.exports = {
  attributes: {
    good: {
      type: 'string',
      defaultsTo: '{}',
      required: true,
    },
    bad: {
      type: 'json',
      defaultsTo: {},
      required: true,
    },
}

When I create the model, good attribute gets defaulted (type: string), bad atribute (type: json) gets the following error:

"required" validation rule failed for input

Im writing more text as the sailsbot still doesn't allow me send the issue.

ok, fixed!

fixed!

Using required and defaultsTo should never work. The required validation will ensure that a value must exist when you send it, there isn't any database level magic happening with required.
If you take away the required validation on bad it should default to whatever the value is.


Add CLI option to output JSON

Coverage decreased (-0.04%) to 97.153% when pulling 6c592de71a4daf5528a7ff512ef75167f53c0535 on feature-json-output into 6f52a6b35ae0d82a5c7e1d50756b1b15fc9737cd on master.


Add feature for containsLeapDay()

Would be handy to be able to call containsLeapDay() on a Period object when dealing with periods that might contain leap days.
Specifically at the moment I want to determine if the period is a year long or not, there may be another easier way to do this which I've missed...

Adding a new method for such a specific feature seems overkill to me. What's wrong with the Period::contains method ?
I would create a simple function like below If I were you

function containsLeadDay(Period $period)
{
    $date = $period->getStartDate();
    if (!$date->format('L')) {
        $date = $period->getEndDate();
    }

    if (!$date->format('L')) {
        return false;
    }

    $leapDay = date_create_immutable($date->format('Y-02-29'), $date->getTimezone());
    return $period->contains($leapDay);
}

@nyamsprod I did not know about L format! Classic case of rtfm! Thanks a lot :)


Check whether a BloqInstance copies the Bloq member and hurts performance

investigated in #1303. Pretty marginal improvements from de-attrs-ing BloqInstance.


Add PDF labeling support to web capabilities column

This feature releases tomorrow, so updating this table.

Ready to go live, merging


Units shouldn't route through rival cities

While play-testing another change, I noticed an AI-controlled Carthaginian settler trying to go through Athens.

From the console output I can tell that it is trying to reach the tile indicated with the purple star.  It's been stuck at the same tile for a few turns and the obvious conclusion is that it is trying to go north through Athens.
We should exclude rival cities from our routing calculations, likely by setting the distance to infinite (unless there's a future option enable to allow passage through friendly cities, like in Civ4.  We could add that check in at this point so things are flexible, even if it always returns false for now).
This is a small incremental step towards better routing.  I've listed it as a bug since the settler gets permanently stuck (well, unless the city gets destroyed perhaps), though I expect many of those improvements (e.g. respecting lack of right of passage once we have borders) will be improvements.
There are also a few other non-related units-getting-stuck issues, many of which I suspect are due to the unit's goal no longer being achievable, rather than pathing.
This may optionally be added to Carthage, or done later for Dutch.

You can add another walker, which checks that tile hasn't enemy city.
https://github.com/C7-Game/Prototype/blob/Development/C7Engine/AI/Pathing/EdgeWalker.cs
This walker could be passed to DijkstraAlgorithm here: https://github.com/C7-Game/Prototype/blob/Development/C7Engine/AI/Pathing/DijkstrasAlgorithm.cs#L23

What actually happens when the AI tries to do this? Does the unit lose/waste its MP? Is the AI waiting for the path to clear?

What actually happens when the AI tries to do this? Does the unit lose/waste its MP? Is the AI waiting for the path to clear?

It gets the city tile as the next tile on its path, and tries to move there, but can't, so it stays where it is.
I believe that the next turn it gets the tile after the city on its path, which it also can't move to because it doesn't neighbor that tile, so it stays put.
There will be future enhancements required too, around paths becoming invalid after they are assigned.  #213 is related to that problem.


Error in migration engine. Timed out during query execution.

Command: prisma db push
Version: 4.3.1
Binary Version: c875e43600dfe042452e0b868f7a48b817b9640b
Report: https://prisma-errors.netlify.app/report/14283
OS: x64 win32 10.0.22000

closing this as a duplicate of https://github.com/prisma/prisma/issues/15015


Issue with vmap optx.least_squares.

Hi,
I have issues vectorizing the optx.least_squares function (version 0.0.6) when directly vectorized using JAX's vmap function. This behavior occurs unless the sol.state and sol.result fields are removed from the Solution dataclass instance. Perhaps related to this commit? Somehow, vmap does not know that the jaxpr stuff should not be batched (i.e.  pytree_node=False).
MWE
In the provided Minimum Working Example (MWE), I attempt to vectorize the least squares optimization using JAX's vmap function. The process involves a quadratic residual function and the Levenberg-Marquardt solver.
The vectorization attempt fails when trying to return the full Solution object (sol) from the least_squares function. However, if only sol.value is returned, the vectorization succeeds. This suggests a compatibility issue between the full Solution instance structure and JAX's vmap operation.
import jax
import jax.numpy as jnp
import optimistix as optx

# Define a simple quadratic residual function
def residual_fn(params, *args):
    return params[0] * jnp.arange(10) ** 2 + params[1] * jnp.arange(10) + params[2]

# Initialize the Levenberg-Marquardt solver
solver = optx.LevenbergMarquardt(rtol=1e-5, atol=1e-7, norm=optx.rms_norm)

# Define the initial parameters
params_init = jnp.array([1.0, 2.0, 3.0])

# Define a function to perform least squares optimization
def least_squares(params_init):
    sol = optx.least_squares(residual_fn, solver, params_init, max_steps=100, throw=False)
    return sol  # throws an error --> returning sol.value does not...

# Attempt to vectorize the least squares function
vmap_least_squares = jax.vmap(least_squares, in_axes=(0,), out_axes=0)

# Define a batch of initial parameters
batch_params_init = jnp.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])

# Attempt to perform batched least squares optimization
batch_params_final = vmap_least_squares(batch_params_init)

This produces the error:
Traceback (most recent call last):
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3550, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-7-521a622dc7fd>", line 27, in <module>
    batch_params_final = vmap_least_squares(batch_params_init)
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/traceback_util.py", line 179, in reraise_with_filtered_traceback
    return fun(*args, **kwargs)
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/api.py", line 1258, in vmap_f
    out_flat = batching.batch(
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/linear_util.py", line 206, in call_wrapped
    ans = gen.send(ans)
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/interpreters/batching.py", line 638, in _batch_inner
    out_vals = map(partial(from_elt, trace, axis_size), outs, out_dim_dests)
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/interpreters/batching.py", line 270, in from_elt
    return matchaxis(trace.axis_name, axis_size, x_.batch_dim, spec, x_.val)
  File "/home/r2ci/.cache/pypoetry/virtualenvs/rex-lib-fAzIlxw_-py3.9/lib/python3.9/site-packages/jax/_src/interpreters/batching.py", line 1107, in matchaxis
    raise TypeError(f"Output from batched function {x!r} with type "
TypeError: Output from batched function { lambda a:f32[10] b:f32[10]; c:f32[3]. let
    d:f32[1] = slice[limit_indices=(1,) start_indices=(0,) strides=None] c
    e:f32[] = squeeze[dimensions=(0,)] d
    f:f32[10] = mul e a
    g:f32[1] = slice[limit_indices=(2,) start_indices=(1,) strides=None] c
    h:f32[] = squeeze[dimensions=(0,)] g
    i:f32[10] = mul h b
    j:f32[10] = add f i
    k:f32[1] = slice[limit_indices=(3,) start_indices=(2,) strides=None] c
    l:f32[] = squeeze[dimensions=(0,)] k
    m:f32[10] = add j l
  in (m,) } with type <class 'jax._src.core.Jaxpr'> is not a valid JAX type

This is expected -- the output is a PyTree (of type Solution), one of whose leaves is a jaxpr, which is not something JAX knows how to vmap. (i.e. to treat an axis of an array as a batch dimension).
The fix should be to use equinox.filter_vmap, which is basically a wrapper to accomplish jax.vmap(..., out_axes=(<0 for all arrays, None for all non-arrays>).

Thanks!


Malformed parsing for non quoted attributes.

In instances where attributes are not within quotes it breaks the parsing.
For example the src attribute:
<img class="img-fluid" src=https://www.example.com/banner-1.jpg >

I understand this is invalid html, but is quite common on the web to have quoteless data attributes.

Thank you for trying parsercher.
I also appreciate the information provided.
I have released a modified v3.1.5.
I've tested it, but if it doesn't work, please let me know again.
github: https://github.com/kkmtyyz/parsercher/releases/tag/v3.1.5
crates.io: https://crates.io/crates/parsercher/3.1.5

Thanks so much for the quick fix much appreciated.


Bower Warning: Git wasn't found on your system

Firstly, lets establish that I have no 3rd party command-line software installed on my Mac (OS X 10.11.1 El Capitan). i.e. No NPM, no Node.js, no Bower, no Git, nothing.
I've freshly installed Brackets, and the first thing I do is click on:
File » Extension Manager... » Brackets Bower » Install
Then I get the following warning message:

Bower Warning
Git wasn't found on your system
Brackets-bower extension searched for Git at the system PATH.
Bower requires Git installed, and configured in the system PATH variable,
to download and install some packages.
Brackets-bower extension may not work properly.

So I remove the extension, and proceed to install [Git for Mac] (http://git-scm.com/download/mac) according to [these requirements] (https://github.com/zaggino/brackets-git#dependencies).
If I launch Terminal.app, I can now confirm the successful installation of Git via the git --version command:

MacBook:~ jkaussieskater$ git --version
git version 2.6.2

I proceed to install the Bower extension in Brackets, and again, I get the same identical warning: "Git wasn't found on your system":

Sorry to be a drag on this issue, but I was hoping you might be able to help me out with it.
So far, I have tried to look through your source code, but I can't find where your code looks for Git at the system PATH.
I've noticed that in Brackets Git (which you may be familiar with) this code is used:
brackets-git/src/utils/Setup.js
var standardGitPathsWin = [
        "C:\\Program Files (x86)\\Git\\cmd\\git.exe",
        "C:\\Program Files\\Git\\cmd\\git.exe"
    ];

    var standardGitPathsNonWin = [
        "/usr/local/git/bin/git",
        "/usr/local/bin/git",
        "/usr/bin/git"
    ];

This code, or similar, appears to be absent from the Brackets Bower project.
Perhaps this is why Git isn't being found on the system?

Hi @JKAussieSkater, I'm familiar with the brackets-git extension, but how we handle git is different for both extensions. Brackets-git executes git, but brackets-bower extension, executes directly bower, and it is bower that executes git with the assumption that it is available at the system PATH.
This is the module that checks for git in the system path in order to raise an error when it is not found,
https://github.com/albertinad/brackets-bower/blob/master/src/utils/GitUtils.js#L51
I don't use full path for the git binaries, since bower assumes that is available at the system PATH and spawns child process not using absolute path for the binary, but using "git". So I try to do the same.
Besides the error message, when you try to install a package, did it fails?
To help discover the error, I will create a new release now, that I will upload to the registry later, that improves the error handling, and it will help me to solve this problem.
Thanks!

Thank you @albertinad!
Apart from the error message, Brackets Bower appears to have been installed successfully; however when I try to install a package, clicking install appears to fail:

Bower Error
Bower unknown internal error.

Additionally, when I attempt to install jQuery via Bower (File » Install from Bower...) I use the following input:

+jquery

and then I press [Enter] on my keyboard – nothing seems to happen:

Thanks again for looking into this!!! Are there ways I could further assist to resolve this?

@JKAussieSkater can you execute some steps to help me get more information about the error and root cause?
I've recently upload a pre-release version of the extension, it is not available in the extensions registry so you need to manually install it on brackets. Please, first download the zip file from this link: https://github.com/albertinad/brackets-bower/releases/tag/v0.2.15-pre
Then uninstall the brackets-bower extension that you have installed on brackets, restart it, and manually install the downloaded zip through the extension manager, by dragging the zip to the selected area.
If that doesn't work for you, go to $HOME/Library/Application\ Support/Brackets/extensions/user/ and unzip in there the downloaded zip file.
Then restart brackets, and execute the following steps:

if you don't have a bower.json file, create a new one using the extension.
add some dependencies to install
click on install button from the brackets-bower extension panel
an error should happen so the an error dialog should appear, like the one you've shared here
close the dialog
Open Chrome Developer Tools by selecting in the menu Debug --> Show Developer Tools
shared with me the output in the logs, it should be some warning message starting with [brackets-bower] some error description, please share all that you see.

Thanks!

Okay, I just attempted to use jquery as a dependency via "dependencies": {"jquery": "~2.1.0"}. I figure I'll put the entire log here just in case:
Download the React DevTools for a better development experience: http://fb.me/react-devtools
/utils/DeprecationWarning.js:90 PreferencesManager.convertPreferences() has been deprecated. Please upgrade to the current Preferences system (https://github.com/adobe/brackets/wiki/Preferences-System#conversion-from-the-pre-36-preferences-system).
at Object.convertPreferences (/preferences/PreferencesManager.js:325:28)
at Object.eval (/utils/Resizer.js:548:24)
/utils/DeprecationWarning.js:90 Deprecated: Do not use $().on/off() on Brackets modules and model objects. Call on()/off() directly on the object without a $() wrapper.
at new jQuery.fn.init (/brackets.js:474:36)
at n (file:///Applications/Brackets.app/Contents/www/thirdparty/thirdparty.min.js:556:405)
at Object.eval (/SASSAgent.js:161:5)
/utils/DeprecationWarning.js:90 Deprecated: Do not use $().on/off() on Brackets modules and model objects. Call on()/off() directly on the object without a $() wrapper.
at new jQuery.fn.init (/brackets.js:474:36)
at n (file:///Applications/Brackets.app/Contents/www/thirdparty/thirdparty.min.js:556:405)
at Object.eval (/main.js:323:5)
/utils/DeprecationWarning.js:90 Deprecated: Do not use $().on/off() on Brackets modules and model objects. Call on()/off() directly on the object without a $() wrapper.
at new jQuery.fn.init (/brackets.js:474:36)
at n (file:///Applications/Brackets.app/Contents/www/thirdparty/thirdparty.min.js:556:405)
at _statusChangeHandler (/SASSAgent.js:141:49)
at Object.trigger (/utils/EventDispatcher.js:222:40)
at _setStatus (/LiveDevelopment/LiveDevelopment.js:332:17)
at Object.init (/LiveDevelopment/LiveDevelopment.js:1495:9)
at eval (/LiveDevelopment/main.js:309:25)
at _callHandler (/utils/AppInit.js:93:13)
at Object._dispatchReady (/utils/AppInit.js:113:13)
/LiveDevelopment/MultiBrowserImpl/transports/NodeSocketTransport.js:87 NodeSocketTransport - start
BowerJson.js:521 [bower] Error parsing bower.json SyntaxError: Unexpected token j
Bower.js:91 [brackets-bower] Error installing from bower.json {
"code": 7,
"message": null,
"originalMessage": null,
"originalError": {
"code": "ECMDERR",
"details": "xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun\n",
"exitCode": 1,
"data": {
"endpoint": {
"name": "jquery",
"source": "jquery",
"target": "~2.1.0"
},
"resolver": {
"name": "jquery",
"source": "git://github.com/jquery/jquery.git",
"target": "~2.1.0"
}
}
}
}

Thanks! Now I can see what is happening. So, my understanding, please forgive my lack of advanced knowledge on Mac, I'm new to the platform, is that git and some dev tools seems to be broken.
Did you accept some license, terms and conditions to use git?
Since git and some dev tools heavily depends on Xcode, you need to use Xcode dev tools to configure them, or accept terms and conditions, I believe that those tasks can be done through command line tools,
http://tips.tutorialhorizon.com/2015/10/01/xcrun-error-invalid-active-developer-path-library-developer-commandline-tools-missing-xcrun/
Can you try to run the command described in the above post?
That would require to have Xcode installed, but you can try doing the following, if you do not want to install Xcode,
http://blog.bobbyallen.me/2014/03/07/how-to-install-git-without-having-to-install-xcode-on-macosx/
Can you run in the terminal,  $ which git to see the full path of the binary?
After that, try to add to your .bash_profile, located at your $HOME folder, if you are using bash, the following line,
alias git="<the-output-of-which-git>"
Close the terminal, restart brackets, and try the steps to install a package.
Thanks!

Issue related #45

Sorry! I closed it by mistake. Re open it.

$ which git
/usr/local/bin/git
So, when I look in my home directory (I've configured Finder to show hidden .* files), there is no .bash_profile file. I guess some Macs don't have it. So I didn't worry about this step.

Unfortunately I didn't try the method where it wasn't necessary to install Xcode (alias git="/usr/local/git/bin/git").
However, doing what you first said, xcode-select --install, brought up the following dialogue:

I installed it, and it took about 10 minutes. I tried Brackets Bower, and it didn't work.
Then I disabled Brackets Bower, and relaunched Bower.
Then I re-enabled Brackets Bower, and . . . SUCCESS!!!
Not only does the dependency install, but the manual install textbox works too!
You are AMAZING!!! Thank you so much!

As a suggestion, perhaps the "Git wasn't found on your system" error message could identify if Brackets is running on Mac OS X, and if so, suggest to install Xcode Command Line Tools to resolve the issue.
By the way, should I revert to the "official" release of the Brackets Bower extension, or should I continue to use the special version?

Great! I'm really happy that we found the root cause! I guess this is related with an old issue that I have related to git. Thank you very  much for your time and helping me with this!
You can use the pre-release if you want, in the following days I will be releasing the new version. :)
Thank you for your suggestion, definitely I must improve the error messages, and also I would like to show the command error as part of the error message. I will leave this issue open, until the improvements related to git errors is done.
Thanks!

just install "NodeJS" and bower is working

Bower does not require NodeJS to be installed. The only dependency on the system is Git.

Hi @albertinad
Following the instructions above, did not do it for me :-( I still get the same warning about the extension couldn't find Git at the system PATH. Any other suggestions?

@jfrimann, perhaps, if you've done all of the above, you're experiencing a completely different problem which unfortunately shares the same error message: Issue #84
Go there, and try the suggested workaround to see if that resolves the issue for you.

Thanks for the tip @JKAussieSkater
However, it didn't do either. Tried reloading 10 times. Same result every time. Used the Brackets dev tools to check the console output but I don't get the same timeout warning as you did :-(


Fix case sensitive files

With linux we have errors concerning the Utils.js file dans bdStorage.json.
Indeed, the code create a file with the wrong name.
Btw this is a well-known problem because it's in the readme, we have to rename the file Utils.js to utils.js for linux ... Why you just don't update your code instead of edit your readme ?
Btw, this commit should fix all include related bugs on linux.
A similar request already exist but it don't fix the Utils.js bug

#288 should fix both of these issues already. I would either encourage merging that one or simply use that fork instead.


calling the method extractStat

Hi team, from the example of jisti using java at step 5 there is a line
JsonObject statsSummary = extractStats(rawStats, "both").build(); //3. return processed statistics
is this still the right way to build the stats?

Here is the way to implement it
RTCStatMap statsOverTime =  getPCStatOvertime(webDriver, getStatsConfig);
https://github.com/CoSMoSoftware/KITE-Sample-Tests/blob/6b06bc120cc85fd9e39bab94a61eca4f943a7699/KITE-Jitsi-Test/src/main/java/io/cosmosoftware/kite/jitsi/steps/GetStatsStep.java#L40


List images created by @Ol' Bootsie

With the addition of DALL·E 2 to Ol'Bootsie, it would be helpful to have a command to show all images a user created or images that were created in a channel by all users. :
Example
@Ol' Bootsie list the last 10 images created by @og_grumple
@Ol' Bootsie list the last 10 images created

I thought about this one for a long time.
Since the bot is stateless (doesn't store anything), there is no history to pull from. Since one bot instance can support multiple servers and channels, and the requestor might not have access to other places that the one user generated images within, privacy needs to be maintained. I'd have to restrict it to images generated in the channel the request was being made within, which essentially becomes a shortcut for scrolling up.
I appreciate the suggestion though, keep em coming 😁


itemReorder does not look far up its ion-item heirarchy

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[X] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[X] bug report
[ ] feature request
Please do not submit support requests or "How to" questions here. Instead, please use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
I have an ion list that looks something like this:
<ion-list [reorder]="true">
  <div *ngFor="let item of items">
    <ion-item> {{ item stuff }} </ion-item>
  </div>
</ion-list>

and I cannot properly reorder the list. I get an error: reorder node not found from item-reorder-gesture, because the item only looks 4 levels up its DOM tree to find its reorder parent (if I hack this to look further up the tree, it works fine).
https://github.com/ionic-team/ionic/blob/52c40da986c4455c0e1a5edaa8e6ffe2bd914a27/src/components/item/item-reorder-util.ts#L18
What I was actually doing was trying to do a reorderable list of ion-items, the main content of which involves an ngSwitch (rendering different list item types), and some of those ngSwitchCase items are angular directives which themselves contain an ion-item, and I cannot change those. Because the child ion-item was (deeply) nested in a reorderable list, it also got a grab handle, so two handles rendered on the item, and the inner one was broken. Finding no convenient way to hard-code the "don't show the grab handle" on the inner item, I was experimenting with only having one item, but having it not be a direct descendant of the ion-list. It renders fine, it just refuses to reorder itself.

Hello! Thank you for opening an issue with us!
Looking at the Ionic v4 core code it appears that this may still be an issue after v4 is released. I have marked this as something to look at again after v4 is released since it is very doubtful that there will be another v3.x release.
https://github.com/ionic-team/ionic/blob/core/packages/core/src/components/reorder-group/reorder-group.tsx#L290-L305
Thank you for using Ionic


Where is search

I do not see search.
Search is needed.

Search what, specifically?

Transcript search.

:+1:

:+1:

whats  ulp
Josh Wand<EMAIL_ADDRESS>wrote:

:+1:

Reply to this email directly or view it on GitHub:
https://github.com/sdelements/lets-chat/issues/39#issuecomment-74353180

Are we relying on an update to Mongo for this?

@geoffwhittington yes, we're going to try Mongo text search, before introducing another dependency.

@sibarlett how is it going to affect < 2.6?

@hhaidar we can figure that out when we try it. Maybe there's a way of retrieving the Mongo version from mongoose? Or make search something you have to enable in your config?

Transcript search has been merged into master.

Hey, can you sign this petition? http://chng.it/G26S9qhk5C
Thanks! - David


Remove Google Cloud Function runs for transferring data to BiqQuery

The functionality of these Google Cloud Functions has been integrated directly into the Search API repo via two rake tasks https://github.com/alphagov/search-api-v2/pull/351. These are scheduled via cron tasks: https://github.com/alphagov/govuk-helm-charts/pull/2825

I think these bits might be removable: https://github.com/alphagov/search-v2-infrastructure/blob/3c43d36b470120bb2c7abf938471123f9e01e48a/terraform/environment/events_ingestion.tf#L320-L364

I'm a bit unclear on these roles too: https://github.com/alphagov/search-v2-infrastructure/blob/3c43d36b470120bb2c7abf938471123f9e01e48a/terraform/environment/events_ingestion.tf#L300-L318 not sure if they're something that is used or can be deleted

Thanks Chae - we've also got the function itself - the whole directory of https://github.com/alphagov/search-v2-infrastructure/tree/main/terraform/environment/files/vertex_events_push.
I'm going to have a scan see if there's anything else I can see that seems redundant.

Ah yes, I didn't actually realise that was defined here, but it makes sense. I've removed it.


Entity Keys

A common requested feature is a way to store Entities (or references to Entities) inside Components while keeping the data serializable.
That is, the next startup the Component data can be deserialized and the references to the Entities can be maintained without added complexity or data duplication.
We have decided to use a running number using integer values (starting from the smallest possible integer and increasing by one). But leave the option of changing the key generator and a way to preserve the state when deserializing.

API Proposal
World:setIDGenerator(function (state)
   local current = state
   state = state +1
   return string.format("%d", state), state
end, -2^53)

print(World:getIDState()) --prints: -2^53

Player:give("id") --Gives the built-in ID component to the Entity (which should belong to a World)

local id = player.id.value

local entity = World:getEntity(id)

This means that the ID is an actual component that is serialized like any other, any Entity with said Component will get a unique ID (from the ID Generator) that can then be used (through Entity:get("id").value) to get it from the World with :getEntity(id)
The names for :getIDState and :setIDGenerator can definitely be improved.
I think the most important detail is how state is handled, basically :setIDGenerator takes two values, the first is a generator function and the second is the initial state.
The generator function, takes the current state and returns two values, the unique ID, and the next state.
The state is stored in the World and can be accessed (but not set) with :getIDState.
This state can then be serialized with the entities so that it can be recovered on deserialization.
Further Notes:
Changes in Component
This proposal requires a change in how Component:__initialize works, in which it should be able to receive the Entity as first argument to store it inside the Component for further access in the Populate function of said component.
This would allow the component to access both, the Entity and the World, which it needs to save the reference for that ID to that specific Entity.
Serialization
Serialization would require people to convert any Entity stored inside a Component to a ID and back in Deserialization. Other than that it shouldn't be that hard to recover.
Mismatched generators when deserializing.
One possible issue is recovering the state of the id generator from an old serialized state, and have a mismatch with the current id generator expected state. So a specific flag may be needed in deserialization to ignore said state, or upgrade the IDs if needed (probably not?).

API Proposal
World:setIDGenerator(function (state)
   local current = state
   state = state +1
   return string.format("%d", state), state
end, -2^53)

print(World:getIDState()) --prints: -2^53

Player:give("id") --Gives the built-in ID component to the Entity (which should belong to a World)

local id = player.id.value

local entity = World:getEntity(id)

This means that the ID is an actual component that is serialized like any other, any Entity with said Component will get a unique ID (from the ID Generator) that can then be used (through Entity:get("id").value) to get it from the World with :getEntity(id)
The names for :getIDState and :setIDGenerator can definitely be improved.
I think the most important detail is how state is handled, basically :setIDGenerator takes two values, the first is a generator function and the second is the initial state.
The generator function, takes the current state and returns two values, the unique ID, and the next state.
The state is stored in the World and can be accessed (but not set) with :getIDState.
This state can then be serialized with the entities so that it can be recovered on deserialization.
Further Notes:
Changes in Component
This proposal requires a change in how Component:__initialize works, in which it should be able to receive the Entity as first argument to store it inside the Component for further access in the Populate function of said component.
This would allow the component to access both, the Entity and the World, which it needs to save the reference for that ID to that specific Entity.
Serialization
Serialization would require people to convert any Entity stored inside a Component to a ID and back in Deserialization. Other than that it shouldn't be that hard to recover.
Mismatched generators when deserializing.
One possible issue is recovering the state of the id generator from an old serialized state, and have a mismatch with the current id generator expected state. So a specific flag may be needed in deserialization to ignore said state, or upgrade the IDs if needed (probably not?).

Regarding the last problem ("Mismatched generator state and IDs"), I consider it should be ignored entirely, since this problem already exists when you modify your Component definition, this should most likely be treated the same way.
There are some simple safety nets we can add, like not restore the state if an option is passed to World:deserialize but honestly I don't think we should worry about it too much.

Regarding the last problem ("Mismatched generator state and IDs"), I consider it should be ignored entirely, since this problem already exists when you modify your Component definition, this should most likely be treated the same way.
There are some simple safety nets we can add, like not restore the state if an option is passed to World:deserialize but honestly I don't think we should worry about it too much.

Regarding the mismatched generator part, are you proposing that it's up to the user to handle ID conflicts by hand?
For example in the following scenario: Deserializing older entities into an existing world, how do we handle that? (I can envision ways to deal with that by hand, but since the ID stuff is now being handled by Concord, it would feel natural for this to be, as well?)

Regarding the mismatched generator part, are you proposing that it's up to the user to handle ID conflicts by hand?
For example in the following scenario: Deserializing older entities into an existing world, how do we handle that? (I can envision ways to deal with that by hand, but since the ID stuff is now being handled by Concord, it would feel natural for this to be, as well?)

Regarding the mismatched generator part, are you proposing that it's up to the user to handle ID conflicts by hand?
For example in the following scenario: Deserializing older entities into an existing world, how do we handle that? (I can envision ways to deal with that by hand, but since the ID stuff is now being handled by Concord, it would feel natural for this to be, as well?)

Yes and no, when you restore from a deserialized state, Concord can also deserialize the last generator state and start the generator from there. So in this case Entities generated after this wouldn't clash with the deserialized Entities.
However, if the World already had Entities we could have some issues, some possible fixes that can be implemented by the end user without problems are, changing the generator so that IDs are prefixed with the current Unix timestamp (or similar), or just making sure no Entities exist in the World before deserialization.
The other issues is more about changes in the code from q previous deserialization, say I have version 1 of my game with a very generic ID generator, and then in version 2 I change it for some complex UUIDs that require some custom state. If I recover the generator state from version 1 into version 2, the state will be invalid and the new generator will fail to generate a new ID (Also all new IDs will be very different to old ones, but that's not much of a problem)
This is a very normal issue in Components, say if in version 2 I change my position component into a transform and include scale and rotation. Or if I add a quad property to my sprite component. When deserializing a state from version 1, a definition for the position wouldn't be found, no Entity would have a transform component, and sprite wouldn't have the quad property.

Regarding the mismatched generator part, are you proposing that it's up to the user to handle ID conflicts by hand?
For example in the following scenario: Deserializing older entities into an existing world, how do we handle that? (I can envision ways to deal with that by hand, but since the ID stuff is now being handled by Concord, it would feel natural for this to be, as well?)

Yes and no, when you restore from a deserialized state, Concord can also deserialize the last generator state and start the generator from there. So in this case Entities generated after this wouldn't clash with the deserialized Entities.
However, if the World already had Entities we could have some issues, some possible fixes that can be implemented by the end user without problems are, changing the generator so that IDs are prefixed with the current Unix timestamp (or similar), or just making sure no Entities exist in the World before deserialization.
The other issues is more about changes in the code from q previous deserialization, say I have version 1 of my game with a very generic ID generator, and then in version 2 I change it for some complex UUIDs that require some custom state. If I recover the generator state from version 1 into version 2, the state will be invalid and the new generator will fail to generate a new ID (Also all new IDs will be very different to old ones, but that's not much of a problem)
This is a very normal issue in Components, say if in version 2 I change my position component into a transform and include scale and rotation. Or if I add a quad property to my sprite component. When deserializing a state from version 1, a definition for the position wouldn't be found, no Entity would have a transform component, and sprite wouldn't have the quad property.

Hmm yes, I can in theory get around this problem by adding the previous serialized entities first before I add new entities in. It would be to be able to be able to deserialize entities into an existing and populated World, but perhaps this is not so critical.

Hmm yes, I can in theory get around this problem by adding the previous serialized entities first before I add new entities in. It would be to be able to be able to deserialize entities into an existing and populated World, but perhaps this is not so critical.

Currently there is an issue with serialized keys, not working properly. An in depth investigation is needed.
@flamendless found this error, maybe he can give more information about it

Currently there is an issue with serialized keys, not working properly. An in depth investigation is needed.
@flamendless found this error, maybe he can give more information about it

Done :+1: PR submitted and merged


Examples

Since I am a beginner in JS an example would help me understanding how to implement LifemirrorPlayer in my project. Are there any examples out there?

I recommend looking at the source of video pages on www.lifemirror.org.

That helped, thanks!

source of video pages on www.lifemirror.org not exist


Uncaught (in promise) DOMException: Failed to execute 'createPattern' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.

Uncaught (in promise) DOMException: Failed to execute 'createPattern' on 'CanvasRenderingContext2D': The image argument is a canvas element with a width or height of 0.

Specifications:
html2canvas version tested with: 1.0.0-rc.2
Browser & version: chromium latest release

Fixed with https://github.com/niklasvh/html2canvas/commit/bb9237155cf0ec090432ee6c5d9c555eb6ffa81f


Bug inspecting frames in closures

<IP_ADDRESS>
Commercial: None
Python: 3.9.2 (default, Feb 28 2021, 17:03:44)
Flavor: Debian Python
Executable: /usr/bin/python3
OS: Linux
Arch: x86_64
Distribution: Debian 11

Hello,
I just detected a bug that has been driving me crazy for hours. When I inspect f_locals in a closure context, the dict is empty if the module is compiled with Nuitka. However, it's filled when running normally with Python.
Here's a very simple example code:
import inspect

def External():
    def func():
        return None

    class Inner:

        def __init__(self):
            print(inspect.currentframe().f_locals)
            print(inspect.currentframe().f_back.f_locals)
            print(inspect.currentframe().f_back.f_back.f_locals)

    return Inner()

External()

Output when run with Python:
{'self': <__main__.External.<locals>.Inner object at 0x7f08bb951dd8>}
{'func': <function External.<locals>.func at 0x7f08bb88eae8>, 'Inner': <class '__main__.External.<locals>.Inner'>}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f08bb9f2f28>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>,
'__file__': 'hola.py', '__cached__': None, 'inspect': <module 'inspect' from '/usr/lib/python3.9/inspect.py'>, 'External': <function External at 0x7f08bba701e0>}

Output when compiled with option --standalone:
{}
{}
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class 'nuitka_module_loader'>, '__spec__': None, '__compiled__': __nuitka_version__(major=0, minor=6, micro=19, releaselevel='release', standalone=True, onefile=False), '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/fernando/foo.dist/foo.py', '__cached__': None, '__annotations__': {}, 'inspect': <module 'inspect' from '/home/fernando/foo.dist/inspect.py'>, 'External': <compiled_function External at 0x7fc85f1fdde0>}

Yes, that is not supported. One day it might be, it has nothing to do with standalone at all.
Frames for functions are populated when an exception occurs, but until then live on the local stack. One day, the frame object might become the primary storage for local variables, and then it would be possible to produce f_locals whenever asked, but it's not a good idea to use it anyway. You can use locals() in the current context, that will work.
In your example, Nuitka might one day also optimize the class away, so how is the frame stack supposed to match your expectations then?
Yours,
Kay
Yours,
Kay

Thank you so much for your reply and explanation.


Prepare for 7.6.0 Release

🎈 Release
Preparation for 7.6.0 release.
Comparison to 7.5.0: https://github.com/gazebosim/gz-sim/compare/gz-sim7_7.5.0...gz-sim7
Checklist

[ ] Asked team if this is a good time for a release
[ ] There are no changes to be ported from the previous major version
[ ] No PRs targeted at this major version are close to getting in
[ ] Bumped minor for new features, patch for bug fixes
[ ] Updated changelog
[ ] Updated migration guide (as needed)
[ ] Link to PR updating dependency versions in appropriate repository in gazebo-release (as needed):

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

There was an issue with the gz-plugin release causing the Ubuntu CI to fail during installation of dependencies. I had to make another release after merging https://github.com/gazebo-release/gz-plugin2-release/pull/16. It looks fine now, except the flaky test UNIT_Server_TEST, so I'll go ahead and merge.


Add inventory file for utils

recheck

recheck

We should close this issue, and do what we discussed in https://github.com/ansible/network-ee/pull/119
Where, your ansible.utils job would parent to an existing network-ee-integraiton-tests-vyos job, then override the collection_name / collection_namespace variables to ansible.utils.


Update typo in azurecli commands in storage-network-security.md

Corrected typo in two azurecli commands

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

@szymonbr - Thanks for making that fix!
#sign-off


fix #7 run command from admin

Coverage decreased (-0.4%) to 95.102% when pulling d0cdc7cd7dff4c95e45f8222cdda1853c0435fab on czar#7 into 054b5f7ff5749674199e5a69a9fbe1b87c8327fc on master.


New package: Azul,Zulu,21,jdk,21.28.85 version 21.28.85

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree


More info on the "other switches"

Currently says "other switches
Configures Inf2Cat to add a DRM level catalog attribute or a PE catalog attribute to files, or to add page hashes to files. For more information, use the /? switch."
Would be more useful if this documentation details and describes the usages of the other switches and the consequences of using them. Just the basic that /drm and /pe are deprecated would save having to open up a command window to run the program to find out when normally the command is run as part of a build process so never run manually.

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

ID: 0afbc04b-349a-57ed-eeb0-3d2cd28e359c
Version Independent ID: de61f684-31d7-2de5-d66c-a3319f5198d9
Content: Inf2Cat - Windows drivers
Content Source: windows-driver-docs-pr/devtest/inf2cat.md
Product: windows-hardware
GitHub Login: @EliotSeattle
Microsoft Alias: eliotgra

Thank you, @JonAxtell, for pointing this out. I've added three switches that were not documented and removed the vague note about "other switches". It should go live later today. Appreciate that you took the time to let me know.


[CP Stag] Fix forced log out in enable wallet flow

Explanation of Change
Uses ValidateSecondaryLogin to fix issues with the app getting logged out in the enable wallet flow
Fixed Issues
$ https://github.com/Expensify/App/issues/52453
Tests
Enable wallet flow

Log in with the new account
Complete the incorporation process using the option “Get Paid back by my employer”.
Enter a first and last name and click on the Continue button.
Go to Settings > Wallet > Enable wallet
Enter magic code
Verify you're navigated to the Add Bank Account page

Pay someone flow

Log in with a new account
Complete onboarding with the Something else option
Start a chat with an existing user
Start the pay {user} flow
Enter an amount
Select Pay with Expensify
Enter magic code
Verify you're redirected to the confirmation page
Select Pay with Expensify again
Verify you navigate to the add bank account page with Plaid

Offline tests
None
QA Steps
Same as Tests
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/57aefbfb-fb98-4d8f-8ea1-704a7eb4f442
https://github.com/user-attachments/assets/82fc6a14-47ca-4c4e-9f12-98c3a5126c1f

Android: mWeb Chrome

iOS: Native
https://github.com/user-attachments/assets/db2d3b74-c054-428e-8add-5b0a81dbad49

iOS: mWeb Safari
https://github.com/user-attachments/assets/a96f1283-33ec-45d4-9889-adf3ead6a573

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/17a7fd84-94a0-4a75-a7f2-256a191bb3fd
https://github.com/user-attachments/assets/8c04f80a-7904-43a0-b18b-5007fc291789

MacOS: Desktop
https://github.com/user-attachments/assets/19b56a68-e012-41ae-864b-f307c5e9eccb

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Bug: Slight tab issue with roles/splunk/meta/main.yml (breaking commit)

In commit https://github.com/splunk/ansible-role-for-splunk/commit/94177ac2d21daf6bdc5329d388a9feb62be6715b, the following lines (among others) were added to roles/splunk/meta/main.yml:
  platforms:
    - name: EL
      versions:
        - 6
        - 7
    - name: Ubuntu
      versions:
        - xenial
        - bionic
      - name: Debian
        versions:
        - jessie
        - stretch

The following lines have two extra spaces that need deleted:
      - name: Debian
        versions:

This is the error when attempting to run a playbook without deleting the extra lines:
/etc/ansible/ansible-role-for-splunk/playbooks$ ansible-playbook splunk_install_or_upgrade.yml -C
ERROR! Syntax Error while loading YAML.
  did not find expected key

The error appears to be in '/etc/ansible/ansible-role-for-splunk/roles/splunk/meta/main.yml': line 19, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

        - bionic
      - name: Debian
      ^ here

Thank you for all of your hard work @mason-splunk ! I really appreciate it, and I'm sure many others do too.

Resolved in https://github.com/splunk/ansible-role-for-splunk/releases/tag/v1.2.3 along with another bug that was found. Thanks for the report @JacobPEvans


Test & Merge for Release v0.10.0

Description
Test & Merge for Release v0.10.0
Motivation and Context
Added API Connector and other Bug Fixes

API Connector (#202)
Updated Integration Test (#206)
Implemented exception to catch generic server errors (#211)

Type of Change

feat: A new feature
fix: A bug fix
ci: Changes to the CI/CD configuration or scripts

How to Test

Integration Test
Test Models, Datasets, Pipelines & API Connector

Checklist
Please check all the boxes that apply to this pull request using "x":

[x]  I have tested the changes locally and verified that they work as expected.
[ ]  I have added or updated the necessary documentation (README, API docs, etc.).
[ ]  I have added appropriate unit tests or functional tests for the changes made.
[x]  I have followed the project's coding conventions and style guidelines.
[x]  I have rebased my branch onto the latest commit of the main branch.
[ ]  I have squashed or reorganized my commits into logical units.
[x]  I have added any necessary dependencies or packages to the project's build configuration.
[x]  I have performed a self-review of my own code.
[x]  I have read, understood and agree to the Developer Certificate of Origin below, which this project utilises.

Screenshots (if applicable)
[If the changes involve visual modifications, include screenshots or GIFs that demonstrate the changes.]
Additional Notes
[Add any additional information or context that might be relevant to reviewers.]

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
   have the right to submit it under the open source license
   indicated in the file; or

(b) The contribution is based upon previous work that, to the best
   of my knowledge, is covered under an appropriate open source
   license and I have the right under that license to submit that
   work with modifications, whether created in whole or in part
   by me, under the same open source license (unless I am
   permitted to submit under a different license), as indicated
   in the file; or

(c) The contribution was provided directly to me by some other
   person who certified (a), (b) or (c) and I have not modified
   it.

(d) I understand and agree that this project and the contribution
   are public and that a record of the contribution (including all
   personal information I submit with it, including my sign-off) is
   maintained indefinitely and may be redistributed consistent with
   this project or the open source license(s) involved.

Closing PR to create a new PR with updated changes from Main Branch.


[updatecli] Update public stable/nginx-ingress Helm Chart version to 1.41.2

! Experimental project
This pull request was automatically created using olblak/updatecli
Based on a source rule, it checks if yaml value can be update to the latest version
Please carefully review yaml modification as it also reformat it.
Please report any issues with this tool here

Waiting  for #354 to be successfully deployed first :sun_with_face:


Remove version defaults in roboMakerSettings.json

Prepopulating the json with specific versions (like Kinetic, Gazebo7) could lead to customer confusion, e.g. if they choose to use a Melodic dev environment in C9. This change removes those defaults.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I don't like this idea. The Cloud9 build and bundle tools are supposed to be the easy way to get the sample applications up and running, where users only have to fill in the minimum required amount of information to get something going.
Asking someone to have to fill in all these different values before they are able to use the build/bundle tools sounds like a headache for most people, and only really helps a tiny minority who want to use a different ROS / Gazebo version than the default.
Most people much prefer software that has good defaults out of the box, rather than having to set them up themselves, especially if they are new to ROS / RoboMaker (which will be most people running these sample applications)
Our defaults should be our "This works best" settings, so whatever latest version of ROS and Gazebo we are supporting at a time. And if users want to use something different they can change them.

For dealing with Ubuntu 16 vs 18 and Kinetic vs Melodic we should automatically choose the setting that makes sense for the environment, and not let them switch it to something that doesn't work. We should work with the console team to get this implemented (I think Andrew R is working on this feature) rather than making users figure it out.

Agree with Tim, "Our defaults should be our "This works best" settings".

Had a discussion in the hallway and something came up that I didn't realize: Cloud9 will only automatically set these values if they're not set already, so that we don't overwrite user changes.
In that case it makes sense to have the value as <Kinetic/Melodic> and then the IDE will auto-set it when opening the GUI or building/bundling, and if it's already set to Kinetic or Melodic the IDE will build/bundle for that regardless of what version of ROS is installed on the system.


TodoMVC is broken

Go to vuejs todomvc on todomvc.com or on vuejs.org
Add several items
Switch to Active tab and check items

You should notice issue with UI. Same thing happens in Completed tab.
This issue was originally reported by @farzher in gitter chatroom.

Thanks! Looks like the new inplace update algorithm for v-repeat still needs more tweaking. I've decided to remove it from the current codebase to ensure stability. Will probably revisit it in a later release.

Fixed with 0.11.8 release. I see that you submitted the PR that updated Vue to 0.11.6 in TodoMVC, would you like to do that for 0.11.8 as well? :)

@yyx990803 sure! :) will do in couple of minutes

That was fast o_O :+1:

Submitted. Thanks for quick responses, Evan!


Map different preprocess to estimators

As mentioned in the doc, we can map different preprocess to different estimators as
preprocessing_cases = {"case-1": [trans_1, trans_2],
                                          "case-2": [alt_trans_1, alt_trans_2]}

estimators = {"case-1": [est_a, est_b],
                       "case-2": [est_c, est_d]}

Doing this, do we use trans_1 for est_a and trans_2 for est_b? Then if I use
preprocessing_cases = {"case-1": [trans_1],
                                          "case-2": [alt_trans_1]}

estimators = {"case-1": [est_a, est_b],
                       "case-2": [est_c, est_d]}

Does this mean I will use trans_1 for both est_a and est_b while alt_trans_1 for both est_c and est_d?
If the first usage can already handle the mapping between preprocess to estimators in the list, why do we need the dictionary?

@shuyangdu  no that's not what happens. Think of the list passed in the preprocessing_cases dict as one transformer (essentially a Scikit-learn pipeline), and all the estimators in the list under the same key in the estimators dict as all estimators applied to the transformed data.  Essentially like this:
X_tr = X.copy()
for transformer in preprocessing_cases['case-1']:
    X_tr = trans_1.fit_transform(X_tr)

for estimator in estimators['case-1']:
    estimator.fit(X_tr, y)

Note that if you only have one preprocessing case, you don't need to create a dictionary but can pass the lists directly.
Sorry for the confusion, hope this clarifies.

Thank you for your reply! So to verify, the list for preprocessing and estimators have different meanings. The list for peprocessing is for 'sequentially' preprocess data. But the list for estimators is just a set of estimators. The order in preprocessing list matters while the order in estimator list not.

Happy to help, and yes that's right!


Fix for WFCORE-4372, Upgrade CLI to use aesh 2.0

Changes in CommandBuilder API.
Commands are populated at execution time, impact legacy commands, raw operations and Command to DMR translation (for aesh based commands).
Updated test due to change of exception message.

@jfdenise for future PRs, could you please add a link to the WFCORE/WFLY issue please? It makes navigating from GitHub to JIRA much simpler :)

@jmesnil, thanks for the heads-up, will do!


Vietnamese (vi)

Vietnamese translation

@berllx  please fix conflict. sorry as i merge other prs from other contributors i just approve/merge those that addresses their issue the earliest.

@getneil I made the necessary changes

lint is failing please fix

@getneil sir conflict resolved

It’s a queue here, hope Vietnamese is next


Generated node name can not pass the name validation rules

./target/release/substratenode --dev
Error: Invalid node name 'enthusiastic-representative-3454'. Reason: Node name too long. If unsure, use none.

Understood. This one seems to be fixed by #1596. Closing...


Updates all packages dependencies

Description

Updates dependencies of eslint-config prettier-config and tsconfig-config
Lerna updated to v6.6.1 (Node v10.x and v12.x are no longer supported)
Prettier updated to v2.8.7
Eslint updated to v8.38.0
Typescript updated to v8.38.0

Closed due to inactivity


Can not import latest XMTPiOS with LibXMTP

Describe the bug
  pod "XMTP", :git => 'https://github.com/xmtp/xmtp-ios.git'
  pod "LibXMTP", :git => 'https://github.com/xmtp/libxmtp-swift'

With the above lines added to my Example app Podfile, I get an error during pod install

[!] Unable to install vendored xcframework LibXMTPRust for Pod LibXMTP because it contains dynamic libraries which are not supported.
Use dynamic frameworks for dynamic linking instead.

This error is consistent with apple developer documentation on XCFrameworks (https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle):

Avoid using dynamic library files (.dylib files) for dynamic linking. An XCFramework can include dynamic library files, but only macOS supports these libraries for dynamic linking. Dynamic linking on iOS, watchOS, and tvOS requires the XCFramework to contain .framework bundles.

Expected behavior
We normally need to be able to build xmtp-react-native sdk with the lastest xmtp-ios main branch so that we can integrate fixes and features into xmtp-react-native that require updates on xmtp-ios repo.
Steps to reproduce the bug
Test building xmtp-react-native against the latest xmtp-ios by adding the following to your Example app Podfile:
  pod "XMTP", :git => 'https://github.com/xmtp/xmtp-ios.git'
  pod "LibXMTP", :git => 'https://github.com/xmtp/libxmtp-swift'

Does changing to the static library make this go away?

Does changing to the static library make this go away?

This is fixed using the static lib branch, which can be tested with the Podfile branch update as seen below
pod "XMTP", :git => 'https://github.com/xmtp/xmtp-ios.git'
pod "LibXMTP", :git => 'https://github.com/xmtp/libxmtp-swift', :branch => 'cv/staticlib'

*Note you likely need to have git-lfs installed on your machine because of the large static binary sizes. Follow instructions from here: https://git-lfs.com/
brew install git-lfs
git lfs install

@nakajima For my libxmtp-swift branch, I took binaries from this libxmtp PR (latest commit f8139fc5fca4291d5c7c1951f4a052a49774e5ee)
I'm not sure if that specific libxmtp commit has been tested against the xmtp-ios Example app yet, as I don't think the xmtp-ios example app worked against my libxmtp-swift branch when I tried earlier.

Avoid using dynamic library files (.dylib files) for dynamic linking. An XCFramework can include dynamic library files, but only macOS supports these libraries for dynamic linking. Dynamic linking on iOS, watchOS, and tvOS requires the XCFramework to contain .framework bundles.

@neekolas also wanted to note that the static library files might not be the only way to fix this. In the line above it mentions ".framework bundles" for dynamic linking on iOS. It's been tricky to find documentation on .framework bundles, but I did find an example of one in a repo here => https://github.com/phrase/ios-sdk/tree/master/PhraseSDK.xcframework . The common theme seems to be directory structure with <library name>.framework folder that has a binary in it just named <library name> with no suffix. This stack overflow for example has one answer maybe with some guidance on how to generate that .framework bundle for ios support of a dynamic library. (though most comments seem to recommend building static)
All that being said, it still seems like the vast majority of examples and recommendations say use static libraries for iOS. Evidence for going the static route include:

Uniffi docs "Note: You also need to add staticlib crate type if you target iOS.
Matrix Crypto XCFramework uses static libraries (iOS binary is 99MB) - https://github.com/matrix-org/matrix-rust-sdk/releases
Matrix  Components Swift XCFramework uses static libraries (iOS binary is 339MB) - https://github.com/matrix-org/matrix-rust-components-swift/releases

My recommendation would be to try and get xmtp-ios, xmtp-react-native, and libxmtp-swift all working with the static libraries from your libxmtp staticlib branch at least for groups alpha. Perhaps for beta we can look into optimizing to decrease the static binary sizes or switching to iOS using .framework bundles for dynamic libraries (as opposed to the .dylib which doesnt seem to be supported on iOS).

FWIW, we do export a .xcframework today. You should be able to generate on locally by running make framework in the bindings_ffi folder of libxmtp. That framework gets pushed into libxmtp-swift on every commit to main in libxmtp. The .dylib file is part of that framework.

FWIW, we do export a .xcframework today. You should be able to generate one locally by running make framework in the bindings_ffi folder of libxmtp. That framework gets pushed into libxmtp-swift on every commit to main in libxmtp. The .dylib file is part of that framework.

@neekolas The terminology is a pretty confusing here. ".xcframework" (or XCFramework bundles) and the ".framework bundle" for bundling dynamic libraries are actually two different things.
Function of XCFrameworks is to specify different libraries targeting different architectures. .xcframeworks can bundle static libraries OR dynamic libraries for the different architectures.
".framework bundles" are a way specifically for packaging dynamic libraries, as opposed to just using a .dylib standalone file.
I think what became confusing about our LibCMTPRust.xcframework is that it is packaging .dylib files with a sibling headers directory, which is in incorrect way to package a ".framework bundle" (See anatomy of a framework bundle). I think part of the reason our .dylib files are not bundled correctly as ".framework bundles" is that when we updated from bundling ".a" static libraries to .dylibs (PR here), we never updated our xcodebuild -create-xcframework command from using "-library" to using "-framework".
If you look at the section Generate the XCFramework bundle linked, it says to use the -library flag specifically for including static library (.a) files.
We could look into bundling dynamic libraries as proper ".framework bundles", but again, I think static libraries might be the preferred option anyway.

@cameronvoell Are you using app extensions by any chance ?
I had the exact same issue but resolved it by adding the following on my podfile
`target 'NotificationService' do
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']
pod 'XMTP'
end`
the first two lines were important
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']
hope it helps

The terminology is a pretty confusing here. ".xcframework" (or XCFramework bundles) and the ".framework bundle" for bundling dynamic libraries are actually two different things.

Thank you @cameronvoell. This was extremely informative. Appreciate you diving into the details here. It sounds like the best course of action is to move back to a staticlib.
Seeing as you have the most context, can I leave it to you and @nakajima to validate the change in xmtp-ios as best you can and make sure it doesn't break anything downstream. And feel free to make any changes to my PR as you two see fit.
Great work here


fix closing paren

See... that's why you don't push code without testing :-)
I'll push another update.

Thank you for the fix.  v1.5.5 is up


Authorization code does not come

calling the function: SetAuthenticationPhoneNumber
It returns: Ok.
The state changes to:

{@type: updateAuthorizationState, authorization_state: {@type: authorizationStateWaitCode, code_info: {@type: authenticationCodeInfo, phone_number: <some_number>, type: {@type: authenticationCodeTypeTelegramMessage, length: 5}, next_type: null, timeout: 0}}}

As a result message does not come to telegram. tried many times and from different phone numbers
This happens very often. This may occur when we decide to release our application.
What to do in such a situation?

Sorry, there is an issue with Telegram login system. Please wait until it's fixed.

I seem to have the same problem developing an alternative Android client (using tdlib's java bindings). The phone number is from a phone that has the official client installed and I'm connecting with the following settings:
deviceModel = "Phone"
applicationVersion = "1.0"
useFileDatabase = false
useChatInfoDatabase = false
useMessageDatabase = false
useSecretChats = false
enableStorageOptimizer = true
systemLanguageCode = "en"
useTestDc = true
I call setAuthenticationPhoneNumber(phoneNumber), receive an Ok, and the state is switched to AuthorizationStateWaitCode with the same contents as in the issue, but I get no notifications in Telegram. Is there something I'm doing wrong or is it something on Telegram's end?

@eugene2k You specified useTestDc = true. Are you sure that you are logged to the Test DC in the official client?
By the way, you can try to test authorization in Test DC with a test account first.

I haven't realized there's a need to log in to the test dc with the official client. I can't find any mention of this or how it can be done.

Test DC is a completely independent environment.


add member registration form in webling

Add a member registration form in webling

Added forms for aktive and passive members in webling
https://engines.webling.eu/forms/memberform/80791f7fef3ead3c4aa4
https://engines.webling.eu/forms/memberform/40b5ca27b45d9eb907b7
There are also Iframes available


Not print on jupyter notebook

Hi,
First of all thanks for your great work.
The issue is that the progress bar is not shown on jupyter notebook but there is no problem with python on terminal. How can I fix this?
Version: '3.8.5 (default, Sep  4 2020, 07:30:14) \n[GCC 7.3.0]'
Regards,

check_tty=False will work
https://github.com/verigak/progress/issues/83#issuecomment-660700086


Support for OpAMP to manage fleet of Alloy agents

Request
Hi,
It would be a great addition to the Grafana ecosystem if it would be possible to manage a fleet of Alloy agents via the Open Agent Management Protocol (OpAMP).
Being able to have a central management interface to manage all agents and their respective configurations would reduce the operational cost of running dozens or hundreds of Alloy agents across a large infrastructure.
Use case
We want to manage hundreds of telemetry agents via a central agent management service. This OpAMP server should allow to list all deployed agents and their active configuration as well as the bandwidth for ingested data to the Metric TSDB. A reference for this would be Splunk's Deployment Server or ObservIQ Bindplane. Latter one is a server implementation of OpAMP, but only provides support for their own telemetry collector.
Without a central management service, we are bound to Ansible to rollout and manage our agents. This works, but doesn't provide the same operational quality to immediately see the status of all agents and troubleshoot problems.

Hey there @X4mp 👋
This is on our radar. We're experimenting the addition remote configuration/fleet management capabilities to Alloy with the remotecfg block.
As you've probably seen, the scope of OpAmp is really vast, so to to get us quickly off the ground we're using a custom Open Source protocol available over at https://github.com/grafana/alloy-remote-config. It only contains a single GetConfig endpoint right now, but will be a stepping stone to properly evaluating OpAmp for production workloads.

Hey @tpaschalis
That is incredible to hear. Thank you very much for being open and providing this understandable response.
Indeed have I seen the scope of OpAmp and I fully support your decision of going with the remote-config route. Even without full OpAmp support at the beginning, this will be a super important feature for us to remotely manage our Alloy agents!
Can you provide us with a rough estimate when we can expect the first parts being implemented and released with Alloy?
Really looking forward to this!
Best regards,
Roland


before/after action on devise actions

Hey guys, is there a way to run a custom before/after filters on devise controllers?
For example if I want to run somenthing before/after the user log in.
What I did was this:
class SessionsController < Devise::SessionsController
   after_action :my_method, only: :create
end

I created this new controller only to call the filter.

@jonatasrancan yes, the custom controller is required for this - you can either use after/before_action callbacks or override the actions and hook your app specific code around with super or a block.

ok, thx @lucasmazza .


blank page on reload

user complaints that at times,  the page refresh and the "widget" isnt loading.

Cannot replicate.

go to pool
click add liquidity to bnt/ren v2 pool
select the ren token
refresh the page
https://streamable.com/vfq92n

@ashachaf thanks for the screencast, I am now able to reproduce it. It does not happen always it seams. I think it has to do with the way we load the data.
@Velua might this be due to the loading in chunks mechanism? Any idea how to resolve this? We might need to show another loading animation until the chunk with the correct pool information is loaded.

Yeah this is likely a bug on the Vuex side, I'll look into it

Pushed to staging branch


Wyrmprint dragon prep abilities don't work at the start of a quest

Describe the bug
The wyrmprints Dragon's Nest and Dragon Arcanum don't seem to have any effect at the beginning of a quest. However, dragons with such abilities, Bahamut/Ramiel/Elysium/Pbrun, as well as character abilities like Alberius' A1 work as expected when in the main party.
On branch
Develop live 06/01/2023
To Reproduce
Steps to reproduce the behavior:

Equip Dragon's Nest/Dragon Arcanum on any character without innate dragon prep and start a quest.

Expected behavior
The dragon gauge should start at a boosted amount depending on how many copies the team has equipped.
Additional context
No gauge increase shown in quest

Dragon's nest is equipped

Investigated this: it transpires we are sending the levels of each ability as 0 because we lack this information in the DB. Will be fixed when wyrmprints get some attention whenever upgrading for these is implemented. For now it may be worth adding a default assignment of 3 to the levels