track total record count in context

Track total_records in the context. This doesn't include the changes to the infra to track progress towards the total record count and close the channel when it gets there. (I do have a version of that, which can successfully free send buffer resources when the channel is no longer needed, but with one gross sticking point -- it sends the total record count over the mpsc along with ChannelId and payload with every message, for lack of a good way to communicate the total record count only once.)

Updated to handle upgrades of malicious protocol inputs, and updated all tests.
The record count for random_bits_generator varies depending on how many failures there are. This is still a problem. One option is to address that together with the as-yet-undetermined changes mentioned in #362 related to lock-free concurrent access to channels. (My thinking is that once we have some structure in place for maintaining ownership of channels, we implement a special mechanism to close the random_bits_generator channels.)
If we want to upgrade the record_id sanity checks to hard errors before merging, then we'll need to either solve random_bits_generator, or add a special exception to the record_id checks for random_bits_generator.

In working on the check for calling set_total_records multiple times, I've found that the number of cases where tests don't have total_records of 1 seems comparable to the number that had set_total_records(1) before. (These are failing after adding the check, because the test harness defaults to 1, and then the implementation sets the non-singular record count.) If that changes thoughts on what the default behavior should be, let me know.
Other than that, I need to finish cleaning up total_upgrades, and it looks like there's another merge conflict to resolve. Then I think this should be pretty close, assuming we don't do anything about random_bits_generator right now.

In working on the check for calling set_total_records multiple times, I've found that the number of cases where tests don't have total_records of 1 seems comparable to the number that had set_total_records(1) before. (These are failing after adding the check, because the test harness defaults to 1, and then the implementation sets the non-singular record count.) If that changes thoughts on what the default behavior should be, let me know.

it feels that it should not be TestWorld's responsibility to control number of records sent through each channel? I would expect tests to set up the input size before performing MPC unless I am missing something?

it feels that it should not be TestWorld's responsibility to control number of records sent through each channel? I would expect tests to set up the input size before performing MPC unless I am missing something?

The idea as I understood it was that since many tests only operate on one record, to reduce boilerplate in the tests by having TestWorld (or something in the test fixture) set total_records = 1 by default. I agree this isn't functionality that naturally belongs to TestWorld -- the MPC algorithm is what ultimately determines the record count either as a constant of the algorithm or as an input parameter. Since it appears there's a similar number of tests that would need to specify one record and tests that specify a record count within the algorithm they're running, maybe the natural functional structure is a good "tie breaker" reason to have the default be unspecified record count rather than one record count?

Since it appears there's a similar number of tests that would need to specify one record and tests that specify a record count within the algorithm they're running, maybe the natural functional structure is a good "tie breaker" reason to have the default be unspecified record count rather than one record count?

I have the same opinion given that we have the supporting evidence for it.

Latest version:

Rebases on main after merge of #387 and removes those commits from this PR.
Adds a change to waive the total_records check when the total cannot be known (solved_bits), and changes the check to be an assertion failure in all other cases. This is in the last commit.
Resolves merge conflicts. The ones that are potentially interesting to review are in sum_of_products and generate_permutation.

I take the merge error as my bad. I merged changes out of order, so I am going to fix this merge conflict


scopeWhereTranslationLike does not exist.

HI @dimsav,
I have noticed that you implemented  a scope called WhereTranslationLike, but you forgot to make a new release with that functionality, can you do that please ?
Thanks a lot.

Done! I didn't forget it, we had some issues with the tests but all is fine now. Enjoy!

Maybe I misinterpreted this functionality, but:
`>>> App\Article::whereTranslation('title', 'test')->first();
=> App\Article {#722
id: 6,
created_at: "2016-02-05 15:33:56",
updated_at: "2016-02-05 15:33:56",
}

App\Article::whereTranslationLike('title', '%est')->first();
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'translation_like' in 'where clause' (SQL: select * from articles where translation_like = title limit 1)'
`


Issue with applying cutouts to a collection of target pixel files

The routine below needs to be adapted to process lightcurves for TESS objects in different sectors.
I have set cutout_size to 10, but the size of the resulting cutouts is only 4X4(see the output below).  A conflict ensues with the size of the pipeline mask.  Is this a mistake in the routine ? This is lightcurve 1.5.1 on Ubuntu linux installed using conda.
def Cutout_TargetPixelFile_2(tic,sectors):
print(sectors)

stitched_lc_time=[]
stitched_lc_flux=[]
stitched_lc_flux_err=[]

search_result=search_tesscut('TIC'+str(tic),sector=sectors).download_all()

for tpf in search_result:

    target_mask=tpf.pipeline_mask

cutout_size=np.shape(target_mask)[0]
    print(cutout_size)

    tpf = tpf.cutout(size=cutout_size)

    print(tpf.shape)

tpf=tpf.download(cutout_size=cutout_size)
median_image = np.nanmedian(tpf.flux, axis=0)
Select pixels which are brighter than the 85th percentile of the median image
target_mask = median_image > np.nanpercentile(median_image, percentile)
    target_lc = tpf.to_lightcurve(aperture_mask=target_mask).remove_nans()

Make a design matrix and pass it to a linear regression corrector
    dm = lightkurve.DesignMatrix(tpf.flux[:, ~target_mask], name='pixels').pca(ncomp_pca).append_constant()
    rc = lightkurve.RegressionCorrector(target_lc)
    corrected_lc = rc.correct(dm)

Remove the scattered light, allowing for the large offset from scattered light
    corrected_lc = target_lc - rc.model_lc + np.percentile(rc.model_lc.flux, 5)

    time=corrected_lc.time
    flux=corrected_lc.flux
    flux_err=corrected_lc.flux_err

    centroids_x,centroids_y = tpf.estimate_centroids(aperture_mask=target_mask)

    print(time,flux,flux_err)

    sys.exit()

    with PdfPages('Tesscut_'+str(tic)+'.pdf') as pdf:

     plt.figure()
     tpf.plot(aperture_mask=target_mask, mask_color='k')
     pdf.savefig()
     plt.close()

     plt.figure()
     plt.plot(time, target_lc.flux/np.median(target_lc.flux), 'r',label='target flux')
     plt.plot(time, rc.model_lc.flux/np.median(rc.model_lc.flux) , 'g',label='background flux')
     plt.plot(time, corrected_lc.flux/np.median(corrected_lc.flux), 'b',label='corrected flux')
     plt.title('detrended fluxes')
     plt.legend(loc='best')
     plt.ylabel('Normalized Flux')
     plt.xlabel('Time')
     pdf.savefig()
     plt.close()

return time,flux,flux_err,centroids_x,centroids_y

Dit is de uitvoer:
python CARMENES_lightcurves.py
WARNING: AstropyDeprecationWarning: astropy.extern.six will be removed in 4.0, use the six module directly if it is still needed [astropy.extern.six]
298071899 [14 15 20]
Processing TIC 298071899
[14 15 20]
0% (4/1241) of the cadences will be ignored due to the quality mask (quality_bitmask=175).
1% (7/1197) of the cadences will be ignored due to the quality mask (quality_bitmask=175).
0% (5/1188) of the cadences will be ignored due to the quality mask (quality_bitmask=175).
10
0% (4/1241) of the cadences will be ignored due to the quality mask (quality_bitmask=175).
(1237, 4, 4)
Traceback (most recent call last):
File "CARMENES_lightcurves.py", line 908, in
time,flux,flux_err,centroids_x,centroids_y=Cutout_TargetPixelFile_2(tic,sectors)
File "CARMENES_lightcurves.py", line 117, in Cutout_TargetPixelFile_2
target_lc = tpf.to_lightcurve(aperture_mask=target_mask).remove_nans()
File "/home/siegfried/anaconda3/envs/CARMENES/lib/python3.7/site-packages/lightkurve/targetpixelfile.py", line 372, in to_lightcurve
return self.extract_aperture_photometry(**kwargs)
File "/home/siegfried/anaconda3/envs/CARMENES/lib/python3.7/site-packages/lightkurve/targetpixelfile.py", line 1675, in extract_aperture_photometry
aperture_mask = self._parse_aperture_mask(aperture_mask)
File "/home/siegfried/anaconda3/envs/CARMENES/lib/python3.7/site-packages/lightkurve/targetpixelfile.py", line 404, in _parse_aperture_mask
"".format(aperture_mask.shape, self.flux[0].shape))
ValueError: aperture_mask has shape (5, 5), but the flux data has shape (4, 4)

@svaverbe Did you manage to resolve the issue?
I see that you are using the pipeline_mask from the original tpf, i.e.:
target_mask=tpf.pipeline_mask

The target_mask variable in the line above will be a 2D boolean array with the shape of the TPF flux (e.g. 5x5).
...next, I see you reduce the size of the TPF (e.g. to 4x4), and then you try to use that new TPF to create a lightcurve with the old target_mask:
tpf = tpf.cutout(size=cutout_size)
target_lc = tpf.to_lightcurve(aperture_mask=target_mask).remove_nans()

This doesn't work because target_mask still has the shape of the original tpf (5x5), but you created a new (4x4) tpf with the cutout command, hence you encounter the error:
ValueError: aperture_mask has shape (5, 5), but the flux data has shape (4, 4)
My recommendation is to create a lightcurve using an automated threshold-based aperture mask, i.e. aperture_mask="threshold" or aperture_mask=tpf.create_threshold_mask().
Does that make sense?

I solved the issue by creating my own mask based on the tpf data.  Also, since the FFIs do not have a pipeline mask available(or is there one ?), it could not have worked from the start.

Great!
Indeed, the pipeline mask is empty for FFI cutouts, i.e. it's a mask with zero pixels.
Do open a new issue if you encounter any more issues!


Application disabled

Describe the issue
Unable to provision the MICROSOFT 365 LEARNING PATHWAYS template.
Expected behavior
Global admin expected the provisioning template to install.
Screenshots
Attached...

Details (please complete the following information):

PnP Correlation ID: e9aec2b2-c40d-4f98-bd82-3a7213f7e92a
Reference Template: https://provisioning.sharepointpnp.com/details/3df8bd55-b872-4c9d-88e3-6b2f05344239
Primary language of the target tenant: English-US
Are you using a Tenant Global Admin account to provision the template: YES

Additional context
Add any other context about the problem here.

Disregard. I found the problem in AAD > Enterprise Applications. App was set to disallow user logons.


use FIFO instead of LIFO for free slabs

These are purged of pages so they aren't hot, and they're memory protected so keeping them that way for as long as possible will generally improve security.

The same thing doesn't necessarily make any sense for empty slabs. That can remain LIFO for now and the approach to handling switching over to free slabs will need to be thought out.
At the moment, the implementation treats the free slabs list as a cache that can fill up and purges + memory protects the newly freed slabs. Instead, it could evict allocations freed a longer time ago and free those instead. There are many ways to approach it and the performance and security implications aren't as clear cut as the free slabs list being substantially better in most cases (not all) as a FIFO.

This is implemented by https://github.com/AndroidHardening/hardened_malloc/issues/28.

This is now implemented by https://github.com/AndroidHardening/hardened_malloc/commit/03bf06a72a235531ddd049eb16547c42bdb3bec1.


Use emit to trigger events

Linter is complaining that we're not using emit to explicitly mark events. Needs to be fixed:
410:6     warning    Use emit statements for triggering events.                                                        emit

done


FR: Pull variables into styling

I'm trying to include an "emoji" attribute for some notes that would replace the file icon in the left sidebar with that specific emoji. I don't think this is currently achievable, but it would be really helpful for sifting through large lists of notes.

I think this does what you want? Make sure to add emoji to the 'Target attributes' in the Supercharged Links settings.
.data-link-icon[data-link-emoji]::before {
    content: attr(data-link-emoji);
}

I think this does what you want? Make sure to add emoji to the 'Target attributes' in the Supercharged Links settings.

.data-link-icon[data-link-emoji]::before {

    content: attr(data-link-emoji);

}

Perfect solution! Thank you!


Add issue and PR drawdown tracking page

🧰 Task
Thomas Fan from sklearn just tweeted about this site (source) that shows the last 6 months of issues and PRs in scikit-learn. I think it would be valuable to create one for scikit-image edit and napari :sweat_smile: !
I also think it can probably be improved with an interactive web plotting framework like plotly or Bokeh. What I envision is a view that shows the past, say, 12 weeks, but lets you zoom out to a monthly view, and clicking on any date opens issues/PRs for that time range using a GH issue search.

cc @bnelson-czi is there something we have that will enable these analytics?

I want to link to  https://devstats.scientific-python.org/

I'm currently scoping analytics work for H2. Should we revisit this idea? @jni @sofroniewn @potating-potato

Ok Why is it called a Pony Factor 😂
@Carreau while the devstats site has interesting statistics, I'd like it to be more dashboardy and easier to navigate at a glance.
@bnelson-czi I like the dashboard! But I'd also like to add the plots shown in the sklearn site. Specifically, it's good to know when/if the opened issues and the closed issues diverge (as they clearly have), and whether we are making progress over time — I don't see the superset board telling us that info though I can't scroll.
I'd also like the whole thing to be public.
But, yes, I'd be very happy to see these things happen!


E171 is occurred with installing fzf

Describe the bug
E171 is occurred with installing fzf by post-update hooks.
Running the post-update hooks ...
function jetpack#sync[8]..jetpack#postupdate[4]..<lambda>1[1]..fzf#install の処理中にエラーが検出されました:
行   10:
E605: 例外が捕捉されませんでした: /Users/kawarimidoll/.local/share/nvim/site/pack/jetpack/opt/_/install not found
function jetpack#sync[8]..jetpack#postupdate の処理中にエラーが検出されました:
行    4:
E171: :endif がありません

This is short demo:

To Reproduce
Start nvim with the config below and run :JetpackSync.
call jetpack#begin()
call jetpack#add( 'junegunn/fzf', { 'do': { -> fzf#install() } })
call jetpack#end()

Output of nvim --version
❯ nvim --version
NVIM v0.7.0-dev+920-g7e2ce35e3
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui
See ":help feature-compile"

      システム vimrc: "$VIM/sysinit.vim"
       省略時の $VIM: "/opt/homebrew/Cellar/neovim/HEAD-7e2ce35/share/nvim"

Run :checkhealth for more info

Thank you for the issue. I maybe get the reason why this error has occurred.

Launch vim, jetpack calls packadd _
You type JetpackSync and jetpack runs the installation
jetpack bundle all package into _
jetpack runs packaddall to reload all plugins
jetpack runs post-update hooks.

Here, step 1 has already loads _, and thus, step 4 may not perform.
I will solve this issue as soon. Cheers!

I hope my commit fixes this issue. Please check it. Thank you for using this software.

Thank you! Nice work 👍


gitlab-timelogs: 0.4.0 -> 0.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/phip1611/gitlab-timelogs/releases.
meta.description for gitlab-timelogs is: CLI utility to support you with your time logs in GitLab
meta.homepage for gitlab-timelogs is: https://github.com/phip1611/gitlab-timelogs
meta.changelog for gitlab-timelogs is: https://github.com/phip1611/gitlab-timelogs/blob/v0.5.0/CHANGELOG.md
Updates performed

Rust version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.0 with grep in /nix/store/wgm1911zh0k695pvdmh1ildr6lm4g8n1-gitlab-timelogs-0.5.0
found 0.5.0 in filename of file in /nix/store/wgm1911zh0k695pvdmh1ildr6lm4g8n1-gitlab-timelogs-0.5.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

gitlab-timelogs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wgm1911zh0k695pvdmh1ildr6lm4g8n1-gitlab-timelogs-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gitlab-timelogs https://github.com/r-ryantm/nixpkgs/archive/bce20fbf37dd2d2e1396e9973a19288465c6bd37.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bce20fbf37dd2d2e1396e9973a19288465c6bd37#gitlab-timelogs

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wgm1911zh0k695pvdmh1ildr6lm4g8n1-gitlab-timelogs-0.5.0
ls -la /nix/store/wgm1911zh0k695pvdmh1ildr6lm4g8n1-gitlab-timelogs-0.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

gitlab-timelogs

Maintainer pings
cc @blitz @phip1611 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


DEP0600 error when Package name is too long

Describe the bug
It's possible to create and run an app within an invalid Package Name, but doing so gives a vague and unhelpful error message that does not point to the cause of the issue:
DEP0600: Deployment failed. Exception - The stub received bad data.
The stub received bad data. [0x800706F7]

The only way round this problem is to use a shorter name.
Steps to reproduce the bug

Create a new app.
Manually edit Package.appxmanifest so it includes a Name that is longer than 50 characters.

e.g.
  <Identity
    Name="Name.That.Is.Very.Long.But.For.Genuinely.Valid.Reasons"
    Publisher="CN=myPublisherName"
    Version="<IP_ADDRESS>" />

Run the application.
See the DEP0600 error message (above)

Expected behavior
That the provided value is outside the validation rules, it should be caught at compile time.
A message that explains (or at least references) the problem should be reported. Something like "Package name can be at most 50 characters long."
If this can only be caught at runtime, something more useful than the DEP0600 message should be displayed.
Note. There already is validation for this in the appxmanifest editor (see below) but it is a bad practice to only do input validation (& error reporting) at the point of user input when data can be provided at other times and in other ways.
It's perfectly acceptable to edit the appxmanifest file in other ways (such as notepad!) and this file may not even be opened if the contents are set in another (generated) way (such as with the Community Toolkit, or Template Studio.)
Without providing an error message that points to the actual problem, people may waste days(!) of effort trying to work out the cause of the vague error message that only has an indication of the problem if they know to open the correct file and then go to the correct tab within the UI.
Screenshots

NuGet package version
WinUI 3 - Windows App SDK 1.0
Windows app type

[ ] UWP
[X] Win32

Device form factor
Desktop
Windows version
Windows 11 (21H2): Build 22000
Additional context
As a low priority issue, I'm not expecting this will be addressed quickly, but I hope that by documenting the issue here it may help someone else in the future if they search for the error message they will find the solution/work-around.

I just hit this again with Labs.StackedNotificationsBehavior.Samples.WinAppSdk and was very confused until I stumbled back upon this bug we had filed.

Bumping, based on https://github.com/microsoft/microsoft-ui-xaml/discussions/8638


Jupyter Variables view stays Loading forever

Testing #10184
Everything in the test plan item works great until I run Jupyter: Focus on Variables View. The view stays this way:

As soon as I hit Play ▶, debugging stops and the view completes:

This should be fixed with latest bits.

@greazer Adding bug so someone verifies that.

/verified


Interface method IsTransient is marked as static incorrectly

IsTransient is an interface method that needs to be implemented. It cannot be static (and hence has compilation errors).
transientErrorStatusCodes can be marked static readonly.
// List of error codes to retry on
List<int> transientErrorStatusCodes = new List<int>() { 429 };
public static bool IsTransient(Exception ex)
{
    ...
}

should be:
// List of error codes to retry on
private static readonly List<int> transientErrorStatusCodes = new List<int>() { 429 };
public bool IsTransient(Exception ex)
{
    ...
}

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

ID: a57254c9-963d-ea1d-ecaf-dd0e7913526c
Version Independent ID: 610c8514-bd72-46cc-75f1-991e2242019b
Content: Rate limiting for bots - Teams
Content Source: msteams-platform/bots/how-to/rate-limit.md
Service: msteams
GitHub Login: @surbhigupta
Microsoft Alias: surbhigupta

@vamsitp - Thanks for raising this. We will check it and will make necessary changes accordingly.

Hello @vamsitp - Could you please try below code and let me know if it's working for you:
`      // List of error codes to retry on
private static List transientErrorStatusCodes = new List() { 429 };
    public static bool IsTransient(Exception ex)`

Looks like a bug in the documentation:
@surbhigupta12  - Please help us to remove the static keywork from the below:
https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/rate-limit#detect-transient-exceptions-example

Hello @vamsitp - Could you please try below code and let me know if it's working for you:
// List of error codes to retry on
private static List<int> transientErrorStatusCodes = new List<int>() { 429 };
public static bool IsTransient(Exception ex) {...........}

Or
// List of error codes to retry on
List<int> transientErrorStatusCodes = new List<int>() { 429 };
public bool IsTransient(Exception ex) {...........}

You can use it with static and without static as well but in both the cases transientErrorStatusCodes  should also be static/non-static accordingly.

Do I need to try? I believe static on the interface method won't work.

Hello @vamsitp -  Could you please share your valuable feedback via Microsoft Teams Developer Community Response Feedback link?

Yes correct @vamsitp - that's why I asked doc team to remove the static keywork from the documentation.
So, doc team will update it.
Do you have any other query?
If not, please share your valuable feedback here Microsoft Teams Developer Community Response Feedback


Correct generics usage in Matcher and implementing classes

Matcher could be using type T in .matches()
Matcher.java
boolean matches(T item);
void describeMismatch(T item, Description mismatchDescription);

Obviously, you would have to refactor all underlying implementations as BaseMatcher, etc.
This would remove pointless casting of the object.

It's like this for the same reason that equals() takes Object, we don't want to overspecify the type of the actual object. As library writers, we don't know how people will want to use this, including whether they've managed to retain the actual type in the calling code. We've provided TypeSafe subclasses to simplify the implementation where this matter.

What is this typesafe subclass?

http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/TypeSafeMatcher.html
Perhaps a little more time investigating the existing code?

I would say it is better to remove junk generic  from BaseMatcher, as it is not used and type safe anyway.


Add required alt attribute in img

I think the alt attribute should be empty here, as the username is already printed in the headline right next to the image.

:cake:

Why should this be added if it's just empty?

Because the alt attribute is required. Google it for more info.

The alt attribute is required on all image tags. When screen readers and browsers without image support encounter image tags without the alt attribute, they will replace the image with the value of the src attribute. When the alt attribute is present, they will replace the image with the value of the alt instead.
Decorative images, which provide no extra information other than what's already on the page should have an empty alt attribute.

Thanks for info, Stian!

The alt attribute is required on all image tags. When screen readers and browsers without image support encounter image tags without the alt attribute, they will replace the image with the value of the src attribute. When the alt attribute is present, they will replace the image with the value of the alt instead.

Seems to me the problem lies with the screen readers. I don't think browsers that doesn't support images is a problem in 2015.

Decorative images, which provide no extra information other than what's already on the page should have an empty alt attribute.

If this is because of the reasoning above I don't see the value to be honest.

If this is because of the reasoning above I don't see the value to be honest.

We should have alt tags even for decorative reasons because it says so in the spec.
http://www.w3.org/TR/html5/embedded-content-0.html#alt
Relevant parts:

.. the alt attribute must be specified ..

Mark up purely decorative images so they can be ignored by assistive technology by using an empty alt attribute (alt="").

We should have empty alt tags because it says so in the spec.
http://www.w3.org/TR/html5/embedded-content-0.html#alt

I see <IP_ADDRESS>.1 have some good points when it comes to why we should have alt text, let's go for it.
New question: alt="" vs alt (without the equal sign and fnuts)

New question: alt="" vs alt (without the equal sign and fnuts)?

I prefer alt for aesthetic reasons.

New question: alt="" vs alt (without the equal sign and fnuts)?

I prefer alt for aesthetic reasons.

I like that too

:dancer:


Add waitress as dependency to setup.py

Coverage remained the same at 89.75% when pulling d4121ea73745ef004b55370e8eaa3621eb09a789 on longnguyen11288:patch-1 into d85b7765e1e4c4bba6a3e36b4d9d08f1fe5757fe on mathcamp:master.

Hi Long, thanks for the PR! I actually intentionally excluded waitress from the list of dependencies because it's not technically part of the pypicloud package. It's not at all necessary to run pypicloud, it's just a convenient webserver that can serve the WSGI app for development or small deploys.

Hmm ok, I wrote a blog post https://blog.starkandwayne.com/2015/06/01/running-your-own-pypi-server-on-cloud-foundry/ on running it on Cloud Foundry. I'll leave it as manual step to add it so it can run on Cloud Foundry


merge package template from Kronos-Tools/npm-package-template

package.json

chore(devDependencies): update<EMAIL_ADDRESS>from template

Codecov Report

Merging #133 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #133   +/-   ##
=======================================
  Coverage   83.33%   83.33%
=======================================
  Files           1        1
  Lines          12       12
=======================================
  Hits           10       10
  Misses          2        2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2a86fda...668de2f. Read the comment docs.


refactor: reorganize and clean up

Refactored and renamed BoxList component to BoxChart

No longer considering this component as a "common" one so moved it to the specific route folder where it is used
Moved here the specific atomic state manipulations (selection & action log) that were previously part of the BoxButton component (BoxButton remains "common" thus stays in the src/components folder)

Refactored BoxListItem component to BoxButton

Converted it to a purely presentational component
Made the interactivity support explicit by wrapping the contents in a button tag instead of applying aria role on the svg element

Refactored and renamed Analytics route component to Dashboard

Added memoization to the actual values computation
Extracted separate UndoButton component

👍🏻


Add a receipts feature

Sometimes, projects may wish to raise Bitcoins via a payment processor like Bitpay or Coinbase. Charity fundraisers often fall into this category, if the charity doesn't have a statically reused, published address and prefers to receive local currency.
In this case the target address will be a wallet of some intermediary who promises to send the money onwards, once raised. This puts the intermediary in a bind ... how can they prove they delivered the funds correctly?
Luckily, we anticipated this sort of need years ago when we designed BIP 70. The solution looks like this:
The Claim window is extended to support a "Claim with receipt" mode. It has an edit box where you can copy/paste or drop a Bitcoin payment address, like one dragged from a bitpay/coinbase payment page. Once dropped, the bitcoin URI is checked to ensure it is using BIP70 and if not, we error out.
The BIP70 payment request is downloaded and checked to ensure it's signed. If not, we error out (proceeding would be pointless). If it is, we save it to disk in the users wallet. We show the CA verified identity of the recipient (payment processor) + message in the Claim window. The message should contain the name of the true recipient.
When the user presses Claim, we broadcast a chain of two transactions. The first is the claim, as normal. The second is an immediate respend of the claim to the address provided in the downloaded PaymentRequest.
The app then waits until both transactions are confirmed. It can now produce a "receipt". This is a file that contains the original signed PaymentRequest with the address to pay and timeframe in which to use it. It also contains a copy of the payment transaction and a Merkle branch linking it to the block chain. This is a cryptographic (SPV level) proof that the payment request was satisfied. The format is not Lighthouse specific so could be specified via a new BIP.
The receipt is then uploaded to the Lighthouse server so it can be vended to project backers for verification. The app is then extended so instead of a "View claim transaction" button in the UI, it has a "View receipt" button instead. Clicking on it verifies the receipt (PKI signatures + merkle branch of payment) and shows a pretty rendering, perhaps it looks like a paper receipt, with the certificate CN and memo field. This lets the backers know the payment was forwarded correctly.
As a bonus, we can add a command to open receipt files and verify them outside of any Lighthouse project. Other people might find the ability to prove payments via the receipt mechanism useful too.

Actually, may as well go all the way and let people generate proofs for payments from the Lighthouse wallet that aren't project claims. 90% of the code would be the same anyway.
Then Lighthouse can be useful for any Bitcoin user who wants to prove they paid a certain person or merchant, even if they don't care about crowdfunding. It'd evolve the app towards a more general wallet with advanced features.


Update CLI docs (website)

Update the doc generation script to include frontmatter and build docs into the website/content/en/cli directory

Closed by https://github.com/operator-framework/operator-sdk/pull/2799


matrix factorization notebook, no activations?

What is the benefit of adding in another layer if you're using a linear activation? My understanding was that multiple linear layers can be expressed as a single linear layer.
Thanks!

fixed, thanks.


Saving and Loading Refiner pipeline causes load error

Describe the bug
Able to save Refiner graph, unable to load it
A clear and concise description of what the bug is.\
While trying to load the refiner compiled graph via onediffx, it errors out.

Your environment
OS
Ubuntu, Python 3.11
Run python -m oneflow --doctor and paste it here.
path: ['/home/aistudent/miniforge3/lib/python3.11/site-packages/oneflow']
version: 0.9.1.dev20240220+cu118
git_commit: 6621521
cmake_build_type: Release
rdma: True
mlir: True
enterprise: False

How To Reproduce
Steps to reproduce the behavior(code or script):
Save refiner graph

from time import perf_counter
import torch
from diffusers import (
    AutoPipelineForText2Image,
    AutoPipelineForImage2Image,
    AutoencoderTiny,
)

import oneflow as flow
#from onediff.infer_compiler import oneflow_compile
from onediff.schedulers import EulerDiscreteScheduler
#

from onediffx import compile_pipe, save_pipe, load_pipe

scheduler_refiner = EulerDiscreteScheduler.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0", subfolder="scheduler")
refiner = AutoPipelineForImage2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    use_safetensors=True,
    torch_dtype=torch.float16,
    scheduler=scheduler_refiner,
    variant="fp16",
    vae=vae,
).to("cuda")

base = compile_pipe(base)
refiner = compile_pipe(refiner)

with flow.autocast("cuda"):
    for generation in queue:
        image = base(generation["prompt"], output_type="latent").images
        refiner(generation["prompt"], image=image)

save_pipe(refiner, "refiner_graph")

load_pipe(refiner, "refiner_graph")

The complete error message
Loading pipeline components...: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:01<00:00,  5.93it/s]
Loading pipeline components...: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:00<00:00,  6.78it/s]
Loading pipes
Loaded base pipe
Traceback (most recent call last):
  File "/home/aistudent/sdxl/graph_loader.py", line 90, in <module>
    load_pipe(refiner, "refiner_graph")
  File "/tmp/onediff/onediff_diffusers_extensions/onediffx/compilers/diffusion_pipeline_compiler.py", line 100, in load_pipe
    obj.load_graph(os.path.join(dir, part))
  File "/home/aistudent/miniforge3/lib/python3.11/site-packages/onediff/infer_compiler/with_oneflow_compile.py", line 322, in load_graph
    self.get_graph().load_graph(file_path, device, run_warmup)
  File "/home/aistudent/miniforge3/lib/python3.11/site-packages/onediff/infer_compiler/utils/cost_util.py", line 48, in clocked
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/aistudent/miniforge3/lib/python3.11/site-packages/onediff/infer_compiler/with_oneflow_compile.py", line 348, in load_graph
    self.load_runtime_state_dict(state_dict, warmup_with_run=run_warmup)
  File "/home/aistudent/miniforge3/lib/python3.11/site-packages/oneflow/nn/graph/graph.py", line 1188, in load_runtime_state_dict
    return self._dynamic_input_graph_cache.load_runtime_state_dict(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aistudent/miniforge3/lib/python3.11/site-packages/oneflow/nn/graph/cache.py", line 239, in load_runtime_state_dict
    assert graph is None
AssertionError

hello， In your code, there are 3 important steps:

Compiling the Module
Saving the graph
Loading the graph
OneDiff currently doesn't support doing step 3 after step 1, because once the graph has been compiled, there's no need to load another graph.

If you want test the load_graph function, you can change your code to something like that:

from time import perf_counter
import torch
from diffusers import (
    AutoPipelineForText2Image,
    AutoPipelineForImage2Image,
    AutoencoderTiny,
)

import oneflow as flow
#from onediff.infer_compiler import oneflow_compile
from onediff.schedulers import EulerDiscreteScheduler
#

from onediffx import compile_pipe, save_pipe, load_pipe

scheduler_refiner = EulerDiscreteScheduler.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0", subfolder="scheduler")
refiner = AutoPipelineForImage2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    use_safetensors=True,
    torch_dtype=torch.float16,
    scheduler=scheduler_refiner,
    variant="fp16",
    vae=vae,
).to("cuda")

base = compile_pipe(base)
refiner = compile_pipe(refiner)

load_pipe(refiner, "refiner_graph")  # make sure the `refiner_graph` file exist

with flow.autocast("cuda"):
    for generation in queue:
        image = base(generation["prompt"], output_type="latent").images
        refiner(generation["prompt"], image=image)

The above code I shared was for testing only. It also errors out.
In my actual code base, saving refiner is a separate process, and loading the saved graph is separate function

The above code I shared was for testing only. It also errors out.
In my actual code base, saving refiner is a separate process, and loading the saved graph is separate function

I try to run the code above you gave, but it failed according to no value like vae, base, generation, etc. found.
The error message you show above is indeed a error caused by trying to load a graph using a compiled object. can you re-confirm it?
or can you extract the POC code that I can run directly and then I can show you how to fix it.

I'll update in few hours, when I get back to my machine

Here is an reproducible example (tested now)
file - graph_exporter.py
from time import perf_counter
import torch
from diffusers import (
    AutoPipelineForText2Image,
    AutoPipelineForImage2Image,
    AutoencoderTiny,
)

import oneflow as flow
from onediff.schedulers import EulerDiscreteScheduler
from onediffx import compile_pipe, save_pipe
from onediffx.lora import load_and_fuse_lora, unfuse_lora

queue = []

queue.extend(
    [
        {
            "prompt": "3/4 shot, candid photograph of a beautiful 30 year old redhead woman with messy dark hair, peacefully sleeping in her bed, night, dark, light from window, dark shadows, masterpiece, uhd, moody",
            "seed": 877866765,
        }
    ]
)

vae = AutoencoderTiny.from_pretrained(
    "madebyollin/taesdxl",
    use_safetensors=True,
    torch_dtype=torch.float16,
).to("cuda")

scheduler_base = EulerDiscreteScheduler.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="scheduler")
base = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    use_safetensors=True,
    scheduler=scheduler_base,
    torch_dtype=torch.float16,
    variant="fp16",
    vae=vae,
).to("cuda")

scheduler_refiner = EulerDiscreteScheduler.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0", subfolder="scheduler")
refiner = AutoPipelineForImage2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    use_safetensors=True,
    torch_dtype=torch.float16,
    scheduler=scheduler_refiner,
    variant="fp16",
    vae=vae,
).to("cuda")

base = compile_pipe(base)
refiner = compile_pipe(refiner)

with flow.autocast("cuda"):
    for generation in queue:
        image = base(generation["prompt"], output_type="latent").images
        refiner(generation["prompt"], image=image)

save_pipe(base, "base_graph")
save_pipe(refiner, "refiner_graph")

file - graph_loader.py
from time import perf_counter
import torch
from diffusers import (
    AutoPipelineForText2Image,
    AutoPipelineForImage2Image,
    AutoencoderTiny,
)

import oneflow as flow

from onediff.schedulers import EulerDiscreteScheduler
from onediffx import compile_pipe, load_pipe

queue = []

queue.extend(
    [
        {
            "prompt": "3/4 shot, candid photograph of a beautiful 30 year old redhead woman with messy dark hair, peacefully sleeping in her bed, night, dark, light from window, dark shadows, masterpiece, uhd, moody",
            "seed": 877866765,
        }
    ]
)

vae = AutoencoderTiny.from_pretrained(
    "madebyollin/taesdxl",
    use_safetensors=True,
    torch_dtype=torch.float16,
).to("cuda")

scheduler_base = EulerDiscreteScheduler.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", subfolder="scheduler"
)
base = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    use_safetensors=True,
    scheduler=scheduler_base,
    torch_dtype=torch.float16,
    variant="fp16",
    vae=vae,
).to("cuda")

scheduler_refiner = EulerDiscreteScheduler.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0", subfolder="scheduler"
)
refiner = AutoPipelineForImage2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-refiner-1.0",
    use_safetensors=True,
    torch_dtype=torch.float16,
    scheduler=scheduler_refiner,
    variant="fp16",
    vae=vae,
).to("cuda")

base = compile_pipe(base)
refiner = compile_pipe(refiner)

print("Loading pipes")
load_pipe(base, "base_graph")
print("Loaded base pipe")
load_pipe(refiner, "refiner_graph")

with flow.autocast("cuda"):
    for generation in queue:
        image = base(generation["prompt"], output_type="latent").images
        refiner(generation["prompt"], image=image)

Error when trying to load refiner graph

thanks, I have run your script separately, but didn't reproduce the erorr.

what OneFlow I use is:
(base) yaochi@oneflow-28:~/onediff/onediff_diffusers_extensions/examples/refiner_graph$ python -m oneflow --doctor
path: ['/data/home/yaochi/miniconda3/lib/python3.10/site-packages/oneflow']
version: 0.9.1.dev20240304+cu121

what OneDiff I use is:
Python 3.10.13 (main, Sep 11 2023, 13:44:35) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import onediff
>>> onediff.__version__
'0.13.0.dev1'

could try to check the version you use first. and if the error remains, you can update it to me.

Here is my env currently.

BTW, the refiner and base, both work as expected when compiled. Just saving and loading has this issue.
Here are versions of relevant libraries.
torch					2.1.2
diffusers			0.26.2
onediff				0.13.0.dev202403100126
onediffx				0.13.0.dev0
transformers	4.38.2

Here is my env currently.

BTW, the refiner and base, both work as expected when compiled. Just saving and loading has this issue.
Here are versions of relevant libraries.
torch 2.1.2 diffusers 0.26.2 onediff 0.13.0.dev202403100126 onediffx 0.13.0.dev0 transformers 4.38.2

dose the issue remain in your current environment?

BTW, the refiner and base, both work as expected when compiled. Just saving and loading has this issue.

I try both of two scripts(save/load) you provided, both works well.

Yeah, issues persist..

Yeah, issues persist..

I have reproduced the issue. I will try to fix it.

I have identifiedthe problem, but I have not yet figured out how to fix this bug in OneDiff.
However, the direct cause of this problem is that base and refiner models used the same vae object, and this vae conflicted when loading the graph.
So you can use two different vae objects to bypass this problem:
from time import perf_counter
import torch
from diffusers import (
    AutoPipelineForText2Image,
    AutoPipelineForImage2Image,
    AutoencoderTiny,
)

import oneflow as flow

from onediff.schedulers import EulerDiscreteScheduler
from onediffx import compile_pipe, load_pipe

queue = []

queue.extend(
    [
        {
            "prompt": "3/4 shot, candid photograph of a beautiful 30 year old redhead woman with messy dark hair, peacefully sleeping in her bed, night, dark, light from window, dark shadows, masterpiece, uhd, moody",
            "seed": 877866765,
        }
    ]
)

vae = AutoencoderTiny.from_pretrained(
    "madebyollin/taesdxl",
    use_safetensors=True,
    torch_dtype=torch.float16,
).to("cuda")

vae2 = AutoencoderTiny.from_pretrained(
    "madebyollin/taesdxl",
    use_safetensors=True,
    torch_dtype=torch.float16,
).to("cuda")

scheduler_base = EulerDiscreteScheduler.from_pretrained(
    "/share_nfs/hf_models/stable-diffusion-xl-base-1.0", subfolder="scheduler"
)
base = AutoPipelineForText2Image.from_pretrained(
    "/share_nfs/hf_models/stable-diffusion-xl-base-1.0",
    use_safetensors=True,
    scheduler=scheduler_base,
    torch_dtype=torch.float16,
    variant="fp16",
    vae=vae,
).to("cuda")

scheduler_refiner = EulerDiscreteScheduler.from_pretrained(
    "/share_nfs/hf_models/stable-diffusion-xl-refiner-1.0", subfolder="scheduler"
)
refiner = AutoPipelineForImage2Image.from_pretrained(
    "/share_nfs/hf_models/stable-diffusion-xl-refiner-1.0",
    use_safetensors=True,
    torch_dtype=torch.float16,
    scheduler=scheduler_refiner,
    variant="fp16",
    vae=vae2,
).to("cuda")

base = compile_pipe(base)
refiner = compile_pipe(refiner)

print("Loading pipes")
load_pipe(base, "base_graph")
print("Loaded base pipe")
load_pipe(refiner, "refiner_graph")

with flow.autocast("cuda"):
    for generation in queue:
        image = base(generation["prompt"], output_type="latent").images
        refiner(generation["prompt"], image=image)

The more general solution will be added to OneDiff and will be transparent to user

Understood.
This works for me now.
You may close the issue if you want now : )


implementation of cubic Lagrange FE spaces in hexes

@manuel-quezada the tests are passing. The reason the coverage check didn't pass is that you just added a new python file that is not tested, which makes the overall coverage decrease. It's basically just trying to enforce "if you add new code, then you should also include tests for it". I don't intend to be pedantic about these coverage checks passing. Trying to increase the overall coverage is a worthy goal, however.

@cekees great. I am glad the other tests are passing now. About the coverage check, yes this pull request is still a dummy one. I will be populating it with more commits as I proceed with this implementation.


Issue in redirect URI

I have get and use the redirect uri from apple developer account in Android application. But after login it show web page not available for the specific redirect URI. How to resolve the issue in android

You can use my fork dependency https://github.com/vishalkumarsinghvi/sign-in-with-apple-button-android


Filebeat Helm deployment reports use of deprected k8s api

Chart version:
7.9.3
Kubernetes version:
v3.5.0
Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
Minikube
Helm Version:
v3.5.0
helm get release output
e.g. helm get elasticsearch (replace elasticsearch with the name of your helm release)
Be careful to obfuscate every secrets (credentials, token, public IP, ...) that could be visible in the output before copy-pasting.
If you find some secrets in plain text in helm get release output you should use Kubernetes Secrets to managed them is a secure way (see Security Example).

Output of helm get release

Helm based deployment of Filebeat, and ES produce the following warnings:
W0128 13:25:59.736302 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
W0128 13:25:59.738266 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
W0128 13:25:59.832285 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
W0128 13:25:59.837044 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
Steps to reproduce:

Add ElasticSearch, Filebeat, Kibana as helm dependencies
Update charts dir w/ Elastic Charts via Helm update dependencies
Install helm chart
Observe warnings:

W0128 13:25:59.736302 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
W0128 13:25:59.738266 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
W0128 13:25:59.832285 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRole is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRole
W0128 13:25:59.837044 3118 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding
Expected behavior:
No ClusterRole, ClusterRoleBinding warnings
Provide logs and/or server output (if relevant):
See above
Be careful to obfuscate every secrets (credentials, token, public IP, ...) that could be visible in the output before copy-pasting

Asked questions here, but received no traction: https://discuss.elastic.co/t/filebeat-helm-deployment-reports-use-of-deprected-k8s-api/262671

Hi @rpastrana,
Thanks for opening this issue.
Unfortunately we currently don't have time to investigate every tickets so please be patient.

Hi @jmlrt, is Elastic planing on supporting K8s v1.17+ ? If so, it seems this issue needs to be addressed. Thanks.

@rpastrana, ClusterRole and ClusterRoleBindingare still working until 1.22 so this will be adressed in time.

@jmlrt great to hear! Will that change be tracked by this ticket?

Yes it is. We have really low bandwith currently so unfortunately I don't expect it to be worked soon but we have some time until 1.22.

Commenting in hopes this does comes out of triage/stale

Hi @rpastrana, I took a bit more time to investigate this, and I don't find any place where rbac.authorization.k8s.io/v1beta1 is still used in our charts.
From what I see, everything was already done in https://github.com/elastic/helm-charts/pull/890.
Can you give a bit more details about what is still missing?

The ingress object still uses networking.k8s.io/v1beta1
See other defects (duplicate?) https://github.com/elastic/helm-charts/issues/1444

Hi,
I cannot "helm install metricbeat elastic/metricbeat" because of
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "ClusterRole" in version "rbac.authorization.k8s.io/v1beta1", unable to recognize "": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"]
My suspicion is that the reference to "rbac.authorization.k8s.io/v1beta1" is still included in the included template file ...
cat metricbeat/charts/kube-state-metrics/templates/clusterrole.yaml
{{- if .Values.rbac.create -}}
apiVersion: rbac.authorization.k8s.io/v1beta1
Helm chart version 7.16.1
Helm version 3.7.2
Minikube version: 1.24.0
kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:41:01Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:35:25Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}

@codebue this seems to be the case because the reference to kube-state-metrics is quite old. They changed the ClusterRole API with this commit: https://github.com/prometheus-community/helm-charts/commit/0e9f68ed59deeacf75d0b4c93b5e8bea1500ccde
But this is the version 2.9.3 metricbeat is using 2.4.1 in the requirements file.

@jmlrt this is not related to filebeat anymore but to metricbeat. I just pushed a PR #1524 to address this.

Closing this issue as it was created for Filebeat.
The remaining change for Metricbeat is tracked in #1576


minor fixes to README for new directory structure

Context
Minor updates to the README reflecting the new directory structure:

UI folder is now called hecate_ui instead of web
Postgres schema is in hecate/src/ instead or src/

cc/ @ingalls

:tada:


Feature request: Tooltip for the "Refresh" button

Is your feature request related to a problem? Please describe.
In my opinion, it would be worth adding a "description" for the "Refresh" button, as it's the only button without a tooltip, which makes it stand out compared to all the other buttons that have tooltips.

Describe the solution you'd like
Described above.
Describe alternatives you've considered
No response
Additional context
No response

It's normal on my side, the version is 1.15.3

@bling-yshs It's because you have more than 3 network interfaces which results in a popup button. Most users should have a normal button that scans immediately without opening a popup.

I don’t completely agree with the statement that a tooltip would be distracting or obstructive. Additionally, instead of the "Refresh" label, you could use the existing "Look for devices", it might even be better. Because right now, the absence of a tooltip for just one button among many in a row stands out somewhat.
@Tienisto As I understand it, the lack of a tooltip is intentional, so if you still believe its absence is for the best, feel free to close this issue to avoid cluttering up the issues list.

I don’t completely agree with the statement that a tooltip would be distracting or obstructive. If we draw parallels with browsers, where there is also a "Refresh" button performing a remotely similar function, it has a tooltip available, though it can also be considered an "instant action button". Additionally, instead of the "Refresh" label, you could use the existing "Look for devices", it might even be better. Because right now, the absence of a tooltip for just one button among many in a row stands out somewhat.
@Tienisto As I understand it, the lack of a tooltip is intentional, so if you still believe its absence is for the best, feel free to close this issue to avoid cluttering up the issues list.

I don’t completely agree with the statement that a tooltip would be distracting or obstructive. If we draw parallels with browsers, where there is also a "Refresh" button performing a remotely similar function, it has a tooltip available, though it can also be considered an "immediately action button". Additionally, instead of the "Refresh" label, you could use the existing "Look for devices", it might even be better. Because right now, the absence of a tooltip for just one button among many in a row stands out somewhat.
@Tienisto As I understand it, the lack of a tooltip is intentional, so if you still believe its absence is for the best, feel free to close this issue to avoid cluttering up the issues list.

Your feature request is reasonable, I just didn't have time & forgot to fix this.
I've added a change so that both buttons show the "Look for devices" tooltip.


On non-Windows, the debug command line expects a sh compliant shell

VSCode Version: 1.38.1
OS Version: macOS 18.7.0

Steps to Reproduce:

Install PowerShell 7 Preview 4
chsh your default shell to pwsh-preview
try to debug in VSCode

VSCode uses a command line like:
cd '/Users/steve/.vscode/extensions/ms-vscode.csharp-1.21.3/.debugger/';  '/Users/steve/.vscode/extensions/ms-vscode.csharp-1.21.3/.debugger/vsdbg' '--interpreter=vscode' '--connection=/var/folders/1h/96n_hpk92332gjn6pcz0mvxr0000gn/T/CoreFxPipe_vsdbg-ui-452b151b0eb847fba759ea7337b5af33'

The problem is when using PowerShell as the default shell, the vsdbg command being in single quotes is treated as a string so that command fails.  Since cd is already used to go to that location, there's no need to have the full path to vsdbg, if this command line was changed to:
cd '/Users/steve/.vscode/extensions/ms-vscode.csharp-1.21.3/.debugger/';  ./vsdbg '--interpreter=vscode' '--connection=/var/folders/1h/96n_hpk92332gjn6pcz0mvxr0000gn/T/CoreFxPipe_vsdbg-ui-452b151b0eb847fba759ea7337b5af33'
Then it would continue to work with sh, bash, etc... and would also work with PowerShell since it's already changing to working directory to the location of the debugger.

Created issue in OmniSharp extension repo: https://github.com/OmniSharp/omnisharp-vscode/issues/3291

per @gregg-miskelly this is an issue in VSCode and not OmniSharp

Code pointer https://github.com/Microsoft/vscode/blob/3259fbf2674e738233acbec7d8086f9e1ba2d692/src/vs/workbench/api/node/extHostDebugService.ts#L332
Thus assigning to @weinand
Also fyi @Tyriar

Shouldn't "pwsh-preview" get treated as powershell because of this?
https://github.com/microsoft/vscode/blob/3259fbf2674e738233acbec7d8086f9e1ba2d692/src/vs/workbench/contrib/debug/node/terminals.ts#L87-L88

pwsh-preview is a symlink to pwsh (under the 7-preview path, for example).  Does the debugger command line differ if it's PowerShell?  It doesn't need to with the proposed expected cmdline I suggested above.

@SteveL-MSFT that was more of a question for @weinand, I think it should be getting treated as powershell unless I'm missing something.

The other option if you already special case PowerShell is to change it to look like:
cd '/Users/steve/.vscode/extensions/ms-vscode.csharp-1.21.3/.debugger/';  & '/Users/steve/.vscode/extensions/ms-vscode.csharp-1.21.3/.debugger/vsdbg' '--interpreter=vscode' '--connection=/var/folders/1h/96n_hpk92332gjn6pcz0mvxr0000gn/T/CoreFxPipe_vsdbg-ui-452b151b0eb847fba759ea7337b5af33'

Where there is an ampersand (call operator) which will execute the string as an executable rather than treating it as just a string.

The shell.indexOf('pwsh') >= 0 matches all patterns containing a "pwsh", so there is no need to add another check for "pwsh-preview".

Here's my launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch",
            "type": "coreclr",
            "request": "launch",
            "justMyCode": false,
            "stopAtEntry": true,
            "program": "${workspaceRoot}/debug/pwsh",
            "preLaunchTask": "Build",
            "externalConsole": true,
            "cwd": "${workspaceRoot}"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "justMyCode": false,
            "processId": "${command:pickProcess}"
        },
        {
            "type": "PowerShell",
            "request": "launch",
            "name": "PowerShell Launch Current File",
            "script": "${file}",
            "args": [],
            "cwd": "${file}"
        },
        {
            "type": "PowerShell",
            "request": "launch",
            "name": "PowerShell Launch Current File w/Args Prompt",
            "script": "${file}",
            "args": [
                "${command:SpecifyScriptArgs}"
            ],
            "cwd": "${file}"
        }
    ]
}

I assume that only the first launch config (name ".NET Core Launch") is relevant for this issue...

@weinand correct, for me, most of the time I'm debugging PowerShell.  I already had set the integrated terminal to PowerShell like that.

I've verified that VS Code uses PowerShell syntax when preparing commands for the integrated terminal and the value of the terminal.integrated.shell.XXX settings contains a 'pwsh' or 'powershell' string.


3.5 host device regression

Since the updated deb files pushed to the repo, I seem to have to start declaring "__device__" on functions where before "it just worked"?
Is there some justification for this?

The example from https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-GUIDE.html#hip-guide
// Example showing device function, __device__ __host__
// <- compile for both device and host
float PlusOne(float x)
{
   return x + 1.0;
}

__global__
void
MyKernel (const float *a, const float *b, float *c, unsigned N)
{
   unsigned gid = hipThreadIdx_x; // <- coordinate index function
   if (gid < N) {
       c[gid] = a[gid] + PlusOne(b[gid]);
   }
}
void callMyKernel()
{
   float *a, *b, *c; // initialization not shown...
   unsigned N = 1000000;
   const unsigned blockSize = 256;
   hipLaunchKernelGGL(MyKernel,
 (N/blockSize), dim3(blockSize), 0, 0,  a,b,c,N);
}

no longer compiles.
gpu.cpp:14:27: error: no matching function for call to 'PlusOne'
        c[gid] = a[gid] + PlusOne(b[gid]);
                          ^~~~~~~
gpu.cpp:4:7: note: candidate function not viable: call to __host__ function from __global__ function
float PlusOne(float x)

Compilation appears broken in general.
New changes are not picked up but some artifact cached somewhere is used.

This is demonstratable in the rocm-terminal docker container quite easily
rocm-user@f03f43bc7060:~$ hipcc gpu.cpp
sh: 1: lsmod: not found
gpu.cpp:15:27: error: no matching function for call to 'PlusOne'
        c[gid] = a[gid] + PlusOne(b[gid]);
                          ^~~~~~~
gpu.cpp:5:7: note: candidate function not viable: call to __host__ function from __global__ function
float PlusOne(float x)
      ^
1 error generated when compiling for gfx803.

The document needs update.
float PlusOne(float x) should be defined as either __device__ or __host__ __device__ function.
kernel can only call device or host device function. By default a function is host function. This matches CUDA language rule.

Why is this not "opt-in" considering that it's a minor change but is also a breaking change?

@Dekken -- the ROCm 3.5 release is a large departure, as it deprecates the older HCC compiler and run-time, replacing it with the new HIP-Clang compiler (which is much closer to upstream LLVM).
Long story short, ROCm 3.5 and later will follow the same sort of semantics that CUDA-Clang does.  A useful resource (though primarily aimed at NVCC vs CUDA-Clang), is this document.

I really don't get why you have something, that works, and is less invasive. And remove it.
You have no obligation to match CUDA, the addition of function decorators could be considered a restriction, and not a requirement.

@Dekken -- the change was not to be in line with what CUDA or NVCC do, but is a consequence of being in alignment with how upstream Clang treats the __host__ and __device__ keywords.  These are now function attributes, that is:
__host__ foo()
cannot override
virtual void foo() = 0;
because the function signature is not the same.

I really don't get why you have something, that works, and is less invasive. And remove it.

I get the frustration, really I do.  It's particularly... vexing, that we can't even update our simplest example documentation to match or explain the new semantics.  I will (as the very least) direct our documentation folks to fix that example.

I appreciate it Nick, your example may be valid, but I find it insufficient.
If the signature is exactly the same, with no additional modifiers (static/virtual)
Why not default to both device and host ?
It seems needless to require it, and just forces people to go modify code that wouldn't otherwise need it.

The difficulty with defaulting to __device__ is that e.g., many STL library features (think std::vector) do not have implementations in device code.  Hence if functions were __device__ by default, you would run into issues where many other codes wouldn't compile for different reasons :)
I realize it can be a bit of a bear, working on getting better guidance for the new compiler out there.

Thanks Nick, I realise this may be more in LLVMs hands now than AMDs


chore: examples

Purpose
Add examples of various Castor usage.
Approach
Adding examples of:

custom-themes
html-css
html-css-js
html-css-js-parcel
html-scss-ts-parcel
react-emotion-ts-parcel
react-scss-js-webpack
react-scss-ts-parcel

Also adds Dependabot checks for each example, version gets also bumped on package.json of each.
Although discussed previously, I did not add previews of each example - this would make pull request pipeline to be very slow.
This closes #46.
Testing
Manually locally.
Risks
N/A

Although discussed previously, I did not add previews of each example - this would make pull request pipeline to be very slow.

Even if they run in parallel? What about running only for main?

Even if they run in parallel? What about running only for main?

Still pipeline would block the pull request e.g. if merging until it finishes.
Maybe main would be better - just having those examples deployed somewhere.

Still pipeline would block the pull request e.g. if merging until it finishes.

If they ran as fast as our tests and linters, they'd never be the bottleneck.
But aside from just confirming the API didn't regress, don't see much value in previews for those, I suppose.
In which case we can simply build them, and not deploy.

I assume these are all copy pasta from castor-examples, except the root configs.

It's definetly not a pasta 🍝 - but yes, I had to just do some slitgh adjustments due to linting configuration, then also did some renaming of examples to better identify what exactly each example consists of.

But aside from just confirming the API didn't regress, don't see much value in previews for those, I suppose.
In which case we can simply build them, and not deploy.

Cool, I'll do that then.

What about running only for main?

I will leave this for now, I believe action we currently use is meant to only be use with pull requests.


Move Microsoft.Bot.Solutions to nuget package

[ ] create nuget package
[ ] publish to myget in build pipeline
[ ] Update VA and skills project references
[ ] Publish package publicly

closed by #953


Use freezolite (no more frozen_string_literal comments) [DEV-2]

One downside of this is that, because we no longer have explicit frozen_string_literal: true comments at the top of files, RuboCop does not know that strings are frozen by default, and so RuboCop's autocorrections (applied in this change) include adding explicit .freeze calls to string constants. This is not totally ideal, but I think it's okay.
I wonder if maybe I am going to miss having these comments at the top of my files. I sort of felt like they provided a pleasant bit of "breathing room" at the top of the file, rather than smashing the top of the class definition in a file up against the top of my editor.
I guess let's try it and see how it feels.

I wonder if maybe I am going to miss having these comments at the top of my files. I sort of felt like they provided a pleasant bit of "breathing room" at the top of the file, rather than smashing the top of the class definition in a file up against the top of my editor.

I found that this can sort of be addressed via "editor.padding.top": 10 in VS Code.


Support #[frb(generate_impl_enum)]

Changes
Please list issues fixed by this PR here, using format "Fixes #the-issue-number".
Checklist

[ ] An issue to be fixed by this PR is listed above.
[ ] New tests are added to ensure new features are working. Please refer to this page to see how to add a test.
[ ] ./frb_internal precommit --mode slow (or fast) is run (it internal runs code generator, does auto formatting, etc).
[ ] If this PR adds/changes features, documentations (in the ./website folder) are updated.
[ ] CI is passing. Please refer to this page to see how to solve a failed CI.

Remark for PR creator

./frb_internal --help shows utilities for development.
If fzyzcjy does not reply for a few days, maybe he just did not see it, so please ping him.

will handle this in https://github.com/fzyzcjy/flutter_rust_bridge/pull/2046


font awesome wip

Attempts to add font-awesome

[ ] optimally, use bundled FA to avoid external dependency
[ ] a lot of player components can be made dumb to reduce dependence on store
[ ] add global text classes #64

don't use font awesome, just use the material ui font icons library

I'm not sure the material-icons library has everything we need.

Potential replacement icons:
soloMMR: 'person'
partyMMR: 'group'
estimate: 'help'
record: 'poll'


Allow for missing operation

And then default to overwrite, see:
https://lists.apache.org/thread/h9qmrmlgxh91ol0y2v8olt90b9q6p9xr

Hello @Fokko
"You can see that we’ve already set the operation value to None when it’s not present in the summary. Can we remove this operation field here to avoid conflict?"
https://github.com/apache/iceberg-python/blob/main/pyiceberg/table/snapshots.py#L75C16-L76C45


Create a form for collecting privacy annotation data in the Config UI

Is your feature request related to a specific problem?
Once a user has described a system, they also need to be able to describe its privacy attributes before registering it.
Describe the solution you'd like
The initial iteration can be extremely simple, and needs to accept a list of values for each privacy data type.
Describe alternatives you've considered, if any
A description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

closing, completed via another ticket/stale


🌲 Some improvements for huge tests

Improves log statements to include time estimate
Increases playwright timeouts to 15 minutes
Deletes temp files after tests finish
Reduce huge test file size from 8 to 5 GiB

Sample run ongoing at https://github.com/opentdf/client-web/actions/runs/4758178311/jobs/8455961533

Trying again with 5 GiB files and deleting the plain texts
https://github.com/opentdf/client-web/actions/runs/4758476023/jobs/8456651032

another try
https://github.com/opentdf/client-web/actions/runs/4759431872

Successful test (when running just huge, no retries, chromium only): https://github.com/opentdf/client-web/actions/runs/4763203741/jobs/8466414277
Time will tell if this is sufficient to avoid a lot of flakes.
A single huge test takes about 50s on my m1 and about 4 minutes on a GitHub runner.


Transactions are opened in a specific thread for each partition of stream. The thread has to be one.

Fixed in #606


boards: quark_se_c1000_ss_devboard: fix build warning

error: a label can only be part of a statement and a declaration is not a
statement u32_t limit = _arc_v2_aux_reg_read(_ARC_V2_TMR0_LIMIT);

Codecov Report

Merging #13153 into master will increase coverage by 0.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13153      +/-   ##
==========================================
+ Coverage   48.37%   48.73%   +0.35%
==========================================
  Files         265      315      +50
  Lines       42188    46540    +4352
  Branches    10137    10743     +606
==========================================
+ Hits        20408    22679    +2271
- Misses      17703    19349    +1646
- Partials     4077     4512     +435

Impacted Files
Coverage Δ

include/spinlock.h
62.5% <0%> (-37.5%)
:arrow_down:

subsys/logging/log_core.c
37.65% <0%> (-36.91%)
:arrow_down:

include/logging/log_backend.h
45.65% <0%> (-29.35%)
:arrow_down:

subsys/net/ip/ipv6.h
75% <0%> (-25%)
:arrow_down:

subsys/logging/log_output.c
47.58% <0%> (-24.75%)
:arrow_down:

subsys/logging/log_backend_native_posix.c
65.3% <0%> (-24.35%)
:arrow_down:

subsys/bluetooth/controller/util/memq.c
69.23% <0%> (-20.77%)
:arrow_down:

include/logging/log_msg.h
71.15% <0%> (-19.76%)
:arrow_down:

subsys/logging/log_msg.c
72.57% <0%> (-14.29%)
:arrow_down:

boards/posix/nrf52_bsim/argparse.c
33.73% <0%> (-7.7%)
:arrow_down:

... and 243 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c66cb76...42b211a. Read the comment docs.

This will result in unsued variable warning if low power states are disabled.


Cutmix -> CutMix

@pmeier @vfdev-5: discuss
Follow up to https://github.com/pytorch/vision/pull/7772#discussion_r1278955408
(Note that timm names them Cutmix and Mixup)

@NicolasHug My comment was only about the documentation, class names can be Cutmix and Mixup


Optionally preserve blank node IDs when skolemizing

From RDF4J user's list (https://groups.google.com/g/rdf4j-users/c/RG9ZVq-NEXs/m/QECcOoquAgAJ)

The parser generates a unique id for parsed blank nodes deliberately, to avoid clashes.
There is a configuration option in the parser to preserve blank node identifiers, but it will not work in combination with SKOLEMIZE_ORIGIN.

Sometimes it can be useful to generate the same skolem IRIs, instead of creating unique IRIs on each and every run.

I should point out that in the case discussed on the user list, this improvement won't actually help: blank node id preservation only is meaningful when the serialized blank nodes have identifiers in the document. Since the discussion thread was about a JSON-LD document that has implicit blank nodes, there are no blank node ids that we can preserve over multiple parser runs.

A perhaps more interesting idea is to have a look at utility for canonicalizing and subsequently skolemizing blank nodes in a Model (so not during parsing, but modifying an existing Model collection).

Or perhaps both ?

Or what about a Model parser ? This would allow for reusing validation, skolemization logic...
Result would be a new Model (which obviously requires more memory)

Or what about a Model parser ? This would allow for reusing validation, skolemization logic...

I see what you're getting at, but I'm a little worried about muddying up what "parsing" means. I think I'd rather do this in the form of additional functionality at the level of the Model API (either as new utility functions in Models, or something else).
In particular, the skolemization logic is actually something that I think we may want to approach holistically (that is, looking at the entire model at once) than as part of a streaming (statement by statement) approach. Doing so will allow us to assign skolem ids that are not just random, but based on structure of the Model. This makes it possible to generate ids that are guaranteed identical for "the same" blank nodes, even when ran multiple times (this is what I meant when I mentioned canonicalization).
There's a very good technical paper about this idea by Aidan Hogan (see http://aidanhogan.com/docs/rdf-canonicalisation.pdf). Having such an algorithm in place isn't just nice for blank node preservation and/or skolemization, it will also enable us to do far more efficient graph isomorphism comparisons.

Getting back to the original suggested improvement that you created this issue for: currently, what happens is that if PRESERVE_BNODE_IDS is set to true, it completely ignores the SKOLEMIZE_ORIGIN setting: the parser produces new blank nodes with the node id as found in the unparsed document (if present) - it doesn't convert anything into IRIs.
We could change that behavior, so that in cases where both settings are active, it does skolemize them, reusing the existing bnode id instead of generating a new random one. It's not a difficult fix and I doubt it has any significant performance impact on the parser. I'm not particularly enthusiastic about its usefulness myself, but I don't have any objection either.


Add ENVIRONMENT to man-page.

I have seen some guides for apulse including this information, as well as it being mentioned in the README. Felt like it could be mentioned in the man pages for a definitive source.

Ping?

Ping?

Oh. Thanks for reminding and for the patch!
First time I saw this I was thinking that mentioning hw0:0 in the read-me file wasn't a good idea, since users often do not realize that this will limit them to one stream only. But while I was thinking how to word it better, I forgot.

Heh, no problem. Thank you for merging :)


Composer error when installing - evenement/evenement version conflict

I got the following error when I try to install with composer:
Problem 1
    - Installation request for php-ffmpeg/php-ffmpeg ^0.13.0 -> satisfiable by php-ffmpeg/php-ffmpeg[v0.13].
    - php-ffmpeg/php-ffmpeg v0.13 requires evenement/evenement ^2.0 || ^1.0 -> satisfiable by evenement/evenement[1.0.x-dev, 2.0.x-dev, v1.0.0, v1.1.0, v2.0.0, v2.1.0] b
ut these conflict with your requirements or minimum-stability.

Here is my composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/PHP-FFMpeg/BinaryDriver.git"
        }
    ],
    "require": {
        "php": "^7.1.3",
        "ext-pdo_sqlite": "*",
        "api-platform/api-pack": "^1.1",
        "cboden/ratchet": "^0.4.1",
        "doctrine/doctrine-bundle": "^1.6.10",
        "doctrine/doctrine-migrations-bundle": "^1.3",
        "doctrine/orm": "^2.5.11",
        "easycorp/easyadmin-bundle": "^1.17",
        "erusev/parsedown": "^1.6",
        "evenement/evenement": "^3.0",
        "ezyang/htmlpurifier": "^4.9",
        "geocoder-php/google-maps-provider": "^4.2",
        "nelmio/cors-bundle": "^1.5",
        "nesbot/carbon": "^1.34",
        "php-amqplib/rabbitmq-bundle": "^1.14",
        "php-http/guzzle6-adapter": "^1.1",
        "php-http/message": "^1.7",
        "predis/predis": "^1.1",
        "rollandrock/websocket-bundle": "dev-master",
        "sensio/framework-extra-bundle": "^5.2",
        "sensiolabs/security-checker": "^4.1",
        "symfony/apache-pack": "^1.0",
        "symfony/asset": "^4.1",
        "symfony/expression-language": "^4.1",
        "symfony/flex": "^1.0.86",
        "symfony/form": "^4.1",
        "symfony/framework-bundle": "^4.1",
        "symfony/monolog-bundle": "^3.1",
        "symfony/polyfill-php72": "^1.8",
        "symfony/security-bundle": "^4.1",
        "symfony/security-csrf": "^4.1",
        "symfony/swiftmailer-bundle": "^3.1",
        "symfony/translation": "^4.1",
        "symfony/twig-bundle": "^4.1",
        "symfony/validator": "^4.1",
        "symfony/yaml": "^4.1",
        "twig/extensions": "^1.5",
        "white-october/pagerfanta-bundle": "^1.1",
        "willdurand/geocoder-bundle": "^5.2"
    },
    "require-dev": {
        "dama/doctrine-test-bundle": "^5.0",
        "doctrine/doctrine-fixtures-bundle": "^3.0",
        "friendsofsymfony/user-bundle": "dev-master",
        "friendsofphp/php-cs-fixer": "^2.12",
        "symfony/browser-kit": "^4.1",
        "symfony/css-selector": "^4.1",
        "symfony/debug-bundle": "^4.1",
        "symfony/dotenv": "^4.1",
        "symfony/maker-bundle": "^1.7",
        "symfony/phpunit-bridge": "^4.1",
        "symfony/stopwatch": "^4.1",
        "symfony/web-profiler-bundle": "^4.1",
        "symfony/web-server-bundle": "^4.1"
    },
    "config": {
        "platform": {
            "php": "7.1.3"
        },
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
            "security-checker security:check": "script"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": "true"
        }
    }
}

Thanks  for helping me. :)

Please remove the vcs part, it should now be supported without overriding.

I have same problem in Laravel 5.6.39
`composer require php-ffmpeg/php-ffmpeg
Using version ^0.14.0 for php-ffmpeg/php-ffmpeg
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for php-ffmpeg/php-ffmpeg ^0.14.0 -> satisfiable by php-ffmpeg/php-ffmpeg[v0.14].
- Conclusion: remove evenement/evenement v3.0.1
- Conclusion: don't install evenement/evenement v3.0.1
- php-ffmpeg/php-ffmpeg v0.14 requires alchemy/binary-driver ^1.5 || ~2.0.0 || ^5.0 -> satisfiable by alchemy/binary-driver[1.5.0, 1.6.0, 5.0.0, 5.1.0, v2.0.0].
- alchemy/binary-driver 1.5.0 requires evenement/evenement ~1.0 -> satisfiable by evenement/evenement[v1.0.0, v1.1.0].
- alchemy/binary-driver 1.6.0 requires evenement/evenement ^2.0|^1.0 -> satisfiable by evenement/evenement[v1.0.0, v1.1.0, v2.0.0, v2.1.0].
- alchemy/binary-driver 5.0.0 requires evenement/evenement ^2.0|^1.0 -> satisfiable by evenement/evenement[v1.0.0, v1.1.0, v2.0.0, v2.1.0].
- alchemy/binary-driver 5.1.0 requires evenement/evenement ^2.0|^1.0 -> satisfiable by evenement/evenement[v1.0.0, v1.1.0, v2.0.0, v2.1.0].
- alchemy/binary-driver v2.0.0 requires evenement/evenement ^2.0|^1.0 -> satisfiable by evenement/evenement[v1.0.0, v1.1.0, v2.0.0, v2.1.0].
- Can only install one of: evenement/evenement[v1.0.0, v3.0.1].
- Can only install one of: evenement/evenement[v1.1.0, v3.0.1].
- Can only install one of: evenement/evenement[v2.0.0, v3.0.1].
- Can only install one of: evenement/evenement[v2.1.0, v3.0.1].
- Installation request for evenement/evenement (locked at v3.0.1) -> satisfiable by evenement/evenement[v3.0.1].
Installation failed, reverting ./composer.json to its original content.
composer.json:{
"name": "botman/studio",
"description": "BotMan Chatbot framework.",
"keywords": [
"botman",
"chatbot",
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": ">=7.1.3",
"asana/asana": "^0.9.0",
"botman/botman": "^2",
"botman/driver-telegram": "^1.5",
"botman/driver-web": "~1.0",
"botman/studio-addons": "~1.2.1",
"botman/tinker": "~1.0",
"fideloper/proxy": "~4.0",
"laravel/framework": "5.6.",
"laravel/tinker": "~1.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.",
"phpunit/phpunit": "~6.0",
"filp/whoops": "~2.0",
"nunomaduro/collision": "~1.1",
"symfony/thanks": "^1.0"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\": "app/"
},
"files": [
"app/Http/Helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"scripts": {
"post-root-package-install": [
"php -r "file_exists('.env') || copy('.env.example', '.env');""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\Foundation\ComposerScripts::postInstall",
"BotMan\Studio\Providers\DriverServiceProvider::publishDriverConfigurations"
],
"post-update-cmd": [
"Illuminate\Foundation\ComposerScripts::postUpdate",
"BotMan\Studio\Providers\DriverServiceProvider::publishDriverConfigurations"
],
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"extra": {
"laravel": {
"dont-discover": []
}
}
}
`
Hope for help!

@Neolot please try again. :)


Dark Vision Bug?

When viewing a scene with Token Vision on, Has Inverted Colors

Core FoundryVTT bug related to multiple tokens and darkvision, think it's meant to be fixed in the next release: https://github.com/foundryvtt/foundryvtt/issues/8507

Thank you!


Update README.md

imitation learning updates

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


GitHub Action to find undefined names in Python code

Test results: https://github.com/cclauss/openfold/actions
https://flake8.pycqa.org/en/latest/user/error-codes.html
On the flake8 test selection, this PR does  not focus on "style violations" (the majority of flake8 error codes that psf/black can autocorrect).  Instead, these tests focus on runtime safety and correctness:

E9 tests are about Python syntax errors usually raised because flake8 can not build an Abstract Syntax Tree (AST).  Often these issues are a sign of unused code or code that has not been ported to Python 3.  These would be compile-time errors in a compiled language but in a dynamic language like Python, they result in the script halting/crashing on the user.
F63 tests are usually about the confusion between identity and equality in Python.  Use ==/!= to compare str, bytes, and int literals is the classic case.  These are areas where a == b is True but a is b is False (or vice versa).  Python >= 3.8 will raise SyntaxWarnings on these instances.
F7 tests logic errors and syntax errors in type hints
F82 tests are almost always undefined names which are usually a sign of a typo, missing imports, or code that has not been ported to Python 3.  These also would be compile-time errors in a compiled language but in Python, a NameError is raised which will halt/crash the script on the user.

Thanks for this. This all looks good, except in that the tf import in e72c3cb is only necessary because of a vestigial function that I've since removed. Could you remove it?


Creation of test scripts

There is no current test framework available for the project.
Intent to is develop tests using pytest for each module:

Common
Email
IP
main.py

New issues may be created for tests made for each module.

Expected structure for test framework:
├── Common
│   ├── __init__.py
│   ├── breach_checker.py
│   ├── config.py
│   └── utils.py
├── Email
│   ├── __init__.py
│   └── email_reputation_checker.py
├── tests
│   ├── Common
│   │   ├── __init__.py
│   │   ├── test_breach_checker.py
│   │   ├── test_config.py
│   │   └── test_utils.py
│   ├── Email
│   │   ├── __init__.py
│   │   └── test_email_reputation_checker.py
│   └── test_config.py
├── config.ini
├── main.py
└── README.md

Require a tests directory, with a test file for each module (email, IP, Common etc) with the corresponding file as shown above.

Issue Regarding Testing

Warning Integration testing and (some) unit tests can't be done if they require an api key. This must be done off the books unfortunately.

Integration tests can't be done if they require an API key ☹
What I can suggest is creating an actions workflow and listing any keys as repository secrets. I would be careful with this though, as there is a set amount of times that keys can be used (dependent on subscription type)

that is correct. The VirusTotal API Key has a limit of 4 requests per minute if it's a free API Key
and HIBP API has a 10 requests per minute limit for the basic one.

@GH-Syn Please update README.md with instructions on how to set up the test and execute tests.


not working here

I've tried folding the example code into an instance of express that was created using express-generator. I don't ever get a connection happening from the client side, and a breakpoint set with node-inspector in the app.ws callback function never gets hit.
The startup code (./bin/www) created with express-generator does some things that may have not been anticipated? It basically requires app.js and sets up a listener on a port itself.

You will either need to pass the http server to the express-ws initialization function, or call app.listen after initializing express-ws.

I tried as you say, but I'm unable to make to socket work with the library, if I have understood fine...

the socket doesn't seems to be open... so if I place instead:

if fails due to:
throw new TypeError('listener must be a function');
thanks in advance.

from http://stackoverflow.com/questions/40362258/package-express-ws-doesnt-let-clients-connect
changes to app.js
var app = express();
var server = require('http').Server(app);
var expressWs = require('express-ws')(app,server);
...
...
//module.exports = app;
module.exports = {app: app,server: server};

changes to bin/www
//var app = require('../app');
var app = require('../app').app;
...
...
//var server = http.createServer(app);
var server = require('../app').server;

For the love of god please note this in the README and push to NPM so its in the README there too. @HenningM