Code quality: Split the Media class into multiple class

Feature Description
The media class has become a bit of a dumping ground for different functionality related to media. This class currently do the following.

Add image sizes.
Register post meta
Register taxonomy
Register fields to be added to the REST API.

I believe the class should be broken up in the following ways.

Create new Class called Video_Poster. Move all logic related to this into this class.
Create new Class called Media_Source_Taxonomy. Move all logic related to this into this class.
Create new Class called Image_Sizes. Move all logic related to this into this class.

All remaining logic, should stay where it is. All new classes should live in the media namespace.
Follow up from https://github.com/google/web-stories-wp/pull/8541 where all muting logic was removed to a different class.
Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

Sounds reasonable 👍
So we would split up the Media class into multiple dedicated classes and then removing the Media class itself?

then removing the Media class itself?

I was going to start with the above listed items and then see what left over. There might be some stuff that doesn't map cleanly to anything.


Some styles aren't applied to account confirmation mail.

Screenshot for rediffmail. (background color of confirm button is not visible.)

(BTW it is visible on gmail.)

It seems worth fixing this while things are still fresh.


bug: window.speechSynthesis not found for Android

For Android
if ('speechSynthesis' in window) { this.speechSynthesis = window.speechSynthesis; }
window.speechSynthesis doesn't exist.
I have this result in the developer console
 Uncaught (in promise) Error: Not supported on this device.
Does anyone have the same behavior ?

Thank you for your request.
It seems that the web implementation is used on Android.
Make sure you have added the plugin correctly.
Please fill out the issue template correctly so I have all the information to help you.


Different tile sizes for tile and WMS layers on Retina display

As the demo page shows, tileSize is different for L.TileLayer and L.TileLayer.WMS on Retina displays.
TileLayer adjusts tileSize, but TileLayer.WMS doesn't.
I noticed that L.TileLayer.WMS.initialize constructor doesn't call its parent constructor, i.e. there's no call to:
L.TileLayer.prototype.initialize.call(this, url, options);

Is this by design or someone just forgot to call the parent and compensated by asking WMS server for an image double in size?

Very old and not updated. what is the reason


Provide custodian and Dependent age data entry and FE representation

Many services have granular age requirements that we can't surrently easily represent. They could have standardized ways to enter the data and FE representation.
As an example, there may be services for young pregnant mothers where the fetus has to be over 4 weeks old and the mother has to be under 20. So this creates tow age requirements - one for the custodian (the mother) and one for the dependent (the fetus).
As another example, The Door prefers youth to be under 23 years and 6 months. This is likely because it takes them some time to help youth and so many age out before they help them.
The tables below suggest ways we can record and present the requirements of such services.

Custodian's age
Data Entry Representation
Front-End Representation

empty
0,12
To receive this service, you have to be under 13 months old — to be more specific

empty
0,2 — none
To receive this service, you have to be over 2 months old

6 — 19
-0;4 — 0;0
To receive this service, you have to be 6 years to 19 years old (until your 20th birthday) and at least 4 weeks pregnant until you give birth

empty
-0;0 — -0;4
you qualify for this service, from conceiving your child to the 5th week of pregnancy

6 — 19
0,1 — 0,11
To receive this service, you have to be 6 years to 19 years old (until your 20th birthday) and have a dependent who is 1 month to 11 months old (until they turn 1 year old)

empty
6 — 19
To receive this service, you have to be 6 years to 19 years old (until your 20th birthday)

empty
19
To receive this service, you have to be at least 19 years old or older

empty
0,2 — 19,2
To receive this service, you have to be 2 months to 19 years 2 months old (until you turn 19 years 3 months old)

empty
6 — 19
To receive this service, you have to be 6 years to 19 years old (until your 20th birthday)

empty
0 — 0,2
To receive this service, you have to be under 2 months old (until you turn 3 months old)

empty
0,1 — 19
To receive this service, you have to be 1 month to 19 years old (until your 20th birthday)

empty
0,1 — 0,1
To receive this service, you have to be 1 month old

empty
0 — 99
People of all ages can receive this service

Back-End Representation
Front-End Representation

0,0
birth

0;0
conception

0,1 1
1st week, 1st month, 1st year

0;2 0,2 2
2nd week, 2nd month, 2nd year

0;3 0,3 3
3rd week, 3rd month, 3rd year

4 5 6 7 8 9 10 ...
4th, 5th, 6th, 7th, 8th, 9th, 10th, ...

To accomplish this we need

[ ] concept
[ ] data entry design
[ ] front end representation design
[ ] filter design
[ ] logic/engineering


Removes cipher suites in place of java args

Description
In rhel8, to resolve the "dh too small" error, one solution was to add the cipher suites ssl properties. Instead you can add a java argument that directly handles dh keys by adding this: -Djdk.tls.ephemeralDHKeySize=2048
https://stackoverflow.com/questions/24502672/how-to-expand-dh-key-size-to-2048-in-java-8
Fixes # (issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Ran on the rhel8 molecule scenario, but all scenarios must still pass
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Any dependent changes have been merged and published in downstream modules

@JumaX the cipher suites properties are removed in favor of the dh key java arg. I just updated the description


Enable bots and make sure they are working correctly on stagnet 3

Enable bots and make sure they are working correctly on stagnet 3
For now we should use the existing bots
Info for later:
Later on Aleksander will be working on improving the bots to work with capsule - a new issue will be raised to use in infra when ready?

https://github.com/vegaprotocol/liqbot/issues/142

blocked by:

https://github.com/vegaprotocol/vegacapsule/issues/160

Closing as in Done column


sel behaving randomly when applying to a dataset with multiprocessing

What happened?
I have a script structured like this
def main():
   global ds
   ds = xr.open_dataset(file)
   for point in points:
       compute(point)

def compute(point):
   ds_point = ds.sel(lat=point['latitude'],
                      lon=point['longitude'],
                      method='nearest')
   print(ds_point.var.mean())
   # do something with ds_point and other data...

if __name__ == "__main__":
    main()

This works as expected. However, if I try to parallelize compute by calling it with
process_map(compute, points, max_workers=5, chunksize=1)

The results of the print are completely different from the serial example and they change every time that I run the script. it seems that the sel is giving back a different part of the dataset when there are multiple processes running in parallel.
If I move the open_dataset statement inside compute then everything works also in the parallel case in the same way as in the serial one. Also, if I load the dataset at the beginning, i.e. ds = xr.open_dataset(file).load(), I also have reproducible results.
Is this supposed to happen? I really don't understand how.
What did you expect to happen?
The behaviour of sel should be the same in parallel or serial execution.
Minimal Complete Verifiable Example
No response
MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[ ] Complete example — the example is self-contained, including all data and the text of any traceback.
[ ] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[ ] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?

A couple of questions to reduce the size of the example, without providing any answers yet unfortunately:

Is process_map from tqdm? Do you get the same behavior from the standard multiprocessing?
What if we remove method=nearest?
Is the file a single netCDF file?

That sounds quite unfriendly!
A couple of questions to reduce the size of the example, without providing any answers yet unfortunately:

Is process_map from tqdm? Do you get the same behavior from the standard multiprocessing?

Yep, and yep (believe me, I've tried anything in desperation 😄)

What if we remove method=nearest?

Which method should I use then? I need the closest point

Is the file a single netCDF file?

Yep

Re nearest, does it replicate with exact lookups?

Re nearest, does it replicate with exact lookups?

I haven't tried yet because it doesn't really match my use case.
One idea that I had was to provide the list of points before starting the loop, creating an iterator with the slices from the xarray and then pass this to the loop.
But I would end up using more data than necessary because I don't process all cases.
another thing that I've noticed is that if the list of iterators is smaller than the chunksize everything's good, probably because it reverts to the serial case as only 1 worker is processing

Can you try explicitly passing in a multiprocessing lock into the open_dataset() constructor? Something like:
from multiprocessing import Lock
ds = xarray.open_dataset(file, lock=Lock())

(We automatically select appropriate locks if using Dask, but I'm not sure how we would do that more generally...)

Can you try explicitly passing in a multiprocessing lock into the open_dataset() constructor? Something like:
from multiprocessing import Lock
ds = xarray.open_dataset(file, lock=Lock())

(We automatically select appropriate locks if using Dask, but I'm not sure how we would do that more generally...)

ok that's a good shot.
Will that work in the same way if I still use process_map, which uses concurrent.futures under the hood?

Will that work in the same way if I still use process_map, which uses concurrent.futures under the hood?

Yes it should, as long as you're using multi-processing under the covers.
If you do multi-threading, then you would want to use threading.Lock(). But I believe we already apply a thread lock by default.

, lock=Lock()

That causes an error
Error 11: Resource temporarily unavailable

Here is the complete tracebabk
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/var/models/miniconda3/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/var/models/miniconda3/lib/python3.8/concurrent/futures/process.py", line 198, in _process_chunk
    return [fn(*args) for args in chunk]
  File "/var/models/miniconda3/lib/python3.8/concurrent/futures/process.py", line 198, in <listcomp>
    return [fn(*args) for args in chunk]
  File "test_sel_bug.py", line 58, in compute_clima
    return station, ds_point.t_2m_med.mean().item(), ds_point.t_2m_min.mean().item(), ds_point.lon.min().item(), ds_point.lat.min().item()
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/common.py", line 58, in wrapped_func
    return self.reduce(func, dim, axis, skipna=skipna, **kwargs)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/dataarray.py", line 2696, in reduce
    var = self.variable.reduce(func, dim, axis, keep_attrs, keepdims, **kwargs)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/variable.py", line 1806, in reduce
    data = func(self.data, **kwargs)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/variable.py", line 339, in data
    return self.values
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/variable.py", line 512, in values
    return _as_array_or_item(self._data)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/variable.py", line 252, in _as_array_or_item
    data = np.asarray(data)
  File "/var/models/miniconda3/lib/python3.8/site-packages/numpy/core/_asarray.py", line 102, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 552, in __array__
    self._ensure_cached()
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 549, in _ensure_cached
    self.array = NumpyIndexingAdapter(np.asarray(self.array))
  File "/var/models/miniconda3/lib/python3.8/site-packages/numpy/core/_asarray.py", line 102, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 522, in __array__
    return np.asarray(self.array, dtype=dtype)
  File "/var/models/miniconda3/lib/python3.8/site-packages/numpy/core/_asarray.py", line 102, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 423, in __array__
    return np.asarray(array[self.key], dtype=None)
  File "/var/models/miniconda3/lib/python3.8/site-packages/numpy/core/_asarray.py", line 102, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/coding/variables.py", line 70, in __array__
    return self.func(self.array)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/coding/variables.py", line 137, in _apply_mask
    data = np.asarray(data, dtype=dtype)
  File "/var/models/miniconda3/lib/python3.8/site-packages/numpy/core/_asarray.py", line 102, in asarray
    return array(a, dtype, copy=False, order=order)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 423, in __array__
    return np.asarray(array[self.key], dtype=None)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/backends/netCDF4_.py", line 93, in __getitem__
    return indexing.explicit_indexing_adapter(
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/core/indexing.py", line 712, in explicit_indexing_adapter
    result = raw_indexing_method(raw_key.tuple)
  File "/var/models/miniconda3/lib/python3.8/site-packages/xarray/backends/netCDF4_.py", line 106, in _getitem
    array = getitem(original_array, key)
  File "src/netCDF4/_netCDF4.pyx", line 4420, in netCDF4._netCDF4.Variable.__getitem__
  File "src/netCDF4/_netCDF4.pyx", line 5363, in netCDF4._netCDF4.Variable._get
  File "src/netCDF4/_netCDF4.pyx", line 1950, in netCDF4._netCDF4._ensure_nc_success
RuntimeError: Resource temporarily unavailable
"""

I think we may be heading the right direction

Re nearest, does it replicate with exact lookups?

Ok, it seems to fail also with exact lookups o.O
This is extremely weird
I'm using
def compute():
    ds_point = ds.isel(lat=0, lon=0)
    return ds_point.t_2m_med.mean().item(), ds_point.t_2m_min.mean().item(), ds_point.lon.min().item(),
                ds_point.lat.min().item()

Result for the serial version
[(
  10.469047546386719,
  6.5044121742248535,
  6.0,
  48.0),
 (
  10.469047546386719,
  6.5044121742248535,
  6.0,
  48.0),
 (
  10.469047546386719,
  6.5044121742248535,
  6.0,
  48.0),
 (
  10.469047546386719,
  6.5044121742248535,
  6.0,
  48.0),
 (
  10.469047546386719,
  6.5044121742248535,
  6.0,
  48.0)]

As you would expect all values are the same.
And for the parallel version with EXACTLY the same code
[(
  7.968084812164307,
  6.948009967803955,
  6.0,
  48.0),
 (
  7.825599193572998,
  6.995675563812256,
  6.0,
  48.0),
 (
  8.894186019897461,
  6.849221706390381,
  6.0,
  48.0),
 (
  8.901763916015625,
  6.69615364074707,
  6.0,
  48.0),
 (
  9.164983749389648,
  6.484694480895996,
  6.0,
  48.0)]

This is a minimal working example that I could come up with. You can try to open any netcdf that you have.
I tested on a small one and it didn't reproduce the error, so it is definitely only happening with large datasets when the arrays are not loaded into memory. Unfortunately, as you need a large file, I cannot really attach it here.
import xarray as xr
from tqdm.contrib.concurrent import process_map
import pprint

def main():
    global ds
    ds = xr.open_dataset('input.nc')
    it = range(0, 5)
    results = []
    for i in it:
        results.append(compute(i))
    print("------------Serial results-----------------")
    pprint.pprint(results)
    results = process_map(compute, it, max_workers=6, chunksize=1, disable=True)
    print("------------Parallel results-----------------")
    pprint.pprint(results)

def compute(station):
    ds_point = ds.isel(lat=0, lon=0)
    return station, ds_point.t_2m_max.mean().item(), ds_point.t_2m_min.mean().item(), ds_point.lon.min().item(), ds_point.lat.min().item()

if __name__ == "__main__":
    main()

You might look into different multiprocessing modes: https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods
It may also be that the NetCDF or HDF5 libraries were simply not written in a way that can support multi-processing. This would not surprise me.

BTW is there any advantage or difference in terms of cpu and memory consumption in opening the file only one or let it open by every process? I'm asking because I thought opening in every process was just plain stupid but it seems to perform exactly the same, so maybe I'm just creating a problem where there is none

I agree, maybe this isn't worth the trouble. I have not seen it done successfully before.

While it's somewhat unsatisfactory, marking as planning to close given we can't reliably reproduce, and so not sure how to make progress


New Profile PR for Sept 13

@jurretanjamx @AnnYe-Fluithaas new PR for Profile release to fix conflicts. Please send RN via PR to this branch or slack/email them.


[3.x] Add ORMSpatialMaterial

Adds an ORM material to 3.x, similar to what we have in master.
This allows users to combine occlusion, roughness, and metallic in a single texture, a common workflow used for games.
PS: please don't ask me how much time I wasted fighting with the classdb and the editor.

This PR was sponsored by Ramatak with 💚

Note that this technically breaks compat as it changes the inheritance chain and also moves some API to a different class. GDScript shouldn't care, and C#, from what I understand, doesn't care about it either, if the final API surface is the same. But it's worth to be cautious.

Yes, changing SpatialMaterial is quite compat breaking.
Not just core, but a lot of third party stuff relies on this. I was kind of assuming you would add ORMMaterial as an additional material type, rather than replace existing, or keep the SpatialMaterial name, whatever was the most appropriate.

Yeah, that's why it took me so long to write this PR. The problem is that I didn't want to have to rewrite (ok, copy-paste) pretty much the entire SpatialMaterial class with only two lines changed. Doing so would have resulted in a ton of needlessly duplicated code.
However, due to how the classdb currently works I couldn't really inherit from SpatialMaterial without breaking the editor. This is my third attempt at this PR, my previous two attempts suffered from various visual glitches in the editor UI (especially the inspector).
I fully agree that this PR changes way too many files, but if I want to leave SpatialMaterial unchanged I would have to make ORMSpatialMaterial inherit it and then hack the editor anywhere Materials are used to support having a non-abstract parent class.
The current implementation works around that limitation and appears to work fine both when used with the editor or from a script.
Would be happy to go more in-depth and explain the different approaches I already tried if anyone is interested.

I don't think #26205 was doing quite the same thing I am doing here. Looking at the code it merely adjusted the defaults to make it easier to use orm textures with the default SpatialMaterial. My PR on the other hand changes the glsl code of the ORMMaterial.

Just starting to try this out. Would benefit from a test project, I'm hacking one together from the gltf sample damaged helmet.
I did notice when creating a new ORM material when I add the albedo it shows in the editor, but when I drag on an ORM texture it doesn't seem to update the editor. But when I tick "transmission" it starts to show, and then still shows when I untick. Which suggests something isn't getting updated after dragging on the ORM?

I was also getting some incompatibilities in the Material perhaps when I saved from the PR version and then tried to load in vanilla Godot it didn't recognise Material3D but I guess that is expected. Still trying out. :+1:

Ok the trick with renaming Material3D back to SpatialMaterial worked as far as compressing the diffs. There aren't actually that many changes and it is mostly looking good to me.
Will need @clayjohn to review the shaders properly. I'll see if there's anything I can spot.
And I'll try and do more testing. Existing projects like 3rd person demo seemed to still work fine.

Yeah, I am sorry about that mass rename. I think I can vaguely remember that reduz wanted it to be renamed, but it has been a while so I might be wrong about that.
Thanks for letting me know about that editor bug, I will look into it. I can't really make any promises as to when I will get to it, I got some bad news the day after I returned from Valencia and my private life has been kind of a mess ever since. I took the next two weeks off to deal with things, but tracking that down might be a nice distraction if I find some spare time.

I got some bad news the day after I returned from Valencia and my private life has been kind of a mess ever since.

Don't worry real life stuff is more important! Make sure you are well. There will always be another day to polish up PRs.

Rendering meeting today:
We are all happy for this feature for 3.6 as it should improve things quite a bit, especially for mobile. :slightly_smiling_face:
I'll try and test this a bit more, and if we decide on any changes @clayjohn has suggested I / other maintainers should push them if @Ansraer is unavailable so we can get this through. :+1:

Bumping milestone to 3.6 as this looks good and should be possible to get in for 3.6 (if we can).

Needs rebasing.

Thanks!


Run 2to3 on tools directory

This should take care of the easy to fix Python 3 incompatibilities. Generated with:
$ find tools -name '*.py' | grep -v "distrib/python" | grep -v "xds_k8s" > todo.csv
$ xargs -i{} 2to3 {} -nw -x future < todo.csv
$ tools/distrib/yapf_code.sh

While all of these changes will get us closer to Python 3-compatible state, we should not consider a file fully migrated until all code paths have been tested under Python 3.

Known issues:

https://github.com/grpc/grpc/issues/26019

@jtattermusch Please take another look.


Recover/reset password

Basic user story
As a customer
I want to reset my password via the Forget Password functionality
in order to  log in to the shop again after forgetting my password.
Current situation
The "Forgot Password" link is currently available in Sunrise, but not functional.
Desired solution
For this feature, we would like to be able to set a new password using a token within Sunrise.

[ ] Once the "Forgot Password" link is clicked, the user should be able to enter his email and submit it. The token is generated; an event should initialize sending the email to the customer.

In the email sent, the user will receive a link to reset his password.

[ ]  There should then also be a page template where the user can enter the new password in twice, and after submitting it, the token should be validated again (valid token/user)

[ ]  After validation of the new password, a redirect to the login page should take place, so that the user can login to the shop with his/her new password.

Will this feature also be part of a v0.2x release or will it only be part of v1.0.0-M6? (I don't intend to ask for the feature being released via v0.2x. I just want to clarify where we can get the implementation from.) Thanks!

Yes, it will @selo-ecube. Was planning to work on it between today and tomorrow to have it ready for release this week :)

@selo-ecube finally it's here, the forget password functionality on v0.22.0. Sorry for the delay, we wanted to ensure the released feature was thoroughly tested, since it involved SMPT servers. Hopefully we didn't cause you any inconvenience :)

Thanks! (No it didn't cause any inconvenience.)


No change

I run the following command:  "python test_all.py  --test_root ./0572_0019_0003/audio --test_type audio --test_audio_video_length 98 --test_resume_path ./101_DAVS_checkpoint.pth.tar"
But in the end, the pictures generated in the "results" folder are exactly the same as those in the demo images. The "bin" file I used is the original version, and I didn't generate the ". Bin" file myself to run

Yes, I have a similar problem. How can we get demo results with both audio and visual running at the same time?

What's the function of the parameter --test_audio_video_length?

the same problem. the generated pictures are the same as input picture. how to fix it?

The same as you.

The same as you


Reduce memory footprint per histogram.

Size shrinks from 144 bytes (according to std::mem::size_of) to 112
on a 64-bit system.
I'm not done poring over these changes to increase my confidence that nothing is broken, but I figured I might as well get it in front of your eyes sooner rather than later.
I added some tests that write random values in a couple of different configurations because early on in these changes I hit some panics due to overflow, etc, and I wanted a little insurance that I'd solved them all.
Also, adding rand for the random tests exposed some Cargo sadness. Out of the box, that wouldn't build for me because num and rand had a version clash (fixed with cargo update). Because Cargo.lock isn't version controlled, now we're in a situation where it builds for me and probably doesn't for you. I know crates.io suggests not version controlling Cargo.lock, but I think that's a mistake, and I wish they wouldn't suggest that, because now we have an inconsistent build. Not checking in the lockfile coupled with Cargo's default of sneakily not using exact matches for versions is a recipe for exactly this situation. :( Are you open to checking in Cargo.lock? Otherwise, for instance, we can't trust a CI build, let alone both build the same revision successfully / identically.

I like this analysis. It's good to figure out exactly what precision is required for the various parameters, as it also gives us some additional guarantees from the compiler in terms of overflow/underflow detection. I don't know that the memory footprint change matters all that much, since .counts still dominates by far, but it's neat nonetheless.
As for checking in Cargo.lock, the crates.io FAQ has some interesting observations about this. In particular, they note that one of the big reasons for not putting Cargo.lock in a library is that any users of the library now also need to take our specific version requirements into account. Which may mean double-including a shared dependency, or in the more extreme case, fail to compile due to conflicting version requirements. I'm honestly not sure what the right thing to do here is, but I'm leaning towards leaving Cargo.lock out for now since it's only required as a dev-dependency. AFAICT, Travis runs cargo update, and so should work just fine. Ideally I'd like to get rid of the dependency on num too at some point, but that's a whole other ordeal.

Yeah, that entry in the FAQ is very strange. It says:

Users dependent on the library will not inspect the library’s Cargo.lock (even if it exists).

But also:

If all libraries were to check in their Cargo.lock, then multiple copies of the library would be used, and perhaps even a version conflict.

Those can't both be true. Either Cargo.lock is used and can be a problem in the transitive dependency tree, or it isn't used, and it won't be a problem.

@marshallpierce this is starting to look pretty good! :+1:

OK, I think that's as much as I want to squeeze into this PR. Double-check my reasoning, if you don't mind! :)

"bogus" input is a bit strong, but I'll take it. LGTM. I'm happy to merge if you feel finished with it.

Yep, I think it's done. On to the next!
I felt "bogus" was warranted because you could, for instance, configure a histogram with a lowest value of 1 << 62 and a precision of 5. This will actually only be able to meaningfully use 2 slots before it overflows u64, but if you ask value_for (which is public) for the value for index 100, which I would say is bogus, you will get an equally bogus answer. Good old GIGO...


Added my details.

You should add data in contributors.md not in data/contributors.md.
For that marking that as invalid and closing this PR.
Please make a fresh PR again.


Recurrent Dropout is Wrong

I've reviewed one design in-depth, and two others superficially, but Keras/TF's recurrent_dropout does not implement any of them; publication links below.

I see some potentially severe problems with TF's implementation in light of the papers I've read, which explicitly advocate against the used scheme. This said - what is TensorFlow / Keras's justification / rationale  of its own implementation?

The implementation is inconsistent - see below; the docstring only mentions a performance difference, but there's also a reproducibility and design difference; ==1 uses different masks per gate, whereas ==2 uses a shared mask. The two are neither theoretically nor practically identical.

Second's fixable via a docstring, but first involves significant changes to recurrent dropout logic for LSTM, GRU, and maybe other RNNs. This said: is TensorFlow / Keras open to changing its base implementations of recurrent dropout? If so, I can go ahead and clarify (1) in detail, and maybe even do the re-implementing myself in a PR, per paper 1.

Inconsistency: implementation==1 vs. implementation==2
if 0. < self.recurrent_dropout < 1.:  # implementation==1
    h_tm1_i = h_tm1 * rec_dp_mask[0]
    h_tm1_f = h_tm1 * rec_dp_mask[1]
    h_tm1_c = h_tm1 * rec_dp_mask[2]
    h_tm1_o = h_tm1 * rec_dp_mask[3]

if 0. < self.recurrent_dropout < 1.:  # implementation==2
    h_tm1 *= rec_dp_mask[0]

Source codes: keras -- tf.keras

Publications:

Recurrent Dropout without Memory Loss
A Theoretically Grounded Application of Dropout in Recurrent Neural Networks
RNNDrop: A novel dropout for RNNs

Hi @OverLordGoldDragon. Thanks for reporting the issue.

For point 1, can you be more specific about the difference between the paper and the keras implementation? eg the math formula in the paper vs the code in keras.

For point 2, I have previously also notice the difference, and added a patch to force use implementation 1 when the recurrent_dropout is enabled. The code is in 9002ff156ef173e91822a9ad9ba51f260e4a2223.

I confirmed numerous times again, that recurrent_dropout promotes exploding gradients (nan loss & weights) - but this time, with an insight: recurrent_dropout + large weight norms, or recurrent_dropout + uncentered inputs (e.g. ReLU). While both can cause divergence without recurrent_dropout, recurrent_dropout significantly lowers the required threshold.
To test my hypothesis on scaling, edited _recurrent_mask *= (1 - self.recurrent_dropout) - and indeed, explosions no more, and training proceeds in a stable manner.

Has this been fixed by any chance in version 2.4.1?
Thanks!

@marioskef TensorFlow 4 will happen sooner.
I'd look for third-party implementations.

@OverLordGoldDragon thanks for your reply!
I am asking because here https://github.com/yaringal/BayesianRNN/issues/5#issuecomment-354255980 the author of the A Theoretically Grounded Application of Dropout in Recurrent Neural Networks said he implemented it for keras. So I am a bit confused tbh what is what.

@MariosKef Don't recall the details, but these bits seem relevant (Ctrl + F):

Upon closer inspection of the second paper, I realize TF's implementation is probably based on it - but is still off:

More importantly, I find paper 1's implementation more viable than 2's from my reviews so far

So I've concluded it's not based on paper 2 (you could ask the author directly, point to this thread), and even if it was, it's not the best approach.

@OverLordGoldDragon
Thanks for your answer. So basically what is currently implemented in TF is a type of variational dropout but not the one suggested from the paper, if got it correctly.
Any advice for 3rd implementations or other libraries?

@MariosKef Right, it partly implements 2. I don't know of such libraries.

Hi There,
This is a stale issue. As you are using an older version of tensorflow, we are checking to see if you still need help on this issue. Please test the issue with the latest TensorFlow (TF2.7 and tf-nightly). If the issue still persists with the newer versions of TF, please feel free to open it in keras-team/keras repository by providing details about the issue and a standalone code to reproduce the issue. Thanks!
Please note that Keras development has moved to a separate Keras-team/keras repository to focus entirely on only Keras. Thanks!


Hoist port and base_url to CLI

References

fixes #208

Code changes

[x] adds --port=8000 and --base-url=/ CLI options

[x] can also be set by JUPYTERLITE_(PORT|BASE_URL)
[x] some docs

User-facing changes

jupyter lite serve will now host on different ports and url prefixes
docs include environment variables

Backwards-incompatible changes

n/a: defaults are maintained

Seems alright: no further changes planned (barring review comments).


Added more C++ file extensions

This pull request adds more C++ extensions, their corresponding headers and inline file, based on the find-in-files dialog in visual studio.

Thanks for your contribution.  I'm not totally familiar with all these extensions.  Do you have an example of these files (like the .inl) or a project that uses them so I can make sure devskim rules for CPP make sense over those files?

No special rules necessary they are just different extensions.
I'm mostly interested in cc files, as both I personally and professionally tend to follow the google code conventions for naming c++ files with a cc extension. I added the other files for completeness so others don't get the easily missed "file skipped" errors.
inl files are just plain header files with a different extension, usually for implementations like cpp but that need to be #included. Some conventions place their template implementations inside the header, some place it in a -inl.h file (like spdlog) and while others (like glm) place in a inl file.


The tab icon is incorrect

The icons in lualine and nvimtree is correct, but tabby not.

Another problem is,  if enable ctrlspace plugin, no any icon show, like this:

solution: Delete  the CtrlSpace plugin and use some theme support tabby like: the catppuccin theme, kanagawa theme, onenord theme, rose-pine theme.


[Question] Donate

So, i'd like to know how much would I need to pay for either Advanced or Premium.

and also how do I contact you on discord?

Ummm who are you exactly
On Sat, May 16, 2020, 7:25 PM Xan787<EMAIL_ADDRESS>wrote:

and also how do I contact you on discord?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Hyperclaw79/PokeBall-SelfBot-Pokecord-Automation/issues/173#issuecomment-629724096,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APSUME5MECFLPY5UKFQDNHLRR4VF3ANCNFSM4NDD7LDA
.

Ummm who are you exactly
…
On Sat, May 16, 2020, 7:25 PM Xan787 @.***> wrote: and also how do I contact you on discord? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#173 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APSUME5MECFLPY5UKFQDNHLRR4VF3ANCNFSM4NDD7LDA .

What? someone who uses this pokecord automation?

Who are you as well? Do you own this or something? because i'd like to know something

What would you like to know and why are you contacting me

What? You're not even hyperclaw but ok.

In case @memesandanime is not trolling, judging from how he replied via email, looks like it's a mess up on GitHub's behalf, which sent him the mail.
@Xan787 Please read the Readme before opening an Issue.

The board game that will test our friendship
https://boardkings.onelink.me/Fymc/4ccd0079

The board game that will test our friendship
https://boardkings.onelink.me/Fymc/65139176

The board game that will test our friendship
https://boardkings.onelink.me/Fymc/d3c80f31


Loved it!

I enjoyed the game and spent a good chunk of my work time making up to 1024. 😄
Just wanted to say Kudos. :)

Thanks a lot! :smile:


Isolate.spawnUri() inconsistent specification

The description  for method Isolate.spawnUri() reads:

Future spawnUri(Uri uri, List args, message, {bool paused: false, SendPort onExit, SendPort onError, bool errorsAreFatal, bool checked, Map<String, String> environment, Uri packageRoot, Uri packageConfig, bool automaticPackageResolution: false})
Creates and spawns an isolate that runs the code from the library with the specified URI.
The isolate starts executing the top-level main function of the library with the given URI.
The target main must be callable with zero, one or two arguments. Examples:
main()
main(args)
main(args, message)
When present, the parameter args is set to the provided args list. When present, the parameter message is set to the initial message.

Please, take a look at parameters args and message. In the method spawnUri args is required to be of type List<String>, while message is dynamic. It is not clear why the type of args is restricted to List<String>, while isolate target function main accepts args of any type and type of message is not restricted at all.
It seems that parameter args is redundant, single parameter message would be enough (as in method Isolate.spawn()). If it is necessary to pass several values, they can be packed into List and passed as single value.

The reason for the args argument is that spawnUri spawns a Dart script file like if it was run from the command line. The main function of a script takes the two parameters - the List<String> for command line parameters and the message to allow spawnUri to send a non-string value as well.
It's mainly for backwards compatibility. We could just have one parameter which can be anything, but this is simpler to handle for existing code which assumes that the first argument is a string list.


How to generate embeddings?

Can we generated embeddings from Fashion CLIP 2.0 given an input? If yes, how to do so?

Hello!
You can follow: https://colab.research.google.com/drive/1Z1hAxBnWjF76bEi9KQ6CMBBEmI_FVDrW?usp=sharing


Tests hang when using webkit as the javascript driver

I am experiencing an issue where Capybara hangs when I try to run tests with the webkit javascript driver.
Everything works fine when running tests with Firefox, but I would prefer to run them with webkit.
I noticed there was an issue over a year ago regarding hanging, but it has since been closed. Please let me know if you need any more info and how I can help.

@LukasBeaton @risinglf @MinutemanZ @feifanzhou I'm seeing a similar problem and am curious if you ended up finding a solution. Thanks!

@LaurMo I ended up using capybara-webkit instead.

@LaurMo @risinglf @MinutemanZ @feifanzhou Did you guys ever figure this out? I'm upgrading a rails 3 app to rails 4 and all capybara-webkit tests are failing now, here's my setup:
Mac OS X 10.9.5
QMake version 2.01a
Using Qt version 4.8.6

On my Gemfile.lock:
capybara (2.4.4)
      mime-types (>= 1.16)
      nokogiri (>= 1.3.3)
      rack (>= 1.0.0)
      rack-test (>= 0.5.4)
      xpath (~> 2.0)
capybara-webkit (1.4.1)
      capybara (>= 2.3.0, < 2.5.0)
      json
rspec (2.12.0)
      rspec-core (~> 2.12.0)
      rspec-expectations (~> 2.12.0)
      rspec-mocks (~> 2.12.0)
rspec-core (2.12.2)
rspec-expectations (2.12.1)
      diff-lcs (~> 1.1.3)
rspec-mocks (2.12.2)
rspec-rails (2.12.2)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      railties (>= 3.0)
      rspec-core (~> 2.12.0)
      rspec-expectations (~> 2.12.0)
      rspec-mocks (~> 2.12.0)

And here's the output using :webkit_debug
Finished "EnableLogging()" with response "Success()"
Wrote response true ""
Received "SetUnknownUrlMode(block)"
Started "SetUnknownUrlMode(block)"
Finished "SetUnknownUrlMode(block)" with response "Success()"
Wrote response true ""
Received "Visit(http://<IP_ADDRESS>:55127/products/trunk)"
Started "Visit(http://<IP_ADDRESS>:55127/products/trunk)"
Load started
"Visit(http://<IP_ADDRESS>:55127/products/trunk)" started page load
Started request to "http://<IP_ADDRESS>:55127/products/trunk"
Finished "Visit(http://<IP_ADDRESS>:55127/products/trunk)" with response "Success()"
Started request to "http://<IP_ADDRESS>:55127/assets/store/all.css"
Started request to "http://<IP_ADDRESS>:55127/assets/store/all.js"
Started request to "http://<IP_ADDRESS>:55127/assets/jquery.zclip.js"
Started request to "http://<IP_ADDRESS>:55127/assets/jquery.ui.js"
Started request to "http://<IP_ADDRESS>:55127/assets/jquery.fancybox.js"
Received 200 from "http://<IP_ADDRESS>:55127/products/trunk"
Received 200 from "http://<IP_ADDRESS>:55127/assets/store/all.css"
Received 200 from "http://<IP_ADDRESS>:55127/assets/store/all.js"
Received 200 from "http://<IP_ADDRESS>:55127/assets/jquery.zclip.js"
Received 200 from "http://<IP_ADDRESS>:55127/assets/jquery.ui.js"
Received 200 from "http://<IP_ADDRESS>:55127/assets/jquery.fancybox.js"
Started request to "http://<IP_ADDRESS>:55127/assets/store/bg.jpg"
Started request to "http://<IP_ADDRESS>:55127/assets/sprites/close_zoom.png"
Started request to "http://<IP_ADDRESS>:55127/assets/store/mack_weldon_logo.png"
Started request to "http://<IP_ADDRESS>:55127/assets/admin/progress.gif"
Started request to "http://<IP_ADDRESS>:55127/assets/store/black_px.png"
Started request to "http://<IP_ADDRESS>:55127/store/mack_weldon_logo.png"
Started request to "http://<IP_ADDRESS>:55127/assets/size_chart.png"
Started request to "http://<IP_ADDRESS>:55127/assets/noimage/product.png"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/1/mini/M00000-BN_1.png?1423164886"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/2/mini/M00000-BN_2.png?1423164888"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/3/mini/M00000-BN_1.png?1423164890"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/4/mini/M00000-BN_2.png?1423164893"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/5/mini/M00000-BW_1.png?1423164895"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/6/mini/M00000-BW_2.png?1423164897"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/7/mini/M00000-BW_1.png?1423164899"
Started request to "http://<IP_ADDRESS>:55127/images/products/pdp_images/8/mini/M00000-BW_2.png?1423164901"
Started request to "http://<IP_ADDRESS>:55127/assets/sprites/zoom.jpg"
Started request to "http://<IP_ADDRESS>:55127/images/option_value/1/image/normal/blue_night_swatch.jpg?1423164885"
Started request to "http://<IP_ADDRESS>:55127/images/option_value/2/image/normal/blue_night_swatch.jpg?1423164885"
Started request to "http://<IP_ADDRESS>:55127/assets/dropdown_lg.jpg"
Started request to "http://<IP_ADDRESS>:55127/assets/thank_you.png"
Started request to "http://<IP_ADDRESS>:55127/assets/icon_white_vimeo.png"
Started request to "http://<IP_ADDRESS>:55127/assets/icon_white_twitter.png"
Started request to "http://<IP_ADDRESS>:55127/assets/icon_white_facebook.png"
Started request to "http://<IP_ADDRESS>:55127/assets/icon_white_pinterest.png"
Started request to "http://<IP_ADDRESS>:55127/assets/logo_black.jpg"
Started request to "http://<IP_ADDRESS>:55127/products/products/pdp_images/1/normal/M00000-BN_1.png?1423164886"
Received 200 from "http://<IP_ADDRESS>:55127/assets/admin/progress.gif"
Received 200 from "http://<IP_ADDRESS>:55127/assets/sprites/close_zoom.png"
Received 200 from "http://<IP_ADDRESS>:55127/assets/store/black_px.png"
Received 200 from "http://<IP_ADDRESS>:55127/assets/store/mack_weldon_logo.png"
Received 200 from "http://<IP_ADDRESS>:55127/assets/store/bg.jpg"
Started request to "http://<IP_ADDRESS>:55127/"
Received 302 from "http://<IP_ADDRESS>:55127/store/mack_weldon_logo.png"

The test just hangs and crashes, returning the prompt without any output. I've found everything works up until I use expect

I have this issue too. Works locally but hangs on CI server

@manmartinez, I'd recommend upgrading Qt to 5.3 at least. There are many known issues with Qt 4.8. I haven't seen a hang myself since upgrading to 5.3.
It'd also be useful if you could extract a simple failing test case that exhibits this behavior. I know that may take some work, but it's truly difficult for us to replicate what may be causing the hang without an example.
One interesting thing I see in your case is that an image was redirected, which is the last thing that shows before the hang. I can't imagine any issues there, but it may be worth testing out.
It's also interesting that you get dropped back on the command line after the hang. This is something I've never seen. Typically when I get a hang, the spec will block forever. It may be worth seeing if the process actually crashes, or if something else has killed the tests.

@mhoran Thanks Matthew I'll update my Qt version and post the results here, as for the test case I'll extract it when I've some free time

Updated my Qt and capybara-webkit with no such luck...

I fixed this issue by stopping using page.evaluate_script when not
necessary, and use execute_script instead.
I remarked that it caused the driver to hand when returning large jquery
objects.

We have timeouts around waiting for a page to load, but maybe we should have timeouts around commands in general.
@mhoran any thoughts?

+1
I am getting this issue, or a very similar one. Here are my test code, and the :webkit_debug output:
https://gist.github.com/redbar0n/abb2524c9a883b11b44a
I tried downgrading to capybara-webkit 1.1.1 without success. No change at all.
Since downgrading was somewhat of a dependency hell, here are some gem versions that will work with 1.1.1 if you lock their versions like this, in your Gemfile:
gem 'capybara-webkit', '1.1.1'
gem 'capybara', '2.1.0'
gem "rspec-rails", '2.14.1'
FWIW.

@jferris, seems reasonable. I had looked into that option when implementing the modal API, but it was easier to implement the timeout in Ruby than by modifying TimeoutCommand. I don't remember what the exact issue was at the time. It'd also be interesting to see what Selenium does in this case.
I think some confusion may arise from the fact that some commands may trigger an asynchrnous page load. The timeout may apply to the current command, or the next one, depending on whether or not a page load was triggered.

Found the solution, and detailed it here: http://magnemg.tumblr.com/post/113251336220/how-to-solve-a-capybara-webkit-and-video-js
Hope this helps someone, it took me a lot of work to finally figure this one out, and get it working.

I read your article.
While qt 5.4 on mac definitely solves A LOT of things, I had also some hangs with it.
And btw, you have to brew link -f qt5 to symlink qt5 binaries, as explained in the post install message :)

Thanks, updated. I thought just symlinking the files Homebrew suggested would be enough, but I see that it symlinked even more files when I ran that command.

Hm, after I run brew link -f qt5 then Homebrew complains:
Warning: Some keg-only formula are linked into the Cellar.
Linking a keg-only formula, such as gettext, into the cellar with
`brew link <formula>` will cause other formulae to detect them during
the `./configure` step. This may cause problems when compiling those
other formulae.

Binaries provided by keg-only formulae may override system binaries
with other strange results.

You may wish to `brew unlink` these brews:

    qt5

After running brew unlink qt5 then Homebrew stops complaining, and my system seems to work fine.
Not exactly sure if I should leave it as that, or what.
Any comments?

I feel like if there are other hanging issues, we shouldn't nec. update the docs just yet to say "everyone switch to qt X.Y on OS X".  However, I feel you could add some docs on how to get capybara-webkit installing on OS X using qt 5.x.
Is there a way to replicate some of these issues in an automated test, first before we declare victories?
Also, I wouldn't worry too much about that message you're getting in homebrew. If you're able to install capybara webkit without issue, then go for it.

Some of the issues we're aware of are difficult to reproduce, due to bugs in Qt, WebKit, or the Qt WebKit bridge. Some issues are more obvious, like missing JavaScript functionality due to the outdated WebKit runtime. Most of the time these issues are debugged on a case by case basis, but personally I've been running, and recommending others run, Qt 5 for almost two years.
We do intend to drop support for Qt 4.8 in the next major release (2.0). Codeship has already dropped Qt 4.8 in preference of 5, and Qt 5 is easily installed on other CI services (Travis CI -- see our .travis.yml.)
While it's surprisingly difficult to get Qt 5 running on a Mac via Homebrew, the Qt project distributes a binary installer which is quite easy to use on OS X. Once installed via the package, one simply needs to set the QMAKE environment variable bundle.
We're not going to require Qt 5 without a major version bump. The README does not specify a preferred Qt version, which as mentioned can differ based on the use case. However, Qt 5 is recommended as the first course of action when debugging crashes and broken features in capybara-webkit.
Install instructions are on our wiki, which is open to editing. We appreciate it when folks share their successes on the wiki, as it makes it easier for others to get started. Pull requests are also welcome for the README, if you think there are specific changes which can make installation more straight forward.

@billywatson @mhoran
Agree. Everyone shouldn't necessarily switch (as switching currently requires a full Xcode install, which is a 5 GB burden). Just a mention of the problem in the wiki page would have been sufficient for me. I added a section on the wiki now. Didn't want to add anything to the wiki before discussing it with you here, since you might have concerns. Next time I might be more bold and just edit the wiki off the bat. :-)
My test case was very simple: just trying to play a video on a page. The test code is given in the top of my gist. I would be happy to supply further details if someone wants to write a separate test for this in a capybara-webkit test suite.

@mhoran Can this be issue be fixed by adding timeouts around commands or is upgrading to Qt 5 the only workaround?

Upgrading to Qt 5 may fix some instances of hanging tests, but we may still want to investigate extending our timeout functionality. I'm not sure what to do about this issue, though. It seems that some folks are still struggling with hanging tests, which could be due to outdated Qt versions, or some other issue we're not aware of. However, it's difficult to debug such issues without a reproducible test case. If anyone is able to extract such a failing test case, we'd be happy to look into the issue further.

The tests are hanging here on lastest capybara-webkit (1.6.0) and capybara (2.4.4), with both qt 4.8.1 (see https://travis-ci.org/coletivoEITA/noosfero-ecosol/jobs/70221234) and qt 5.4.2 (from archlinux).
Here is the debug run on qt 5.4.2:
Received 304 from "http://localhost:33646/assets/assets/stylesheets/chat.self.css?body=1"
Received 304 from "http://localhost:33646/assets/assets/stylesheets/search.self.css?body=1"
Received 304 from "http://localhost:33646/assets/designs/icons/default/style.self.css?body=1"
Received 304 from "http://localhost:33646/assets/designs/icons/pidgin/style.self.css?body=1"
Received 304 from "http://localhost:33646/assets/designs/themes/noosfero/style.css"
Started request to "http://localhost:33646/assets/designs/themes/base/style.css"
Received 304 from "http://localhost:33646/assets/assets/stylesheets/tasks.self.css?body=1"
Received 304 from "http://localhost:33646/assets/assets/javascripts/tasks.self.js?body=1"
Received 304 from "http://localhost:33646/assets/designs/themes/base/style.css"
Page finished with true
Load finished
Started "Reset()"
Finished "Reset()" with response "Success()"
Wrote response true ""
Received "EnableLogging()"
Started "EnableLogging()"
Finished "EnableLogging()" with response "Success()"
Wrote response true ""
Received "SetUnknownUrlMode(block)"
Started "SetUnknownUrlMode(block)"
Finished "SetUnknownUrlMode(block)" with response "Success()"
Wrote response true ""
Received "SetTimeout(-1)"
Started "SetTimeout(-1)"
Finished "SetTimeout(-1)" with response "Success()"
Wrote response true ""
Received "FindXpath(/html/body/*)"
Started "FindXpath(/html/body/*)"
Finished "FindXpath(/html/body/*)" with response "Success()"
Wrote response true ""
FReceived "Header(Accept-Language, en)"
Started "Header(Accept-Language, en)"
Finished "Header(Accept-Language, en)" with response "Success()"
Wrote response true ""
.....Received "Visit(http://localhost:33646/account/logout)"
Started "Visit(http://localhost:33646/account/logout)"
Load started
"Visit(http://localhost:33646/account/logout)" started page load
Started request to "http://localhost:33646/account/logout"
Finished "Visit(http://localhost:33646/account/logout)" with response "Success()"

Oh, it was a problem with :transaction and DatabaseCleaner. It seems it is not an option with capybara-webkit. Maybe a warning or an error should be printed if it is used?

That's strange. Issues with transactions usually result in the data just not being available in the Capybara thread; I haven't seen it hang the server before.

If I type control + c the tests continue to run.

What does it print after hitting Ctrl+C?

That's strange. Issues with transactions usually result in the data just not being available in the Capybara thread; I haven't seen it hang the server before.

Yeah, just switching to truncation made it run normally. I've also tried https://github.com/jnicklas/capybara#transactions-and-database-setup with no help.
The truncation setup that works: https://github.com/coletivoEITA/noosfero-ecosol/blob/f80313dce1295b7f50a68b877273ae56bff1ca94/features/support/javascript.rb
The transaction setup that hangs: https://github.com/coletivoEITA/noosfero-ecosol/blob/87801d77944261fa73681b4b08d8b3c53370b178/features/support/javascript.rb
(the Cucumber::Rails::World.use_transactional_fixtures doesn't make any difference)

If I type control + c the tests continue to run.
What does it print after hitting Ctrl+C?
It continues to run, but any succes, just failures and skips.

FWIW, if you're using Postgres and sharing a database connection to work around transactions, if your threads make conflicting requests to the DB, Postgres may silently hang. So that could explain the symptoms you were seeing.

I run into this problem as well with Qt 4.8.6, capybara-webkit 1.7.1. Turns out that I am loading a very large video from other servers and that is slow itself. Simply block unkown that url worked for me

Switching DatabaseCleaner from transaction to truncation solved this for me!

I have been wrestling with this same problem. We use a combination of Cucumber, Capybara, DatabaseCleaner, and capybara-webkit in our test suite.
Every once and a while our build would timeout because our cucumber suite would pause. Our test suite has grown substantially in the past few months and we are starting to experience this problem regularly.
At first, we were experiencing some issues with DatabaseCleaner and cucumber-rails where they were competing with each other to handle transactions, however once I fixed that issue I was able to produce the "hung" test.
When the test hangs it seems like all of the threads/processes are still running however it seems like they are waiting on responses from each other.
I first checked for DB locks:
PG Locks  (3386 is psql PID)
x_test=# select datname, pid, application_name, query, xact_start, waiting, state from pg_stat_activity where pid != 3386;
  datname  | pid  |             application_name              |                                             query                                             | xact_start | waiting | state
-----------+------+-------------------------------------------+-----------------------------------------------------------------------------------------------+------------+---------+-------
 x_test | 1720 | /Users/ariel/.gem/ruby/2.1.5/bin/cucumber | xxxx |            | f       | idle
 x_test | 1731 | /Users/ariel/.gem/ruby/2.1.5/bin/cucumber | xxx                                |            | f       | idle
(2 rows)

x_test=# select * from pg_locks where pid != 3386;
 locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted | fastpath
----------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+-----+------+---------+----------
(0 rows)

:cry: no... the DB has no locks...
OK if they isn't stuck on DB deadlocks then what else are they doing. Since I am on a Mac I started by using dtruss on the cucumber ruby process:
$> sudo dtruss -p 1706 -f -l
 1706/0x944f:  sigprocmask(0x1, 0x0, 0x70000091F450)		 = 0x0 0
 1706/0x944f:  sigaltstack(0x0, 0x70000091F440, 0x70000091F450)		 = 0 0
 1706/0x942a:  select(0x15, 0x70000040FD3C, 0x70000040FDBC, 0x70000040FE3C, 0x70000040FEC0)		 = 0 0
 1706/0x942a:  sigprocmask(0x1, 0x0, 0x70000040FBC0)		 = 0x0 0
 1706/0x942a:  sigaltstack(0x0, 0x70000040FBB0, 0x70000040FBC0)		 = 0 0
 1706/0x942a:  select(0x15, 0x70000040FD3C, 0x70000040FDBC, 0x70000040FE3C, 0x70000040FEC0)		 = 0 0
 1706/0x942a:  sigprocmask(0x1, 0x0, 0x70000040FBC0)		 = 0x0 0
 1706/0x942a:  sigaltstack(0x0, 0x70000040FBB0, 0x70000040FBC0)		 = 0 0
 1706/0x942a:  select(0x15, 0x70000040FD3C, 0x70000040FDBC, 0x70000040FE3C, 0x70000040FEC0)		 = 0 0
 1706/0x942a:  sigprocmask(0x1, 0x0, 0x70000040FBC0)		 = 0x0 0
 1706/0x942a:  sigaltstack(0x0, 0x70000040FBB0, 0x70000040FBC0)		 = 0 0

It looks to be using a polling select; lsof shows we are talking to another process over TCP
mataleon:gust 15:05:51 (flaky/dbcleaner/115875867) asmvb$ sudo lsof -p 1706 | grep 15u
ruby    1706 ariel   15u   IPv4 0x35465c9f9e6697d3       0t0      TCP localhost:50132->localhost:50131 (ESTABLISHED)

OK that looks like webkit_server is listening...
mataleon:gust 14:04:29 (flaky/dbcleaner/115875867) asmvb$ lsof -Pnl +M -i4 | grep 50131
ruby      1706      502   15u  IPv4 0x35465c9f9e6697d3      0t0  TCP <IP_ADDRESS>:50132-><IP_ADDRESS>:50131 (ESTABLISHED)
webkit_se 1724      502    9u  IPv4 0x35465c9f95b409e3      0t0  TCP <IP_ADDRESS>:50131 (LISTEN)
webkit_se 1724      502   10u  IPv4 0x35465c9f970d30db      0t0  TCP <IP_ADDRESS>:50131-><IP_ADDRESS>:50132 (ESTABLISHED)

Webkit dtruss just writing null bytes to a few places
ioctl(0x10, 0xC02869C9, 0x700000322498)          = -1 Err#82
write(0xC, "\0", 0x1)            = 1 0
select(0xC, 0x7FA993829F98, 0x7FA99382A228, 0x7FA99382A4B8, 0x0)                 = 1 0
workq_kernreturn(0x20, 0x0, 0x1)                 = 0 0
read(0xB, "\0", 0x10)            = 1 0
workq_kernreturn(0x20, 0x0, 0x1)                 = 0 0
read(0xB, "\0", 0x10)            = -1 Err#35
write(0xC, "\0", 0x1)            = 1 0
pselect(0xC, 0x7FA993829F98, 0x7FA99382A228)             = 1 0
read(0xB, "\0", 0x10)            = 1 0
read(0xB, "\0", 0x10)            = -1 Err#35
workq_kernreturn(0x20, 0x0, 0x1)                 = 0 0
workq_kernreturn(0x20, 0x0, 0x1)                 = 0 0
workq_kernreturn(0x20, 0x0, 0x1)                 = 0 0
close(0x10)              = 0 0

Let's use gdb just to make sure...
Ruby
(gdb) info threads
  Id   Target Id         Frame
  14   Thread 0x250f of process 1706 0x00007fff99a0407a in select$DARWIN_EXTSN () from /usr/lib/system/libsystem_kernel.dylib
  13   Thread 0x230b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  12   Thread 0x220b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  11   Thread 0x210b of process 1706 0x00007fff99a052a2 in poll () from /usr/lib/system/libsystem_kernel.dylib
  10   Thread 0x200b of process 1706 0x00007fff99a04582 in __wait4 () from /usr/lib/system/libsystem_kernel.dylib
  9    Thread 0x1f0b of process 1706 0x00007fff99a05362 in read () from /usr/lib/system/libsystem_kernel.dylib
  8    Thread 0x1e0b of process 1706 0x00007fff99a0407a in select$DARWIN_EXTSN () from /usr/lib/system/libsystem_kernel.dylib
  7    Thread 0x1d0b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  6    Thread 0x1c0b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  5    Thread 0x1b0b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  4    Thread 0x1a0b of process 1706 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  3    Thread 0x190b of process 1706 0x00007fff99a0407a in select$DARWIN_EXTSN () from /usr/lib/system/libsystem_kernel.dylib
  2    Thread 0x180b of process 1706 0x00007fff99a04582 in __wait4 () from /usr/lib/system/libsystem_kernel.dylib
* 1    Thread 0x170b of process 1706 0x00007fff99a05362 in read () from /usr/lib/system/libsystem_kernel.dylib
(gdb)

Webkit
(gdb) info threads
  Id   Target Id         Frame
  15   Thread 0x2603 of process 1724 0x00007fff99a045e2 in __workq_kernreturn () from /usr/lib/system/libsystem_kernel.dylib
  14   Thread 0x2413 of process 1724 0x00007fff99a045e2 in __workq_kernreturn () from /usr/lib/system/libsystem_kernel.dylib
  13   Thread 0x230f of process 1724 0x00007fff999fdf72 in mach_msg_trap () from /usr/lib/system/libsystem_kernel.dylib
  12   Thread 0x220f of process 1724 0x00007fff99a04efa in kevent_qos () from /usr/lib/system/libsystem_kernel.dylib
  11   Thread 0x210f of process 1724 0x00007fff99a0407a in select$DARWIN_EXTSN () from /usr/lib/system/libsystem_kernel.dylib
  10   Thread 0x200f of process 1724 0x00007fff999fdf72 in mach_msg_trap () from /usr/lib/system/libsystem_kernel.dylib
  9    Thread 0x1f0f of process 1724 0x00007fff99a03d3e in __pselect () from /usr/lib/system/libsystem_kernel.dylib
  8    Thread 0x1e0f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  7    Thread 0x1d0f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  6    Thread 0x1c0f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  5    Thread 0x1b0f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  4    Thread 0x1a0f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  3    Thread 0x190f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
  2    Thread 0x180f of process 1724 0x00007fff99a03db6 in __psynch_cvwait () from /usr/lib/system/libsystem_kernel.dylib
* 1    Thread 0x170f of process 1724 0x00007fff99a045e2 in __workq_kernreturn () from /usr/lib/system/libsystem_kernel.dylib

:shrug: Not much I can gather from here either...
When I get more information I will share it in this thread. For now I have set the timeout property to 60 seconds, which seems to working properly because now the build continues to the next step when the thread is hung.

After I turned logging on
Received 0 from "http://<IP_ADDRESS>:9887/assets/application.css"
Page finished with true
Load finished
Page load from command finished
Wrote response false "{\"class\":\"TimeoutError\",\"message\":\"Request timed out after 15 second(s)\"}"

The DatabaseCleaner config block here stopped the tests hanging for me

Closing due to age.  If this is still an issue we can reopen when a way to replicate is provided.


Got suspicious insufficient shared memory issue when Evaluation

Dear author,
I'm trying to train a EDSR_X2 model using DIV2K 1-80 images on Nvidia Tesla P100 GPU which has 16G memory.
I used this command:
python main.py --model EDSR --scale 2 --save EDSR_x2 --n_resblocks 32 --n_feats 256 --res_scale 0.1 --reset
But get below error when evaluating after epoch 1:
Making model...
Preparing loss function:
1.000 * L1
[Epoch 1]	Learning rate: 1.00e-4
[800/8000]	[L1: 9.6905]	166.2+4.7s
[1600/8000]	[L1: 7.7327]	166.2+4.6s
[2400/8000]	[L1: 6.9817]	166.2+4.6s
[3200/8000]	[L1: 6.5375]	166.2+4.6s
[4000/8000]	[L1: 6.2981]	166.2+4.6s
[4800/8000]	[L1: 6.1586]	166.2+4.6s
[5600/8000]	[L1: 6.0399]	166.2+4.6s
[6400/8000]	[L1: 5.9229]	166.2+4.6s
[7200/8000]	[L1: 5.8188]	166.2+4.6s
[8000/8000]	[L1: 5.7089]	166.2+4.6s
Evaluation:
0%|                                                    | 0/10 [00:00<?, ?it/s]ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
Traceback (most recent call last):
File "main.py", line 20, in
t.test()
File "/notebooks/ai/EDSR-PyTorch-master/src/trainer.py", line 88, in test
for idx_img, (lr, hr, filename, _) in enumerate(tqdm_test):
File "/usr/local/lib/python3.6/dist-packages/tqdm/_tqdm.py", line 979, in iter
for obj in iterable:
File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 330, in next
idx, batch = self._get_batch()
File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 309, in _get_batch
return self.data_queue.get()
File "/usr/lib/python3.6/queue.py", line 164, in get
self.not_empty.wait()
File "/usr/lib/python3.6/threading.py", line 295, in wait
waiter.acquire()
File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 227, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 6915) is killed by signal: Bus error. Details are lost due to multiprocessing. Rerunning with num_workers=0 may give better error trace.
Could you please give some advises?
Thanks.

Hello.
How much RAM do you have?
Please try with --n_threads 0 and let me know if it works.
Thank you!

Hi,
I have 16G GPU RAM, and tried --n_threads 0, now it throws unpack error:
Making model...
Preparing loss function:
1.000 * L1
[Epoch 1]	Learning rate: 1.00e-4
Traceback (most recent call last):
File "main.py", line 19, in
t.train()
File "/notebooks/ai/EDSR-PyTorch-master/src/trainer.py", line 45, in train
for batch, (lr, hr, _, idx_scale) in enumerate(self.loader_train):
ValueError: not enough values to unpack (expected 4, got 3)
I also tried --n_threads 1, it threw insufficient shared memory error when Evaluation again.
Any further suggestions to try?

Thanks for the suggestion, and the insufficient shared memory issue has gone.

Hello, I got same error , and I try same way as you did. But new error arise:
when replace
for batch, (lr, hr, _, idx_scale) in enumerate(self.loader_train): to
for batch, (lr, hr, _) in enumerate(self.loader_train):
then rise "NameError: name 'idx_scale' is not defined" in line 52
sr = self.model(lr, idx_scale)
Thank you for your help.

Hi, I walked around the error by defining idx_scale=xxx in a new line, hope will help you.


💡[Feature]: Image segmentation using thresholding techniques

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
This program is for image segmentation using thresholding techniques. It includes two types of thresholding methods: basic global thresholding and Otsu's thresholding. Here’s a breakdown of each section:
Basic Global Thresholding:
The function basic_global_thresholding calculates a global threshold by iteratively finding the mean of foreground and background pixel values. It stops when the difference between the current mean and the previous mean falls below a specified threshold (delthreshold).
Otsu's Thresholding:
The otsu_thresholding function implements Otsu's method, which calculates a threshold that minimizes the intra-class variance (variance within foreground and background regions). This threshold is more effective for bimodal images (images with a clear foreground and background).
Use Case
Image Segmentation:
The function segmented_image applies the calculated threshold (either global or Otsu's) to segment the image into binary values (0 and 1), creating a clear distinction between foreground and background regions.
Visualization:
The program reads a grayscale image, displays the original image, calculates the optimal threshold using Otsu’s method, segments the image based on this threshold, and then displays the segmented (thresholded) image.
Benefits
@sanjay-kv   Sir please assign me this. I want to add this under Open CV project.
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

please see pinned issue


apps sc: new influx chart version, pinning retention version

What this PR does / why we need it: New version of the influxdb chart that pins the retention image version. See this PR for the actual changes: https://github.com/elastisys/influxdb-helm-charts/pull/6
Which issue this PR fixes (use the format fixes #<issue number>(, fixes #<issue_number>, ...) to automatically close the issue when PR gets merged):  This fixes the issue of us pulling the image each time the retention is run (2 jobs every 5 mins per service cluster).
Public facing documentation PR (if applicable)

Special notes for reviewer:
Checklist:

[ ] Added relevant notes to WIP-CHANGELOG.md
[ ] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[ ] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Can you update the wip change log InfluxDB helm chart upgraded to 4.8.9 -> InfluxDB helm chart upgraded to 4.8.10?

Fixed now :slightly_smiling_face:


[WIP] SR-7293 Customize Equatable Conformance

Refactoring tool to add equatable conformance to a class

Resolves SR-7293.

@harlanhaskins @nkcsgexi I'm ready for round two :)

@nkcsgexi In my previous PR, I created a function
SourceLoc collectMembersForInit(ResolvedCursorInfo CursorInfo,
                           SmallVectorImpl<std::string>& memberNameVector,
                           SmallVectorImpl<std::string>& memberTypeVector)

This function gets you all the members of a class along with their types, for this PR, I need to get all the members only, I don't think I need to know the type. Is it okay to rename this function and update it's references in this PR?

@mohitathwani If you're still interested in pursuing this change, could you rebase this pull request and tag one of us for review?

@CodaFi Is there a date you need this by? I haven't made any significant progress and won't be able to get to it until January

There's no rush.  But if you aren't going to be able to address the SR then I'd like to close this pull request and release it back into the community so somebody else can take a look.  Does that sound good?

Yeah go ahead... Sorry for sitting on it for so long...

It’s no big deal.  You’re free to continue to work on it, and if you would like to keep going here you can just rebase this and reopen it when you’re ready.  I’d just like to see if somebody else would like to try in the mean time.


Adding the Slack release announcement

@dehann merge whenever works for you.

Oh cool, didn't know that existed -- thanks!


CGContextDrawImage  : invalid context 0x0

[Unknown process name] CGBitmapContextCreate: unsupported parameter combination: set CGBITMAP_CONTEXT_LOG_ERRORS environmental variable to see the details
[Unknown process name] CGContextDrawImage: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
[Unknown process name] CGBitmapContextCreateImage: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.

@make1a Can you provide more detail like what kind of image you are using and what point you are passing?


WIP: Split plotting backends, default to Plotly

Addresses #338.
Now trying to import OrbitPlotter directly from poliastro.plotting
fails, because it's the "old" backend and users are encouraged to
use OrbitPlotter2D and OrbitPlotter3D instead, which use plotly
and not matplotlib behind the scenes.
This does not address:

Updates in documentation
Failing test because OrbitPlotter2D has no set_frame method (#480)
Test simplification and refactoring (#448 and #447)

Also, notice that #281 should be fixed first.

The OrbitPlotter* code is so ugly (entirely my fault) that I can't wait to refactor it all :) However, for that I'd like to wait for better reference frame support: #434, which should arrive for the next release.
OrbitPlotter2D has incomplete redraw support (a set_frame call will fail with a NotImplementedError) but at least it now plots things properly, which it wasn't doing before (fix #483).
This PR still needs to update the documentation to be mergeable.

Also, I might want to use this opportunity to just use FigureWidgets everywhere, forget about init_notebook_mode, fix #281 by accident, and start a new family of problems because of widgets handling in Jupyter notebook and lab...

Rebase after https://github.com/poliastro/poliastro/pull/487 is merged.

There has to be lot of updates to the documentation and other places. Will you be doing it? or Can I help? :smile:

I did a test with plotly widgets with this PR and it's not ready yet: there are lots of workflows that fail, and updating the widget just does not happen. This requires some thought.

On the other hand, I tried embedding a widget in the docs inspired by ipyleaflet and it worked beautifully, at least in my local computer. However, there's a strange effect on hover:

I promise this will be done before Christmas, but can't do any better.

Well... :sweat_smile:
I added some notes about my current thinking at https://github.com/poliastro/poliastro/issues/338#issuecomment-449955855. I am closing this until I have a better idea of what to do.


Video Intelligence samples

TODO testing, the service is not currently available for some of the features.
Must not be merged till library is ready and tests all are green..

@googlebot I approve of @gguuss 's commits to this PR that I authored.


Parameter type error for arrays of g-structs

Shouldn't the :append in
https://github.com/cbaggers/cepl/blob/d6af931482859219a2c97ad77a9b1540f4c2ad5b/core/pipelines/uniform-assigners-generation.lisp#L223
rather be a :collect?  If it isn't, I obtain the error
The value
  #<CEPL.PIPELINES::ASSIGNER {1003683D83}>
is not of type
  LIST
when binding LIST
   [Condition of type TYPE-ERROR]

when I try to compile a pipeline that contains code of the form
(defun-g b3d-frag ((frag-pos :vec3) (norm :vec3)
                   &uniform (lights (g-point-light (4)))

where g-point-light is a struct-g.

Good question. I'll dig into this now. Sorry for the slow responses

Reproducing issue with
(cl:defpackage :moo
  (:use :cl :cepl :rtg-math :vari))

(in-package :moo)

(defstruct-g g-point-light
  (hmm :int))

(defun-g b3d-vert ((vert :vec2))
  (values
   (vec4 vert 0 1)
   (vec3 0 0 0)
   (vec3 0 0 0)))

(defun-g b3d-frag ((frag-pos :vec3) (norm :vec3)
                   &uniform (lights (g-point-light (4))))
  (vec4 1 2 3 4))

(defpipeline-g wat ()
  (b3d-vert :vec2)
  (b3d-frag :vec3 :vec3))

Yup you are spot on. I'm guessing this was a holdover from older code, but maybe it's been there a long time as I rarely use arrays of struct uniforms. Thank you for digging into this. The fix is now on master and will be in the next cepl release.

Sorry for the slow responses
Nevermind. Thanks for the fix!


Use Openssl 3.0.5 (Apache license) on windows

It no longer requires nonfree.
Does this require changed in ffmpeg itself to scan license?
https://github.com/openssl/openssl/releases/tag/openssl-3.0.5

But it does work?
I only care about windows. I wanted to test some stuff that does not work with mbedtls on my fork of your autobuilder.

Windows does not use mbedtls, it uses schannel.
It's not entirely trivial to switch it over. Forgot what exactly the issue was, but something blocks it.
There's no reason to switch Windows-Builds though, schannel is superior in every aspect. What exactly isn't working with it?

[ffmpeg] tls: Failed to send close message
happens very often.

If you want to try if it works now, just remove the schannel script, and add --enable-openssl to the commandline.
But if ffmpeg has an issue in its schannel implementation, you should report that upstream.

So just delete https://github.com/BtbN/FFmpeg-Builds/blob/master/scripts.d/50-schannel.sh and add https://github.com/BtbN/FFmpeg-Builds/commit/93719c1a54bbfa2d013261341b419a2f026110f9 but change SCRIPT_TAGFILTER="OpenSSL_3*" SCRIPT_COMMIT="OpenSSL_3_0_5"

Cool update! But windows still has no openssl, since 50-schannel.sh is still there? Again, I am asking since looking into wireshark it totaly destroys TLS close, also sends too much packets, while linux only sends 2 packets. Of course I found how to attach to Windows system libraries (Schannel) and get the symmetric key, but... See: https://b.poc.fun/decrypting-schannel-tls-part-1/
Maybe just do a couple releases with openssl only?

If you think ffmpeg is doing something wrong in its handling of schannel, you should open a bug on trac.
Windows is very intentionally using schannel, since it will receive security updates with the OS, so is vastly superior and preferable over an openssl version that is hard-baked in.
That article you link there reads like "Yeah, if you got full root permissions, you can attach a debugger to the process and read its buffers before it encrypts them". I don't see anything surprising about that.
If you dig around in any process using openssl with a debugger, you'll be able to do the same.

using openssl with a debugger, you'll be able to do the same.

You do not need to, openssl supports SSLKEYLOGFILE variable. And for schannel you need to hack it, which makes debug harder and in fact it was not even possible before that frida script AFAIK. And even then, looks like it cannot dump all keys, I  cannot decrypt stuff in Wireshark half of the time.

Windows does not use mbedtls, it uses schannel.
It's not entirely trivial to switch it over. Forgot what exactly the issue was, but something blocks it.

Is there such an issue with openssl? Also is that an open bug?

I do not consider it a bug.
The Windows-Builds use schannel intentionally for the increased security.
I have no plans to switch the Windows-Builds to anything else.
Linux-Builds use openssl now, since all other dependencies are compatible with 3.0 now.

What would be the git diff to activate openssl on windows? I will patch my repo and test.

What are you even trying to achieve/test?
I'm not aware of any issues when using schannel on Windows. It's the preferred and native TLS library there.
The only difference is which configure switches get passed.

What are you even trying to achieve/test

ffplay https://d2nvs31859zcd8.cloudfront.net/84a78156146c00e58213_hasanabi_42170717963_1683572491/chunked/index-dvr.m3u8
And then when it starts playing close ffplay by closing the window with x. It will print
[ffmpeg] tls: Failed to send close message
which is coming from inside https://github.com/FFmpeg/FFmpeg/blob/86ee0317951d6793b83fce03942ee26177663cec/libavformat/tls_schannel.c#L118
And only happens on windows, not on Linux, looking into wireshark it resends the same close packet again and again 20 times (decrypt it by hacking windows). And yet on Linux that just requires two packets, that are not tagged as errors by wireshark.
Also, you understand that openssl was not compatible with ffmpeg at all until 3.x.x, so doing tests are important, including security tests. Again, I want to test it on my fork.

Simply the fact that schannel receives updates with the OS, and a baked in openssl does not, makes me stick to schannel.
If I could, I'd use the Host-OpenSSL on Linux as well, but there is no sensible way to do that, given it could be any version from 0.9 to 3.1.
Again, if you think you found a bug with FFmpeg schannel implementation, please open a bug in trac about it.
I can't address and fix FFmpeg bugs from here.

I am just asking for a diff.

I've explained how to switch it over multiple times now, in this very issue.
Remove the schannel script, and add --enable-openssl to the configure invocation, or remove the respective conditionals from its script.d script.

Like that?

Thanks, it worked.


Time absorber not working

1.10.2
rftoolsdim-1.10-4.44.jar
mcjtylib-1.10-2.2.0.jar
Latest forge, all mods updated
Time absorber in the overworld totally not working.. Applying redstone signal nothing happens or not the way it is intended. I keep flipping the switch at around noon trying to capture it.. Highest in 500 attempts I've seen it get over 3 weeks of ingame time is 10%. Since the explanation on how this is supposed to work is vage at best it could be that I'm missing something.

It is indeed a bit hard to use and also it handles redstone a bit weird. It doesn't work with a lever on it but you have to put a redstone dust next to it and then a lever. Also there is a timeout so you have to wait a bit before you can apply a new redstone signal. But it is working. Direwolf has been using it in his forgecraft series.
I'll work on a better system at some point

Thank you for the clarification! :)

I also can't get the Time Absorber to work at all. I've tried connecting it to a Bibliocraft clock, set to emit a redstone pulse at noon. Whether it's directly adjacent to the clock, connected by EnderIO Insulated Redstone Conduit or connect with vanilla redstone it doesn't react to the pulse at all.
I've also tried using a button and a lever, with the same variety of connections, and none of them do anything either.

Don't put the lever on the block. Put the lever a few blocks away and place a few redstone dots to connect it to the absorber: so absorber, redstone dust, lever
That setup works

Aha, yes, that works, thank you! I was sure I'd tried that, sorry :)

I am able to get to 20% quite easily, but cannot get anything after that point. I have tried varying lengths of redstone as well as directly from repeaters, buttons and command blocks. Any advice?

How are you feeding the redstone? A lever adjacent to it doesn't work. Has to be with a redstone dust on the floor

Never mind, I wasn't leaving enough time between my attempts to absorb the time. It's working now


Expanded menu

Hi, I'm trying use the menu by code, but when I'm changed isColapsed, doesn't change on the menu.
I'm trying to close an menu that's is colapsed and open another, but doesn't work.
Thank you very much

@gmondin thank you submit an issue. Can you provide some of your code

I have tried a lot of ways, here commented some examples:
Because I'm using by a shortcut, so when the menu is selected by shortcut I call this function.
For mark as active, its ok and works, but when I have submenus, I couldn't close the first one and open the other.
private void SetActiveMenu(ItemMenu item)
{
_SideMenuItems.ToList().ForEach(s => s.IsActive = false);
//_SideMenuItems.SelectMany(s => s.Items).ToList().ForEach(x => x.IsActive = false);
//_SideMenuItems.ToList().ForEach(s => s.IsCollapsed = true);
//_SideMenuItems.SelectMany(s => s.Items).ToList().ForEach(x => x.IsCollapsed = true);

_SideMenuItems.Where(w => w.Id == item.ID.ToString()).ToList().ForEach(s => s.IsActive = true);
//_SideMenuItems.Where(w => w.Id == item.ID.ToString()).ToList().ForEach(s => s.CascadingSetActive(true));

////verifico se il menu c'e submenu, se positivo faccio la expand del menu
//if (_menuItems.flatItems.Where(x => x.ID == item.ID).Select(s => s.items).Any())
//{
//  _SideMenuItems.Where(w => w.Id == item.ID.ToString()).ToList().ForEach(s => s.IsCollapsed = false);
//  _SideMenuItems.Where(w => w.Id == item.ID.ToString()).SelectMany(s => s.Items).ToList().ForEach(x => x.IsCollapsed = false);
//  _SideMenuItems.Where(w => w.Id == item.ID.ToString()).SelectMany(s => s.Items).ToList().ForEach(x => x.IsActive = true);
//}

}
Gabriel Mondin

De: Argo Zhang @.>
Enviado: terça-feira, 26 de abril de 2022 13:16
Para: dotnetcore/BootstrapBlazor @.>
Cc: Gabriel Mondin @.>; Mention @.>
Assunto: Re: [dotnetcore/BootstrapBlazor] Expanded menu (Issue #180)
@gmondinhttps://github.com/gmondin thank you submit an issue. Can you provide some of your code
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnetcore/BootstrapBlazor/issues/180#issuecomment-1109669626, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARSXSM2QZ2EE7F3U5MLRAJ3VG7GCRANCNFSM5UK2Q7XA.
You are receiving this because you were mentioned.Message ID: @.***>

May I'm trying wrong?
Thank you very much

May I'm trying wrong?
Thank you very much

give me a project.zip please

try this
https://www.blazor.zone/menus#Dynamic

 <Menu Items="@DynamicSideMenuItems" DisableNavigation="true" IsVertical="true" style="border-right: 1px solid #e6e6e6;" />

  [NotNull]
    private IEnumerable<MenuItem>? DynamicSideMenuItems { get; set; }

    private async Task UpdateMenu()
    {
        DynamicSideMenuItems = await MenusDataGerator.GetIconSideMenuItemsAsync(Localizer);
    }

    private async Task ResetMenu()
    {
        DynamicSideMenuItems = await MenusDataGerator.GetSideMenuItemsAsync(Localizer);
    }

@gmondin sorry for the delay reply. you wanna update the Menu in your code is right?

Hi, no problem for the delay, yes, I would like to expand, open the menu and sub menu by code, because in my case the user can use the keyboard to navigate on the menu, but when the menu has sub menu, I tried to expaned and close the others without success, when the menu is expanded by mouse click, works really well.
Thank you very much
Gabriel Mondin

De: Argo Zhang @.>
Enviado: segunda-feira, 2 de maio de 2022 06:51
Para: dotnetcore/BootstrapBlazor @.>
Cc: Gabriel Mondin @.>; Mention @.>
Assunto: Re: [dotnetcore/BootstrapBlazor] Expanded menu (Issue #180)
@gmondinhttps://github.com/gmondin sorry for the delay reply. you wanna update the Menu in your code is right?
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnetcore/BootstrapBlazor/issues/180#issuecomment-1114495427, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARSXSM3HG7M3BQLR3QEVUGTVH5NMFANCNFSM5UK2Q7XA.
You are receiving this because you were mentioned.Message ID: @.***>

@gmondin sure! this feature will be added in the next milestone. please tracking this issue. thanks you

Thank you very much
Gabriel Mondin

De: Argo Zhang @.>
Enviado: segunda-feira, 2 de maio de 2022 10:10
Para: dotnetcore/BootstrapBlazor @.>
Cc: Gabriel Mondin @.>; Mention @.>
Assunto: Re: [dotnetcore/BootstrapBlazor] Expanded menu (Issue #180)
@gmondinhttps://github.com/gmondin sure! this feature will be added in the next milestone. please tracking this issue. thanks you
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnetcore/BootstrapBlazor/issues/180#issuecomment-1114601838, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARSXSM23E7O453SH52IGCHDVH6EXXANCNFSM5UK2Q7XA.
You are receiving this because you were mentioned.Message ID: @.***>

@gmondin hi. I really want to realize this function, but due to the problem of this component design, it is difficult to realize this function at present. I suggest you implement this function in your own project


No more twice module importing

Twice importing broke Pydantic behaviour when register model validator:
https://github.com/samuelcolvin/pydantic/blob/v1.2/pydantic/class_validators.py#L136
Also broke firebase_admin package when use .initialize_app()
https://github.com/firebase/firebase-admin-python/blob/24e5ad42e048db122c2357f110aee358f33a3480/firebase_admin/__init__.py#L72
This also described in commit message.

Coverage increased (+0.2%) to 75.45% when pulling 00a809f074bfbc6e521a4351ac2235844e98d504 on spumer:develop into b77895ab1c9be3121bc127e0c2dfb047eed8b24c on klen:develop.

@klen Merge?

fixed in https://github.com/spumer/peewee_migrate2


Automation- Verify regularly the correctness and completeness of resources paths

To avoid encountering issues related to missing or invalid paths similar to this issue (https://github.com/microsoftgraph/microsoft-graph-explorer-v4/issues/2820), we need to have automated regular checks against DevX API.
Acceptance criteria:

Set up testing to validate resource explorer paths against the paths available in DevX API
Automate above test to run regularly every X days (to be decided with the team)
Once an anomalie is detected, a bug or ICM (to be decided with the team) should be created and worked on.

For the frequency, let's aspects like frequency of changes, probability of relevant issues, duration and costs to run the checks to decide what the fight frequency is.


Edit an existing question.

Are you requesting a feature, reporting a bug or ask a question?
Question
What is the current behavior?
Can't find any helper methods.
What is the expected behavior?
Hey I am implementing my own editor for a school project and just wondering if there is a way to edit existing questions on the survey.
I am using survey.pages[0].addNewQuestion(Type, Text) method and just wanted to select an already exisiting question and customize the json.
Test code
Something like editQuestion or anything that might be of any help.

browser: Chrome
browser version: 29.0.
surveyjs platform (angular or react or jquery or knockout or vue):
surveyjs version:

@usamaSaddiq To insert an already existing question/element you have to use addElement function. To edit the question/element, actually change the element properties is simple as:
ver question = survey.getQuestionByName("myQuestionName");
question.title = "My new title";
question.choices = ["My new Item 1",  "My new Item 2" ];

We have created to repos with examples of creating your own Survey Management System:
https://github.com/surveyjs/surveyjs-php
https://github.com/surveyjs/surveyjs-aspnet-mvc
Hopefully they will help you as well.
Thank you,
Andrew

Okay great I will look into this repository for sure.
And any chance I might be able to get an HTML of a question object.
onAfterQuestionRendered return all questions so it's abit harder like that any easy helper methods?
Cheers

Plus I have tried the addElement function at it edits the question and adds another question with same values in the survey, here is the fiddle
https://jsfiddle.net/r5kczfdw/1/

@usamaSaddiq Updated your example: https://jsfiddle.net/r5kczfdw/2/
about cssType. There are different css classes for different cssType. sv_row/sv_q is for default cssType. You may modify them. Here is the source files: https://github.com/surveyjs/surveyjs/tree/master/src/defaultCss
And here is the demo: https://surveyjs.io/Examples/Library/?id=survey-customcss
Thank you,
Andrew

@andrewtelnov  Thanks alot.
One last thing any way to get the type of the question?
Text Question have the InputType parameter but I guess that's for input, I can determine the type but just wondering if there is any helper method or property.
Cheers

Each question has the
question.getType()
function which returns string with question type name.
Text question has 'question.inputType()' function - https://surveyjs.io/Documentation/Library/?id=questiontextmodel#inputType.

Thanks heaps @tsv2013


[Feature Request] Highlight searched word in Card View

Currently I still have to rely on the default search results of Obsidian to find the result that I'm looking for, since the card view will show the top of the note, and even if the search word is visible, it's hard to quickly find it without it being hightlighted.

@Signynt
Thank you for your request! But I'm not positive about implementing that. Please see the reason in #6.


Fix WildFly example

Depends on https://github.com/Azure-Samples/java-on-azure-examples/issues/362


"TypeError: t._h is not a function"

Hi, Everything was fine and one day I opened the chart then the error shown

Apparently a change in newer Vue versions breaking behavior - see: https://forum.vuejs.org/t/typeerror--vm--h-is-not-a-function-after-updating-vuejs-2-1-5-from-2-1/4032/9
I am experiencing the same error stopping usage of these charts.

I don't know if this'll help anyone else, but if I explicitly use release 1.2.8 then the error goes away.
Pulling in ^1.2.8 was pulling in version 1.2.31 (!)

Same for me - 1.2.8 works, ^1.2.8 resolves into 1.2.31 which has this error.


thiết lập font-size cố định cho copilot

Copilot có thể có phần setting về font-size riêng được không , nó  lớn hơn 1 tý (có thể là 30px - 40px) , vì thanh bên của tôi rất nhiều extension hỗ trợ liên quan , tôi phóng to càng nhiều để copilot có chữ lớn , thì phần code nhìn rất xấu , có thể thiết lập phần setting copilot tuỳ chỉnh kích thước chữ được không  ?
### Tasks

khi viết bình thường copilot quá nhỏ , nếu phóng to thì extension thanh bên , và phần code nhìn rất xấu

, nếu phóng to để đọc nội dung copilot !

Thanks for creating this issue!
However, as the description is not in English, it is hard for us to work on it. If you are able to, please edit this issue to be in English. Please do not add a new comment or create a new issue, but rather edit the existing issue. Unfortunately, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help translate.

Can Copilot have its own font-size settings, slightly larger (maybe 30px - 40px), because I have many sidebar extensions that support related features, and I zoom in a lot for Copilot to have larger text, but then the code portion looks ugly. Is it possible to customize the font size in Copilot settings?

The copilot font size is the same as all other workbench text. You can customize the codeblock text size with chat.editor.fontSize, but the rest of the reply text should match the workbench- why do you want it to be a different size than other workbench elements?

I already commented in #83, but since this issue is open I’d like to support it here too. The problem is that Copilot uses way more text than anywhere else in VSCode where the Workbench font is used. It’s okay to squint or go closer to the screen for a second or two, but not if you’re reading complex explanations for several minutes. That’s why more users feel the need to increase the font size in Copilot itself (but ultimately, the more elegant solution would be a customizable workbench font-size across VSCode, because other plugins suffer from the same issues.)

@roblourens, I would LOVE to have this feature. Personally, I'd like to have my CoPilot chat window to have a larger font-size than the rest of the other elements in the IDE to make it easier to read without having to increase everything. I currently have the ability to +/- the font size of my code editor without effecting the rest of the fonts in the IDE, which is hugely convenient.

chat.editor.fontSize

This didn't work for me. It only changed the fontSize of certain elements within the CHAT: GITHUB COPILOT tab/window, but not the entire text output there.

I think https://github.com/microsoft/vscode-copilot-release/issues/83 is a better issue to track this, so just switching to that one


Ft slidercomponent

How do I get the current value of the slider? Imagine the user has used the slider, and the developer wants to fetch that value, how does the dev do this?

How do I get the current value of the slider? Imagine the user has used the slider, and the developer wants to fetch that value, how does the dev do this?

Alex, I think this might be part of the "connective-ness" for a future ticket. Can you confirm @MartinaLof ? If so is there a ticket made to add this functionality?

How do I get the current value of the slider? Imagine the user has used the slider, and the developer wants to fetch that value, how does the dev do this?

I added getter and setter methods in commit a5efe0b. Usage:
let slider = new JJSlider();
slider.value = 25;
slider.min = 0;
slider.max = 100;
slider.color = "orange";