[webview_flutter] Fix race in test

The native view's scroll position is not always settled by the time the
first set call is made, so that change can be stomped. This adds an
initial fetch of the scroll position to give the view time to stabilize.
This is not a guaranteed fix, since it's not clear why the position is
changing and thus what (if anything) we could reliably listen to
post-load, but in practice appears to fix the race.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format. See plugin_tool format)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[x] All existing and new tests are passing.

Landing on red to fix tree. (@jmagman or @bparrishMines if you want to do a post-landing review and have any suggestions about a more reliable way to know that whatever is happening here has finished, I'm more than happy to do a follow-up).


Set GetBody on unary requests to enable retries

Buffers writes on unary requests to a buffer set for the request.GetBody.
TODO: recalim the buffer on close. Need to ensure no more reads would be processed after. Currently discards the fetched buffer.
Closes https://github.com/bufbuild/connect-go/issues/541

Closing, I don't think this locking strategy is safe. Need the writes and reads to the buffer to be synced with copying the buffer. We could delay all writes until close, then having a static buffer call GetBody with a bytes.NewReader.


Assault Hospitalizations Indicator

Logic here is similar to pedestrian hospitalizations

A lot of these changes were already approved in an pull req #153. Renamed a python script and added function to handle non-fatal assaults. Csv's and naming conventions look good as well, rates follow expected pattern
@mbh329  want some clarification about your comments. Where are you seeing the column names being modified? I think Amanda comments still need to be addressed?

Made the column name changes. I only updated the puma file for internal review, the column label changes are the same for all geographies

those look good to me. going to approve now.

@td928 I think amanda and I made our comments at virtually the same time


Waybar "wlr/workspaces" stopped working on latest release

Hyprland Version
Hyprland, built from branch  at commit 96d555e8e794627bfc561e294e148ab8a9961fcc dirty (). Tag: v0.29.1
Bug or Regression?
Regression
Description
After the latest release (could be on v0.29.0 or v0.29.1) the waybar module "wlr/workspaces" stopped working (I no longer can see the workspace where I currently am).
How to reproduce
boot hyprland with waybar with a waybar config containing:
{
    ...
    "modules-left": [
        "custom/power_btn",
        "custom/lock_screen",
        "wlr/workspaces"
    ],
    ...
}

Crash reports, logs, images, videos
No response

Duplicate of #3238 (closed), please search for existing issue before opening one.


Flesh out documentation

Now that Keyring has been extracted out to a fully fledged package I'm trying to bring the docs up to scratch. Still needs a fair bit of work. @lox I'd appreciate any input here that could help, I've mostly been reading the code and trying to capture the intent.
I did notice a few constants that fell on the wrong side of the aws-vault split which I'll clean up in a later PR.

Probably need https://github.com/keybase/go-keychain/pull/13 merged for these docs to be true (and the lib to work properly)

👀

Explain the weird TrustSelf flag.

Lol.

Yeah, unless you use my fork at github.com/lox/go-keychain

Oh, I am already using the fork. For some reason I thought aws-vault got off the fork and cos I extracted I would be on. Checking vendor.json sorted me out.

I think I'll merge as is.
It mostly explains what it does now, and has uncovered a couple of design changes to be made in future (the hard coded aws-vaults and the trustself flag) which I'll look into a little further down the line.


Fix #5580

Old:

New:

conflicted

Codecov Report

Merging #5988 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5988      +/-   ##
==========================================
- Coverage   38.88%   38.87%   -0.02%
==========================================
  Files         354      354
  Lines       50192    50192
==========================================
- Hits        19516    19510       -6
- Misses      27850    27857       +7
+ Partials     2826     2825       -1

Impacted Files
Coverage Δ

models/unit.go
0% <0%> (-14.29%)
:arrow_down:

routers/repo/view.go
41.08% <0%> (-1%)
:arrow_down:

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 7afe81f...5c2dffe. Read the comment docs.

@lunny conflicted resolved

@lafriks can you review pls

@muhammedtiftikci thanks for PR. Now that this has been merged could you send a backport to the release/v1.7 branch? If you need assistance please feel free to ask, and we can help 😄


Fixed potential insufficient samples due to num_files is not divisible by comm.size

This might cause hang, an alternative solution to #198

I get that error message:
Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
Traceback (most recent call last):
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/main.py", line 394, in main
    benchmark.run()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/main.py", line 333, in run
    self.framework.get_loader(dataset_type=DatasetType.TRAIN).read()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/data_loader/tf_data_loader.py", line 98, in read
    epoch_number=0).next()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/reader/tf_reader.py", line 110, in next
    total = math.float(len(self._file_list)/self._args.comm_size / self.batch_size * self._args.num_samples_per_file)
AttributeError: module 'math' has no attribute 'float'

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Traceback (most recent call last):
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/main.py", line 394, in main
    benchmark.run()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/main.py", line 333, in run
    self.framework.get_loader(dataset_type=DatasetType.TRAIN).read()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/data_loader/tf_data_loader.py", line 98, in read
    epoch_number=0).next()
  File "/usr/local/lib/python3.10/dist-packages/dlio_profiler/logger.py", line 183, in wrapper
    x = func(*args, **kwargs)
  File "/root/measure/storage/dlio_benchmark/dlio_benchmark/reader/tf_reader.py", line 111, in next
    return self._dataset.take(total*self._args.epochs).prefetch(buffer_size=self._args.prefetch_size)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/data/ops/dataset_ops.py", line 1561, in take
    return take_op._take(self, count, name=name)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/data/ops/take_op.py", line 24, in _take
    return _TakeDataset(self, count, name=name)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/data/ops/take_op.py", line 33, in __init__
    self._count = ops.convert_to_tensor(count, dtype=dtypes.int64, name="count")
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/profiler/trace.py", line 183, in wrapped
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/ops.py", line 696, in convert_to_tensor
    return tensor_conversion_registry.convert(
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/tensor_conversion_registry.py", line 234, in convert
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py", line 335, in _constant_tensor_conversion_function
    return constant(v, dtype=dtype, name=name)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/ops/weak_tensor_ops.py", line 142, in wrapper
    return op(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py", line 271, in constant
    return _constant_impl(value, dtype, shape, name, verify_shape=False,
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py", line 284, in _constant_impl
    return _constant_eager_impl(ctx, value, dtype, shape, verify_shape)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py", line 296, in _constant_eager_impl
    t = convert_to_eager_tensor(value, ctx, dtype)
  File "/usr/local/lib/python3.10/dist-packages/tensorflow/python/framework/constant_op.py", line 103, in convert_to_eager_tensor
    return ops.EagerTensor(value, ctx.device_name, dtype)
TypeError: Cannot convert 39.09375 to EagerTensor of dtype int64

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

It seems to work now:
./benchmark.sh run --hosts myhost --workload resnet50 --param reader.read_threads=4 --accelerator-type h100 --num-accelerators 8  --results-dir fakeres --param dataset.num_files_train=100 --param dataset.data_folder=/mnt/nfs_clientshare/resnet50

With the PR (1 epochs)
[INFO] Averaged metric over all epochs
[METRIC] ==========================================================
[METRIC] Number of Simulated Accelerators: 8
[METRIC] Training Accelerator Utilization [AU] (%): 98.6350 (0.2730)
[METRIC] Training Throughput (samples/second): 13967.4690 (104.5302)
[METRIC] Training I/O Throughput (MB/second): 1527.3199 (11.4302)
[METRIC] train_au_meet_expectation: success
[METRIC] ==========================================================
 [/root/measure/storage/dlio_benchmark/dlio_benchmark/utils/statscounter.py:185]

With main:
[INFO] 2024-06-07T08:27:18.153579 Maximum number of steps reached [/root/measure/storage/dlio_benchmark/dlio_benchmark/main.py:290]
[INFO] 2024-06-07T08:27:18.153864 Ending block 1 - 39 steps completed in 9.07 s [/root/measure/storage/dlio_benchmark/dlio_benchmark/utils/statscounter.py:282]
[INFO] 2024-06-07T08:27:18.154736 Epoch 1 - Block 1 [Training] Accelerator Utilization [AU] (%): 97.3939 [/root/measure/storage/dlio_benchmark/dlio_benchmark/utils/statscounter.py:285]
[INFO] 2024-06-07T08:27:18.154918 Epoch 1 - Block 1 [Training] Throughput (samples/second): 13756.4333 [/root/measure/storage/dlio_benchmark/dlio_benchmark/utils/statscounter.py:286]

(hangs)


Error: NODE_EN=development nodemon

<EMAIL_ADDRESS>dev C:\works\contentful-node

NODE_EN=development nodemon ./bin/www

'NODE_EN' is not recognized as an internal or external command,
operable program or batch file.

Hi @Samjin
actually, there is two issue in the package.json, first NODE_EN should be NODE_ENV and secondly setting the env variable like that does not work with windows.
I will fix this in https://github.com/contentful/contentful_express_tutorial/pull/5


Set up blog subdomain

We currently have https://covidcanidoit.wordpress.com/blog/ . We should:

[ ] Set up to be blog.covidcanidoit.com
[ ] Work with design to add the blog to the navbar / menu

┆Issue is synchronized with this Trello card by Unito

Looks like this is mostly giving money to Wordpress. Jay is evaluating.


Since moving over to Python3 build this is what I get a lot

Up until yesterday I have been using the script on python 2, last time I downloaded the script was in December.
Since I pull the newest build and updated everything this is what I get 9 times out of 10 now when I run the manual script.
This has never been a problem before and doesn't seem to happen if its called via SABnzbd to post process why is this suddenly happening?
Input #0, matroska,webm, from 'c:\converter\new folder\Young.Justice.S03.1080p.BluRay.x264-W4F[rartv]\Young.Justice.S03E26.1080p.BluRay.x264-W4F.mkv':

  Metadata:

    encoder         : libebml v1.3.9 + libmatroska v1.5.2

    creation_time   : 2019-11-30T05:40:41.000000Z

  Duration: 00:23:55.94, start: 0.000000, bitrate: 8664 kb/s

    Chapter #0:0: start 0.000000, end 162.037000

    Metadata:

      title           : Chapter 01

    Chapter #0:1: start 162.037000, end 680.221000

    Metadata:

      title           : Chapter 02

    Chapter #0:2: start 680.221000, end 1378.335000

    Metadata:

      title           : Chapter 03

    Chapter #0:3: start 1378.335000, end 1435.935000

    Metadata:

      title           : Chapter 04

    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

    Metadata:

      BPS-eng         : 7152727

      DURATION-eng    : 00:23:55.935000000

      NUMBER_OF_FRAMES-eng: 34428

      NUMBER_OF_BYTES-eng:<PHONE_NUMBER>

      _STATISTICS_WRITING_APP-eng: mkvmerge v37.0.0 ('Leave It') 64-bit

      _STATISTICS_WRITING_DATE_UTC-eng: 2019-11-30 05:40:41

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

    Stream #0:1(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)

    Metadata:

      BPS-eng         : 1508999

      DURATION-eng    : 00:23:55.926000000

      NUMBER_OF_FRAMES-eng: 134618

      NUMBER_OF_BYTES-eng: 270851416

      _STATISTICS_WRITING_APP-eng: mkvmerge v37.0.0 ('Leave It') 64-bit

      _STATISTICS_WRITING_DATE_UTC-eng: 2019-11-30 05:40:41

      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

[AVHWDeviceContext @ 000002397d528240] Failed to create Direct3D device

Device creation failed: -1313558101.

[h264 @ 000002397cc2e580] No device available for decoder: device type dxva2 needed for codec h264.

Stream mapping:

  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))

  Stream #0:1 -> #0:1 (dts (dca) -> aac (native))

  Stream #0:1 -> #0:2 (dts (dca) -> aac (native))

Device setup failed for decoder on input stream #0:0 : Unknown error occurred

2020-05-17 03:23:06 - MANUAL - ERROR - c:\converter\new folder\Young.Justice.S03.1080p.BluRay.x264-W4F[rartv]\Young.Justice.S03E26.1080p.BluRay.x264-W4F.mp4 deleted.
2020-05-17 03:23:06 - MANUAL - ERROR - There was an error processing file c:\converter\new folder\Young.Justice.S03.1080p.BluRay.x264-W4F[rartv]\Young.Justice.S03E26.1080p.BluRay.x264-W4F.mkv, no output data received

This has nothing to do with python 2, its an FFMPEG error
You didn't actually post the command or options that were generated so I have to speculate a little bit but since its a direct3d decoder that's failing I'm thinking you need to turn that feature off in autoProcess.ini
By default now the script reads which encoders/decoders your build of FFMPEG has available and compares that against the allowed encoders/decoders in your autoProcess.ini file as an effort to enable hardware
To turn this feature off just remove all the options for hwaccels and hwaccel-decoders
These are the defaults
hwaccels = dxva2, cuvid, qsv, d3d11va
hwaccel-decoders = h264_cuvid, mjpeg_cuvid, mpeg1_cuvid, mpeg2_cuvid, mpeg4_cuvid, vc1_cuvid, hevc_qsv, h264_qsv

Change to
hwaccels =
hwaccel-decoders =

If you haven't updated in a while the python3 conversion was a very small change (everything was python3 compatible for years) but there has been a complete rewrite of many core features to add new options and increase customization so don't assume the python version change is the culprit

That's what I thought and why I couldn't make since of it as it was never a issues before, must be the current static build of ffmpg that's an issues as the older version of that was working fine lol

Current build must just support it so its passing through but your hardware must not, so just remove it from the list and you should be good to go

Will, do it works fine on my other devices its just the laptop I having sitting in the cupboard processing my library that had this issues pmsl, thanks for the help :D

@mdhiggins Done a bit more playing around seems I can get it to use hardware decoding/encoding on its first use but when it then moves on to the next file it kicks out that error 100% of the time, so I have a feeling that ffmpeg is not releasing the GPU in time for the next use grrr, oh well will just have to use the super slow CPU decoding lmao

I can’t say I’ve seen that issue. Try a different build of FFMPEG and see if that helps.


DSM NodeJS Package out of date, needs updating from v20.9.0 to v20.12.1 for appletv plugin

Preconditions

[X] The feature has not been suggested in the past or it makes sense nowadays.

Current Situation
I'm running Homebridge raw on Synology DSM. This plugin requires a newer version of NodeJS than what is available through the standard DSM package system.
Proposed Change
I was wondering if it would be possible to downgrade the NodeJS dependency? I know it's definitely not ideal, but I thought you might have better insight on if the versions between change anything really important for the plugin.
Additional Context
I'm researching how to get DSM to update the package, but it seems it is more closed than I expected.
I'll send through a support request, and these two tickets might help.
This is the Homebridge issue, where this same problem is discussed: https://github.com/homebridge/homebridge/issues/3592

Could you tell me where you get stuck? During the installation process of the plugin or when starting up the plugin. Also please send me some logs when the issue occurs.

Oh, sure! It's when starting the plugin.
homebridge apple tv logs.txt

Have you fulfilled this requirements from the README?

The access of Speakers & TVs should be either set to "Everybody" or "Anybody On the Same Network" in the Home app

Is Hal 9001 (DC:56:E7:56:60:1A) an actual Apple TV?
Also please send verbose logs.

Yes, that is the name of my Apple TV.
FYI I feel like it's something to do with this: https://github.com/maxileith/homebridge-appletv-enhanced/issues/290
Here's the verbose log:
homebridge-appletv-enhanced.log-2.txt

FYI, I thought I'd try get pyatv working directly, same issue. https://github.com/postlund/pyatv/issues/2495

Ah ha! Found this gem here, all good now! https://github.com/home-assistant/core/issues/113374#issuecomment-2048378316

I was able to make the authentication work and the Home Assistant Apple TV integration setup to succeed. The issue for me was that the settings "Air Play Settings" and "Remote App Pairing" under Restrictions in Settings App was set to "Restrict". Once those were changed to "Allow" the pairing process worked.

Might be a good one to add to the readme :)

Thanks for letting me know. Is I will add it to the README :)


Fix rank_genes_groups_violin when use_raw=False

Fixes
Traceback (most recent call last):
  File "/tmp/tmptq4o33we/job_working_directory/000/50/configs/tmpe21tizb1", line 29, in <module>
    scale='width')
  File "/usr/local/lib/python3.7/site-packages/scanpy/plotting/_tools/__init__.py", line 564, in rank_genes_groups_violin
    df[g] = X_col
  File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 3487, in __setitem__
    self._set_item(key, value)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 3563, in _set_item
    self._ensure_valid_index(value)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 3540, in _ensure_valid_index
    value = Series(value)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/series.py", line 314, in __init__
    data = sanitize_array(data, index, dtype, copy, raise_cast_failure=True)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/internals/construction.py", line 729, in sanitize_array
    raise Exception("Data must be 1-dimensional")
Exception: Data must be 1-dimensional

@fidelram, is this covered by #1529?
I supposed that we might want to merge this as a bugfix and have your PR go into 1.8?

Thanks for all these fixes @mvdbeek!
It looks like the issue here is less about use_raw and more about X being a two dimensional dense array. I think a more appropriate test would be to check that: if the plots are made using the same data, regardless of whether that data is dense, sparse, or in raw it should look the same. Basically, I'd expand the test introduced in #1548. It might be worth waiting to hear back from @fidelram before that though.

Hi, anyway in which we could help on this? We need this fix for a training that we are conducting second half of April. Thanks!

I think we can work without this particular fix, we probably only need to update the test data.

Nope, I don't think we can work around this. If the fix is not right, could someone take the tests that are included here and fix them ?

At some point we changed the return values of the anndata slicing and that is why I think the check for sparse was needed.
My recommendation is to replace this whole block
        for g in _gene_names:
            if adata.raw is not None and use_raw:
                X_col = adata.raw[:, g].X
                if gene_symbols:
                    g = adata.raw.var[gene_symbols][g]
            else:
                X_col = adata[:, g].X
                if gene_symbols:
                    g = adata.var[gene_symbols][g]
            if issparse(X_col):
                X_col = X_col.toarray().flatten()
            X_col = X_col.toarray().flatten()
            new_gene_names.append(g)
            df[g] = X_col

by
   df = sc.get.obs_df(adata, _gene_names, use_raw=use_raw, gene_symbols=gene_symbols
  new_gene_names = df.columns

sc.get.obs_df is a well tested function and using it makes it easier for maintenance.

@mvdbeek does the solution from @fidelram solves the issue? if yes, would you be able to push updates to this PR?

Ok this should be good to go @ivirshup , I've incorporated the suggestion from @fidelram , thanks @mvdbeek for first attempt and tests!

Hi @ivirshup ,
just checked #1529 , that's a more general additions to rank_genes_groups_matrixplot and rank_genes_groups_dotplot, but does not address this bug of violinplot which has to do with sparse adata.X. This also adds a test for that case. Thanks for pointing it out.
I'll add release note and merge it.

Ah, I was thinking more in the sense that gene_symbols is broken for most of the rank_genes_groups plots. That PR adds handling for gene_symbols in _rank_genes_groups_plot, but I see that's rank_genes_group_violin is not handled with the other plot types.

Ah, I was thinking more in the sense that gene_symbols is broken for most of the rank_genes_groups plots. That PR adds handling for gene_symbols in _rank_genes_groups_plot, but I see that's rank_genes_group_violin is not handled with the other plot types.

right yes, can also merge it in #1529 instead of master if you think it's better.

No, might as well get it fixed now. I'm not sure if there are other reason's this plot is treated differently, and I'm not sure if Fidel was done with that PR.

thanks @mvdbeek , added release, will go on and merge this


Major Update to Model utilizing Laravel's Eloquent

Its been great seeing framework emerging using WordPress. I was wondering if core team would be interested to see Laravel Eloquent's ORM to see ported for WP MVC framework as Model and Database handling layer?
Me and bunch of other friends can work on it if core team is open to accept that PR in future for WP MVC.
It will definitely  be major change and if interested, can we continue discussion to handle the backward compatibility.
Sorry to open this discussion as Issue.

One of the problems of doing that would be increased requirements for the PHP version. Currently, WordPress 3.2 and forwards requires only PHP 5.2.4, but Laravel requires PHP 5.4+, so Eloquent probably needs a pretty high version too. It's quite a big problem in my opinion, because a lot of people use WP on cheap hostings and that would make this project unusable for them.

I recommend that we aim to keep consistent with the compatibility guidelines WordPress themselves adhere to. Recently, plugins were being declined that used namespaces, because more than 15% of WordPress sites are run on versions of PHP that do not support namespaces. So, if we are adhering to similar standards, this is probably not a viable option at this time to maintain backwards compatibility. I do appreciate the suggestion, though, and look forward to further contributions.


(wip): Run ks-youth browser tests on platta

Description :sparkles:
Run browser tests againsy platta test and staging environemnts once a hour from 7-20
Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #730 (f176589) into develop (9c156fb) will decrease coverage by 45.89%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #730       +/-   ##
============================================
- Coverage    63.29%   17.39%   -45.90%
============================================
  Files          776       39      -737
  Lines        19393      483    -18910
  Branches      1878       67     -1811
============================================
- Hits         12274       84    -12190
+ Misses        6756      383     -6373
+ Partials       363       16      -347

Impacted Files
Coverage Δ

...nd/tet/admin/src/components/editor/NumberInput.tsx
0.00% <0.00%> (ø)

...nd/shared/browser-tests/hooks/http-request-hook.ts

backend/benefit/common/utils.py

backend/shared/shared/common/tests/conftest.py

...t/handler/src/__tests__/utils/render-component.tsx

...eli/employer/src/utils/application-wizard.utils.ts

...ntend/benefit/applicant/src/context/AppContext.tsx

...employer/src/hooks/backend/useApplicationsQuery.ts

...d/benefit/applicant/src/backend-api/backend-api.ts

...red/src/components/forms/section/FormSection.sc.ts

... and 728 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 9c156fb...f176589. Read the comment docs.

Important milestone was that the employer acceptance tests now did pass on platta test environment 🎉 : https://github.com/City-of-Helsinki/yjdh/runs/5070419698?check_suite_focus=true


Energy (Endurance)

Powerup:

Can be stored in the Inventory

Usage:

Restores energy

Texture

[ ] Ready

Done in #55


Update print_results

What does this PR do?
Fixes #11139
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

The current output looks pretty good, what other design changes do you want to do?
This is the script I'm using to check
import os

import torch
from torch.utils.data import DataLoader, Dataset

from pytorch_lightning import LightningModule, Trainer

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class BoringModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)

    def forward(self, x):
        return self.layer(x)

    def training_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("train_loss", loss)
        return {"loss": loss}

    def validation_step(self, batch, batch_idx, dataloader_idx=0):
        loss = self(batch).sum()
        self.log("valid_loss", loss)
        self.log("performance", {"acc": loss, "recall": loss})
        self.log("a really long metric name", loss)
        self.log("a really really really really really really long metric name", loss)
        self.log("a really really really really really really really really really really really long metric name", loss)

    def test_step(self, batch, batch_idx, dataloader_idx=0):
        loss = self(batch).sum()
        self.log("valid_loss", loss)
        self.log("performance", {"acc": loss, "recall": loss})
        self.log("a really long metric name", loss)
        self.log("a really really really really really really long metric name", loss)
        self.log("a really really really really really really really really really really really long metric name", loss)

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

def run():
    test_data = [DataLoader(RandomDataset(32, 64), batch_size=2) for _ in range(5)]

    model = BoringModel()
    trainer = Trainer(
        default_root_dir=os.getcwd(),
        #limit_train_batches=1,
        limit_val_batches=1,
        limit_test_batches=1,
        num_sanity_val_steps=0,
        max_epochs=1,
        enable_model_summary=False,
    )
    trainer.test(model, dataloaders=test_data)
    import pytorch_lightning.loops.dataloader.evaluation_loop as imports
    imports._RICH_AVAILABLE = False
    trainer.validate(model, dataloaders=test_data)

if __name__ == "__main__":
    run()

Thanks for sharing the script you're using to check! I've added some functionality to account for smaller terminals. Will take a final look at the testing of the console output, especially for rich. Also, this: (v.item() if v.numel() == 1 else v.tolist()) if isinstance(v, torch.Tensor) else v used to be in the initial code, but I'm not sure whether this is still relevant as logged tensors seem to be squashed into a single number? I cannot think of any further changes, do you have any suggestions or should I mark the PR as ready for review after finishing this stuff?

but I'm not sure whether this is still relevant as logged tensors seem to be squashed into a single number?

Not necessarily:
f"{torch.tensor([1])}"
Out[23]: 'tensor([1])'
f"{torch.tensor(1)}"
Out[24]: '1'

where both have 1 element numel() == 1

should I mark the PR as ready for review after finishing this stuff?

Sure!

but I'm not sure whether this is still relevant as logged tensors seem to be squashed into a single number?

Not necessarily:
f"{torch.tensor([1])}"
Out[23]: 'tensor([1])'
f"{torch.tensor(1)}"
Out[24]: '1'

where both have 1 element numel() == 1

should I mark the PR as ready for review after finishing this stuff?

Sure!

I have added some additional tests, maybe they should be merged into one/two tests, or should we test everything separately?
I have also added this again: (v.item() if v.numel() == 1 else v.tolist()) if isinstance(v, torch.Tensor) else v.
For rich testing, I was not able to find a good solution though... Looking into it I found: https://rich.readthedocs.io/en/stable/console.html#capturing-output and it seems like we may have to return the console output from _print_results to be able to test it?

For rich testing, I was not able to find a good solution though... Looking into it I found: https://rich.readthedocs.io/en/stable/console.html#capturing-output and it seems like we may have to return the console output from _print_results to be able to test it?

I used your suggestion here to expose the file argument and simplify testing. I added the rich tests too!


Installing Symfony CLI is very slow

Describe the bug
Installing Symfony CLI takes a lot of time, sometimes more than 1 minute. I think it's since this commit https://github.com/shivammathur/setup-php/commit/44d81f983056c06a11e04e43aa61bf7726912278,
Version

[x] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[x] v2
[ ] v1

Runners

[x] GitHub Hosted
[ ] Self Hosted

Operating systems
ubuntu-latest
PHP versions
8.1
To Reproduce
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.1
          tools: symfony
        env:
          fail-fast: true

Expected behavior
Installing Symfony CLI shoud take a few seconds.
Screenshots/Logs

Additional context
Since commit https://github.com/shivammathur/setup-php/commit/44d81f983056c06a11e04e43aa61bf7726912278, the script checks if brew is available, but brew is available on GitHub Ubuntu runners and it's slow.
Are you willing to submit a PR?
Yes.

Released in 2.22.0.


Cross reference/mention now & system.time and how they differ

I was stuck digging into now:
https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/misc/now/
and disappointed I could not get timings between two different calls to now() in a script as now() is cached in a query builder script to synchronize queries between different stanzas.
Turns out there is a function to get the actual time:
https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/system/time/
If I'm looking at one in the docs it would be good to know about the other and when one might want now vs. system.time

Good call. I'll add cross-references to each.


[Feature Request] option to vacuum the sqlite database

Is it possible to add the option to vacuum the sqlite database?
This function is useful when resource has been delete.
Thanks

How about just delete your .db file? And I want to know why you need to clean your database when deleting a resource.

And I want to know why you need to clean your database when deleting a resource.

If, for example, a photo is removed from resource, the db size is not changed back.
With the vacuum of the database, it will "rebuilds the database file, repacking it into a minimal amount of disk space".
https://www.sqlite.org/lang_vacuum.html


Merkle State Proofs

We are proudly to propose a first draft on how Merkle State Proofs could be easily used to validate storage and voting information, also to provide a simple transition to a Neo blockchain without UTXO model.
We would be happy to have more names in this NEP, so if you want to contribute, please join us :)
https://github.com/neo-project/proposals/pull/74

The general outline of the proposal is to use Merkle Patricia Trees (MPT) to control three different informations: asset balances, voting counts and contract storages.
A Global MPT (GMPT) root hash would be put on block header, mapping scripthashes to Global State (GS) structures. Each GS contains three MPT hashes: Storage MPT (SMPT), Assets MPT (AMPT) and Votes MPT (VMPT).
SMPT would map storage keys of that contract to the storage value. Any node can prove that a specific information exists by informing the hash of value in a leaf of the SMPT tree, together with hashes of the up-tree path until SMPT root.
VMPT would map public keys of candidate consensus nodes to a fixed8 value (vote count).
AMPT would map global asset hashes on a pair (unspent, balance), which informs total unspent utxo of that asset and available balance for direct transfer (no utxo). Initially, balance is empty for all assets, but transactions including an extra informative byte would direct utxo asset outputs directly to a scripthash balance. After that, it could also be used as input on utxo model (in a specific transaction format: scripthash 20B + zero padding 12B).

This proposal needs to be updated, as Global Assets will be removed on Neo 3.0.

We have MPT-based state data now, so this seems to be solved to me.


update installer.sh to support overriding default variables

Description

adds two optional environment variables controlling the installation script:
export SWS_INSTALL_DIR="~/.local/bin"
export SWS_INSTALL_VERSION="2.31.0"
curl --proto '=https' --tlsv1.2 -sSfL https://get.static-web-server.net | sh

Motivation and Context

when installing with get.static-web-server.net, I would like to be able to pin the install version and specify an installation directory (so I can use it in packaging scripts)

BTW since it is a script (dynamic) and already merged. It should be already available to be used.


Mismatch between schemaAttribute bean definition of cardinality and open metadata type

The Asset Ownwer OMAS method to add a CSV file is not working.  It is expecting to set a cardinality of string - eg 1..* etc - and the open metadata types have two integer values for min and max cardinality.
I am not sure how the min and max values for cardinality work because so many types are of unlimited size.  This is why the OCF (and hence Asset Owner OMAS and Asset Consumer OMAS) uses a string.
The result is an error when the CSV file is created.

We need to add a string form of cardinality to the open metadata types to support the OCF.  If the integer versions are used, the OCF metadata management module can turn it into a string.
Should I also deprecate the min and max integers for cardinality or should I leave them as an optional format?
I will leave as an option, with the OCF supporting both approaches unless anyone has strong objections.

The change to the open metadata types was covered in PR #1545 as part of simplification that we covered under issue #1317 -- we discussed the details at our face-to-face workshop in Huizen (https://github.com/odpi/egeria/wiki/Egeria-Meeting-1st,-2nd-October-2019-@-Huizen,-Netherlands#2nd-october-2019).
(The updated documentation on the types was merged as part of #1545: eg. https://egeria.odpi.org/open-metadata-publication/website/open-metadata-types/0505-Schema-Attributes.html)
I don't see any mention of the OCF use of this as part of those, though, so perhaps we missed that dependency at that point (?)

There is another alternative - which would be to retain the two values but make them strings (not integers), then you could have a 'max' value like '*'.
IMHO it would be nice to have one way of handling cardinality.

We did discuss this and from what's documented (and merged, post-approval -- see #1545) it seems we agreed that -1 would represent the * value numerically.

Agreed - been doing more research into the history of this and I think we can leave the open metadata types as they are defined and extend the schema attribute bean to support the string and the int versions so the values can be displayed and stored in a way that they can be processed

Digging further, I see that bounded schema type has also been deprecated and replaced with flags in the schema attribute.  Supporting schemas using this new pattern impacts 2 released OMASs:

Asset Consumer OMAS - retrieves schemas
Asset Owner OMAS - creates schemas

Updating Asset Owner OMAS is easy:

Change the creation of a schema type so if a new BoundedSchemaType is attached to a Schema Attribute, the request can be turned into an update to the Schema Attribute entity in the repository.
Extend existing API to allow the new bounded schema concepts to be set directly in the
Schema Attribute.

For Asset Consumer OMAS, I think it has to expose both the old and the new pattern for
bounded schema and follow the way that the schema is stored to determine how the schema is returned.  This is so that existing schemas can continue to be retrieved using existing
code and new schemas that adopt the new style, benefiting from the faster processing.
The downside of this approach is that an existing user of Asset Consumer OMAS (and although we do not know of any, there may be) would need to be updated to process the new types of schema.
If it turns out that there are users of Asset Consumer OMAS that can not be changed, we can add an option to Asset Consumer OMAS to always use the old style for all schemas.  However I do not propose to implement this until we get a complaint.  So if this is required now please comment.

Updates to OCF Beans:

Deprecate BoundedSchemaType and BoundedSchemaCategory
Add DataItemSortOrder enum
Add SchemaAttributeCategory enum supporting UNKNOWN, ARRAY, SET, BAG, SINGLETON
Add new SchemaType beans - EnumSchemaType, LiteralSchemaType, SimpleSchemaType, SchemaTypeChoice
Extend SchemaTypeBean with linkName and linkProperties if the type is external to the schema.

When the schemaType bean is manufactured from the TypeEmbeddedAttribute classification, it has the GUID of the schemaAttribute's entity.  The schemaTypeHandler in OCF Metadata Handlers needs to retrieve entities of type "SchemaElement" when retrieving SchemaTypes.
The OCF read-only wrappers that are used for the connected asset properties of an OCF connector also need extending with: AsetEnumSchemaType, AssetLiteralSchemaType, AssetSimpleSchemaType and AssetSchemaTypeChoice.
Changes to open metadata types:

Extend TypeEmbeddedAttribute classification with the following properties:

schemaTypeName - string name of schema type to allow enums and literals to use the embedded form.
Missing properties from SchemaType

versionNumber
usage
author
namespace
These values are optional and their default value comes from parent schema type.

Missing property from PrimitiveSchemaType

defaultValue

Missing property from EnumSchemaType

fixedValue

Other changes - re-add cardinality property to SchemaAttribute but mark as "deprecated" (this was not possible when the original simplification work was done).
Extend Asset Owner OMAS to provide specialist support for different types of schema so that the mapping is encoded rather than having to be learned by developers.

This seems complete so closing


[Component Idea] Custom Select

Could be useful to include a custom select dropdown like found in Tailwind UI.
https://tailwindui.com/components/application-ui/forms/select-menus

This issue is resolved by the PR and version 1.4.0.


How to sync snippets and settings

Instructions for syncing
As all user data are saved in brackets.json like any other extensions, you only need to sync this file between your machines.
Via Dropbox
First machine
OS X:
ln -s   ~/Library/Application\ Support/Brackets/brackets.json   ~/Dropbox/Brackets

Windows:
cmd /c mklink   %USERPROFILE%\dropbox\Brackets\brackets.json   %APPDATA%\Brackets\brackets.json

Other machine

Please backup and remove the existing brackets.json first

OS X:
ln -s   ~/Dropbox/Brackets/brackets.json   ~/Library/Application\ Support/Brackets

Windows:
cmd /c mklink   %APPDATA%\Brackets\brackets.json   %USERPROFILE%\dropbox\Brackets\brackets.json

Q&A
Q: Where is my brackets.json?
A: Choose Debug > Open Preferences File.

I've found another solution probably interesting when working with a repository. See my #99


[GeoPath / GeoPoint] Support CSS styling (tailwind classes, etc) within  context

#141  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @techniq and the rest of your teammates on  Graphite


Solution Migration Changes for CrowstrikeFalconEndpointProtection

Change(s):
See guidance below
Reason for Change(s):
This PR is part of template spec solution migration for solution CrowdStrike Falcon Endpoint Protection.
See guidance below
Version Updated:
2.0.2
See guidance below
Testing Completed:
The link for test results is
https://microsoftapc.sharepoint.com/:w:/r/teams/SentinelCATTeam/_layouts/15/Doc.aspx?sourcedoc={BC67BA09-3BFF-4760-9401-0FD6A5EE87B8}&file=Sentinel Solution Migration -TemplateSpec - CrowdStrike Falcon Endpoint Protection.docx&action=default&mobileredirect=true&share=IQEJume8_ztgR5QBD9al7oe4AZeIAg4PZ4N_oTkwRa8FgSc
See guidance below
This is a 3P solution.

@NikTripathi, Please fix breaking image


Add option to parse imports only and an option to pass file contents

Autocomplete feature in VS Code Go extension uses go-outline to get imported packages. Having a "imports-only" option will help in skipping the overhead of parsing the complete file
Autocomplete feature in VS Code Go extension also needs to run when the file has changes that is not saved. Therefore, an option to pass the file contents to go-outline would help too

Looks good!


 Db could be a global object, not sure I like the app.objects thing for plugins
Further simplify actions and pages? Maybe too much page specific code atm.

... maybe also:

rename 'loader' to init?

Then we can do, if we want to run the app from scripts:
const waveorb = require('waveorb')

// Set up app
const app = waveorb.init()

// Everything will be available here if we've used globals
App
Db

$ could be the App object ($.t, $.link, $.tools, $.net (dugg)) and lots more
_ could be lodash
All available globally.

page object could be added to request, like store, but for page. Or just use req.store?


add --without-bash-malloc argument to ./configure call

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)

Closes #15

@conda-forge-admin, please rerender

Thank you @moshelooks !


Feat: (pseudo-) unique hash for dataset

I'd like to implement a hash for each dataset, that is unique enough for our general applications, and short enough for humans to read :)
Reasons for that:

easily identify a dataset by its hash so that it is independent of folder structure and things like that
add that (human readable) hash to i.e. a plot or my logbook so that I am always sure that I know where the data was exactly
eventually in the far future have a way that I in my logbook have a link qc://notebook/S6N09W65ZL  which loads a data-analysis notebook

If we think that is useful we'd need to make sure we can generate smart hashes, where it is unlikely that we have a double version.
We could:
import random
import string
N = 10
hash = ''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(N))

I have no idea how unique it is though...
we can of course make a really really long string but thats hard to put in a plot title or something like that.
Any ideas/comments about that?

What about uuid?
Also: why a hash and not a timestring, perhaps with a letter for the location, e.g. qd20161109003910
The time will make it unique, and is human readable.

@MerlinSmiles , @peendebak we also use the date_time format as an implicit unique ID. However we sometimes run into the problem that there are multiple files with the same date-timestamp (some experiments generate multiple datasets per second). I guess the uuid solves this by going to a finer resolution.
Another idea (that can be incorporated with the above) would be to use a certain aspect of git-hashes. The git hashes are generally long. However if you provide enough characters (~7) to be unique the software will automatically select the right hash. We could implement the same functionality for the qcodes hashes so that if you specify yymmddhhmm (and no seconds) it will still find it because there are no other datasets corresponding to it.
tl;dr

timestamp based hashes 👍
Allow reference by partial hash (like git hash)

@peendebak @eendebakpt @AdriaanRol
Yes I was looking into that uuid too, also apparently it can be shortened whith XORing parts of it and it should still be random. I had a thought to put a long and a short version in the snapshot (to not depend on a correct implementation of a shortening algorithm elsewhere).
I use timestamps currently in file / folder names and it works ok, but I might want to rename, reorganize and do stuff.
I am not very fond of timestamps for uniqueness, if you have many measurement setups and many datasets, there might be collisions.
Also a string based on characters and numbers will be much shorter (and readable) than timestamps.

The hash does not need to be a part of the filename (that's just what we do now), so you should still be free to reorganize, rename and do stuff :).
I agree that shorter generally means more readable, however I think timestamps are generally way more readable than random hashes.
It would also ensure that the timestamp is always stored, allowing automating some kind of data retrieval system.

I'd just use the git way, as we talked before.

Where would the right place be to generate and save that hash?
upon initialization of the dataset?
And then add it to the snapshot when saving? Or an empty file which filename is the hash, for easy finding later?

One thing to be careful about with random hashes is that you need a large hash to avoid the birthday problem. That's why GUIDs/UUIDs are so big, and cryptographic hashes are typically very large.
A timestamp plus a short random string often works well, unless you're generating a very large number of data sets each second.
And supporting substring match like Git makes a lot of sense no matter how we generate the unique IDs.

unless you're generating a very large number of data sets each second.

@alan-geller Just to make sure no hidden assumptions slip into the framework, we generally do generate multiple datasets per second. I'm not worried about this creating any problems but just to be sure.

Closing this issue since the desired feature has been added in #1002 (and we no longer develop the old dataset).


OOM logic correctness

How we enforce app memory limits now:
Heap

Set an OOM hook on v8::Isolate
Before each call into JavaScript, setup a setjmp environment
If OOM hook is called, longjmp out
The caller detects it and adds a "poison" mark to the current v8::Isolate instance.
V8 isolates with the poison mark will be dropped and not reused.

Also, we reserve 1MB "host entry threshold memory" when a JavaScript call returns. This ensures that we always have enough memory on the host side to allocate small objects.
ArrayBuffer
It seems that V8 ArrayBuffer's are off-heap and not counted towards the total heap limit. So we manage a separate memory pool for ArrayBuffer memory.
V8 throws an exception if an ArrayBuffer allocation fails in JavaScript so it just works. On the host side we do an explicit check against the memory pool before allocating new ArrayBuffer's.

The setjmp/longjmp pair is very much a hack and though valgrind doesn't report any memory error I'm not sure whether it is correct. Semantically it's something like "destructing a v8::Isolate from within itself" and isn't supported.

The setjmp/longjmp pair is very much a hack and though valgrind doesn't report any memory error I'm not sure whether it is correct. Semantically it's something like "destructing a v8::Isolate from within itself" and isn't supported.


README: Link to MeetBot logs for meeting minutes

@RobDolinMS had been keeping the wiki up to date with links to the MeetBot logs, but linking directly to the MeetBot logs gives us one less thing to maintain.  The meetings which are only in the wiki are 2015-07-22, 2015-08-05, 2015-08-12, 2015-08-26, 2015-09-02, 2015-09-09, 2015-09-16, 2015-09-24, 2015-09-30.  The last is in MeetBot, but it was our first MeetBot meeting, so the MeetBot logs are not great.

LGTM
Can you rebase?

On Wed, Apr 05, 2017 at 01:57:36AM -0700, Qiang Huang wrote:

Can you rebase?

Rebased with 3fdc4f4 → b37ccfa.

LGTM

LGTM


Remove Language.UNKNOWN (and IsoCode639_1.NONE, IsoCode639_3.NONE and Alphabet.NONE)

Hello,
currently Language.UNKNOWN is only used to indicate that the detected language is unknown, however its mere existence requires a whole string of additional values:

IsoCode639_1.NONE
IsoCode639_3.NONE
Alphabet.NONE

All of these are just needed to support Language.NONE, and additionally it requires special-casing in multiple places, see also cc6c9ceb9bc899cc8cb0ef6aa3c2733365490633.
It seems (at least for Kotlin), the more appropriate solution would be to use the nullable Language? at places where a detected language might not be present and to remove Language.NONE (and the other values). This would also raise awareness for functions which might not return a 'real' language, since currently the user might not know about the existence of Language.UNKNOWN.
I have mainly created this issue to start a discussion for this requested change and to hear what you think about this. It would be a breaking change, so it might be good to perform it for one of the next major releases. The main issue is that Java users might not notice the change since their code would likely still compile without issues.

You are right that returning Language? would be the most reasonable thing to do if the library was used from Kotlin code alone. In Java code, however, this would result in the imminent danger of producing NPEs. That is why I use Language.UNKNOWN to prevent that. This is clearly documented in the javadocs and in the README. I won't change this.


fix: Fix Firefox Runner and Remove references to node 12

Summary

Remove references to Node 12 in Github Actions
Fix Firefox Runner

Testing Plan

Run Github Actions

Master Issue
Closes https://go.mparticle.com/work/SQDSDKS-4873

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Hiding Draper inside the model and lazily decorate it

Hi,
After using Draper for a while my project became a mess.
Code smells: .decorate everywhere, decorates_finders, delegate_all, decorates_association, delegate :current_page, :total_pages, :limit_value, to: :source,  .dom_id, .haml_id etc.
So I made this Decorated concern that puts decorator inside the model, doesn't pollute its' class so dom_id and other things relying on class name can be used as they were before adding Draper. Now the model is lazily decorated model on the first call so you don't need to worry about it.
I suggest to include it in Draper, please let me know what you think.

I agree on hating .decorate but, ethically, I don't think a model should know about the decorator.


Travis: Show test-suite.log on failure

Should ARENA_FILE_VERSION be increased because of the different SIZED_STRING layout?

Should ARENA_FILE_VERSION be increased because of the different SIZED_STRING layout?

Yes, we should

ARENA_FILE_VERSION is taken care of in #468


Simple optimization in IsKeyPressed

This is my first change to ebiten. I will start with something small.
I noticed IsKeyPressed is iterating through every possible key to find the one being asked about. This change fixes it to only look at the key being asked about.
Obviously IsKeyPressed calls are not a big deal for performance, but it feels like the right thing to do.

LGTM
Please update this PR by merging or rebasing, then I'll merge this PR.

Wow, quick response! Just rebased and force pushed this branch.

LGTM
Please update this PR by merging or rebasing, then I'll merge this PR.

Wow, quick response! Just rebased and force pushed this branch.

Actually, something is off. Fixing.

LGTM
Please update this PR by merging or rebasing, then I'll merge this PR.

Wow, quick response! Just rebased and force pushed this branch.

Actually, something is off. Fixing.

Fixed now.


fix: cross account bucket usage

Also updated to Serverless v3 for improved logging.

I think we can drop Node 10 & 12 from the tests as they are (soon) End-of-Life.


Add NixOS 20.09

It might be helpful to start providing 20.09 options search already to help people that are testing the early stages of the release.
I could not actually test if this is what it takes to make it happen. 20.09 started appearing on the UI but not sure how I can test the search backend locally.

@andir Thank you! And sorry for taking so long time to come back to this. I'll close this PR, merge changes from master, push the branch to origin and open new PR. That way I'll get a preview link and I can test if everything is working.


Add option to disable CURL shared handle.

In some versions of libcurl (we are still trying to narrow down which ones) there
are locking bugs for the CURLSH* handles. Users may need to disable the
use of CURLSH* handles altogether (at a performance cost) to workaround
these bugs.
This is related to #2711.

This change is

I have now convinced myself this is the wrong fix.  I also have evidence:
https://curl.haxx.se/mail/lib-2019-06/0011.html


Macbook becomes open resolver

I configured (on OSX):
listen = [
"<IP_ADDRESS>:53",
"[::1]:53",
## To listen on both <IP_ADDRESS>:53 and [::]:53, use the following line
# ":53",
]
I then ran it and got a firewall warning which I accepted, but which also raised some suspicion.
So, I checked with
lsof -i ":53"
To my surprise doh-client is listening to <IP_ADDRESS>:53 and [::]:53 and has therefore become an open resolver when I am on an unprotected network (such as the one where I am right now).
Am I missing something here?

Hello,
Thank you for your bug report.
I have the same configuration as you on macOS. But I can't reproduce your problem.
Do you use my packaged launchd scripts or other methods to start dns-over-https? Would you please double check whether your configuration is located at /usr/local/etc/dns-over-https/doh-client.conf?

Hi,
Yes,  I use it just like that, with the right configuration file (according to a 'ps -ef').
I  saw this (with lsof -i ":53"):
doh-clien 16274 root    3u  IPv4 0xa1da5fd24928be3      0t0  TCP localhost:domain (LISTEN)
doh-clien 16274 root    4u  IPv4 0xa1da5fd0a8076eb      0t0  UDP *:domain
I have just unloaded and loaded it with:
launchctl [un] load /Library/LaunchDaemons/doh-client.plist
Now I get this:
doh-clien 55099 root    3u  IPv4 0xa1da5fd2492821b      0t0  TCP localhost:domain (LISTEN)
doh-clien 55099 root    4u  IPv4 0xa1da5fd0a7e9113      0t0  UDP localhost:domain
So, after a reload it looks okay (again). Weird... It was also a bit weird that suddenly the firewall alert popped up. I did't expect it, because usually that happens right after starting a program, and the doh-client was running for days already.
So, this is a bit clear to me. I will keep an eye on this and report if this happens again, ok?

Thank you for your reply.

So, this is a bit clear to me. I will keep an eye on this and report if this happens again, ok?

That's OK. Please let me know if the bug happens again.

Assuming the problem is fixed. Please reopen if it occurrs again.


Async Mail

Coverage remained the same at 86.0% when pulling abb697fc4d8acb4262ef6cc655b6b1ff1173982c on mail-fix into 0964b70ac6fffd3a2462bc8d6a26d3ae8b074d2b on master.


Construction of custom immutable types

So I'm experimenting with some things around custom Collections and such, and I was thinking it'd be nice if there were a way to be able to create Maps and Lists of custom "types". Objects which inherit directly from Map and List, potentially adding new/custom methods while retaining the immutable behavior - that somehow the prototype of the constructor would be used in place of the ListPrototype and MapPrototype in makeList and makeMap respectively.
At first glance it seems that this might already be somewhat possible by overriding the __ensureOwner on both of these objects, and by specifying a custom List#set, but this doesn't account for using the correct constructor/prototype in the emptyMap (which is used throughout).
I guess I wanted to see if this was something you had considered or would be interested in supporting, or if there are any difficulties I haven't considered yet when it comes to deep merging, etc.

Merging into #301.


Please add some description on cookie names when we enable Session Affinity

We don't know what cookies will be generated when  we enable Session Affinity
Here is the reference I found that said when session affinity is turned on, two cookies ASLBSA and ASLBSACORS will appear when visiting the website
https://edi.wang/post/2020/10/20/load-balancing-my-blog-on-azure
Please add some document about ASLBSA and ASLBSACORS, what does ASLBSA stand for?

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

ID: 31f1dbc3-4bd2-7238-2f2e-8b31e72d4f7c
Version Independent ID: 7528e36e-ab2e-4b40-f7a9-4dc92c279458
Content: Azure Front Door - traffic routing methods
Content Source: articles/frontdoor/front-door-routing-methods.md
Service: frontdoor
GitHub Login: @duongau
Microsoft Alias: duau

@rachelxj-ms, Thanks for reaching out. We will investigate and update this thread.

@rachelxj-ms, ASLBSA,ASLBSACORS,ARRAffinity are Microsoft App Service and Front Door Affinity Cookies. These cookies are used to direct your browser to use the appropriate backend server.
We are assigning this issue to the respective content author for updating the document accordingly.

#reassign: gunjanj

@rachelxj-ms The name ASLBSA and ASLBSACORS stands for "Azure Software Load Balancer Session Affinity" and "Azure Software Load Balancer Session Affinity Cross Origin Resource Sharing".  Please let me know if you have any further questions, for now I will be archiving this issue. Thank you! #please-close
#reassign: duongau


Does it work currently?

The course selection is about to begin LOL

It surely works. However, it needs a little adjustment since the robustness of this script is poor.


Provide configuration to SpatieTagsInput to allow original behaviour of suggestions for tags with types

@danharrin as promised in https://github.com/filamentphp/filament/pull/7374 I added an extra configuration flag to the SpatieTagsInput to be able to overwrite the old default behaviour with the new implementation.
Do you think the naming of the config variable disableTypeCheckingForSuggestions is clear?

[x] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[ ] Visual changes are explained in the PR description using a screenshot/recording of before and after.

How about this API
SpatieTagsInput::make() - suggestions from all types
SpatieTagsInput::make()->type('blog') - suggestions only from blog type
SpatieTagsInput::make()->type(null) - suggestions only from null type

@danharrin I implemented your suggested API. Because $type is set to null on object creation, I added another var to be able to check if $type was forcefully set to null.

Maybe we could set the default of that prop to be new AllTypes() where AllTypes is some empty object that represents that state

@danharrin I added a new type as you suggested to be able to set the input, infolist and column to allow any type.
@danharrin Thank you for the feedback! I had to add a function to sync the tags to the model to avoid creating duplicate tags without a type if the type already existed, because the HasTags trait did not have this functionality.
Let me know what you think.

Thanks @sten, this is exactly what we need. You interpreted my requests really well


Have index.html and other html files in different locations

From what I am seeing that currently all the html files are published in org-static-blog-publish-directory. I was wondering if it would be possible to instead just have the html files corresponding to the blog posts be published in the org-static-blog-publish-directory and the index.html file be published in the parent directory of org-static-blog-publish-directory?

There is no built-in functionality for this. But you could probably advise org-static-blog-assemble-index to use a different org-static-blog-publish-directory, which should do the trick.


feat: Introduce 'stoud' + 'logs' sink

this PR will introduce two new sinks:

'stdout': which is a very basic sink that writes events directly into the stdout stream, one event per line, using json format
'logs': which appends events into a local files, with configurable rotation and optional compression

I was hopeing to fix it and learn something in a meanwhile 😅 I guess I'll have to revisit the changes you made

@mark-stopka sorry, was actively working to close the feature today. Feel free to open a new PR if you already caught any bugs. My goal is to leave a pre-release version of this new sink running on a server for a few days as a way to validate performance over a long period of time.


Update to NDK r25b LTS

The Android NDK used currently is a bit outdated, being the r21 LTS version. A new LTS version, r25, has been released, and contains a updated compiler and include updated Android APIs.
For CI, GitHub Actions has the NDK 25 available on its images.
It's latest exact version is 25.1.8937393.

I can't tell if bazel support exists yet (there were some issues raised on the bazel githubs 1, 2, I see you on some threads too).
I see the new rules_android_ndk github repo exists and claims NDK 25b support, so we might try that.

Yes, I forgot to mention that. See https://github.com/bazelbuild/bazel/issues/12889#issuecomment-1233565322

Would you be interested in sending us a PR for this @EwoutH ?

Sorry, I don't think I have the capacity to do that in the near feature, unfortunatly.

Happened to see this via backlink. Can confirm that the new ndk rules work well as a drop in replacement allowing use of NDK r25, additionally solving a bunch of issues with the old implementation. That said, they don't support building on Windows just yet.


schemas should be versioned

We should discuss how schemas are versioned

Schemas now have a numerical identifier, like this: https://github.com/adobe/aio-lib-console-project-installation/blame/0b513e93546ff7ebb55f1d2ea1d100c9b5bf96c9/schema/template.schema.json#L3
Is this sufficient or do you have something else in mind?

LGTM


Animated lines not moving

Overview
This animation has some moving lines but when using the player they are still. I know the dot lottie rendering engine doesn't support some layers, and maybe that's the issue, but I'm not sure which layer would be the problem.
animation: https://app.lottiefiles.com/share/fe533603-a70c-472d-aa65-f22a7f829b79
codepen: https://codepen.io/Alekey1919/pen/YzbxmQb
Consuming repo

What repo were you working in when this issue occurred?

https://github.com/LottieFiles/dotlottie-web
Labels

[ ] Add the Type: Bug label to this issue.

The problem is the lack of support for a stroke that is both trimmed and dashed. We have opened a corresponding issue for this.
For this specific file, an ad hoc solution is to remove the dash, which does not add any value (the top anim is your original file, bottom is after removing dashing):

Awesome! Thank you for your help


Suddenly, MFE doesn't work anymore

[x] This is not about other apps being displayed weird or etc.
[x] This is not about rendering issues that caused by a bug in the Windows.
[x] I've read FAQ.
[x] I've checked other issues and this is not a duplicate.
Describe the bug
After days of activity, upon a restart MFE is in a unrecoverable state and it's impossible to get it working without a reinstall.
To Reproduce
No steps known to reproduce the behavior
Expected behavior
It should always be working
Screenshots

Windows Version
Windows 11 22H2 x64
Additional context
Add any other context about the problem here.

How about reinstalling VCLibs?

How about reinstalling VCLibs? https://learn.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/c-runtime-packages-desktop-bridge

Tried it right now, didn't help

If there is any logs I could send you, let me know how to retrieve them

The second window is supposed to show you an error message but that window is not working either🙂
But I guess I already know what's wrong and I've fixed it in the dev branch. CI failed to build it but I'll fix it.

Maybe we should introduce a fallback window in case it doesn't work 😅

Maybe we should introduce a fallback window in case it doesn't work 😅

No I think it's this, MFE was crashing for me and I fixed it by adding this check before enabling file watcher.

Maybe we should introduce a fallback window in case it doesn't work 😅

Oh you mean the error window. Well we would never know if the window is displaying correctly or not=)) We would know if we get some error, but I guess we don't get any error message for this because then we would see another error message window.

As you notice, I did manage to have two "Discord" entries here

This should be fixed on new version


Add blog post for Structured Authz beta

Feature blog post for KEP 3221: https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/3221-structured-authorization-configuration
KEP issue: https://github.com/kubernetes/enhancements/issues/3221

/sig auth

I'm happy to help with this blog post -- we should include a kubeadm/kind example.
We may also want to update the kubeadm apiserver flag docs to show this can be used with extraVolumes.

/label area/blog

/area blog

Hi @ritazh 👋🏽
I'm Frederick, a shadow from the Release Comms Team! #release-comms
I hope you're doing well! Just a friendly reminder that the deadline for the Kubernetes release blog post is coming up on March 22, 2024.  When you have a draft ready for review, please update the 'Blog Status' to 'Ready for Review'.
Thank you so much for your time and contribution!

Thanks for the reminder @fkautz !
@ritazh the main progress we've made on this is some quick usage examples of Structured Authz /w kind.
Lior also found and fixed a bug in kind related to structured authz.
I have not started on the copy to support the examples, but there is some good material in the use-cases from the KEP.

/hold
pending assignment of publication date

@stealthybox feel free to push something if you have it. then I can integrate. I have given you push access.

@stealthybox  👋 Comms Team here, following up on your feature blog post for 1.30. The Ready for Review deadline is coming up this week on March 22, 2024. Please let us know if we can help out in any way!

/assign liggitt palnabarun

/triage-accepted

/lgtm

/assign @nate-double-u
Ready for review. Thanks!

Wait, how does this align with https://github.com/kubernetes/website/pull/45106 ?
I think we should put some work into telling readers how the two things are related.

Wait, how does this align with #45106 ?
I think we should put some work into telling readers how the two things are related.

@sftim How about if both blogs add something like the following:

With CEL, administrators can craft layered security policies based on various factors, including user attributes, resource labels, and contextual information for both authorization and authentication. For more information on structured authentication configuration, refer to https://kubernetes.io/blog/2024/04/25/structured-authentication-moves-to-beta

I can add it after this: https://github.com/kubernetes/website/pull/45137/files#diff-ad10135436eec06f65b6ae8acd523b1123e01ad0cd3fa64c40292f830aac9ff6R49

The other article now has this in its intro:
Today's article is about _authentication_: finding out who's performing a task, and checking
that they are who they say they are. Check back in tomorrow to find about what's new in
Kubernetes v1.30 around _authorization_ (deciding what someone can and can't access).

My advice is, put it in early (before the first heading), and write it for an audience that is going to skip the blog article. It's tough to draft for the readers who don't care about this news, but it's helpful if we do serve them by making it obvious to someone that they're not going to need to read the rest of the article.
However, that's really soft advice. I expect we'll be fine with whatever wording you'd like to put @ritazh

I agree with this comment above, I think it would be useful to state this is about authorization and that users interested in the complementary use case of authentication should also see the previous day's article.
@sftim  Would it make sense to perhaps make this explicit and say this is a two part blog post? Part 1: Authentication. Part 2: Authorization.

@sftim the lgtm fell off from the last change. Just need the sign off if you think it looks good.
Thanks!

/lgtm

/approve

/hold cancel


dev: refactor wnt to fee_token

Since we are considering ETH erc20 to be the equivalent of "native token", it's probably a good idea to correct the terminology used in throughout the code base.
wrapped native token won't be a thing. we could refer to it as fee_token

If agreed, I can take this on.


Added OLCF E4S 21.08

@jfinney10 take a look at the rendered page
can you add hyperlinks to the file. There are few that are missing
https://e4s--37.org.readthedocs.build/en/37/facility_e4s.html

Looks like you mixed up the spack.yaml and spack find output in the column.


How to handle the unknown status.version to a certain version of operator?

Describe the bug
As operator is able to support multiple versions of knative for installation. How to handle the unknown version of knative to a certain version of operator?
For example, operator of 0.16 may only support 0.14.x, 0.15.x and 0.16.x of knative. If there is an existing CR indicating an existing Knative 0.13.0 with status.version equal to 0.13.0, how to deal with that?
Expected behavior
TBD.
To Reproduce
Install Knative operator 0.13.0
Create Knative Serving CR to install Knative 0.13.0.
Install the operator based on the latest commit in master.
Knative release version
Master.

Based on the current code, the quick and easy fix can be logging warning message to indicate the older/unknown version is not recongnized, or unable to upgrade to the current version. We only support to upgrade to the next MINOR version...

@jcrossley3 I am not sure if I understand correctly about unknown version. To me, it is an obsolete version, not covered by the current version of operator.

Whatever you call it, we have to account for it. If we can't obtain the installed manifest, we can't reliably delete cluster-scoped resources or identify any that might be obsolete. We need to be clear on what we expect the user to do in that case.
Even with the current, single-version operator we couldn't reliably delete all the cluster-scoped resources when the CR was deleted, but we never had to, because the very first thing the operator did was update the CR, and because the obsolete resources were known back as far as version 0.3.x they were always reliably deleted.

@jcrossley3 Once we add the support to fetch all the manifests online, do you think it will resolve the issue of removing cluster-scoped resources?
To me, it sounds like yes. Am I correct?
But for upgrade, we still raise the warning of cannot upgrade across multiple minor versions...

@houshengbo it'll help, but even then we shouldn't assume network connectivity. It's probably safest to do nothing at all if we can't obtain the installed manifest. Maybe just set the CR status saying the operator doesn't support it and they'll need to re-install the previous operator to properly delete the CR?

They could still choose to delete the CR with the newer operator. It could make a best effort to get the oldest manifest it has and log a warning that some cluster-scoped resources may still exist. At least that way a savvy admin could avoid having to re-install the operator if they weren't worried about dangling resources.


Pfm 1723

Remove all changes of the Attendance Service. For a PR of frontend there shouldn't be any changes to backend projects.

Sure Rushang, I am working on it. Develop changes got merged while PR. I am updating this.


bin/brew: remove bash redirection

This was added back then to allow to run brew if you had no /bin/bash.
There are now multiple places in the code where /bin/bash is hardcoded,
which makes this change useless without fixing the other places.
If needed we can try to provide a better solution later on, but I think
removing this allows to have one patch less to backport to Homebrew.

Of course this is open for discussion :)


travis: reduces the tests number

Reduces the tests running on travis while still
testing correctly for compatibility issues.

Fixed in #124


Improving effiency of JTAG data transfert

Improving JTAG effiency by writting 128 bits at a time with basil bus instead of one bit at a time.

Thanks for PR.
Do you have the module already in use for any kind of project?

Coverage increased (+1.8%) to 34.796% when pulling 07723344f733d8614d60086a635d91a63a472d8b on VincentGuerard:development into 8e1a27636ef18a7d9a32f5ffbd49fc70976c1cc0 on SiLab-Bonn:development.

Look OK.
Should I marge?

I hope 128 is no the only size ;-)

There are still open issues.

I really don't see the use case for all the set_/get_ function. They are deprecated. We have it already in RegisterHardwareLayer generated (with uppercase).

Yes. For simple assignment like self.WORD_COUNT = value  just use directly.
@laborleben We could even patch this to be able to use lowercase.

Then you change the rules again.

We have "self.set_WORD_COUNT(value)" already.
In fact we have:
self.dut['test_register'].REGISTER = 42
self.dut['test_register']['REGISTER'] = 42
self.dut['test_register'].set_ REGISTER(42)
They are tested and used everywhere.
Not sufficient?

@VincentGuerard  Thank you!


[SPARK-45123][PS] Raise TypeError for DataFrame.interpolate when all columns are object-dtype.

What changes were proposed in this pull request?
This PR proposes to aise TypeError for DataFrame.interpolate when all columns are object-dtype.
Why are the changes needed?
To match the behavior of Pandas:
>>> pd.DataFrame({"A": ['a', 'b', 'c'], "B": ['a', 'b', 'c']}).interpolate()
...
TypeError: Cannot interpolate with all object-dtype columns in the DataFrame. Try setting at least one column to a numeric dtype.

We currently return empty DataFrame instead of raise TypeError:
>>> pd.DataFrame({"A": ['a', 'b', 'c'], "B": ['a', 'b', 'c']}).interpolate()
Empty DataFrame
Columns: []
Index: [0, 1, 2]

Does this PR introduce any user-facing change?
Compute DataFrame.interpolate on DataFrame that has all object-dtype columns will raise TypeError instead of returning an empty DataFrame.
How was this patch tested?

Added UT.
Was this patch authored or co-authored using generative AI tooling?

No.

cc @zhengruifeng

merged to master

@itholic The JIRA iD in the title seems to be wrong?

Oops.. Updated. Thanks, @ueshin !


Tracker for changes addressed by mapping guide review

[x] Remove country_iso3 (country of study site) from subject
[x] Change admission_date to earliest_admission_date (use combinedType min)

[x] allow the required field to be either enrolment_date or earliest_admission_date
~Create issue for sex_at_birth - some studies have just 'sex' rather than sex at birth and include fields e.g. non-binary, transgender. What's the best way of dealing with this from a clinical data POV?~ Most of the 'non-binary' entries were mistranslations from Not Known. Places where 'trans' etc are present in the data dict do not have those values present in the data.

[x] change pregnancy_gestational_outcome_weeks to pregnancy_gestational_age_weeks
[x] Convert has_immunosuppression_therapy_treatment to has_immunosuppression, inferred from either direct data or someone taking immunosuppressants. Taking immunosuppressants would then be recorded as a pre-admission med in future.
[x] create general type out of treatment_cardiovascular
~add delirium to observations~ - Delirium is only recorded once so far, in conjunction with delirium, so passed on this for now.
[x] change pneumonia observation to indicate all types, with context for viral, bacteria, on oxygen
[x] use mmHg as default unit for paO2, pCO2
[x] drop time_of_admission
[x] move transferred_from_another_facility into visit
[x] make guide a ReStructured text doc to include links.

I like this .. and I think very useful.


How to decode the UploadFile when read in async way?

First check

[ ] I added a very descriptive title to this issue.
[ ] I used the GitHub search to find a similar issue and didn't find it.
[ ] I searched the FastAPI documentation, with the integrated search.
[ ] I already searched in Google "How to X in FastAPI" and didn't find any information.
[ ] I already read and followed all the tutorial in the docs and didn't find an answer.
[ ] I already checked if it is not related to FastAPI but to Pydantic.
[ ] I already checked if it is not related to FastAPI but to Swagger UI.
[ ] I already checked if it is not related to FastAPI but to ReDoc.
[ ] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example

from fastapi import FastAPI,  UploadFile

@app.post("/uploadfile/")
async def create_upload_file(
file: UploadFile = File(...)
):

    contents = await file.read()
    return {"contents": contents}

Description

my UploadFile  is coded in GBK， bug Fastapi's default is utf8， so when I read the UploadFile  ,I got the error:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte
how can I decode the UploadFile in my own way?
Environment

OS:  Windows
FastAPI Version : 0.45.0

To know the FastAPI version use:
python -c "import fastapi; print(fastapi.__version__)"

Python version:Python 3.6.3

To know the Python version use:
python --version

Additional context

Was it resolved by any chance?

i happen same problem in fastapi-0.75.2 that i upload .wav file ，

我在 fastapi0.86.0 中用GB2312的文本文件或者二进制文件测试：
content = await file.read()
print(type(content))  # <class 'bytes'>

结果都是bytes， 没有遇到str的情况。我直接用wb+写入后可以正常使用
但是当我开启 vscode 的 type checking on后
会遇到警告：Type "bytes | str" cannot be assigned to type "bytes", "str" is incompatible with "bytes"
🤔


the Process  of parent smo cannot be skipped

The setting in "Register Process.vi" works incorrectly, while doing the inheritence.
I set "forces self to run" in the parent process to false, and set "parent call" of the child process to "does not request parent to run", but the parent always runs (it should goes to exiting case in state "Process: Sync", am I right?)
It seems the problem is in "WaitOnProcessSync.vi". Shall we check whether the process can run in the default case, just as what we do in case "Started" ?

Thanks for your report. I know this was working in an earlier version and I don't have a unit test to validate this. Would you happen to have some code you could share that reproduces the issue? I'd like to create a unit test for this specific case.
It should be possible to do what you describe.
The WaitOnProcessSync checks if the process caller is still valid only on sync'ing to Stop the process. This is why there is extra code in the "Started" case. The issue that could happen otherwise is that you try to wait for sync for a VI that has been killed preemptively and is out of memory, causing a deadlock situation. The other case (Default) is for ProcessSync to Start the process.
At first glance, I believe I see that the ProcessSync will never return "True" in the Default case, which is the problem. The Process Sync should get a message to inform it that itself should not run...
If I'm not mistaken, this might do it:
1- In Register Process.vi
(We replace the Notifier constant with a valid notifier and a SkipSelf=true boolean)

2- In ProcessSync.vi
(We check to see if StopSelf = true when we destroy the notifier)

Can you check if those simple changes work for you?
If so, I'll include those in the next build.

OK, I made a quick unit test class and here's the fix:
In Register Process.vi, the notifier needs to be initialized to True when process is to be overwritten.

This results in "Don't Run?" = TRUE, which prevents loop from running.
With a simplified State Machine process VI, here's what it looks like:

That will be fixed in the next build.


how i deploy the xmodel on cpu？

when i get a xmodel, there is a OP which should be running on CPU.
but I dont know how to deploy a OP on CPU, is there a example for us to follow?
Thanks!

https://github.com/Xilinx/Vitis-AI/tree/master/tools/Vitis-AI-Runtime/VART/plugin-samples/samples/plugin-smfc-cpu
This might help

https://github.com/Xilinx/Vitis-AI/tree/master/tools/Vitis-AI-Runtime/VART/plugin-samples/samples/plugin-smfc-cpu
This might help

Thanks for your quickly reply, I mentioned that  Vitis Ai  2.0 is available ， so is there a new pdf for reading？

Hi @white0dew
Yes.
For Vitis AI 2.0 user guide, you can refer to : https://docs.xilinx.com/r/en-US/ug1414-vitis-ai
For pdf version, refer to : http://www.xilinx.com/support/documentation/sw_manuals/vitis_ai/2_0/ug1414-vitis-ai.pdf
BTW, you can also refer to https://github.com/Xilinx/Vitis-AI/tree/master/demo/Custom_OP_Demo to deploy the OP on cpu.