cannot import name 'viewer' from 'mujoco'

Hi all,
I just start to use mujoco by running pip install mujoco. After that, I open a python console, and enter from mujoco import viewer. However, it pops cannot import name 'viewer' from 'mujoco' (/xxx/lib/python3.8/site-packages/mujoco/__init__.py).
I have tested some code in the official tutorial here, and it works as expected. So I think the problem just comes from the interactive GUI.
I am using Ubuntu 20.04, Python3.8, mujoco-2.3.0.
Thanks for help!

viewer was just added in mujoco-2.3.1, which we pushed today. Try it again after upgrading.

thanks!

Having said that, I just discovered that viewer.py in fact does not work with Python 3.8.. reopening.


ImportError

Traceback (most recent call last):
File "test.py", line 6, in
from music import *
File "/usr/local/lib/python3.6/dist-packages/music/init.py", line 2, in
from . import utils, tables, synths, effects, structures, singing
ImportError: cannot import name 'structures'

Hi @RomeoAvagyan, I have updated the package a few minutes ago. May you try it again? In case it fails, please write your python version and OS. Cheers!


SequentialWriter does not reset cell pointer when creating new sheets

I use the SequentialWriter in one of my applications. After upgrading to ExelUtil 2.4.0 and POI 5.1 the behavior of the SequentialWriter has changed. After creating a new sheet, the cursor now sticks in the position it had in the previous sheet. New content will then typically be added in the next row beyond the last row of the content added last to the previous sheet. Thus, if you iteratively create new sheets and add content, you end up with an increased number of empty rows leading the actual content. In previous versions, content in new sheets was always added starting from the top row. This seems to be a bug.
Example code (entires contains a HashMap of filled data templates):
SequentialWriter writer = new SequentialWriter();
for( String sheet : entries.keySet() ) {
writer.createNewSheet(sheet);
writer.writeData(REPORT_TEMPLATE, entries.get(sheet));
}
InputStream stream = writer.exportToFile();
FileUtil.writeToDisk(filename, stream, true);

Hi @prof-thies-pfeiffer, I have fixed this issue in version 2.4.1. Please update in your code.

Just in case you didn't know, there are many guides in the section "Wiki" that you may find useful. Please take a look.

Hi @nambach, thank you for the impressively quick reaction. I can confirm that the problem is fixed in 2.4.1.
Thank you for the efforts you are putting in this!


Upgrade Netty and Reactor Netty Versions

Description
This PR upgrades the versions of Netty and Reactor Netty being used by the SDKs. This PR also prepares azure-core-http-netty for a release with the updated versions.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

This PR is included in #26380, how about closing this one and use #26380 instead?

This PR is included in #26380, how about closing this one and use #26380 instead?

Yes, let's use that one instead, didn't see it. Is that going to be merged today?

@alzimmermsft
Let's discuss here: https://github.com/Azure/azure-sdk-for-java/pull/26380#issuecomment-1009484264

Closing in favor of #26380


[cherry-pick][state sync] verify waypoint's end-of-epoch li matches end-of-chunk v…

Motivation
Justification
This cherry-pick fixes a state-sync bug encountered in premainnet - state sync getting stuck during the waypoint sync phase. These are triggered by state sync not performing certain checks on an end-of-epoch-li before passing it to execution/commit. This change affects Libra nodes - they will have to restart with the updated software.
Technical details
In the waypoint sync protocol, when a node processes the waypoint chunk response, it passes a chunk of transactions and an optional end-of-epoch LI to the executor for execution/commit. The executor expects that if it is given an end-of-epoch LI, it meets various requirements (the chunk of txns passed in with it ends at the epoch, the LI ends in epoch) - otherwise, execution/commit will fail, but state sync wasn't performing these checks of the end-of-epoch LI, so state sync was stuck. This PR adds those verifications fo the end-of-epoch LI.
Testing

Added a integration and smoke test simulating the above bug scenario (waypoint sync across multiple epochs that span multiple chunks), both fail without the fix, both pass with the fix
No regression detected

Workarounds

If a node gets stuck due to this unsolved problem, the mitigation is to restart the node by setting its waypoint to an earlier one

Why Necessary for V1 Launch

Not fixing this will put severe limitations on the range of waypoints a node can use and lose the benefits a waypoint provides.

:exclamation: Invalid command

Bors help and documentation

Bors is a Github App used to manage merging of PRs in order to ensure that CI is always green. It does so by maintaining a Merge Queue. Once a PR reaches the head of the Merge Queue it is rebased on top of the latest version of the PR's base-branch (generally master) and then triggers CI. If CI comes back green the PR is then merged into the base-branch. Regardless of the outcome, the next PR is the queue is then processed.
General

This project's Merge Queue can be found here.
This project requires PRs to be Reviewed and Approved before they can be queued for merging.
Before PR's can be merged they must be configured with "Allow edits from maintainers" enabled. This is needed for Bors to be able to update PR's in-place so that Github can properly recognize and mark them as "merged" once they've been merged into the upstream branch.

Commands
Bors actions can be triggered by posting a comment which includes a line of the form /<action>.

Command
Action
Description

Land
land, merge
attempt to land or merge a PR

Canary
canary, try
canary a PR by performing all checks without merging

Cancel
cancel, stop
stop an in-progress land

Cherry Pick
cherry-pick <target>
cherry-pick a PR into <target> branch

Priority
priority
set the priority level for a PR (high, normal, low)

Help
help, h
show this help message

Options
Options for Pull Requests are configured through the application of labels.

          Option
Description

Indicates that the PR is high-priority. When queued the PR will be placed at the head of the merge queue.

Indicates that the PR is low-priority. When queued the PR will be placed at the back of the merge queue.

Before merging the PR will be squashed down to a single commit, only retaining the commit message of the first commit in the PR.

A few addendums:

The underlying issue is that the executor has different and inconsistent checks for a target li and end of epoch li. StateSync was unaware of this assumption and hence when receiving a chunk that didn't end an epoch but came with an end of epoch li, the executor would return an error.
On the note of workarounds, finding an appropriate waypoint is a non-trivial task even for experienced folks in the space, let alone operators that have "broken" systems.
This issue is further a pain if a validator node swaps between operators or the operator loses access to their historical consensus keys, which can and will happen. The proposed solution was to state sync them via a waypoint into a state where their keys could be reconciled (onchain to storage), but right now there is no clean solution here except a very ambiguous backup and restore procedure that has failed more times than it has succeeded.


samples: sensor: hts221 has no trigger on stm32u585 disco kit

The b_u585i_iot02a stm32 board has no HTS221 DRDY pin to trig the HTS221 relative humidity and temperature sensor.
So that sample.sensor.hts221.trigger is not applicable.

Testcase samples/sensor/hts221/sample.sensor.hts221 is PASSED
*** Booting Zephyr OS build zephyr-v3.5.0-1908-g723b6eab641e ***
Observation:1
Temperature:26.4 C
Relative Humidity:38.5%

Testcase samples/sensor/hts221/sample.sensor.hts221.trigger  is skipped


[DR] Reorganize GK I/O functions to allow infrequent writing of phase-space quantities

Presently the distribution function gets written out every frame. That's because the function gkyl_gyrokinetic_app_write which writes the distribution also writes other stuff (mostly configuration-space diagnostics). This is problematic because most applications don't need the distribution at the same frame rate, yet they are still filling up our disk space. See issue #478.
A solution, prototyped in the gk-g0-app_io_reorg branch, is to split the contents of gkyl_gyrokinetic_app_write into two other functions
void gkyl_gyrokinetic_app_write_phase(gkyl_gyrokinetic_app* app, double tm, int frame);
void gkyl_gyrokinetic_app_write_conf(gkyl_gyrokinetic_app* app, double tm, int frame);

which as their name suggest, are responsible for writing phase-space and conf-space diagnostics, respectively. gkyl_gyrokinetic_app_write will simply call these two, so that input files that continue to to call gkyl_gyrokinetic_app_write are not affected (arguably we should deprecate that at some point). Additionally, users that wish to output phase-space quantities less frequently could call gkyl_gyrokinetic_app_write_phase according to a different trigger, like (e.g. in write_data of our input files):
void
write_data(struct gkyl_tm_trigger* iot_conf, struct gkyl_tm_trigger* iot_phase, gkyl_gyrokinetic_app* app, double t_curr, bool force_write)
{
  bool trig_now;

  trig_now = gkyl_tm_trigger_check_and_bump(iot_conf, t_curr);
  if (trig_now || force_write) {
    int frame = (!trig_now) && force_write? iot_conf->curr : iot_conf->curr-1;

    gkyl_gyrokinetic_app_write_conf(app, t_curr, frame);

    gkyl_gyrokinetic_app_calc_mom(app);
    gkyl_gyrokinetic_app_write_mom(app, t_curr, frame);
  }

  trig_now = gkyl_tm_trigger_check_and_bump(iot_phase, t_curr);
  if (trig_now || force_write) {
    int frame = (!trig_now) && force_write? iot_phase->curr : iot_phase->curr-1;

    gkyl_gyrokinetic_app_write_phase(app, t_curr, frame);
  }
}

Looking at this seems a bit confusing, as mom is a conf-space diagnostic, so not sure if we should really be using different functions to call it (though we could leave the functions in the code for greater fine-graining).

How are you thinking about handling the restart capabilities? Do we need to pass two flags for restarts now (the phase space frame number and the configuration space frame number) or are the output frames in phase space when writing out less frequently will still map onto the configuration space frame numbers (so you may write out the distribution function at "frame" 5, 10, 15,... )

I'm hoping we still simply provide a single frame number, and the input file computes the corresponding frame number for the distributions.
For example:
Assume a simulation with num_frames=100 and phase_write_freq=0.2 (so we get 20 distributions).
sim 1:

t_end = 3.0;
writes 100 frames of moments, and 20 frames of distributions

sim 2 (restart):

t_end = 6.0;
run with -r 100 to restart (so restart_frame=100)
given phase_write_freq=0.2 the code will look for frame phase_write_freq*restart_frame=20 and load the 20th distribution.

What do you think?

The above convention is what we had in g2, where the number of frames really meant the number of conf-space frames.
See a demonstration of an input file that can restart as described above here:
https://github.com/ammarhakim/gkylzero/commit/816a869372fa2de25e6167b2d04361ea5e812b13
Another option is to simply make the -r value be the distribution function frame we are restarting from. But I prefer not to do this and to stick to the g2 convention instead.

What about keeping the same numbering for both phase and conf and just skip frames with phase? Like in sim 1, conf will go for 0,1,2...,100 and phase for 0,5,10,...,100? It's then easier to link them when we look at the files for postprocessing imo

I lean towards @Antoinehoff's solution because I worry about causing headaches if someone changes the I/O frequency restart to restart, or requests some length of time in a restart where they should change the I/O frequency to make the distribution function cadence and configuration space function cadence match up.
The only other thing I can think of which might work: can we store the distribution function frame as meta-data in configuration space files? Then we could pass the configuration space frame to the restart command and read the meta-data to figure out what distribution function frame to read in.

@JunoRavin We can't store distribution function frame in the conf quantities meta files.
Actually, all this represents a confusion which is perhaps understandable: remember the C driver is specifying the frame numbers. This means the C driver can specify arbitrary frame numbers, for example, the sequence of primes, or perfect numbers or Fibonacci sequence. Of course, one should avoid such perverse things, but this is not disallowed.
Hence, ensuring that the restart is done properly is also the responsibility of the C driver. The -r flag is just something our regression test provide, and not something universal for every C driver. As each C driver can be unique there is no way to make the -r flag work in the same work in each driver.
Hence, this means the issue of restarts is not connected to that of frame numbers. If you use  a perverse numbering scheme that it your responsibility to ensure that restarts are consistent.
Finally, I want to point out that universal behavior of the -r flag is only possible via Lua driver. It is hence we complete those as soon as we can.

One more important point: We must not remove the species index from the species write method. Hence, from the C driver it should continue to be possible to write electrons and ions at different frequencies. Please remember: the C API must be flexible and sufficiently fine-grained. It is the responsibility of the driver (C or Lua or whatever you like) to call these.

Please methods of the form:

etc to the system. Then call these in the new app_write methods proposed above.
Please keep in mind the API design principle: think of API flexibility and granularity. We can then add wrappers around those to make life a bit easier. But without a flexible API we can't produce a powerful and extensible code.

I'll incorporate above comments:

keep numbering for phase frames the same as that for conf frames.
add more similar methods for species.

Addressed in PR #484


Update C function documentation affected by Annex K

There are functions in Annex K that we don't implement:  abort_handler_s, ignore_handler_s, and strerrorlen_s
These functions have reordered parameters: gmtime_s, localtime_s
These functions are different: strtok_s, wcstok_s
This function may be misnamed, since it shouldn't have the leading underscore:  _snprintf_s
There's all the functions that remain unique to Microsoft, which is a lot of them, including all the locale-aware variants.
The biggest task is calling these out. Usually they have a leading underscore, such as _wtmpnam_s.
See TFS #1822703 for more background.

Tracking in Quest, now


Improve support for networked games

This issue is intended to resolve one of the remaining problems in ashley: networking. Currently, there is no built-in way to synchronize entity id's, which is useful when writing network packets. A solution to this problem would be to allow passing an entity id to addEntity(), but one issue remains: id clashes between client/server. Right now the generated id's are sequential, which means the probability of a clash is very high. I propose making it optional for an entity to carry an id, so the user has to be explicit about what entities to associate with an id. As a replacement for the current notion of "id", I suggest "index". This would be a recycled integer that can be used for storing local data (such as caches) related to an Entity outside of components.

I don't think that's a good idea. Recycling indexes will add a lot of issues, especially in network code.
If you use UDP (which you should in a game), there is no guarantee that packets arrive in order.
Now imagine this scenario:
Server creates an entity with id = 1
Client creates entity with id = 1
Server pushes a lot of packets with position updates for id = 1 (each getting a sequence id to allow ignoring old packets)
Client receives most of them, but a couple are delayed
Server deletes id = 1
Client deletes entity with id = 1
Server creates a new entity with id = 1(b)
Client creates new entity with id = 1(b)
Client receives delayed updates for 1(a) and applies them incorrectly for entity id=1.
And since updates for 1(b) have a fresh sequence id they will be ignored until they are higher than the sequence id from 1(a).
Sure there are ways to work around that issue, but generally its better to just stick with a unique 64bit id (you won't run out of ids in any scenario)
Also, overload the addEntity to allow for ids to be generated if the parameter is not passed.
You might also want to consider a scenario where the client wants to create entities with ids that the server does not have (for rendering or other stuff the server does not care about).
I have already done a Network game with Ashley and for my case, it worked fine to just map incoming entity ids to the newly created entities in a map. Since the server always tells the client which entities to destroy, the map can be kept up to date from the network code.

Indexes should not be used for network packets, as what index is assigned to a new entity is arbitrary, and can't be controlled by the user. I mentioned a new concept of IDs to be used for that purpose.

Also, overload the addEntity to allow for ids to be generated if the parameter is not passed.

Yes; I mentioned that in my post.

You might also want to consider a scenario where the client wants to create entities with ids that the server does not have (for rendering or other stuff the server does not care about).

Locally created entities should not be associated with an ID in the first place.

I have already done a Network game with Ashley and for my case, it worked fine to just map incoming entity ids to the newly created entities in a map. Since the server always tells the client which entities to destroy, the map can be kept up to date from the network code.

That works, but sounds pretty error-prone.

I guess then I don't get what the index would be for.. except for isValid checks, but you don't need an id for that a boolean would suffice.

The user is responsible for assigning ids; at least for now.

Most games don't have networking, so having to manually manage uuids is extra work for the user, even if they don't need it. Also, you would break existing games.

That works, but sounds pretty error-prone.

Since there are only two places the map is changed, there is no problem at all.

I guess then I don't get what the index would be for.. except for isValid checks, but you don't need an id for that a boolean would suffice.

The index of an entity can be used for sparse arrays storing some value related to an entity. In the future, this is also useful for storing components outside of entities, as mentioned in #87.

Most games don't have networking, so having to manually manage uuids is extra work for the user, even if they don't need it. Also, you would break existing games.

By default, entities have no ID. To assign a ID to an entity, the addEntity(Entity, long) method is used. addEntity(Entity) does not assign an ID at all.

Since there are only two places the map is changed, there is no problem at all.

I meant that it's pretty easy to forget to actually re-map the IDs, especially if you have something like Map<Long, Long>.
I'll look into improving my patch; I think the best solution is to refactor IDs into a component. Some methods will be provided by Ashley for convenience (such as Entity.getUuid()), that throws exceptions if an ID is not set. And, yes, I'll break all existing games, but other recent changes have already done so.
Any other ideas?

The index of an entity can be used for sparse arrays storing some value related to an entity. ...

So you want to create an array the size of max-integer ? Sounds like a bad idea memory-wise.
Even if you would make it resize depending on the number of entities, you still have the problem that there are games out there with a huge amount of entities.

addEntity(Entity) does not assign an ID at all.

That is the problem, because currently, every entity does have an ID. and if users want that to continue, they need to do extra work. IDs are required if you use PooledEngine and want to store a reference to an entity that might be destroyed.

I think the best solution is to refactor IDs into a component.

For what purpose ? Seems to me like there is only overhead, but no benefit.

So you want to create an array the size of max-integer ? Sounds like a bad idea memory-wise.

No; Bag can be used.

Even if you would make it resize depending on the number of entities, you still have the problem that there are games out there with a huge amount of entities.

Right now, Ashley is bad memory-wise. It stores the components of an entity in both an Array and sparse Bag. But this does not matter too much, as today's computers and VMs are capable of handling it.

That is the problem, because currently, every entity does have an ID. and if users want that to continue, they need to do extra work.

The index of an entity can be used as a direct replacement in most situations.

IDs are required if you use PooledEngine and want to store a reference to an entity that might be destroyed.

That's probably doing something pretty wrong. If you really want that, you can use a wrapper class for handling entity references.

For what purpose ? Seems to me like there is only overhead, but no benefit.

Because then there is no need to assign a magic value to denote the absence of an ID. The overhead caused by adding an extra component type is redundant.

Right now, Ashley is bad memory-wise. It stores the components of an entity in both an Array and sparse Bag

might be true, but that's no excuse to worsen it.

But this does not matter too much, as today's computers and VMs are capable of handling it.

on a pc maybe.. mobile devices not so much

The index of an entity can be used as a direct replacement in most situations.

Can't think of any where it would.

That's probably doing something pretty wrong. If you really want that, you can use a wrapper class for handling entity references.

So adding lots of entitylisteners with if(entity == this.entity) entity = null; is better than storing an id ?
I'd rather check if the entity still exists when I need it than getting constant updates about every entity creation and deletion.

Because then there is no need to assign a magic value to denote the absence of an ID. The overhead caused by adding an extra component type is redundant.

If you just want the magic value gone, why not make it a reference? Tho I don't think it's much "magic", since -1 or 0 is quite common for this case, especially if the values are always positive.

might be true, but that's no excuse to worsen it.

Assuming you're talking about component storage: it would improve it.

on a pc maybe.. mobile devices not so much

Yeah, but I don't think you will use thousands of entities in a mobile game. If so, you're better off not using Ashley at all.

Can't think of any where it would.

Tell me where it wouldn't.

So adding lots of entitylisteners with if(entity == this.entity) entity = null; is better than storing an id ?
I'd rather check if the entity still exists when I need it than getting constant updates about every entity creation and deletion.

No; like I said, you can introduce an EntityReference class, and something like EntityReferenceManager, that maintains a weak hash map of Entity->EntityReference, and invalidates references as entities are removed. One possibility that I've thought of is to auto-assign negative IDs to created entities, and require that manually assigned IDs be positive. I do, however, think of this as quite bad.

If you just want the magic value gone, why not make it a reference? Tho I don't think it's much "magic", since -1 or 0 is quite common for this case, especially if the values are always positive.

If we don't need a magic value, then it's possible to permit any number as ID. Storing IDs in a component also allows processing entities with an ID separately, which could be useful for some system implementations.

I don't think it's a good idea to keep unique identifiers; they can easily be stored in components and managed by systems. The idea of an index might be useful for future optimizations, but it's probably not needed yet. I suggest that we remove support for unique identifiers, and let users implement their own components.

For my game, I used a UUIDComponent class, which uses 2 longs to represent a 128 bit UUID. I send things to and from the server as an array of components, and then check UUID's to figure out how to handle the packet.

Fixed by #182.


World Conversion Issue from Bedrock to Java

Chunker Version
1.2.0-main-4ae23ae
Input World Version
Bedrock 1.21.30
Output World Version
Java 1.21.1
Platform / Operating System
win32-x64-10.0.19045
Issue Description
Error Chunker Displayed: A fatal error occurred during conversion.
main.log

This seems like a duplicate of https://github.com/HiveGamesOSS/Chunker/issues/71, we'll update that issue when a fix is released.


Abstract design of main page

Outline on the left side that doesn't scroll

bio
articles
intrests
works

No animation
Can be seen by only scrolling

To fix outline on the left side, I can use CSS property position: sticky.


Uncaught Exception when uploading an image smaller than one of the sizes specified in imageSizes

Error only seems to occur if no formatOptions are specified.
Workaround: set withoutEnlargement to false

Fixed in v0.0.6


Removing Content-Length header for GET call

Request for solution to remove the Content-Length header for GET call. As part of our scenario execution, the API GET call is successfully executing if we exclude the Content-Length header key but could not able to remove the Content-Length header from Karate framework. Kindly suggest solution.

@jo-he-cityzen sorry I'm closing this as a wont fix. no one has ever reported this in 6 years - so I have a feeling this is is an actual bug in your server. you or anyone else is welcome to contribute code and submit a PR against this ticket
you can see if switching to some custom htto client or curl can be a workaround, refer: https://stackoverflow.com/q/73227903


Git rid of "duplicate label" warnings; add some markup

Uniquify IDs that are computed from toctree caption.
Inconsistent indentation caused some spaces to be included in filenames.

Thanks! What's up with that openssl command failure?

The build never works with forks. Only with branches.


Slivers of next and/or previous slide shown when in a fractional width container

When in a container with a fractional width (such as 299.5px) the slivers of the next slide (to the right) is shown.
I have made a tiny reproduction here: https://jsbin.com/zubeyoxono/1/edit?html,css,js,output

@voronianski When do you think there'll be a release of this? If possible before 21st of september would be great for us as we otherwise will have to rely on an internal fork :)

@erik-lundgren new version 2.0.4 is published on npm.


[Removal]: Pisces cluster Belgium only witnessing themselves (25 HS) (Issue #2647)

Hotspot Name
Handsome-Hotpink-Beatle
Hotspot b58 Address
11tKFbHvb9H1vgoSJRtdqWmhWChQNT3dX51S2WTwU21CVrdE8Pi
Discord Handle
highflydotbe#2357
Hotspot Manufacturer
Browan/Merryiot
Removal Reason
Hotspot active for only 26 days on regular address and building. Please remove from the list.
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information

Unfortunatelly this one was caught in the Picses cluster sweep I did in that region, missed that one when filtering the results.

thanks for removing again!

How long does it usually take to remove a (wrongfully added) hotspot from the deny list?

Resolved in https://github.com/helium/denylist/pull/4048


C50+C51, bug, never load CpBase.Dll when found in any folder. If an older version loads it, after the next iisreset, it will be used for cp which results in

added


Do not fail when redirect_source is empty or non-existing

When users install the plugin from the UI, their netlify.toml will not have any inputs for this plugin yet. In that case, this plugin should not make the user's build fail. Instead, the plugin should be a noop until the user decides to specify where the redirects files are.
Additionally it should be valid for users to specify a redirects file only for deploy preview, and not for production (for example).
This means the following errors:
https://github.com/quarva/netlify-plugin-contextual-redirects/blob/56b15f1befbaef7a78f8a1fd10bcfc60d76f8d1e/index.js#L38-L40
Should use console.log() + return instead of failPlugin() + return.

This was added as a catch for inadvertent misconfigurations, where e.g. the user intended to specify a source but either didn't or added it to the wrong context. failPlugin seemed like the most appropriate action to take, since it throws a noticeable error in the deploy log but lets the build complete.
Is there a preferred method for alerting on errors like this, @ehmicky?

This was added to catch inadvertent misconfigurations, where e.g. the user may have intended to specify a source but forgot or added it to the wrong context.
failPlugin seems more useful than console.log in this situation, since it throws a noticeable error in the deploy log but allows the build to continue. Is there a preferred way to throw a "bright" alert like this, @ehmicky?

Unfortunately not at the moment, but there is a feature request for utils.build.warn() that should handle this: https://github.com/netlify/build/issues/1248
How should the behavior be for users who would like to override their redirects file in deploy previews and branch deploys, but not in production (or vice-versa)?

I refactored the way we look for active contexts, asking the user to specify an array of contexts in which we should run and a path in which we should look for redirects_* files. This way also allows users to add redirects for branch-specific deploys.
Can you have a look at this and let me know if it addresses your concerns, @ehmicky?
https://github.com/quarva/netlify-plugin-contextual-redirects/commit/14785f70334c1781b186ff9fe99097fb0fc696d5

I refactored the way we look for active contexts, asking the user to specify an array of contexts in which we should run and a path in which we should look for redirects_* files. This way also allows users to add redirects for branch-specific deploys.
Can you have a look at this and let me know if it addresses your concerns, @ehmicky?
https://github.com/quarva/netlify-plugin-contextual-redirects/blob/refactor-inputs/index.js

Yes, thanks! :+1:


Add more tests

As suggested in your PR @fdosani

Hi @robintw Just a QQ or my own understanding. Fair to say that rounding is never used?
https://github.com/robintw/PandasToPowerpoint/blob/master/pd2ppt/pd2ppt.py#L95
Doesn't seemed to be called anywhere.

WIP branch here: https://github.com/fdosani/PandasToPowerpoint/tree/unit-testing


chore: bump lagoon-build-deploy version

This bumps the lagoon-build-deploy version to the latest v0.17.0 chart version.

One question about this, the nats chart also bumped a patch version here, which I'm hoping is fine. Otherwise should we look at pinning nats to be a specific version? Not entirely sure about this one yet.

Maybe we should merge https://github.com/uselagoon/lagoon-charts/pull/508 ahead of this then - it updates both NATS charts at once

Maybe we should merge #508 ahead of this then - it updates both NATS charts at once

SGTM


Add common licensing questions to FAQ page

I'm not sure if this is the best approach, but a customer searched our docs and couldn't find answers to these questions which were on our pricing page.
So added the questions to our FAQ and linked to the pricing page for the answers: https://about.mattermost.com/pricing/#frequently-asked-questions-about-licensing

yeah not sure what other options there could be, I think this approach is fine for now. Better to have the questions there than not have them at all, +1


[no-issue] ParsingFailed, Notification

Pull Request Test Coverage Report for Build 355

1 of 2 (50.0%)  changed or added relevant lines in 2 files are covered.
38 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.08%) to 35.337%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

worker/src/main/scala/com/github/jaitl/crawler/worker/notification/DummyNotification.scala
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

master/src/main/scala/com/github/jaitl/crawler/master/queue/QueueTaskRecover.scala
1
76.92%

worker/src/main/scala/com/github/jaitl/crawler/worker/executor/SaveCrawlResultController.scala
1
83.1%

worker/src/main/scala/com/github/jaitl/crawler/worker/WorkerManager.scala
1
84.38%

master/src/main/scala/com/github/jaitl/crawler/master/queue/QueueTaskBalancer.scala
2
69.44%

worker/src/main/scala/com/github/jaitl/crawler/worker/WarmUpManager.scala
33
0.0%

Totals

Change from base Build 350:
0.08%

Covered Lines:
294

Relevant Lines:
832

💛  - Coveralls


Non-padded dates stopped working

Hi - I apologize if this is user error, but I have a problem I can't seem to get fixed. I updated my polybar recently and the escape sequences in my date module for non-padded (no leading 0) days and months stopped working, and are output verbatim.
My date module is configured like so:
[module/date]
type = internal/date
interval = 1

date = "%-d.%-m."
date-alt = "%A, %-d.%-m.%Y"

time = %H:%M
time-alt = %H:%M:%S

label = " %date% %time% "

However, this is how the module appears:

According to the docs, the syntax is like the date command. However, it works like it used to/how I'd expect:
$ date +%-d.%-m.
6.10.

My polybar version (installed from the AUR package):
$ polybar --version
polybar 3.0.5-72-gcaeb8dd

Features: +alsa +curl +i3 -mpd +network

Thank you for any help.

We recently switched to std::put_time() from strftime in #745 because of string length issues. Looks like it doesn't actually support flags in front of format specifiers.

I have updated the wiki with a link to http://en.cppreference.com/w/cpp/io/manip/put_time which lists all tokens accepted by std::put_time() and thus also accepted by polybar. Unfortunately I haven't found a way for the numbers not to be padded

There is a space-padded version of the day of the month (%e) at least, I guess this will have to do. Thank you for the help.


FEAT: Support CogVideoX video model

Fixes: https://github.com/xorbitsai/inference/issues/2035

Awesome, I’m really looking forward to it!


added layer naming for this module

@currtis,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


add nerdctl run --ulimit <ulimit>

Hello everybody,
I would like to propose my first change adding ulimits
Related to #215
This pull request adds nerdctl run --ulimit <ulimit>

@AkihiroSuda if each time we will suffix the file run_x.go we will end up with several files run_x.go I think we must group by themes (runtime, network etc..) for a better reading


Luna stuck in wormhole txn due to solana outage

Hi! I tried sending some luna from eth to solana without realizing the solana outage and now it is just stuck there. Can you help me send back the funds to my metamask wallet or send it to solana?
These are the two txn hashes from the eth side.
0x99892838c1d13318f59c393fe05cf0e996942e4ed3ce28439af41ab365ce30b6
0x36d0c1c6d5c161370deafd5e719ca2eb1aac9b84775753c92a7ec8a67cc38b47
Thank you!

VAA failed to reach consensus on Eth
2021-09-15T03:03:49.700Z        INFO    wormhole.root   processor/observation.go:221    aggregation state for VAA       {"digest": "a710a0d975f69b4dd9bd9e45921c977e4f11108dc87c1c6f3f9dfda322f3503e", "set": ["0x187727CdD17C8142FE9b29A066F577548423aF0e", "0xE4276d2Ef965B37A492C5F0f85e9A558f82895BD", "0x854E8bE1eE471e70a152b3FBB093057efBb9e20F", "0x4
3f98818f1f0e93A921C2A74ED868213946A3580", "0x79071C82011B4a542C7d67f290Ef4181CE6B2b0f", "0x7580aA7e036dC199bF0E152C71004716AE0AA747", "0xe7aF00E4B5F69B8E8e49adBE7b1A2b6BDd81f346", "0xc155a290149Bb2f58332abA8DC31217df483501e", "0xF73c0e6f9A242B3564F9e65Fbd94Fcbc332a0deB", "0x1Fca1307C7BeEf596f209cf393f3d50d41e4a0F9", "0xf51a742452E9c2B4bD131a934C10f97b80455669", "0xe0718fca4Dc271f4EF43Ff624a6b730A339eF104", "0x1bb88a04DDa307Bc4f5e97c4856c068D1A4182a8", "0x5cF8ca288D9077160Ff9D6583b63aa20EFF40B7d", "0xDe2E046412ebcc6563831AA7A9B2104E0c58B351", "0x4ed7ABB1408F91058BFeDac3CAeCB03F8ec22C1b", "0xE3727bBc8342F631eC9A20d8A6FB44fe97C6dFcd", "0x9F09C8E49757486e98887b49373620290D963729", "0xe263fDFeDF000121046578253312861e83f28bD5"], "index": 1, "aggregation": [true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, true, true, false, false], "required_sigs": 13, "have_sigs": 12}                                                                                2021-09-15T03:03:49.700Z        INFO    wormhole.root   processor/observation.go:289    quorum not met or already submitted, doing nothing      {"digest": "a710a0d975f69b4dd9bd9e45921c977e4f11108dc87c1c6f3f9dfda322f3503e"}
2021-09-15T03:03:55.923Z        INFO    wormhole.root   processor/cleanup.go:95 expiring unsubmitted VAA after exhausting retries       {"digest": "a710a0d975f69b4dd9bd9e45921c977e4f11108dc87c1c6f3f9dfda322f3503e", "delta":<PHONE_NUMBER>13}

Seems like a different issue from what others have experienced?

Yes, different issue - not a UI issue, but the network itself failed to observe the message. We're investigating

This is not good for Solana, My Weth stuck in wormhole bridge. And by looking around, people have been waiting since yesterday for the issue to be sorted.

@Evenir1 please create an issue and include transaction hashes

Ive done that already, cheers

Ok thank you, waiting patiently...

Sorry about that :( Might take a couple days to figure this out, it needs intervention from the node operators

No problem, as long as it is being actively worked on!! Thank you for your help. Please post whenever you have updates :)

Hi! Can I get an update on this? It’s been a while and still haven’t heard back..
Get Outlook for iOShttps://aka.ms/o0ukef

From: Leopold Schabel @.>
Sent: Wednesday, September 15, 2021 12:23:41 PM
To: solana-labs/oyster @.>
Cc: SunMi Lee @.>; Author @.>
Subject: Re: [solana-labs/oyster] Luna stuck in wormhole txn due to solana outage (#325)
Sorry about that :( Might take a couple days to figure this out, it needs intervention from the node operators
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/solana-labs/oyster/issues/325#issuecomment-920312740, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACR4FDYHZOHC2SDXUIWIFHLUCDXD3ANCNFSM5EBO23EA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github.

No update yet, but we haven't forgotten about it!

Could I get an update on this? It's been a while.

@sunmilee We're still working on this, will keep you updated!

Hi! Still no update? ☹
From: suzzax @.>
Date: Tuesday, September 28, 2021 at 5:49 AM
To: solana-labs/oyster @.>
Cc: SunMi Lee @.>, Mention @.>
Subject: Re: [solana-labs/oyster] Luna stuck in wormhole txn due to solana outage (#325)
@sunmileehttps://github.com/sunmilee We're still working on this, will keep you updated!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/solana-labs/oyster/issues/325#issuecomment-929177586, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACR4FD35QKUD5WAKS7GF6S3UEG2UVANCNFSM5EBO23EA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github.

Unfortunately, this will require a node software upgrade for Wormhole v1. We haven't forgotten about it!

Hi! Would love an update on this, was the node software upgraded? @leoluk

Hi again, could I get any sort of ETA on this? Thank you so much!!

No update yet since this will require a complex node software upgrade for v1 guardians. Hopefully within the next couple weeks!

Been a month -- any update?? Could I get a more concrete timeline of when the upgrade will happen?

Hi @leoluk and @suzzax can I get an update on this?

Hello, this was opened on September 14th. It has now been 3 months. Can I please get an update on this, when will the tokens be recovered? @leoluk @suzzax

@sunmilee There we go :tada:
Apologies it took so long! We first had to add new functionality to Wormhole to retry the transaction.
https://explorer.solana.com/tx/4i4WtKNe6FvdYP2eCu2cfTNMj4Ko7gn6RREt96A4xkgpMkFitDrwiNLbu8tRJsWqMx7EaM1wnjTTG9f12MH1Ceoo

@leoluk omg what a pleasant surprise! Thank you so much!!!


Why is riivaaja only working with devil-nightly?

If I try to build any other of the devilution repositories with riivaaja I get the following error:
C:\Games\Diablo\devilution>git pull
Already up-to-date.

C:\Games\Diablo\devilution>docker pull diasurgical/riivaaja
Using default tag: latest
latest: Pulling from diasurgical/riivaaja
Digest: sha256:48baa26274e899466ebd99bc79a29d5161d0776c21dcf5912b3df9cab551db43
Status: Image is up to date for diasurgical/riivaaja:latest

C:\Games\Diablo\devilution>docker run -v C:\Games\Diablo\devilution:/root/devilution -e MAKE_BUILD=pdb diasurgical/riivaaja
wine /root/DevStudio/VC/bin/CL.EXE /nologo /c /O1 /W3 /MT /I /root/DevStudio/VC/include /FoSource/appfat.obj Source/appfat.cpp
wine: created the configuration directory '/root/.wine'
wine: cannot find '/root/DevStudio/VC/bin/CL.EXE'
MakefileVC:39: recipe for target 'Source/appfat.obj' failed
make: *** [Source/appfat.obj] Error 2

I've tried it with the default devolution repo, devilution++ and devilutionX

Riivaaja is relatively new, which is why it's only working with the current nightly. You will be able to use it for the main repo once we merge back into devilution.

ok, thanks for the info. Are there any small changes one could do manually to make devilution compatible?
And why on earth did you use different repos instead of a develop branch? :D

AFAIK you only need the MakefileVC from nightly to make it work.

after the merge of devil-nightly into devilution the build still doesn't work with the lastest docker image:
C:\Games\Diablo\devilution>docker run -v C:\Games\Diablo\devilution:/root/devilution diasurgical/riivaaja
wine /root/VS6/VC98/Bin/CL.EXE /nologo /c /GX /W3 /O1 /I /root/VS6/VC98/Include /FD /MT /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /Fp"Diablo.pch" /YX /Gm /Zi /FoSource/ Source/appfat.cpp Source/automap.cpp Source/capture.cpp Source/codec.cpp Source/control.cpp Source/cursor.cpp Source/dead.cpp Source/debug.cpp Source/diablo.cpp Source/doom.cpp Source/drlg_l1.cpp Source/drlg_l2.cpp Source/drlg_l3.cpp Source/drlg_l4.cpp Source/dthread.cpp Source/dx.cpp Source/effects.cpp Source/encrypt.cpp Source/engine.cpp Source/error.cpp Source/fault.cpp Source/gamemenu.cpp Source/gendung.cpp Source/gmenu.cpp Source/help.cpp Source/init.cpp Source/interfac.cpp Source/inv.cpp Source/items.cpp Source/lighting.cpp Source/loadsave.cpp Source/logging.cpp Source/mainmenu.cpp Source/minitext.cpp Source/missiles.cpp Source/monster.cpp Source/movie.cpp Source/mpqapi.cpp Source/msg.cpp Source/msgcmd.cpp Source/multi.cpp Source/nthread.cpp Source/objects.cpp Source/pack.cpp Source/palette.cpp Source/path.cpp Source/pfile.cpp Source/player.cpp Source/plrmsg.cpp Source/portal.cpp Source/quests.cpp Source/restrict.cpp Source/scrollrt.cpp Source/setmaps.cpp Source/sha.cpp Source/sound.cpp Source/spells.cpp Source/stores.cpp Source/sync.cpp Source/textdat.cpp Source/themes.cpp Source/tmsg.cpp Source/town.cpp Source/towners.cpp Source/track.cpp Source/trigs.cpp Source/wave.cpp Source/render.cpp
wine: created the configuration directory '/root/.wine'
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80040155
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80040155
err:ole:get_local_server_stream Failed: 80040155
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:apartment_createwindowifneeded CreateWindow failed with error 14007
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x800736b7
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 800736b7
err:ole:get_local_server_stream Failed: 800736b7
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:module:import_dll Loading library urlmon.dll (which is needed by L"C:\\windows\\system32\\mshtml.dll") failed (error c000007b).
wine: configuration in '/root/.wine' has been updated.
appfat.cpp
Source/appfat.cpp(6) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

automap.cpp
Source/automap.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

capture.cpp
Source/capture.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

codec.cpp
Source/codec.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

control.cpp
Source/control.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

cursor.cpp
Source/cursor.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

dead.cpp
Source/dead.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

debug.cpp
Source/debug.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

diablo.cpp
Source/diablo.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

doom.cpp
Source/doom.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

drlg_l1.cpp
Source/drlg_l1.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

drlg_l2.cpp
Source/drlg_l2.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

drlg_l3.cpp
Source/drlg_l3.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

drlg_l4.cpp
Source/drlg_l4.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

dthread.cpp
Source/dthread.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

dx.cpp
Source/dx.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

effects.cpp
Source/effects.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

encrypt.cpp
Source/encrypt.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

engine.cpp
Source/engine.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

error.cpp
Source/error.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

fault.cpp
Source/fault.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

gamemenu.cpp
Source/gamemenu.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

gendung.cpp
Source/gendung.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

gmenu.cpp
Source/gmenu.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

help.cpp
Source/help.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

init.cpp
Source/init.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

interfac.cpp
Source/interfac.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

inv.cpp
Source/inv.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

items.cpp
Source/items.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

lighting.cpp
Source/lighting.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

loadsave.cpp
Source/loadsave.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

logging.cpp
Source/logging.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

mainmenu.cpp
Source/mainmenu.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

minitext.cpp
Source/minitext.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

missiles.cpp
Source/missiles.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

monster.cpp
Source/monster.cpp(6) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

movie.cpp
Source/movie.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

mpqapi.cpp
Source/mpqapi.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

msg.cpp
Source/msg.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

msgcmd.cpp
Source/msgcmd.cpp(7) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

multi.cpp
Source/multi.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

nthread.cpp
Source/nthread.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

objects.cpp
Source/objects.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

pack.cpp
Source/pack.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

palette.cpp
Source/palette.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

path.cpp
Source/path.cpp(6) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

pfile.cpp
Source/pfile.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

player.cpp
Source/player.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

plrmsg.cpp
Source/plrmsg.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

portal.cpp
Source/portal.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

quests.cpp
Source/quests.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

restrict.cpp
Source/restrict.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

scrollrt.cpp
Source/scrollrt.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

setmaps.cpp
Source/setmaps.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

sha.cpp
Source/sha.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

sound.cpp
Source/sound.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

spells.cpp
Source/spells.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

stores.cpp
Source/stores.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

sync.cpp
Source/sync.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

textdat.cpp
Source/textdat.cpp(7) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

themes.cpp
Source/themes.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

tmsg.cpp
Source/tmsg.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

town.cpp
Source/town.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

towners.cpp
Source/towners.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

track.cpp
Source/track.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

trigs.cpp
Source/trigs.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

wave.cpp
Source/wave.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

render.cpp
Source/render.cpp(5) : fatal error C1083: Cannot open precompiled header file: 'Diablo.pch': File not found.

make: *** [main_files] Error 2
MakefileVC:77: recipe for target 'main_files' failed

@ChaosMarc Is there already a Diablo.pch in the project root folder? If so, try deleting it, else make sure that the docker container has write permissions to the folder.


Real iOS device automation is getting "xcodebuild failed with code 70" error with "automationName: Flutter" setting, however, XCUITest is working fine

Hi to all,
I am running on a real iOS device and it's working with automationName: XCUITest setting. When I want to change this to automationName: Flutter it's getting an error. "Unable to launch WebDriverAgent because of xcodebuild failure: xcodebuild failed with code 70"
What should be the problem, Am I missing something?
{
"appium:automationName": "XCUITest",
"appium:app": "",
"appium:udid": "",
"appium:deviceName": "",
"appium:autoAcceptAlerts": true,
"appium:autoDissmissAlerts": true,
"platformName": "iOS",
}
Test framework: WebdriverIO (typescript) latest
MacOS: Sonoma 14.0
Xcode 15.0
NodeJS v20.8.0
Appium server: 2.0.1
✔ Listing available drivers

<EMAIL_ADDRESS>[installed (npm)]
<EMAIL_ADDRESS>[installed (npm)]
<EMAIL_ADDRESS>[installed (npm)]
<EMAIL_ADDRESS>[installed (npm)]
<EMAIL_ADDRESS>[installed (npm)]

The target device is iPhone 14 pro max - iOS 17 (Apple developer signed provisioning profile for WebDriverAgentRunner). I also tried with the iPhone 8, 12 pro and much more phones, same result.

Please attach the full appium log with appium:showXcodeLog appium capability.

I started webdriveragentRunner from the folder specified in the error log, installed the certificate, and when I wanted to run the test again, the error message changed.
Failed to create session. An unknown server-side error occurred while processing the command. Original error: Cannot determine the Dart Observatory URL after 10 retries. Original error: No observatory URL matching to '/(Observatory listening on |An Observatory debugger and profiler on\s.+\sis available at: |The Dart VM service is listening on )((http|//)[a-zA-Z0-9:/=_-.[]]+)/' was found in the device log. Please make sure the application under test is configured properly according to https://github.com/appium-userland/appium-flutter-driver#usage and that it does not crash on startup.

It usually means the app under test did not print any observatory URL.
https://github.com/appium/appium-flutter-driver?tab=readme-ov-file#usage-and-requirement
Was the app under test built with profile mode?
showIOSLog caps would help to check if the system log prints the observatory URL

any news from this issue?

Appium flutter driver uses a different WebDriverAgent Xcode project, that was the problem. It has been fixed, after we modified app signing for this WebDriverAgent project. Thanks a lot. If there is a way please use a "shared Webdriveragent project" on the Appium server project. Best regards.


Add Project Name to PI and PT Forms & Indicator Name to the Indicator Form

<EMAIL_ADDRESS>from bootcamp (mbakke/Indonesia): "It would be great to have the Name (i.e. Project or Indicator) at the top of each of the tabs. For example, at the top of the Components tab, I would like to see the name of the Project, or at the top of the Indicator Summary, I would like to see the Indicator.  This helps to keep me on track so that I don't have to hunt around to find out or remind myself what Project or Indicator I am on.  I find this especially problematic when I am entering multiple Indicators or Projects at a time. "     # - from bootcamp (mbakke/Indonesia): "It would be great to have the Name (i.e. Project or Indicator) at the top of each of the tabs. For example, at the top of the Components tab, I would like to see the name of the Project, or at the top of the Indicator Summary, I would like to see the Indicator.  This helps to keep me on track so that I don't have to hunt around to find out or remind myself what Project or Indicator I am on.  I find this especially problematic when I am entering multiple Indicators or Projects at a time. " Link to Ticket - http://<IP_ADDRESS>:8000/helpdesk/tickets/326/

This looks good. on the PI and PT forms could you also add the Program Name?
If so, the Program name and the Project name may need to be on separate lines since many of the names are long. Maybe with different size fonts. Example:
 Project Initiation Form
Program Name
Project Name

No let's not add anything more, I'm not a fan of the project name even.  I already had to shorten it and reduce the size.

Ok, Program Name has already been added to demo server.
Peter can you remove it? And I'll be better at vetting my requests on a ticket that is already in-dev.


[Fix]Validation error when route is nil

Coverage increased (+0.003%) to 83.052% when pulling 8775a27ee1efa2f4231f2c87a409c444c0cc87ad on ShinjiTanimoto:seed into 5326e377d71db21ae7aa40684d94de379ad496fb on shirasagi:master.


[CARBONDATA-3478]Fix ArrayIndexOutOfBound Exception on compaction after alter operation

Problem:
Please check JIRA-CARBONDATA-3478 to reproduce the issue.
After table rename operation, carbon table will be updated with lastmodified timestamp.
On compaction operation, we will check for if restructuredBlockExists by comparing the tableLastModifiedTime and schemaLastModifiedTime of each block.
In the example given in JIRA, restructuredBlockExists was true for first block, which was wrong.
Solution:
After comparing tableLastModifiedTime and schemaLastModifiedTime of each block, check if size of columnSchema in carbontable and footer of block is same or not. If same, then return false. Else, for restructuredBlockExists will be true [in case of add/drop column operation]

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[x] Testing done
Added

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/130/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/124/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/129/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/133/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/127/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/132/

retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/138/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/144/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/141/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/147/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/143/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/146/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/151/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/145/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/149/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/162/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/156/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/160/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/173/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/167/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/171/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/185/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/179/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/184/

LGTM


Move to webpack

Second attempt. removing all the unneeded commits.

Just added a second commit to try and fix GitHub actions Jest CI


Bug Aftermath: Add integration test for pulling latest docker image

We have run into a critical bug where it seems that new versions of portainer upon a REST PUT request will (in contrast to old versions) not query if the :latest image on dockerhub as changed and potentially not pull the latest image.
This breaks the current osparc-simcore release workflow.
We shall add an integration test for all supported portainer versions which assesses that if the sha of the latest image on dockerhub changed, a REST POST request to update stacks specifiying the latest image will update to the new version of the docker image. This should be akin to enabling this Pull latest image version flag in the portainer GUI upon updating services:

CC @pcrespov

@mrnicegyu11 there is a new version of partinaer released in https://github.com/portainer/portainer/releases/tag/2.17.0

Perhaps temporary we could downgrade until this issue is resolved?


Update links to Chrony project

The chrony project has moved their project page / documentation to a new URL, the old one is no longer available.
It's referenced in the official README as well: https://gitlab.com/chrony/chrony/-/blob/master/README

great catch and thanks for the PR! i had added a couple tweaks to it, like adding you to the contributors file. 🥳


新版本容易出现报错

Exception: Still failed after 3 attempts: JSON parsing still failed after 3 attempts: ❎ API response error: Missing required key: split Please check your network connection or API key or output/gpt_log/error.json to debug.
Traceback:
File "/root/anaconda3/envs/videoaaa/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/exec_code.py", line 88, in exec_func_with_error_handling
result = func()
File "/root/anaconda3/envs/videoaaa/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 590, in code_to_exec
exec(code, module.dict)
File "/root/VideoLingo/st.py", line 123, in
main()
File "/root/VideoLingo/st.py", line 119, in main
text_processing_section()
File "/root/VideoLingo/st.py", line 33, in text_processing_section
process_text()
File "/root/VideoLingo/st.py", line 50, in process_text
step3_2_splitbymeaning.split_sentences_by_meaning()
File "/root/VideoLingo/core/step3_2_splitbymeaning.py", line 119, in split_sentences_by_meaning
sentences = parallel_split_sentences(sentences, max_length=load_key("max_split_length"), max_workers=load_key("max_workers"), nlp=nlp, retry_attempt=retry_attempt)
File "/root/VideoLingo/core/step3_2_splitbymeaning.py", line 101, in parallel_split_sentences
split_result = future.result()
File "/root/anaconda3/envs/videoaaa/lib/python3.10/concurrent/futures/_base.py", line 458, in result
return self.__get_result()
File "/root/anaconda3/envs/videoaaa/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/root/anaconda3/envs/videoaaa/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/root/VideoLingo/core/step3_2_splitbymeaning.py", line 60, in split_sentence
response_data = ask_gpt(split_prompt + ' ' * retry_attempt, response_json=True, valid_def=valid_split, log_title='sentence_splitbymeaning')
File "/root/VideoLingo/core/ask_gpt.py", line 103, in ask_gpt
raise Exception(f"Still failed after {max_retries} attempts: {e}")
多个视频出现这种情况，之前从来没有遇到过，是否是切分算法有调整。现在很难完整切完一个视频

用的claude-3-5-sonnet

nAI staff working on the browser[br]aren't the same ones who accidentally erased critical evidence"\n}\n\n\nThis split adheres to the Netflix subtitle standards by:\n1. Maintaining sentence meaning coherence\n2. Keeping both parts roughly equal in length (9 words and 10 words)\n3. Splitting at a natural point before the word \"aren't\"\n4. Ensuring each part is at least 3 words long\n5. Keeping each part under 20 words\n\nThe [br] tag is placed at the split position as requested.",         "message": "json_repair parsing failed."     },     {         "model": "claude-3-5-sonnet-all",         "prompt": "### Role\nYou are a professional Netflix subtitle splitter in en.\n\n### Task\nSplit the given subtitle text into 2 parts, each less than 20 words.\n\n### Instructions\n1. Maintain sentence meaning coherence according to Netflix subtitle standards\n2. Keep parts roughly equal in length (minimum 3 words each)\n3. Split at natural points like punctuation marks or conjunctions\n\n### Output Format in JSON\n{\n    \"analysis\": \"Brief analysis of the text structure\",\n    \"split\": \"Complete sentence with [br] tags at split positions\"\n}\n\n### Given Text\n<split_this_sentence>\nI can only hope the OpenAI staff working on the browser aren't the same ones who accidentally erased critical evidence\n</split_this_sentence>",         "response": [             {                 "analysis": "The sentence is 19 words long, making it suitable for a single split. The natural break point is after 'browser', which creates two balanced parts.",                 "split": "I can only hope the OpenAI staff working on the browser[br]aren't the same ones who accidentally erased critical evidence"             },             [                 "br] tag is placed at the split position as requested."             ]         ],         "message": "Missing required key: `split`"     },     {         "model": "claude-3-5-sonnet-all",         "prompt": "### Role\nYou are a professional Netflix subtitle splitter in en.\n\n### Task\nSplit the given subtitle text into 2 parts, each less than 20 words.\n\n### Instructions\n1. Maintain sentence meaning coherence according to Netflix subtitle standards\n2. Keep parts roughly equal in length (minimum 3 words each)\n3. Split at natural points like punctuation marks or conjunctions\n\n### Output Format in JSON\n{\n    \"analysis\": \"Brief analysis of the text structure\",\n    \"split\": \"Complete sentence with [br] tags at split positions\"\n}\n\n### Given Text\n<split_this_sentence>\nI can only hope the OpenAI staff working on the browser aren't the same ones who accidentally erased critical evidence\n</split_this_sentence>",         "response": "Here's the subtitle split for the given text, formatted as requested:\n\njson\n{\n  "analysis": "The sentence is 19 words long, making it suitable for a single split. The natural break point is after 'browser', which creates two balanced parts.",\n  "split": "I can only hope the OpenAI staff working on the browser[br]aren't the same ones who accidentally erased critical evidence"\n}\n```\n\nThis split adheres to the Netflix subtitle standards by:\n1. Maintaining sentence meaning coherence\n2. Keeping both parts roughly equal in length (9 words and 10 words)\n3. Splitting at a natural point before the word "aren't"\n4. Ensuring each part is at least 3 words long\n5. Keeping each part under 20 words\n\nThe [br] tag is placed at the split position as requested.",
"message": "json_repair parsing failed."
}

“Missing required key: split Please check your network connection or API key or output/gpt_log/error.json to debug.”
请问使用的什么来源的 claude 呢？看起来不是 claude 不够聪明，而是响应不稳定。

哦看起来是多了后面的”\n\nThis split adheres to the Netflix subtitle standards by:\n1. Maintaining sentence meaning coherence\n2. Keeping both parts roughly equal in length (9 words and 10 words)\n3. Splitting at a natural point before the word "aren't"\n4. Ensuring each part is at least 3 words long\n5. Keeping each part under 20 words\n\nThe [br] tag is placed at the split position as requested.“
可能是新版claude的问题？


Release 6.0.0

Release process

[ ] CONTRIBUTORS.md is updated
[ ] CHANGELOG.md is updated
[ ] setup.cfg is updated (see version)
[ ] Everything is committed, clean checkout
[ ] ~/.pypirc has a username and password (token)
[ ] Add a git tag and a GitHub release once completed

Planning to do a release alongside the next Wagtail release, I will review recently merged PRs, check the changelog and get this ready.

Thanks @laymonage  I have prepared a few PRs for review that should fix those items.

Update. Other small issues should be fixed, I would like to get https://github.com/wagtail/sphinx-wagtail-theme/pull/263 in but if no reviews or other problems I will look at doing a release v6 this weekend or next week.

This link needs to be updated to Vercel:
https://github.com/wagtail/sphinx-wagtail-theme/blob/8d08f88794f535a22162c31bb8a52de8d8d493c0/README.md?plain=1#L10

@laymonage thanks for that, PR up https://github.com/wagtail/sphinx-wagtail-theme/pull/266
I updated to the RTD version as that seemed more correct, we use that at the top of the GitHub Page.

https://pypi.org/project/sphinx-wagtail-theme/6.1.0/

This release has a broken icon font - https://github.com/wagtail/sphinx-wagtail-theme/issues/267

https://pypi.org/project/sphinx-wagtail-theme/6.1.1/


defaultActiveIndex and renderActiveOnly do not mix

Bug Report
Steps
If you use a render attribute for a pane to generate the content, always render all tabs and try to set the default active tab using defaultActiveIndex no tab content is shown.
const panes = [
  { menuItem: "Tab 1", render: () => "Tab 1 Content" },
  { menuItem: "Tab 2", render: () => "Tab 2 Content" },
  { menuItem: "Tab 3", render: () => "Tab 3 Content" }
];

const App = () => (
  <Container>
    <Tab panes={panes} defaultActiveIndex={1} renderActiveOnly={false} />
  </Container>
);

Expected Result
Tab 2 is select and its content is shown.
Actual Result
Tab 2 is selected, but no tab content is rendered. Switching to another tab does not help: tab content is never rendered.
Version
0.82.2
Testcase
https://codesandbox.io/s/olokx8yom6

Duplicate #2168.


C++ Debug Best Practices

It is really inconvenient to debug ros programs without supportive tools and resulted in wasting a lot of time. Considering the community lack of necessary tutorial for effective debug, can you complete the debug part.

How about the  VS Code ROS debugger? I consider this a really useful tool for debugging ROS nodes and I could provide some basic guidance to use this.

@kosmastsk Do you have available resources or tutorials? I think vscode is flexible. It is great if you can share some guidance.

Here are some steps in order to setup VS Code ROS debugger.
Install ROS extension
extension url
Debug configuration file
In a VS Code workspace there is a directory named .vscode.
You need to create a file launch.json there, with the following content:
{
"configurations": [
       {
           "name": "ROS: Attach",
           "type": "ros",
           "request": "attach"
       },
       {
           "name": "ROS: Attach to Python",
           "type": "ros",
           "request": "attach",
           "runtime": "Python"
       }
   ]
}

Build the workspace
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Debug
Launch ROS nodes
You can launch the ROS nodes from wherever in your PC, either using rosrun or roslaunch.
Run the debugger
Once the ROS nodes are running, navigate to the debug tab on the VS code.
Click on the ROS: Attach button, choose if you need C++ or Python node to debug and type the ROS node name in order to select it.
You will be asked to enter your password.
The debugger is up and running now :)


Run into "KeyError: 'name'" when converting.

When I am trying to convert an autoencoder Keras model using command 'hls4ml convert -c keras-auto-config.yml
Loading configuration from keras-auto-config.yml'. Run into error like this:
Interpreting Sequential
Input shape: [200]
Topology:
Layer name: dense_1, layer type: Dense, current shape: [[None, 200]]
Layer name: activation_1, layer type: Activation, current shape: [[None, 256]]
Traceback (most recent call last):
  File "/home/xyzhou/anaconda3/bin/hls4ml", line 138, in <module>
    main()
  File "/home/xyzhou/anaconda3/bin/hls4ml", line 58, in main
    args.func(args)
  File "/home/xyzhou/anaconda3/bin/hls4ml", line 87, in convert
    model = hls4ml.converters.keras_to_hls(yamlConfig)
  File "/home/xyzhou/anaconda3/lib/python3.7/site-packages/hls4ml/converters/keras_to_hls.py", line 174, in keras_to_hls
    output_shapes[keras_layer['name']] = input_shapes #[0]
KeyError: 'name'

The model arch is like this:
input_dim = 200 in my case
def autoencoder_mlp0(input_dim):
    model = Sequential()
    model.add(Dense(256, input_dim=input_dim))
    model.add(Activation('relu'))
    model.add(Dropout(0.2))
    model.add(Dense(128))
    model.add(Activation('relu'))
    model.add(Dropout(0.2))
    model.add(Dense(256))
    model.add(Activation('relu'))
    model.add(Dropout(0.2))
    model.add(Dense(input_dim, activation='linear'))

    model.summary()

    return model

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Anything I can do to deal with this?
Thank you!

This is because you use a Sequential model. We have fixed this issue in the branch for PR #195, so you can try using that branch (soon to be master anyway), or you can manually fix it applying the change from e492ae7b286cb5a57358ea2e4bf607157c40a610.

Thank you very much.
This solution works.


Background task

This is a rough attempt at solving the use case of using Starlette BackgroundTask within FastAPI without using a JSONResponse, see #59
Rough because it hacks the Response object by poping an eventual background kwarg:  it means background as a key becomes kind of a reserved kwarg, so this isn't really satisfactory.
Maybe a better API would be to push those tasks in the dependency scheme, but I couldn't get my head around.
Or maybe simply we should just use JSONResponse in that case, no hard feelings on this, the PR was more to have a basis for discussion.

Thanks for your effort and for starting the discussion!
I just added it integrated into the dependency injection system, it now works very similarly to the Request object when used directly. The new docs are here: https://fastapi.tiangolo.com/tutorial/background-tasks/

amazingly better! can't wait to test it for simple things, sometimes
setting up celery or rq is too much of a hassle!
Le dim. 24 mars 2019 à 8:44 PM, Sebastián Ramírez<EMAIL_ADDRESS>a écrit :

Thanks for your effort and for starting the discussion!
I just added it integrated into the dependency injection system, it now
works very similarly to the Request object when used directly. The new
docs are here: https://fastapi.tiangolo.com/tutorial/background-tasks/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tiangolo/fastapi/pull/77#issuecomment-475992851, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABDZPhVOXN2HTIYB_FpfMXzeeR-NDDYtks5vZ9W5gaJpZM4bqR77
.

Thanks!
Totally agree.
And now that you grabbed my attention to Celery, I added a note about it here: https://fastapi.tiangolo.com/tutorial/background-tasks/
As there are cases in which it makes more sense to use Celery than BackgroundTasks.


useCookies hook always compares dependencies with initial cookies

In useCookies.tsx
 const cookies = useContext(CookiesContext);

cookies object is always the same and therefore in useEffect callback in this line
if (shouldUpdate(dependencies || null, newCookies, allCookies)) {
     setCookies(cookies.getAll());
}

allCookies are always initial cookies due to closure.

You are right, I'm still new to hooks 😆 . I'll add a test with 2 changes on the cookie and use a ref to track the old cookies.

Hey @lkarmelo
I just wanted to make sure it wasn't because of my lack of comprehension of React hooks so I've added a test to cover your use case.
allCookies is updated every time the cookies change. That means if it changes twice, the flow will be:

first render, everything is as expected
a cookie is changed, that means we update the cookies state if any dependency has changed.
a cookie changed again, that means we update the cookie state if the value changed compared to the previous saved state

Do you have a specific case it would not work?

@eXon
I have opened PR with test case concerning this issue. It only appears if the cookie value is changed back to initial one and not if it changes multiple times to any other value.
The reason is useEffect not calling callback function because of [cookies] specified in dependency array. "cookies" variable always contains reference to the same object and each rerender it gets compared to itself. And if callback inside useEffect never gets called againg, the onChange function (line 22) is also never recreated after first render and it gets closed over scope of first render, containing initial allCookies value.
If you debug onChange function, you will see that allCookies always contains initial value. Your new test case is passing because initial value gets compared with 'mean lean cat Suki' value and then the initial value is also compared with 'good old Yuki', while it should compare 'mean lean cat Suki' with 'good old Yuki' after second change.
The quick fix is to add allCookies to dependencies arrays in useEffect as second argument, making it
useEffect(
    () => {/*...*/},
    [cookies, allCookies]
)

but then event listener will be removed and created again after each rerender after cookie value change. I will try to come up with better approach and send PR.


ops fixes

use tox
add charmcraft.yaml

I wonder if its worth just adding the black config as command line options in tox.ini, vs including a pyproject.toml just for black?

I wonder if its worth just adding the black config as command line options in tox.ini, vs including a pyproject.toml just for black?

Absolutely, that's why it is deleted in this PR :)

😅


Display release RAG status on website

Relates to #1941.
Details TBC

Release plan from GitHub project is being shared to stakeholders


suggest clarifying "Identifier" in RL policy

@fermujica tagging you as requested
See https://mulesoft.slack.com/archives/C02HAAH50/p1549394617203100 for context.

the word "Identifier" doesn't appear anywhere in this doc-page. The utility of the "Identifier" and how to actually use it isn't identified at all; it's understood that the identifier identifies a bucket; what's missing is a sample usage to bridge the gap between the notion of a buckets subdividing the allocation, and what was envisioned as passing as the identifier qparam.

also missing is what happens if (DoS scenario) someone makes 1 000 000 requests - within the RL bounds - with 1 000 000 different identifier values. Maybe it's appropriate to advise users "include identifier qparam in the RAML, and constrain it with an enum")

the fact that "Identifier" is optional probably also needs to be explained. Seems that with no "identifier" specified, all requests count against the same (ie default) "bucket".

Closing as PR is no longer relevant.


Project dir changes between jobs which breaks some tools.

Minimal .gitlab-ci.yml illustrating the issue
image:
  name: bash

import:
  script: # import project under eclispe generate a workspace
    - set -eo pipefail
    - echo $CI_PROJECT_DIR
    - mkdir -p workspace && echo "$(pwd)/project" > workspace/config
  artifacts:
    paths:
      - workspace

gen:
  needs:
    - import
  dependencies:
    - import
  script:
    - set -eo pipefail
    - echo $CI_PROJECT_DIR
    - cd $(cat workspace/config)

Expected behavior
Should pass : https://gitlab.com/matclab/gitlab-ci-local-test/-/pipelines/527043993
Whereas it gives:
parsing and downloads finished in 32 ms
import starting bash:latest (test)
import pulled bash:latest in 57 ms
import copied to container in 59 ms
import $ set -eo pipefail
import $ echo $CI_PROJECT_DIR
import > /builds/import
import $ mkdir -p workspace && echo "$(pwd)/project" > workspace/config
import exported artifacts in 755 ms
import copied artifacts to cwd in 55 ms
import finished in 1.97 s
gen    starting bash:latest (test)
gen    pulled bash:latest in 112 ms
gen    copied to container in 93 ms
gen    imported artifacts in 90 ms
gen    $ set -eo pipefail
gen    $ echo $CI_PROJECT_DIR
gen    > /builds/gen
gen    $ cd $(cat workspace/config)
gen    > /gcl-scripts/gen: line 8: cd: /builds/import/project: No such file or directory
gen    finished in 1.51 s  FAIL 1

 PASS  import
 FAIL  gen
  > /builds/gen
  > /gcl-scripts/gen: line 8: cd: /builds/import/project: No such file or directory

Host information
Arch linux
gitlab-ci-local 4.30.1.r16.g000a3ef (from git)
Additional context
When using a docker runner, the projetc path is not consistent between each jobs and thus the artifacts paths may change between jobs.
Some tools (like eclipse) use absolute paths when configured (for exemple when importing existing eclipse projects) and as such they need to have a stable project paths between jobs.

On remote the project paths doesn't have stable absolute paths either, unless you are just lucky. Perhaps you are running jobs only in sequence.

On remote the project paths doesn't have stable absolute paths either, unless you are just lucky. Perhaps you are running jobs only in sequence.
Ahh, hang on. I'll try and reproduce.
I might be mistaken...

I've run into this issue because i'm caching dependencies between jobs and the paths where the dependencies were originally resolved no longer matches the path where they are restored from the cache.
e.g. Dependencies get pulled and stored here:
/builds/flutter_pub_get/.pub-cache/...

But they are restored from the cache here:
/builds/flutter_analyze/.pub-cache/...

While the relative path to the dependencies from the repo root might be the same, there are files in the repo that reference those dependencies via their absolute path, and therefore can't find them once restored from the cache.

FYI, I tried explicitly setting the $CI_PROJECT_DIR variable to force it to the same value for all jobs but that doesn't help because the jobs don't actually run from the directory specified in that variable.

@vinman1 Can you provide an as small as possible .gitlab-ci.yml i can use for debugging/testing purposes?

@vinman1 Can you provide an as small as possible .gitlab-ci.yml i can use for debugging/testing purposes?

Didn't the one given in the initial report allow you to reproduce the problem ? (Or perhaps you are speaking about another problem)...

@matclab The initial one doesn't include cache

@matclab The initial one doesn't include cache.
Edit: But I just read his comment a little better and the solution is the same.

@firecow, as a suggestion, wouldn't a sensible solution be to use the project's name (equivalent to ${CI_PROJECT_NAME}) instead of the job name (${CI_JOB_NAME})?
So if my project's full URL was: gitlab.example.com/group-name/project-1, then ALL CI jobs for that project would execute in the folder:
/builds/project-1

for both docker & shell executors.

For shell executor that would be "wrong"...
Since their absolute path change on each run, or at least can change on each run.

While I don't understand why the path could change for each run, I understand that it might be challenging to stop supporting that behavior...
Could we in a first iteration, fix this issue for the docker executor? This would (I think) address both my and @matclab's issue, and would allow us to reflect on the best way to address the shell executor...

I'm just saying shell-executor use different paths.
docker-executor paths will be fixed.

Thank you very much @firecow !


Address Digital-1183

DIGITAL-1183
What Does This Do
Adds metadata to the details section of the digital object view.
How Does It Work

We add a query for metadata in the gatsby graphql query in manifest.js.
Define a MetadataElement component that takes a IIIF style element with a label and value array within a specific language and parses out the object into a <dt/><dd/>.
Define a Description component that parses IIIF metadata and required statements, passes each key, value like pair to MetadataElement, and ultimately renders everything in a <dl/>.
Call the Description component in the appropriate tab in details.js.
Add some minimal styling.

Anything else I should know?
Yes.  I wrote MetadataElement.js in a specific way.  It expects an element and language prop.  I did this to not assume en in case we do something special with es, but it's quite possible this could be done different.  Right now, Description doesn't really take advantage of this, but let's discuss.
Did you create a merge conflict?
Yes, but let's talk.
Could the styling be better?
Absolutely.  Let's talk about this and what I should think about.

@mathewjordan this is ready to be reviewed again.


Mitochondrial complex I deficiency, nuclear type 1

I see the parent term mitochondrial complex I deficiency, nuclear type covers sub-types/children numbered between 2 and 34, but no term for type 1. This is represented by OMIM 252010 and has a unique genetic etiology (NDUFS4); the OMIM PS 252010 does certainly seem to belong on  MONDO:0009640, but I wonder if  there should be a separate child for "mitochondrial complex I deficiency, nuclear type 1" ?
Also, since these are nuclear-type mitochondrial deficiencies with multiple genetic etiologies, should "mitochondrial complex I deficiency, nuclear type" necessarily go in the hierarchy under "syndromic neurometabolic disease with X-linked intellectual disability? Just from checking a few of the entries on the OMIM PS, it looks like the genes are located at multiple autosomal loci, so they are not all X-linked.

@kanems good catch - yes, we should split OMIMPS:252010 and OMIM:252010

syndromic neurometabolic disease with X-linked intellectual disability is being inferred as a parent because mitochondrial complex I deficiency, nuclear type is a child of 'X-linked syndromic intellectual disability'. I'll exclude this parent and this will be fixed.
Thanks!!

@matentzn do we have a check (or warning) if a term has an OMIM and OMIMPS that are both annotated with MONDO:equivalentTo?

For the record, I think this was a mistake that I made, see this ticket: https://github.com/monarch-initiative/mondo/issues/1042

to do:

[ ] create new class 'mitochondrial complex I deficiency, nuclear type'
[ ] create new class 'mitochondrial complex I deficiency, nuclear type, type 1'
[ ] merge MONDO:0009640 'mitochondrial complex I deficiency, nuclear type' with 'mitochondrial complex I deficiency, nuclear type, type 1'
[ ] make sure all the same parents (from Orphanet) are added to 'mitochondrial complex I deficiency, nuclear type, type 1'


Add en semaine for french version (during the week)

One case that wasn't handled in Duckling was "I prefer during the week" (I have multiple discussions where the user says that). I added the "en semaine" equivalent in the french version with a grain week.

In my opinion, "en semaine" means "from Monday to Friday", right? (like, not the weekend)
So it's different from "cette semaine".
Do you agree with my assessment?

Yes I do. I did it because I taught a grain week will help to define directly in the specific application that uses Duckling what a week  is (monday to friday or monday to saturday for example). However, it would seems better to change it directly in duckling and specify an interval. I'll do that and change the code.

Yes, :grain is used internally to "resolve" dates. In that case it should definitely be :day, and you should use an interval.

You're right. It seems way better that way. It just updated the code to reflect those changes. Thank you for your help

Just deployed 0.4.15 to Clojars


runner: enable custom execution of test suites

Initially, the numaresources-operator-tests image was configured exclusively for executing the serial test suite, which posed a challenge in achieving our goal of enabling it to run both serial and must-gather test suites. The modification of this image is driven by our intent to broaden its usage within our testing-related CI process. We aim to encompass as many test suites as possible under our CI pipeline.
To support our goal, we have introduced a must-gather runner script derived from the 'hack/run-test-must-gather-e2e.sh.' Note that we deliberately avoided bootstrapping the must-gather script to adhere to 'test-e2e-runner.sh,' as our objective is to provide flexibility beyond the constraints defined by ginkgo flags.
Signed-off-by: Sargun Narula<EMAIL_ADDRESS>

/ok-to-test

/test ci-install-e2e


chore(processors): mark processors._ProcessorOfCallable as final

Mark the sghi.etl.commons.processors._ProcessorOfCallable class as final.

:tada: This PR is included in version 1.0.0-rc.1 :tada:
The release is available on:

v1.0.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

v1.0.0
GitHub release

Your semantic-release bot :package::rocket:


Trailing whitespace in molecule.yml after molecule init

molecule.yml is the default one created with molecule init
(molecule)user $  molecule verify
Trailing whitespace found in ./molecule.yml on lines: 100

At # box_version:
  # molecule's --platform option will look for these names
  platforms:
    - name: trusty64
      box: trusty64
      box_url: https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/14.04/providers/virtualbox.box
      # Optional item, box_version - support for vagrant versioning
      # box_version:

Fixed by #87. Thanks for the report!


Improving README.md of Repository!

crowd.dev edition
Community (self hosted)
Version
No response
Link
https://github.com/CrowdDotDev/crowd.dev/blob/main/README.md
Describe the problem
README.md don't have shield Badges
Describe the improvement

Additional context
No response

please assign this to me

@AaadityaG  @mattinannt  I would like to work on  this issue. Please assign me this issue.

@sivangbagri Will try to review it today if I have some time left 😄


[test] adding dynamic mocking of requests during tests

to: @jacknagz or @javuto
cc: @airbnb/streamalert-maintainers
size: small
resolves N/A (assisting with #437)
Background
With more output options being added, it's become problematic to mock out requests.get and requests.post calls with static values. Essentially, some output tests would pass and others would fail, depending on what a given rule had designated as outputs.
Changes

Adding a dynamic way to return context depending on what service is being mocked out. This utilizes the mock's side_effect function to point to a function that returns the proper data.
The jira support in the is in accordance with the upcoming changes in #437.

Testing

Tested with @armtash's branch from #437 with these changes played over top and a rule that had the following outputs listed:

outputs=['pagerduty:sample-integration',
         'phantom:sample-integration',
         'jira:sample-integration',
         'slack:sample-channel'])

Also tested with the current setup and everything is working as expected.

Coverage remained the same at 95.636% when pulling fed02140642031194856eea1422b1f43e7183e88 on ryandeivert-request-mock-fixes into 73d2c9aed65e3d3d24a3389a70f73f9c59fbad23 on master.

Coverage remained the same at 95.636% when pulling aba895e8398ba940db9f20d6b74e427a5fa82042 on ryandeivert-request-mock-fixes into 0e2e3dd02b819d437ce82d7f22bdccf9e2e32432 on master.


fix(vm): Automatically remove the elements added to pushed data

The generated code accounted for this but by moving it in we get a
simpler interface.
Fixes #719

bors r+


Fix the bug that canary workloads were not using canary config resources

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/lgtm

Nice catch
/approve


Real world lighting sometimes fails to update after ship assembly

After testing several different ships in multiple situations, there are many dark patches from their assembly across my world.
Tested on Fabric.

Addendum: This effect can be even worse, as shown:


Intialize DB before app run in Cloud SQL samples

Fixes #1385

Failures are unrelated and because we have reached quota because of all the renovate PRs.


Allow modern attributes on script tags

The inlineScript helper doesn't allow custom attributes to be used on script tags. This is a pretty major inconvenience, as things like nomodule are required when building sites that support both legacy and more modern JavaScript.
Example:
$this->view->inlineScript()->appendFile($file, null, [
    'nodmodule' => true,
]);

Should result in:
<script nomodule src="/some/file.js></script>

Instead, it currently results in:
<script type="text/javascript" src="/some/file.js></script>

In addition, the type="text/javascript" is no longer something that should be rendered (in HTML5, which is the standard)

$this->inlineScript()->setAllowArbitraryAttributes(true);

seems to sort of allow this (doesn't do proper boolean casting, but it'll do).


Get voice chat data

Allow the scene to listen to the player's voice chat and somehow send this data out
This would allow having purely audio-based chats with AI characters. The audio could be forwarded to an API, that could then interpret the words spoken and respond. It could also be used for audio analysis and all kinds of creative applications with that.
Performing this action should require a permission in the RestrictedActions list.

Abstract
The input sound API enables access to the user's microphone when they press the push to talk action button. This mechanism is available to all scenes with the correct permissions.
The audio frame message was specified in ADR-104
Specification
The user-facing API is defined as a module for the SDK implementing the following module definition:
declare module "~system/SoundStream" {
  // the function getInputAudioStream returns an asynchronous generator that
  // waits until there is a new audio recording.
  export async function getInputAudioStream(req): AsyncGenerator<AudioFrame>

  // the function createPositionalOutputStream is used to create positional
  // output audio nodes out of encoded (OPUS) audio frames. each frame accepts
  // gain, position and orientation
  export async function createPositionalOutputStream(generator: AsyncIterator<PositionalAudioFrame>): Promise<any>
}

The protocol-buffer definition for the module re-uses the "Voice" message from the communications protocol (ADR-104)

// from comms ADR-104
message AudioFrame {
  bytes encoded_samples = 1;
  uint32 index = 2;
  VoiceCodec codec = 3;
  enum VoiceCodec {
    VoiceCodec_OPUS = 0;
  }
}

message PositionalAudioFrame {
  AudioFrame frame = 1;
  // relative to the scene base position
  Vector3 position = 2;
  // relative to the scene forward vector
  Quaternion orientation = 3;
  // volume/gain
  float gain = 4;
}

service SoundStream {
  rpc GetInputAudioStream(MicrophoneStreamRequest) returns (stream AudioFrame) {}
  rpc CreatePositionalOutputStream(stream PositionalAudioFrame) returns (Empty) {}
}