feat(shorthand): Custom shorthand proptypes

This adds a few new customPropTypes (took some code and ideas from #452, thanks @levithomason :+1:). It's very much WIP but wanted to get it up and get some feedback before I go too crazy here. The new propTypes are:

itemShorthand

disallows children
one of: string, number, object, element

arrayOfShorthand (better name?)

disallows children
arrayOf(itemShorthand)

collectionShorthand

disallows children
one of: arrayOfShorthand, object, element

nodeShorthand

disallows children
node

The large majority of our components have a content prop that can be rendered in place of the children. This was validated differently in various components as strings/numbers/elements, but really it can be any renderable thing. This is where the nodeShorthand came from. We could theoretically just use node but I wanted to be able to disallow children.
I also wound up simplifying/standardizing the doc blocks for common propTypes (there was like 10 ways we described the className prop haha). I did it via regex so it's super easy to change so let me know if you think the descriptions could be improved.
Open questions:

We double-disallow right now, e.g. content disallows children, children disallows content. Is there anything wrong with only disallowing on one side? Assuming all shorthands disallow children, children could just be PropTypes.node which is definitely simpler. Currently it's a customPropType that disallows any shorthands (inferring which are shorthand props from Component.propTypes)

cc @levithomason @layershifter

Current coverage is 100% (diff: 100%)

No coverage report found for master at e010928.

Powered by Codecov. Last update e010928...c5ec8e3

Ah!  So pumped to see this :D  I'm in agreement with everything noted in this PR.  These exact items were on my bucket list.

Is there anything wrong with only disallowing on one side? Assuming all shorthands disallow children, children could just be PropTypes.node which is definitely simpler.

Yes please!  One way disallow is perfect, children can just be node.
Icon/Image
I also had an icon and image shorthand prop type that disallowed the other, #452.  That way you can only add an icon or an image but not both.  This is applicable in places like Label and Header.  Can't recall where else if any.

May be some shorter names?

itemShorthand => item
arrayOfShorthand => items
collectionShorthand => collection
nodeShorthand => content (nodeShorthand only used on content prop as I see)

It will look good with icon and image.

Can we also close #452 with this PR?  It pretty much covers the rest of that one.  The only remaining prop of concern is childKey, and that will get handled when do the collection factory I'm sure.

Apologies for the long PR, but I don't think there's a great way to break it up and most of the changed lines are just comments. FWIW, I ran specs before/after and there were the same number of warnings, so I'm pretty confident this didn't introduce any regressions in prop validations.
This is ready for review now, but let's hold off on merging until #619 since there are going to be a ton of merge conflicts.
TODO on separate PRs:

There are some components that were too complicated to try to unwind so I didn't apply the custom prop types there. Dropdown and Button are the main two. I think there's work to be done to try to simplify the logic there, if only to make it more clear to us what's going on.
Audit components that are rendering children + shorthand (e.g. DropdownItem, Message, FeedEvent) and see if we can refactor to avoid it.
We currently have a factory function that convertscustomPropTypes.item => Component. It would be nice to also have one that converts customPropTypes.items => [Component, Component, ...].

Bump, this is ready for conflict resolutions. Good luck my friend 🎱

@levithomason - Already rebased and handled the conflicts 😄 This is ready for final review 👍

Oh snap!  I'm on it, wanna trade me reviews?  #552 factory tests :)

See that last comment regarding the need for the four types. I'm going to rename the others, but I'm struggling to think of a clear naming distinction between the items and collection. In this case, a "collection" is an item/entity that has a set of "items" and "items" is the array of items. However, arrays are commonly referred to as "collections" so it's kinda confusing.
What are your thoughts on adding array as a valid type of itemShorthand? An array is technically a valid "node" in that it's renderable wherever a string/number/element is renderable. I could see a user wanting to pass sibling elements as shorthand without a wrapping div (I actually did that in search: https://github.com/TechnologyAdvice/stardust/blob/master/src/modules/Search/SearchResult.js#L18-L27)
It could be up to the the component's create function how it wanted to handle a given literal. For example when passing non-arrays to TableRow.create it could either cast it to an array or throw. This also lines up with the createShorthand factory which treats string/number/array the same. It's also possibly more consistent since TableRow.create(items) is technically creating an item, not a collection/array.
This would mean that there'd be the following prop validations:

contentShorthand - node/element
itemShorthand - array/number/string/props-object/element
collectionShorthand - arrayOf(itemShorthand)

Hate to throw a curveball like this after a PR has gone through review, but my gut is telling me maybe just those three would be sufficient and we can split out a itemWithCollection proptype later.
Thoughts?

Appended Shorthand to all of the current shorthand prop types for now. LMK what you think about my last comment re: collapsing what is now collectionShorthand into itemShorthand and using collectionShorthand for the arrayOf(itemShorthand) like items and cells.

This would mean that there'd be the following prop validations:

contentShorthand - node/element

itemShorthand - array/number/string/props-object/element
collectionShorthand - arrayOf(itemShorthand)

This seems correct to me, since it mirrors the createShorthand factory's supported types.
I also note that since we've expanded it's ability and definition quite a bit, itemShorthand is actually node/object now.  Since node includes numbers, strings, elements or an array (of any of these).  That being the case, contentShorthand is also just node since node it includes elements.  So, I think we're left with:

contentShorthand - node
itemShorthand - node/object
collectionShorthand - arrayOf(itemShorthand)

Where we're actually just adding object to the valid types.

👍  just made the updates. Once the specs pass I think we're cool to merge

Sounds good, will do.


Add check for valid account in balance precheck

Signed-off-by: Nana-EC<EMAIL_ADDRESS>Description:

Add logic to check for a valid account returned from mirror node
Return resource not found on 404
Add log in acceptance test to show expected evm address

Related issue(s):
Fixes #446
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report

Merging #447 (27c7b4d) into main (152781c) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #447      +/-   ##
==========================================
+ Coverage   76.38%   76.46%   +0.07%
==========================================
  Files          12       12
  Lines         919      922       +3
  Branches      142      143       +1
==========================================
+ Hits          702      705       +3
  Misses        165      165
  Partials       52       52

Impacted Files
Coverage Δ

packages/relay/src/lib/precheck.ts
90.54% <100.00%> (+0.39%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Improve compatibility with Julia 0.4

Added VERSION check to avoid redefine types and functions in base.jl
This fixes http://discuss.junolab.org/t/problem-getting-0-4-working/270.

Basically looks good, just wandering if there's a particular reason you changed the ordering (e.g. for HTML(xs...))?

No, no reason, really. I was just moving functions one by one and didn't notice I changed the order :(
Want me to put them in the right order? I can do that pretty fast ^_^

Yeah that would be great if you can, just makes things a little clearer I think.

Ordering fixed :)

Awesome, thanks for having a go at this :)


aws-c-io: 0.13.3 -> 0.13.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/aws-c-io/versions.
meta.description for aws-c-io is: "AWS SDK for C module for IO and TLS"
meta.homepage for aws-c-io is: "https://github.com/awslabs/aws-c-io"
meta.changelog for aws-c-io is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.13.4 with grep in /nix/store/8nahlzlk62ywgarivgbpi9mcspw7113i-aws-c-io-0.13.4
found 0.13.4 in filename of file in /nix/store/8nahlzlk62ywgarivgbpi9mcspw7113i-aws-c-io-0.13.4

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

280 total rebuild path(s)

280 package rebuild(s)

First fifty rebuilds by attrpath
appvm
arrow-cpp
arrow-glib
aws-c-auth
aws-c-event-stream
aws-c-http
aws-c-io
aws-c-mqtt
aws-c-s3
aws-crt-cpp
aws-sdk-cpp
bundix
cabal2nix
cached-nix-shell
cachix
colmena
comma
common-updater-scripts
crate2nix
crystal2nix
dep2nix
dydisnix
fusionInventory
gnome.gnome-packagekit
gnome.gnome-software
gnome.simple-scan
go2nix
haskellPackages.cabal2nix-unstable
haskellPackages.cachix
haskellPackages.hercules-ci-agent
haskellPackages.hercules-ci-cli
haskellPackages.hercules-ci-cnix-expr
haskellPackages.hercules-ci-cnix-store
haskellPackages.nix-paths
haskellPackages.nvfetcher
haskellPackages.update-nix-fetchgit
hci
hercules-ci-agent
home-assistant-component-tests.environment_canada
home-manager
hydra_unstable
intensity-normalization
libnixxml
libsForQt5.discover
libsForQt5.packagekit-qt
libsForQt512.discover
libsForQt512.packagekit-qt
libsForQt514.discover
libsForQt514.packagekit-qt
libsForQt515.discover

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8nahlzlk62ywgarivgbpi9mcspw7113i-aws-c-io-0.13.4 \
  --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 aws-c-io https://github.com/r-ryantm/nixpkgs/archive/a750713b5e8331b523d199f45a8f4879bec85496.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8nahlzlk62ywgarivgbpi9mcspw7113i-aws-c-io-0.13.4
ls -la /nix/store/8nahlzlk62ywgarivgbpi9mcspw7113i-aws-c-io-0.13.4/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 took longer than 45m and timed out

Maintainer pings
cc @orivej for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/aws-c-io/versions.
meta.description for aws-c-io is: "AWS SDK for C module for IO and TLS"
meta.homepage for aws-c-io is: "https://github.com/awslabs/aws-c-io"
meta.changelog for aws-c-io is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.13.5 with grep in /nix/store/9b6fwkyvwjpdrgc9x07drvi3a0zh1xg9-aws-c-io-0.13.5
found 0.13.5 in filename of file in /nix/store/9b6fwkyvwjpdrgc9x07drvi3a0zh1xg9-aws-c-io-0.13.5

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

281 total rebuild path(s)

281 package rebuild(s)

First fifty rebuilds by attrpath
appvm
arrow-cpp
arrow-glib
aws-c-auth
aws-c-event-stream
aws-c-http
aws-c-io
aws-c-mqtt
aws-c-s3
aws-crt-cpp
aws-sdk-cpp
bundix
cabal2nix
cached-nix-shell
cachix
colmena
comma
common-updater-scripts
crate2nix
crystal2nix
databricks-sql-cli
dep2nix
dydisnix
fusionInventory
gnome.gnome-packagekit
gnome.gnome-software
gnome.simple-scan
go2nix
haskellPackages.cabal2nix-unstable
haskellPackages.cachix
haskellPackages.hercules-ci-agent
haskellPackages.hercules-ci-cli
haskellPackages.hercules-ci-cnix-expr
haskellPackages.hercules-ci-cnix-store
haskellPackages.nix-paths
haskellPackages.nix-serve-ng
haskellPackages.nvfetcher
haskellPackages.update-nix-fetchgit
hci
hercules-ci-agent
home-assistant-component-tests.environment_canada
home-manager
hydra_unstable
intensity-normalization
libnixxml
libsForQt5.discover
libsForQt5.packagekit-qt
libsForQt512.discover
libsForQt512.packagekit-qt
libsForQt514.discover

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9b6fwkyvwjpdrgc9x07drvi3a0zh1xg9-aws-c-io-0.13.5 \
  --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 aws-c-io https://github.com/r-ryantm/nixpkgs/archive/399a34599a9d6c27053e66d1bf47cd978b362fa1.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9b6fwkyvwjpdrgc9x07drvi3a0zh1xg9-aws-c-io-0.13.5
ls -la /nix/store/9b6fwkyvwjpdrgc9x07drvi3a0zh1xg9-aws-c-io-0.13.5/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.
Result of nixpkgs-review run on x86_64-linux 1

13 packages marked as broken and skipped:

intensity-normalization
libsForQt512.discover
libsForQt514.discover
python310Packages.caffe
python310Packages.caffeWithCuda
python310Packages.imgaug
python310Packages.intensity-normalization
python310Packages.mask-rcnn
python310Packages.rl-coach
python39Packages.imgaug
python39Packages.intensity-normalization
python39Packages.mask-rcnn
python39Packages.rl-coach

243 packages failed to build:

appvm
arrow-cpp
arrow-glib
aws-c-auth
aws-c-http
aws-c-mqtt
aws-c-s3
aws-crt-cpp
aws-sdk-cpp
bundix
cabal2nix
cached-nix-shell
cachix
colmena
comma
common-updater-scripts
crate2nix
crystal2nix
databricks-sql-cli
dep2nix
discover (libsForQt5.discover)
dydisnix
fusionInventory
gnome.gnome-packagekit
gnome.gnome-software
gnome.simple-scan
go2nix
hci
hercules-ci-agent
home-assistant-component-tests.environment_canada
home-manager
hydra-unstable (hydra_unstable)
libnixxml
libsForQt5.packagekit-qt
libsForQt512.packagekit-qt
libsForQt514.packagekit-qt
lispPackages.quicklisp-to-nix
lispPackages.quicklisp-to-nix-system-info
napari (python310Packages.napari)
nil
nix (nixFlakes ,nixStable ,nixUnstable)
nix-binary-cache
nix-bundle
nix-direnv (nix-direnv-flakes)
nix-doc
nix-du
nix-eval-jobs
nix-index
nix-pin
nix-plugins
nix-prefetch
nix-prefetch-bzr
nix-prefetch-cvs
nix-prefetch-docker
nix-prefetch-git
nix-prefetch-hg
nix-prefetch-scripts
nix-prefetch-svn
nix-review (nixpkgs-review)
nix-serve
nix-simple-deploy
nix-template
nix-update
nix-update-source
nixVersions.nix_2_10
nix_2_3 (nixVersions.nix_2_3)
nixVersions.nix_2_7
nixVersions.nix_2_8
nixVersions.nix_2_9
nixos-generators
nixos-install-tools
nixos-option
nixos-rebuild
nixos-shell
node2nix
npins
nuget-to-nix
nvfetcher
openai (python310Packages.openai)
openai-whisper (python310Packages.openai-whisper)
packagekit
pantheon.appcenter
pantheon.elementary-onboarding
parquet-tools
prefetch-yarn-deps
python310Packages.apache-beam
python310Packages.aplpy
python310Packages.batchgenerators
python310Packages.boxx
python310Packages.bpycv
python310Packages.bsuite
python310Packages.casa-formats-io
python310Packages.clifford
python310Packages.dalle-mini
python310Packages.dask
python310Packages.dask-gateway
python310Packages.dask-glm
python310Packages.dask-image
python310Packages.dask-jobqueue
python310Packages.dask-ml
python310Packages.dask-mpi
python310Packages.dask-yarn
python310Packages.databricks-sql-connector
python310Packages.datafusion
python310Packages.datasets
python310Packages.datashader
python310Packages.db-dtypes
python310Packages.devito
python310Packages.distributed
python310Packages.dm-sonnet
python310Packages.dremel3dpy
python310Packages.env-canada
python310Packages.glymur
python310Packages.google-cloud-bigquery
python310Packages.handout
python310Packages.ibis-framework
python310Packages.image-match
python310Packages.imagecorruptions
python310Packages.imageio
python310Packages.intake
python310Packages.intake-parquet
python310Packages.moviepy
python310Packages.napari-console
python310Packages.napari-svg
python310Packages.nix-kernel
python310Packages.nixpkgs
python310Packages.pandas-stubs
python310Packages.pims
python310Packages.psd-tools
python310Packages.pyarrow
python310Packages.pyfftw
python310Packages.pythonix
python310Packages.qiskit
python310Packages.qiskit-machine-learning
python310Packages.recordlinkage
python310Packages.rlax
python310Packages.runway-python
python310Packages.scikitimage
python310Packages.shap
python310Packages.slicedimage
python310Packages.spacy-transformers
python310Packages.sparse
python310Packages.spectral-cube
python310Packages.stanza
python310Packages.streamz
python310Packages.stumpy
python310Packages.stytra
python310Packages.sunpy
python310Packages.tensorflow-datasets
python310Packages.tensorly
python310Packages.test-tube
python310Packages.tifffile
python310Packages.tokenizers
python310Packages.transformers
python310Packages.vqgan-jax
python310Packages.zcs
python39Packages.apache-beam
python39Packages.aplpy
python39Packages.batchgenerators
python39Packages.boxx
python39Packages.bpycv
python39Packages.bsuite
python39Packages.caffe
python39Packages.caffeWithCuda
python39Packages.casa-formats-io
python39Packages.clifford
python39Packages.dalle-mini
python39Packages.dask
python39Packages.dask-gateway
python39Packages.dask-glm
python39Packages.dask-image
python39Packages.dask-jobqueue
python39Packages.dask-ml
python39Packages.dask-mpi
python39Packages.dask-yarn
python39Packages.databricks-sql-connector
python39Packages.datafusion
python39Packages.datasets
python39Packages.datashader
python39Packages.db-dtypes
python39Packages.devito
python39Packages.distributed
python39Packages.dm-sonnet
python39Packages.dremel3dpy
python39Packages.env-canada
python39Packages.glymur
python39Packages.google-cloud-bigquery
python39Packages.handout
python39Packages.ibis-framework
python39Packages.image-match
python39Packages.imagecorruptions
python39Packages.imageio
python39Packages.intake
python39Packages.intake-parquet
python39Packages.moviepy
python39Packages.napari
python39Packages.napari-console
python39Packages.napari-svg
python39Packages.nix-kernel
python39Packages.nixpkgs
python39Packages.openai
python39Packages.openai-whisper
python39Packages.pandas-stubs
python39Packages.pims
python39Packages.psd-tools
python39Packages.pyarrow
python39Packages.pyfftw
python39Packages.pythonix
python39Packages.qiskit
python39Packages.qiskit-machine-learning
python39Packages.recordlinkage
python39Packages.rlax
python39Packages.runway-python
python39Packages.scikitimage
python39Packages.shap
python39Packages.slicedimage
python39Packages.spacy-transformers
python39Packages.sparse
python39Packages.spectral-cube
python39Packages.stanza
python39Packages.streamz
python39Packages.stumpy
python39Packages.stytra
python39Packages.sunpy
python39Packages.tensorflow-datasets
python39Packages.tensorly
python39Packages.test-tube
python39Packages.tifffile
python39Packages.tokenizers
python39Packages.transformers
python39Packages.vqgan-jax
python39Packages.zcs
rnix-lsp
streamlit
system-config-printer
tartube
tartube-yt-dlp
terranix
update-nix-fetchgit
update-python-libraries
vulnix
wp4nix
yarn2nix

2 packages built:

aws-c-event-stream
aws-c-io

Maintainer pings
cc @orivej for testing.


Continuous YT crash while watching Shorts

In New microg, YT is keep crashing while watching shorts. During Shorts, it crashes after watching 7-8 shorts and attempt automatically restart. I've tried on 2 devices but same result. Also tried clean install microg+ YT.
Need a fix for that.

https://github.com/ReVanced/revanced-patches/issues/2966#issuecomment-2037158254


Become familiar with AWS DynamoDB and its practical uses.

This is a subtask of https://github.com/ballerina-platform/ballerina-standard-library/issues/4827

This is done. Design doc: https://docs.google.com/document/d/1Aj55Pxy_L-YYA4-Jun3VAoTQnBh72oXeJSHoOrD8Gaw/edit?usp=sharing


Descriptors for Exceptions that a Command may raise.

The error codes and their meanings makes up for a large portion of what device-implementations need to document for developers of host-implementations. Kind of the "raises" section in python docstrings.
Consider whether names of error codes should be allowed to contain whitespace or not: Are they meant as human readable message, or are they meant as enum-value-names?

Thanks to the improvements obtained in #21, we should certainly allow this.
The reason being, that custom error codes are much more valuable if their meaning is documented.
(Lesson learned from the "Architecting a Bridge" manifesto: Automate documentation!)
Note how there's no need to make this mandatory. Firmware developers who do not need this feature can just omit it.

We should also consider renaming CommandErrorCodes into simply Exceptions with attributes id and name

Not happy with my first attempt at all:

Uses a mix of IntEnum and HdcCommandException-class which makes for quite unreadable usages.
Not using instances, but classes of HdcCommandException makes it even less readable.
Not dealing with the optionality of the raises attribute of the Command descriptor.

So my next attempt is for the constructor of CommandProxyBase to harmonize all the exceptions into instances of HdcCommandException (or subclasses thereof).
I'm doing this before the massive changes that #24 will cause, because it might be easier to rewrite code that follows the same pattern for Exceptions as for Arguments etc.


hotfix for broken youtube content

changes util.TableToJSON(media._metadata.extra) to ""
quick fix for https://github.com/samuelmaddock/gm-mediaplayer/issues/56

I already included a fix for this in my pr that fixes some other issues in https://github.com/samuelmaddock/gm-mediaplayer/pull/55

PrintTable(media)

-----------------

_Owner	=	Player [1][[Sk$Bh]Trick or treat KID!]
_OwnerName	=	[Sk$Bh]Trick or treat KID!
_OwnerSteamID	=	STEAM_0:1:13929206
_StartTime	=	95.020797729492
_data	=	G3uQcxdyAA0
_id	=	yt-G3uQcxdyAA0
_istimed	=	true
_metadata:
		duration	=	916
		queueTime	=	93.945495605469
		thumbnail	=	https://i.ytimg.com/vi/G3uQcxdyAA0/maxresdefault.jpg
		title	=	We Broke a $1 Million Off Road Camper
_playing	=	true
url	=	https://www.youtube.com/watch?v=G3uQcxdyAA0
urlinfo:
		authority	=	www.youtube.com
		host	=	www.youtube.com
		path	=	/watch
		query:
				v	=	G3uQcxdyAA0
		scheme	=	https
videoId	=	G3uQcxdyAA0

Closing in favor of https://github.com/samuelmaddock/gm-mediaplayer/pull/55


Init Graph

When the output is initialised, check if helper nodes are already present.

IS_RUNNING entry to traverse to all running containers
WAS_FAULTY container which exited w/ EC!=0
WAS_OK container which exited w/ EC==0
...

done


added dev-docs for vdo.ai bidder adapter

Hi
Are these docs related to a prebid.js PR?

Hi @MartianTribe ,
Yes these are related to this prebid.js PR - 4814

Released with 3.10


Does not work with Oauth2 in TB 38

Thunderbird 38 introduced Oauth2 authentication for Gmail accounts.
When selecting a message, you will see an error that says:

closing socket 2
1 NO Empty username or password

You can work around this for now by not using Oauth2. There are a couple things you need to change. In you google account setting (this is under regular google account settings, not gmail settings), under Sign-in and Security > Connected Apps & Sites you need to enable less secure apps.

If you have been using Thunderbird for a while, this is probably already on.
Then in your Thunderbird Server Settings for your gmail account, you need to change the Authentication Method from Oauth2 to Normal Password

Then restart Thunderbird.

And what if I DO NOT WANT to enable less secure apps?

You have some options.

Add this feature yourself (and send me a pull request)
Hire someone to add this feature (and have him/her seed me a pull request)
Wait for someone else to add this feature (and send me a pull request)
Wait for me to add this feature (not a high priority for me right now, but I will probably get around to it eventually)
Don't use this addon

Or just update to 38.01 ;D

@ChezRD Even in Thunderbird 42.0 the workaround from @dlech was necessary. After restarting Thunderbird the issue did not occur anymore.


Update README.md

Add clarification for FamilyControls and fix sample code typo.

Thank you @NoodleOfDeath !
Just committed your suggestions.

Feel free to merge!

@NoodleOfDeath I think only you can merge.

Huh, you should be able to, but I'll go ahead and


Make barrels be made at a gunsmith's workshop

Using fuel

There is a note saying they are made at a metalsmith's forge in the barrels readme

Don't forget to do #95 for this


feat: support sn-operator-all deploy

This has been migrated there
https://github.com/streamnative/cloud-infrastructure-applications/tree/master/olm-subscriptions

Thanks, we can close it


Dynamically changing/setting arrow size of an edge

Is your feature request related to a problem? Please describe.
Being able to dynamically set arrow size without affecting the edge size (by dynamically I mean allow the user to do via input)
Describe the solution you'd like
Something close to the canvas solution we previously had in v1 (canvas version) maybe?
<SigmaContainer
                        settings={{
                            nodeProgramClasses: {image: getNodeProgramImage(), circle: CircleNodeProgram},
                            edgeProgramClasses: {
                                arrow: ArrowEdgeProgram,
                            },
                            minArrowSize: 100, //here the minArrowSize can be dynamically set
                            ...graphSettings,
                        }}
                        style={{height: '100%', background: props.noBackground ? 'white' : mainBackgroundColor}}
                    >

This is not related to react-sigma but to sigma.
Please open a request feature ticket on the Sigma repo directly.

For anyone wondering in the future, I posted this answer here:
https://stackoverflow.com/questions/74287062/how-to-dynamically-change-set-arrow-size-of-an-edge-in-sigma-v2/74287630#74287630


Accept crypto for donations

I have a lot to donate if that's open.

Thank you for your interest in donating! We're excited to share that we now accept cryptocurrency donations. What type of cryptocurrency were you considering donating? We appreciate your support!

Would USDT be fine?

USDT would be fine! This is the public address of our Ethereum wallet for receiving donation: 0x410E007d04F55Dac03DeeAc0Ea73d231E56b3502

Sent. Let me know if it arrives properly

Thank you for your support! I have received the money

@ayaka14732 you're doing amazing work, appreciate it!


Checkboxes don't act like material widgets

 Issue by Hixie
Friday Jul 17, 2015 at 22:45 GMT
Originally opened as https://github.com/flutter/engine/issues/104

From @Hixie on May 12, 2015 19:25
The checkbox control doesn't have a splash around it when you tap it.
Copied from original issue: domokit/mojo#163

 Comment by Hixie
Friday Jul 17, 2015 at 22:45 GMT

From @eseidelGoogle on June 8, 2015 20:15
Fixed, no?

 Comment by Hixie
Friday Jul 17, 2015 at 22:45 GMT

From @collinjackson on June 8, 2015 22:15
I think ink splashes aren't implemented generally. Happy to work on that

@abarth did this recently.


ALB log: ValueError: dict contains fields not in fieldnames: 'geo_city'

Describe the bug
When I create an ALB log ingestion pipeline, the LogProcessorFn lambda will show the error message.
[INFO]	2023-05-04T02:52:19.006Z	f8db5eae-3aed-5f68-aa21-02631af441d6	Export failed records to xxxxx
[8:42 PM] [ERROR] ValueError: dict contains fields not in fieldnames: 'geo_city'
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 102, in lambda_handler
    status_code = export_failed_records(
  File "/var/task/lambda_function.py", line 150, in export_failed_records
    body = write_to_csv(failed_records)
  File "/var/task/lambda_function.py", line 130, in write_to_csv
    writer.writerow(record)
  File "/var/lang/lib/python3.9/csv.py", line 154, in writerow
    return self.writer.writerow(self._dict_to_list(rowdict))
  File "/var/lang/lib/python3.9/csv.py", line 149, in _dict_to_list
    raise ValueError("dict contains fields not in fieldnames: "

Expected Behavior
The logs can be exported to S3, if not being ingested into OpenSearch correctly.
Current Behavior
Data not exported to S3, and error message in CloudWatch Logs.
Solution Version
v1.0.1
AWS Region. e.g., us-east-1
us-east-1

Root Cause
The log pipeline used MaxMind database to convert and IP address into Geo location. In some corner cases, the MaxMind database did not return geo_city information.
Quick Fix

Find the Lambda provisioned by this solution, and the Lambda name should contains LogProcessorFn.
Open the lambda_function.py on the AWS Lambda console.
Find the line fieldnames = json_records[0].keys(). It should be around line 126.
Replace with the following code

fieldnames = set(json_records[0].keys()) | {
        "geo_iso_code",
        "geo_location",
        "geo_country",
        "geo_city",
}

Mitigation plan
We will fix this issue in next release.

fixed in v2 https://github.com/aws-solutions/centralized-logging-with-opensearch/releases/tag/v2.0.0


Fix broken path in deploy example command

hello_fiddle has moved from src/ to src-fiddles/, and I'm updating the README to match

After talking with the community we decided to roll back this change.
User code is now placed in src/ again.
Thank you for this PR and sorry for the confusion.

No problem, and thanks for the explanation! I've been off slack for a little while, but agree with this change. Feels neater.


Fix region init timeout

We forgot a multiplication by time.Minute, so we were ending up with 60s + 50ns instead of 60s + 50min. Fix.

/lgtm


Clean up so we just have one function for creating symlinks (and it takes AbsolutePath parameters)

Rename the symlink() function that doesn't have POSIX semantics to
createSymlink() to be a bit less confusing and also match the other
freestanding filesystem-related functions.  Also transition away from
the other symlink() function that also doesn't have POSIX
semantics.  That function's API never made sense anyway since it took
three paths, the last one being the root relative to which the
paths should be made relative.  But this doesn't make sense, because
a symlink with a relative target path must necessarily be relative to
the directory containing the symlink (that's how they work).
This also lets us get rid of one more function from the POSIX module.

@swift-ci please test

Yay! +1

Waiting for CI tests to finish.


When Texture mode is set to Video RAM, Mipmaps setting is not respected

Godot version:

3.0 4700f2d79
OS/device including version:

Fedora 27
Linux 4.14.14-300.fc27.x86_64
Nvidia Geforce GTX 1050 (mobile) Driver 384.111
Issue description:

In a textures import options following is set:

mode - video ram
detect 3d - false
mipmap - false
The resulting texture will always contain a mipmap.

Is this a limitation of the texture format? Should this be communicated via message?

Steps to reproduce:
In the test project:

Select a png.
In the Import options toggle "Lossles" or "Video Ram"
Mipmaps should be disabled
Select any note in the tree (to update the node inspector)
Double click the png in the file navigator to pop up the texture in the inspector.
You will find that it always has a mipmap in Video Ram mode, regardless of the Mipmap setting during import

Minimal reproduction project:

issue_vieport_sampling_ok.zip

Running into this one as well, I have to use "Uncompressed" to avoid the problem.

according to the source:
if (p_mipmaps || p_compress_mode == COMPRESS_VIDEO_RAM) //VRAM always uses mipmaps 		format |= StreamTexture::FORMAT_BIT_HAS_MIPMAPS; //mipmaps bit
editor\import\resource_importer_texture.cpp line 223

That's really weird...

Good find @playster000  I tracked it down to
https://github.com/godotengine/godot/commit/2cd2ca7bbc892eccc635b1c4aea80c956c9b92dc#diff-76b5a5798da421c090ea0b7cc9ebf7ceR87
@reduz could you shed some light on this? Is it still necessary?

@bfloch @reduz And if it is necessary, the fix is to not allow disabling Mipmap when using VRAM textures.

Yeah, GLES2/WebGL does not support compression without mipmaps. I can make the option disappear when VRAM is selected I guess?

This is a duplicate of #10221, and if it's a GLES limitation then the mipmap toggle should definitely disappear to avoid confusing people.

Closing as duplicate of #10221.


Build error when checking out mingw_stdthreads-src

Small note that I am doing this on Debian 10 Buster, following the instructions in the readme, and I have essentially no experience with CMake myself. I originally used WSL1 but tested with WSL2 and on a different machine to verify the bug.
The error seems to indicate it likely isn't related to any specific Debian release.
The important part seems to be:
[ 11%] Creating directories for 'mingw_stdthreads-populate'
[ 22%] Performing download step (git clone) for 'mingw_stdthreads-populate'
Cloning into 'mingw_stdthreads-src'...
fatal: reference is not a tree: c01463398bd2b09c2afa0cd06c12d7b1cc8a470d
CMake Error at mingw_stdthreads-subbuild/mingw_stdthreads-populate-prefix/tmp/mingw_stdthreads-populate-gitclone.cmake:40 (message):
  Failed to checkout tag: 'c01463398bd2b09c2afa0cd06c12d7b1cc8a470d'

And for completeness here's the full log:
Click to view full log
erisa@Tuturu:~/windows-fido-bridge/build$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Executing inside WSL: ON
-- Version: 7.0.1
-- Build type: Release
-- CXX_STANDARD: 20
-- Performing Test has_std_20_flag
-- Performing Test has_std_20_flag - Failed
-- Performing Test has_std_2a_flag
-- Performing Test has_std_2a_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Looking for strtod_l
-- Looking for strtod_l - not found
-- Build spdlog: 1.7.0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Build type: Release
-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/erisa/windows-fido-bridge/build
erisa@Tuturu:~/windows-fido-bridge/build$ make -j16
Scanning dependencies of target nested_windows
Scanning dependencies of target fmt
Scanning dependencies of target gtest
[  2%] Creating directories for 'nested_windows'
[  7%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/format.cc.o
[  7%] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
[  9%] No download step for 'nested_windows'
[ 11%] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 14%] No update step for 'nested_windows'
[ 16%] No patch step for 'nested_windows'
[ 19%] Performing configure step for 'nested_windows'
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/x86_64-w64-mingw32-gcc
-- Check for working C compiler: /usr/bin/x86_64-w64-mingw32-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++
[ 21%] Linking CXX static library libfmt.a
-- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++ -- works
-- Detecting CXX compiler ABI info
[ 21%] Built target fmt
Scanning dependencies of target spdlog
[ 26%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/spdlog.cpp.o
[ 26%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/stdout_sinks.cpp.o
[ 30%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/file_sinks.cpp.o
[ 30%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/color_sinks.cpp.o
[ 33%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/async.cpp.o
[ 35%] Building CXX object _deps/spdlog-build/CMakeFiles/spdlog.dir/src/cfg.cpp.o
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Executing inside WSL: ON
make[3]: Entering directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
make[4]: Entering directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
make[5]: Entering directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
Scanning dependencies of target mingw_stdthreads-populate
make[5]: Leaving directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
make[5]: Entering directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
[ 11%] Creating directories for 'mingw_stdthreads-populate'
[ 22%] Performing download step (git clone) for 'mingw_stdthreads-populate'
Cloning into 'mingw_stdthreads-src'...
fatal: reference is not a tree: c01463398bd2b09c2afa0cd06c12d7b1cc8a470d
CMake Error at mingw_stdthreads-subbuild/mingw_stdthreads-populate-prefix/tmp/mingw_stdthreads-populate-gitclone.cmake:40 (message):
  Failed to checkout tag: 'c01463398bd2b09c2afa0cd06c12d7b1cc8a470d'

make[5]: *** [CMakeFiles/mingw_stdthreads-populate.dir/build.make:92: mingw_stdthreads-populate-prefix/src/mingw_stdthreads-populate-stamp/mingw_stdthreads-populate-download] Error 1
make[5]: Leaving directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
make[4]: *** [CMakeFiles/Makefile2:76: CMakeFiles/mingw_stdthreads-populate.dir/all] Error 2
make[4]: Leaving directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'
make[3]: *** [Makefile:84: all] Error 2
make[3]: Leaving directory '/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/_deps/mingw_stdthreads-subbuild'

CMake Error at /usr/share/cmake-3.16/Modules/FetchContent.cmake:915 (message):
  Build step for mingw_stdthreads failed: 2
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FetchContent.cmake:1006 (__FetchContent_directPopulate)
  cmake/BuildMingwStdThreads.cmake:16 (FetchContent_Populate)
  CMakeLists.txt:34 (include)

-- Configuring incomplete, errors occurred!
See also "/home/erisa/windows-fido-bridge/build/nested-windows-build/src/nested_windows-build/CMakeFiles/CMakeOutput.log".
make[2]: *** [CMakeFiles/nested_windows.dir/build.make:107: nested-windows-build/src/nested_windows-stamp/nested_windows-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:202: CMakeFiles/nested_windows.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 38%] Linking CXX static library ../../../lib/libgtest.a
[ 38%] Built target gtest
[ 40%] Linking CXX static library libspdlog.a
[ 40%] Built target spdlog
make: *** [Makefile:163: all] Error 2
erisa@Tuturu:~/windows-fido-bridge/build$

Seems like probably an upstream issue with mingw_stdthreads-populate but I can't find a whole lot of information on that.
Normally if it was something I understood I would have gone down my own rabbit hole of debugging but this is entirely out of my understanding and I can't find sufficient information to get started with it.

It was pointed out to me by @spotlightishere that these lines are the culprit:
https://github.com/mgbowen/windows-fido-bridge/blob/b3bf2470dfbca06d9bd28014641ec4456b27349a/cmake/BuildMingwStdThreads.cmake#L8-L12
As far as we understand it fails to checkout the commit c01463398bd2b09c2afa0cd06c12d7b1cc8a470d because its configured to pull shallow (GIT_SHALLOW ON) and the newer commit 6 days ago (https://github.com/meganz/mingw-std-threads/commit/f6365f900fb9b1cd6014c8d1cf13ceacf8faf3de) is the only one present in that clone.
I imagine this would be fixed by either adjusting GIT_SHALLOW or constantly updating the commiit hash to a newer one whenever one is pushed to meganz/mingw-std-threads.
In my testing, changing GIT_TAG to f6365f900fb9b1cd6014c8d1cf13ceacf8faf3de made it build fine.

Thanks for root-causing the issue! I think this pattern works fine in the other dependency installers because I use pinned release tags, but std-mingw-threads hasn't had a release since 2019 and I need some changes to master since then. I just ended up removing the GIT_SHALLOW option; it'd be nice to keep it, but mingw-std-threads' entire repo is only ~400KB, so it's not a huge deal.
I'll go ahead and close this; let me know if you run into any other issues! 🙂


Implement Create dissemination

Dissemination form will be stored in two parts. First dissemination details will be created. Next farmer/attendee details will be stored and they will be mapped with particular dissemination.
* Dissemination details
    Date of dissemination
    Start time
    End time
    Place
    Name of video
    Name of Gram Panchayat
    Name of CRP
    Name of Village

* Attendee details
    Farmer's name
    Husband's/Father's name
    Collectives name
    Adoption wish/Willing to adopt
    Questions asked by the farmer

* Implement field validations for each field

Note:
Please go through the created endpoints before you start working on this.
Refer: issue #40
https://github.com/Scaler-Community-Projects/NGO-Farmer-Analysis/wiki/Dissemination-Form

would like to take this up as I have worked on dissemination endpoints too.

I would like to work on this along with Pankaj?


Updates needed to this page

Most of the questions I get are
do I need a pro license to view published reports.
There is lots of online realises and Microsoft community forums that have old information.
maybe site a few examples and when a fabrics free account would work and when it’s wouldn’t.
The legend is hard to understand on a mobile fyi
[Enter feedback here]

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

ID: b7c4b038-e61f-691f-f155-333e271e611c
Version Independent ID: 3e653013-5cf2-269f-aa6e-d617d7607de6
Content: Feature availability for users with Free licenses in the Power BI service - Power BI
Content Source: powerbi-docs/consumer/end-user-features.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @haydnr
Microsoft Alias: haydnr

Thanks for your comment, @makdaddy8888. This issue has been assigned to the doc author for review.

Hi @makdaddy8888,
You can try Fabric for free but Fabric itself is a licensed product. It has capacity licenses and per user licenses. The table at the bottom of the per user licenses highlights what a Free license can do.
Hope this helps,
Kesem


Allow configuring caching upon request

It seems that shields.io configures caching headers to cache for very little time, if at all. The result is that if a site has shields on multiple pages, navigating between them provides a poor experience as shields are downloaded again and again.
How about allowing websites to configure how long badges should be cached via a parameters (like link, logoWidth...)?

That is a great idea! And at the right time, too; I am currently pondering a lot of ideas related to caching, none as good.
What should we name the parameter? I would imagine it to directly be how long a Cache-Control max-age should be set to, for browsers to remember. It would then be a number of seconds.

What about properly using ETags?  A simple checksum of the input parameters would suffice, I'd think.

ETags have no say on cache invalidation. The only way for shields.io to know if the ETag has changed is to call the vendor and perform the computation, which is what takes time. The image download in itself is tiny.

Note that what I had in mind wasn't for shields.io to cache anything, via etags or otherwise. It's to have an option for it to return caching headers that would make client browsers cache badges for a configurable amount of time.
The goal is simply to avoid going to shields.io on every page which contains the badges. I, as the maintainer of a site which uses shields.io, could decide to ask shields.io to add HTTP response headers that would make client browsers cache for, say, 2 minutes or whatever.

@roji I think we're on the same page. Would setting a Cache-Control max-age be suitable? Maybe via ?maxAge=…? I'm not sure if maxAge is very explicit in what it does, maybe browserCacheSec=…?

@espadrine, I think setting Cache-Control's max-age would be the perfect solution here, I think it's definitely well-defined - it allows browsers to cache for the number of seconds without checking anything with the servers.
As you mentioned above, ETags would be useless here because the idea is to eliminate the server request entirely, whereas ETags allow the elimination of the response payload once the cache expires (via max-age). However, since in the shields.io case the payload is negligible this doesn't make much sense.
To make things generic I'd make shields.io accept a cache-control query parameter, this way you users can even use the other features of Cache-Control if it makes sense for them...

@roji Thanks for your suggestion! It should be live now.

Thanks @espadrine, but something a bit odd is going on: no matter what I specify in the maxAge URL parameter I always get max-age=7200 in the response headers (https://img.shields.io/teamcity/http/build.npgsql.org/s/npgsql.svg?label=TeamCity&style=plastic&maxAge=50).
Also don't forget to update the docs at the bottom of shields.io.
Thanks for giving this your attention!

@espadrine, any response on this bug? Whatever I specify maxAge to be, I always get headers specifying 2 hours...

It seems like a CloudFlare bug. You can set it to be higher than 2 hours; just not lower. On the plus side, it's just browser caching, so Ctrl+Shift+R forces an update.

OK, thanks for looking into it!

Hi, and thanks for the amazing work you are doing on all fronts!
My server can send a Cache-Control maxAge below two hours, but when it does, the client always receive a maxAge of exactly two hours. (When the maxAge is above two hours, it is transmitted correctly to the client.)
My Browser Cache Expiration setting is at two hours, but I have a Page Rule set to bypass cache. In theory, I believe it should let my Cache-Control HTTP header through unchanged. Is it a bug?
Here is a comparison:
$ curl -vk 'https://<IP_ADDRESS>/gitter/room/nwjs/nw.js.svg?maxAge=50' 2>&1 | grep 'Cache-Control'
< Cache-Control: max-age=50
$ curl -vk 'https://img.shields.io/gitter/room/nwjs/nw.js.svg?maxAge=50' 2>&1 | grep 'Cache-Control'
< Cache-Control: public, max-age=7200

Thanks again!

Hi,
Thank you for contacting CloudFlare support.
What do you currently have set at your origin server for .svg Cache-Control headers? Let me know and we can investigate this behavior together. Thank you.

Hi!

What do you currently have set at your origin server for .svg Cache-Control headers? Let me know and we can investigate this behavior together.

It depends on the parameter ?maxAge (it is set here:
https://github.com/badges/shields/blob/38f9625cdec357245952f2cd37eed435a42c6f50/server.js#L174).
You can detect that the parameter returns the correct value by
executing the following command:
curl -vk 'https://<IP_ADDRESS>/gitter/room/nwjs/nw.js.svg?maxAge=50' 2>&1 | grep 'Cache-Control'

(Note that I fixed a small issue that was present in the past few days
which intermittently made it return no Cache-Control headers.)
This command bypasses CloudFlare by addressing the IP directly. You
should notice that the Cache-Control header is set to the maxAge
parameter.
The following command goes through CloudFlare:
curl -vk 'https://img.shields.io/gitter/room/nwjs/nw.js.svg?maxAge=50' 2>&1 | grep 'Cache-Control'

The Cache-Control header, which should be set to the maxAge parameter,
is set to 2h instead. Note that this only happens if the maxAge
parameter is set to below 2h.
Thanks for looking into it!

Hi there,
That's odd! We should respect any cache-control header that is sent to us. I notice that without the query string maxAge=50 in the URL, the max-age=50 isn't set. Is it possible for you to set that within the headers for the asset as a whole? I would be interested to see if that helps at all.

That's odd! We should respect any cache-control header that is sent to us. I notice that without the query string maxAge=50 in the URL, the max-age=50 isn't set.

That is by design, yes. Instead, it sends the following header:
Cache-Control: no-cache, no-store, must-revalidate

Is it possible for you to set that within the headers for the asset as a whole? I would be interested to see if that helps at all.

I find what you ask of me unclear. Upon the reception of a request by
the server, a number of rules are followed. How the max-age header is
set is not an on/off switch. Furthermore, the number of assets is not
finite.
Unfortunately, GitHub (where a lot of users put their badges) caches
images in a way that don't — or at least, didn't a year ago — respect
the Cache-Control header well. It understood no-cache, but if there
was a max-age, users were fed outdated images long after the cache max
age.
It is not an issue that we currently have with the gitter image, as it
never changes. I changed it to always send a max-age=50 header; is
that satisfactory?
curl -vk 'https://<IP_ADDRESS>/gitter/room/nwjs/nw.js.svg' 2>&1 | grep 'Cache-Control'
#> < Cache-Control: max-age=50
curl -vk 'https://<IP_ADDRESS>/gitter/room/nwjs/nw.js.svg?maxAge=70' 2>&1 | grep 'Cache-Control'
#> < Cache-Control: max-age=50

Hello there,
Thanks for that information. I have checked again though, and I see that the Expires header doesn't also respect the extra time here, so the Expires header is the same as the current time. Here's a test I did that shows this-
curl -vso /dev/null 'https://<IP_ADDRESS>/gitter/room/nwjs/nw.js.svg?maxAge=70' -k ; date

Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 443 (#0)
TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Server certificate: img.shields.io

GET /gitter/room/nwjs/nw.js.svg?maxAge=70 HTTP/1.1
Host: <IP_ADDRESS>
User-Agent: curl/7.43.0
Accept: /

< HTTP/1.1 200 OK
< Cache-Control: max-age=50
< Expires: Fri, 13 May 2016 14:23:50 GMT
< Date: Fri, 13 May 2016 14:23:50 GMT
< Content-Type: image/svg+xml;charset=utf-8
< Connection: keep-alive
< Transfer-Encoding: chunked
<
{ [3 bytes data]

Connection #0 to host <IP_ADDRESS> left intact
Fri May 13 15:23:51 BST 2016
Because of the Expires header there matching the current time, we won't cache the file at all, and apply the default browser Cache-Control header (which is 2 hours). If you can adjust the Expires header to time out in 50 seconds as well here. This should work as you need it to then. If you have any more questions, simply reply to this email and we will be happy to help.

Hi!
Thanks a lot for your answer.

Because of the Expires header there matching the current time, we won't cache the file at all

My understanding of HTTP headers leads me to believe that this
behavior goes against RFC 7234 section 4.2.1:

A cache can calculate the freshness lifetime (denoted as
freshness_lifetime) of a response by using the first match of the
following:
o  If the cache is shared and the s-maxage response directive
(Section <IP_ADDRESS>) is present, use its value, or
o  If the max-age response directive (Section <IP_ADDRESS>) is present,
use its value, or
o  If the Expires response header field (Section 5.3) is present, use
its value minus the value of the Date response header field, or
o  Otherwise, no explicit expiration time is present in the response.

https://tools.ietf.org/html/rfc7234#section-4.2.1
Is my understanding inaccurate?
For the purpose of debugging, I followed your advice by creating a
badge that sends Expires headers set 60 seconds into the future,
agreeing with its Cache-Control header. Here is an example run:
# Direct access
curl -vk 'https://<IP_ADDRESS>/flip.svg' 2>&1 | grep 'Expires\|Date\|Cache-Control'
# < Cache-Control: max-age=60
# < Expires: Sat, 14 May 2016 13:25:00 GMT
# < Date: Sat, 14 May 2016 13:24:00 GMT

# CloudFlare access
curl -vk 'https://img.shields.io/flip.svg' 2>&1 | grep 'Expires\|Date\|Cache-Control'
# < Date: Sat, 14 May 2016 13:24:00 GMT
# < Cache-Control: public, max-age=7200
# < Expires: Sat, 14 May 2016 15:24:00 GMT

As you can tell, CloudFlare still returns incorrect results, 2 hours
into the future instead of a minute.
That being said, I noticed that the image, which I coded to flip
between two values for debugging purposes, did not do so. I realized
that I could extend the CloudFlare cache bypass rule I had to all my
endpoints with a wildcard, which makes CloudFlare send headers
unchanged (and prevents CloudFlare caching). That workaround fixes the
issue for me. I still believe there is a bug in CloudFlare as I detail
above, but it no longer applies to me.
If you'd like me to remove the wildcard to let you perform further
debugging, I will happily do so.
If that bug gets fixed, I would very much welcome a notification by mail.

Hello there,
That is very odd! I will check what you mention about the order of precedence of caching headers. We should just use the standard nginx behaviour I believe. If you could disable the page rule you have there, that would be great. If there's another page that you would prefer we use for testing, that's good as well!

Hello there,
I suspect there's some confusion here. Your settings have a Browser cache expiry of 2 hours (7200s), so it's normal that we present this value to customers. That's the value you see when you cURL the domain. Anything that I'm missing? Or were you trying to assess how often we refresh our cache?

Hi!

I suspect there's some confusion here. Your settings have a Browser cache expiry of 2 hours (7200s), so it's normal that we present this value to customers. That's the value you see when you cURL the domain. Anything that I'm missing? Or were you trying to assess how often we refresh our cache?

Clearly, CloudFlare follows the HTTP rules for caching most of the
time. As a result, CloudFlare does not do what you say it does here:
curl -vk 'https://img.shields.io/gitter/room/nwjs/nw.js.svg?maxAge=8000' 2>&1 | grep Cache-Control
# < Cache-Control: public, max-age=8000
# (8000, not 7200, as per the HTTP spec.)

When the Cache-Control HTTP header that my server yields has a max-age
above 7200, CloudFlare follows the HTTP spec. Below that, it no longer
follows the spec, and always sends a Cache-Control header with a
max-age at 7200.
curl -vk 'https://img.shields.io/gitter/room/nwjs/nw.js.svg?maxAge=60' 2>&1 | grep Cache-Control
# < Cache-Control: public, max-age=7200

HTTP asks of caching proxies to respect the Cache-Control header.
CloudFlare does so most of the time, but there is an edge-case
(max-age below 7200) where it does not. That is the bug.
Relying on the CloudFlare browser cache expiration setting for
responses without a Cache-Control makes sense, but it is surprising
for cases where the server explicitly has a Cache-Control header for
CloudFlare to see.

Hello there,
Let me follow-up on your previous answer:

HTTP asks of caching proxies to respect the Cache-Control header. CloudFlare does so most of the time, but there is an edge-case (max-age below 7200) where it does not. That is the bug.

It's not a bug, this is how the system is designed:

when a Cache-control header instructs us not to cache, we don't cache.
when no Cache-control header is returned or contains a max-age lower than the browser cache expiry, we return a max-age equals to the browser cache expiry (it doesn't make sense to instruct our edge to query your origin more often that your visitor's browser).
when a max-age parameter above the browser expiry is returned, we forward that one.

I hope this clarifies the situation, but we're happy to answer your questions further, should you have any.


Delete unnecessary spaces

When copying from the web page, there is an unnecessary space after the code.

@changeworld : Thanks for your contribution! The author, @mikejo5000, has been notified to review your proposed change.

@changeworld @Mikejo5000 - We're in the process of pulling these commits to the private repo, so we can verify the content on staging. We'll post a new PR # shortly and then close this PR.

@changeworld @Mikejo5000 - The commits in this PR were moved to the private repo (PR #3859) for validation and staging. We'll close this PR now.


clang-tidy-sarif: 0.6.5 -> 0.6.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for clang-tidy-sarif is: A CLI tool to convert clang-tidy diagnostics into SARIF
meta.homepage for clang-tidy-sarif is: https://psastras.github.io/sarif-rs
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.6.6 with grep in /nix/store/l3j3xiqcka1395zb905mbq9sn9gxc8wv-clang-tidy-sarif-0.6.6
found 0.6.6 in filename of file in /nix/store/l3j3xiqcka1395zb905mbq9sn9gxc8wv-clang-tidy-sarif-0.6.6

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

clang-tidy-sarif

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/l3j3xiqcka1395zb905mbq9sn9gxc8wv-clang-tidy-sarif-0.6.6 \
  --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 clang-tidy-sarif https://github.com/r-ryantm/nixpkgs/archive/2379f18590b3e26b6d6bb6d34fea72b10b4c42e5.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/2379f18590b3e26b6d6bb6d34fea72b10b4c42e5#clang-tidy-sarif

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/l3j3xiqcka1395zb905mbq9sn9gxc8wv-clang-tidy-sarif-0.6.6
ls -la /nix/store/l3j3xiqcka1395zb905mbq9sn9gxc8wv-clang-tidy-sarif-0.6.6/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.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

clang-tidy-sarif

Maintainer pings
cc @getchoo 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


[feat] NFT explorer : Hot NFTs

There will be various options for viewing NFTs, one will be to view "hot" NFTs.
This issue is to create a new backend route to query the hot NFTs.
This can be tricky to determine. I think the best way is to look at the latest likes in the NFTLikes table and use that to see which NFTs have received the most likes recently.
You can copy the getNFTs route and make the appropriate changes there.
Make sure to keep the pagination functionality working.
References

Get NFTs backend route
NFT Likes table

Hey @b-j-roberts  can i work on this one? i understand that i have to make a query to get the hottest nfts

thanks, i will working on it asap

Hey @b-j-roberts idk if u have time to review the pr? thanks


Calendar Filtering not working as expected?

I'm not sure about when it began, but it seems that the calendar filters don't work as intended. I have multiple calendar and some of them are still displayed in the widget even when unchecked. Did anyone else observe this behavior?

Hopefully fixed in version 2.0.1.


Upgrade bazel in Dockerfile to 0.17.1

This upgrades bazel used for non-RBE "local" builds inside a docker container.
Also see https://github.com/grpc/grpc/pull/17060 for upgrade of bazel used by RBE.

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,015,649      Total (=)      2,015,649

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,116,199      Total (<)     11,116,202

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences


Bulk WES L3 issues

Information
Proposed change:
a clear and consice description of proposed data model ammendments
In the Bulk WES level 3 metadata template all germline, somatic, and structural variants workflows are required for each sample. Each of our samples is analyzed by only one workflow, not all three. Leaving the rest empty, NA, or Not Applicable are not allowed for the rest of the workflows, which is making our metadata invalid. Any suggestions to solve this?
Dicussion link:
Link to where the changes have been discussed/approved eg Closed RFC, Service desk ticket, DCC coordination/operations agenda
HTAN-35

How important is this feature?
Select from the options below

🌋 Important - it's a blocker and can't do work without it

When will use cases depending on this become relevant?
Select from the options below

Short-term - 2-4 weeks

Additional context
Add any other context or screenshots about the feature request here
Identified from publication review
Implementation checklist

[ ] Branch created
[ ] HTAN.model.csv editied and pushed
[ ] HTAN.model.jsonld validated and created by Github action
[ ] PR opened
[ ] PR approved
[ ] PR merged into main
[ ] New Component added to ncihtan/HTAN-data-curator (if required)
[ ] DCA update requested
[ ] DCA updated

The following attributes are required in the schema and have valid values set

scRNAseq Workflow Type
Germline Variants Workflow Type
Somatic Variants Workflow Type
Structural Variant Workflow Type
Alignment Workflow Type

Each have an "Other" value that enables submission of a custom workflow, but do not have a "None"/"Not used"/"NA"/"Not Applicable" option
Options to fix:

Suggest that they use the custom "Other" value and enter "None"
(+) No change in schema required
(-) Not intuitive. String is uncontrolled
Add a "Workflow not used" option to the valid values
(+) Clarity
(-) Minor schema change
(?) Would need to agree language.

@elv-sb what do you think?

I should actually read the source ticket! Proposed solution was actually more drastic

Ok, thanks! Just like the google sheet. Ah I found a bug in the google sheet, there were two columns with same name.  OK fixed. There should be one column called “Workflow Type”  where they select the type of data (SNPs, germline, or CNVs), and one column named “Workflow Name” where they put a name to the tool-family used in producing the data. One “Workflow URL” column.

The ticket proposed solution is what is in the RFC spreadsheet updated by @Gibbsdavidl in Feb.

Implementing this would assume that only one workflow is run (as per the ticket)
Are there cases where multiple workflow types are run for a single Bulk WES L3 file?

Thanks @Gibbsdavidl,
If we implement the changes per the RFC we should do a quick review on what metadata has been submitted for these attributes in the existing template to get a sense of how many centers will need to resubmit metadata to meet the updated schema

Looks like we have no Bulk WES level 3 data yet, so we should be good to implement the changes per the RFC

@elv-sb and I agree that we will action this once the data model to DCA flow is unblocked


source is not defined in 0.20.2

@stereodenis are you using react-native 0.20?

@alinz 0.21.0

I'm getting the same error on react-native 0.21.0.

@BilalBudhani can you double check the version you have install in node_modules/react-native-webview-bridge? I'm having a difficulties to publish a new version to npm.

@alinz Even I was facing difficulty while installing the package from npm so, I directly pointed the package to master.
"react-native-webview-bridge": "github:alinz/react-native-webview-bridge",

and the git hash is exactly same as last commit in master cbfd8a2472e2244126a43fcd5398b812b69c763e

@alinz I think I've found the problem and resolved the issue. I'll send a PR with a fix.

I got this error too!


Instagram fail

Hello, for this account : https://www.instagram.com/mieshatate
After 1621 rips it says :
Error : null
Could you fix that please ?

I can't reproduce this on ripme 1.7.55

I stopped the rip after 1800 images

Ok i retried and it worked fine, sorry for the inconvenience ^^


Removed specialization of CopyOnWriteArrayList class

Motivation
Switched back to use the regular java.util.concurrent.CopyOnWriteArrayList instead of the class extending it since we don't really have any advantage in accessing the underlying array of objects.
The reflection being used to get that field is giving errors on Java 12.

retest this please

run integration tests
run java8 tests


⚠ Bofrost.be has degraded performance

In 596416c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 905 ms

Resolved: Bofrost.be performance has improved in 1f03088.


Formatting - Wrong formatting when Table contains I

新建一个 Markdown 文件，输入这些内容：
Create a Markdown file and type this:
| 233 | 666 |
| --- | --- |
| `|` | 233 |

按下 Alt + Shift + F:
Press Alt + Shift + F:
| 233 | 666 |
| --- | --- |
| `   | `   | 233 |

好的，看到了
（话说你这个录动图的软件是什么呀）

ScreentoGif
按键显示 keycastOW

谢谢

@yzhang-gh
@xa0082249956
@vonagam
https://github.github.com/gfm/#example-200

The correct behavior is:
|HA|HB|
|-|-|
|`1|2`|3|

<!-- gets: -->

| HA  | HB  |
| --- | --- |
| `1  | 2`  | 3 |

|HA|HB|
|-|-|
|`1\|2`|3|

<!-- gets: -->

| HA     | HB  |
| ------ | --- |
| `1\|2` | 3   |

GitHub made the decision in April 2017:
https://github.com/github/cmark-gfm/issues/24#issuecomment-298357389

I've pushed a change so that it aligns with the GFM spec.
Remaining issues:

[ ] code span syntax decoration isn't right in this case
[ ] VS Code hasn't updated its markdown-it to the latest version yet (so the preview tab still has the old behavior).

VS Code Insiders is already using markdown-it 12.0.3, which aligns with the latest GFM.


bitrise-step-remote-gist-bash-script-runner 1.0.7

ONE...MORE...PR...
Sorry, I've been iterating pretty quickly on this step and I think I finally got it pretty solid. There were some things about the step's bitrise.yml that I didn't understand before. Plus, I had originally copied the regular remote bash runner step files, so my format_version was 1 instead of 4. I also made one of the params a drop-down instead of a field.
New Pull Request Checklist
Please mark the points which you did / accept.

[X] I read the Step Development Guideline
[X] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[X] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[X] I read and accept the Abandoned Step policy

Moving to a more appropriately named step repo and re-worked a few things


Collecting UserActivityInfo not working

Hello, I have encountered an issue: I am not getting new user activity info in fun onUserActivityInfoReceived(info: UserActivityInfo). To say that I do not receive at all is not entirely correct, I receive, but I receive this data immediately after I registered the service with setPassiveListenerServiceAsync and this data is outdated. Here's an log of UserActivityInfo I collected for a day:

№
write time to DB
userActivityInfo.stateChangeTime.toMillis
activity state

1
1678282350577 - 08 2023 13:32:30
1678177045675 - 07 2023 08:17:25
passive

2
1678263022160 - 08 2023 08:10:22 - end of sleep
1678177045669 - 07 2023 08:17:25
passive

3
1678223467842 - 07 2023 21:11:07 - start of sleep
1678177045676 - 07 2023 08:17:25
passive

4
1678223370897 - 07 2023 21:09:30
1678177045670 - 07 2023 08:17:25
passive

5
1678209916454 - 07 2023 17:25:16
1678177045676 - 07 2023 08:17:25
passive

6
1678208627154 - 07 2023 17:03:47
1678177045676 - 07 2023 08:17:25
passive

7
1678206676803 - 07 2023 16:31:16
1678177045676 - 07 2023 08:17:25
passive

8
1678205537674 - 07 2023 16:12:17
1678177045676 - 07 2023 08:17:25
passive

9
1678204862883 - 07 2023 16:01:02
1678177045676 - 07 2023 08:17:25
passive

10
1678204832426 - 07 2023 16:00:32
1678177045676 - 07 2023 08:17:25
passive

11
1678204827020 - 07 2023 16:00:27
1678177045676 - 07 2023 08:17:25
passive

12
1678204820542 - 07 2023 16:00:20
1678177045676 - 07 2023 08:17:25
passive

13
1678184515495 - 07 2023 10:21:55
1678177045676 - 07 2023 08:17:25
passive

14
1678179278383 - 07 2023 08:54:38
1678177045676 - 07 2023 08:17:25
passive

15
1678178784282 - 07 2023 08:46:24
1678177045676 - 07 2023 08:17:25
passive

16
1678177767542 - 07 2023 08:29:27
1678177045676 - 07 2023 08:17:25
passive

17
1678177675343 - 07 2023 08:27:55
1678177045676 - 07 2023 08:17:25
passive

All the data here, these are the ones that I received immediately after registering the service. If you say that you shouldn’t register so often, then it’s fine, I have an interval in 11 hours when I didn't registered service, it's an interval 2 and 3, there is a period of time when I slept with the watch, and in theory, between these records, there should be other activities that say that I’m asleep, but as you can see there's nothing. And that's the problem, I want to track my sleep duration but I can't because I'm not getting activity changes :(
Code
Manifest.sml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-feature android:name="android.hardware.type.watch" />

    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- For receiving heart rate data. -->
    <uses-permission android:name="android.permission.BODY_SENSORS" />
    <!-- For receiving steps data. -->
    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
    <!-- Needed in order to re-register for data on device startup. -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <!-- Probably need for tracking activity, TODO: remove if it's not necessary -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- Probably need for tracking activity, TODO: remove if it's not necessary -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

    <!-- When an app targets Android 11 (API level 30) or higher and queries for information about
         the other apps that are installed on a device, the system filters this information by
         default. Adding the query field allows Health Services to recognize the app.
         See https://developer.android.com/training/package-visibility. -->
    <queries>
        <package android:name="com.google.android.wearable.healthservices" />
    </queries>

    <queries>
        <package android:name="com.google.android.apps.healthdata" />
    </queries>

    <application
        android:name=".presentation.App"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.DeviceDefault">
        <uses-library
            android:name="com.google.android.wearable"
            android:required="true" />

        <meta-data
            android:name="com.google.android.wearable.standalone"
            android:value="true" />

        <activity
            android:name=".presentation.android.activity.MainActivity"
            android:exported="true"
            android:launchMode="singleInstance"
            android:theme="@android:style/Theme.DeviceDefault">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>

        <!-- Complication -->
        <service
            android:name=".presentation.complication.PowerScoreComplicationProviderService"
            android:icon="@drawable/ic_power_score_4"
            android:label="@string/power_score"
            android:permission="com.google.android.wearable.permission.BIND_COMPLICATION_PROVIDER"
            android:exported="true">
            <intent-filter>
                <action android:name="android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST" />
            </intent-filter>

            <meta-data
                android:name="android.support.wearable.complications.SUPPORTED_TYPES"
                android:value="SMALL_IMAGE" />
            <meta-data
                android:name="android.support.wearable.complications.UPDATE_PERIOD_SECONDS"
                android:value="100" />
        </service>

        <service
            android:name=".presentation.android.healthservices.services.PassiveDataService"
            android:exported="true"
            android:permission="com.google.android.wearable.healthservices.permission.PASSIVE_DATA_BINDING" />

        <!-- Receiver that re-registers for background data after a device restart. -->
        <receiver
            android:name=".presentation.android.receiver.StartupReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <!-- Receiver that re-registers for background data with some interval. -->
        <receiver android:name=".presentation.android.receiver.RepeatedRegistrarReceiver" />
        <!-- Receiver that helps with scheduled notifications. -->
        <receiver android:name=".presentation.android.receiver.NotificationReceiver" />
        <!-- Receiver that helps with syncing next pvt time. -->
        <receiver android:name=".presentation.android.receiver.NextPvtTimeSyncReceiver" />
        <!-- Receiver that helps with syncing power gauge sync. -->
        <receiver android:name=".presentation.android.receiver.PowerGaugeSyncReceiver" />

        <!-- Our application implements Configuration.Provider, so we don't need this to initialize WorkManager. -->
        <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup"
            android:exported="false"
            tools:node="merge">
            <!-- If you are using androidx.startup to initialize other components -->
            <meta-data
                android:name="androidx.work.WorkManagerInitializer"
                android:value="androidx.startup"
                tools:node="remove" />
        </provider>
    </application>
</manifest>

Registered service here
    suspend fun registerListenerForFitData(dataTypes: Set<DataType<*, *>>) {
        val passiveListenerConfig = PassiveListenerConfig.builder()
            .setShouldUserActivityInfoBeRequested(shouldUserActivityInfoBeRequested = true)
            .setDataTypes(dataTypes)
            .build()

        passiveMonitoringClient.setPassiveListenerServiceAsync(
            PassiveDataService::class.java,
            passiveListenerConfig
        ).await()
    }

PassiveDataService.kt
class PassiveDataService : PassiveListenerService() {

    private val activityStateManager: ActivityStateManager by inject()
    private val job = SupervisorJob()
    private val scope = CoroutineScope(Dispatchers.IO + job)

    override fun onUserActivityInfoReceived(info: UserActivityInfo) {
        scope.launch {
            activityStateManager.addActivityState(
                activityName = info.userActivityState.toActivityName(),
                timeInMillis = info.stateChangeTime.toEpochMilli()
            )
            Log.d("TAG!", "userActivityState: ${info.userActivityState.name}")
        }
    }

    override fun onNewDataPointsReceived(dataPoints: DataPointContainer) {
    ...
    }
}

Environments:
Device: Fossil Gen 6
OS: Wear OS 3
Android SDK: 30
Lib version: 1.0.0-beta02
Notes:

Steps, calories and heart rate tracking work
I've been tracking for 4 days now and the logs for those days were the same

Thank you in advance!

I have the same issue
I've added logs to onCreate/onDestroy. Service starts but onUserActivityInfoReceived is not called
It was working fine as a Receiver in 1.0.0-alpha03, but in RC and in beta3 as a service it doesn't work

Having the same issues, using 'setPassiveListenerService' instead of setPassiveListenerServiceAsync worked for me

@ashishpat

Having the same issues, using 'setPassiveListenerService' instead of setPassiveListenerServiceAsync worked for me

setPassiveListenerService calls the same setPassiveListenerServiceAsync inside
@kotlin.jvm.Throws(HealthServicesException::class)
public suspend fun PassiveMonitoringClient.setPassiveListenerService(
    service: Class<out PassiveListenerService>,
    config: PassiveListenerConfig
) = setPassiveListenerServiceAsync(service, config).awaitWithException()


Add dependency:purge-local-repository goal to maven

purge and force re download of all dependencies

Closing as this shouldn't be necessary it was an attempt to prevent a suspected glitch in maven repository. Will wait to see if it happens again.


Provide Dorien with Commuter Access

...and briefly review details of running notebook.

I have been scraping from the server, so this task has been completed


OCPBUGS-21633: update golang.org/x/net to v0.17.0

Note: upstream already bumped golang.org/x/net to v0.17.0 in the main branch: https://github.com/prometheus/prometheus/pull/12964

/cherrypick release-4.14

/cc @danielmellado

/test e2e-agnostic-cmo

/lgtm


fix: [CDS-92373]: fix env to gitops cluster mapping resource and data…

…source and improve example
Describe your changes
This resource was not working as expected. Read, Create and Delete context functions were all broken
Comment Triggers

PR Check triggers

Build: trigger build
Sub Category Field Check: trigger subcategoryfieldcheck
gitleaks: trigger gitleaks

 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.


Issue with merge and multiple stream assignments in equation

node  A(
	__time_step : real; __nb_step : int;)
returns(
	Output_1 : bool; Output_2 : bool;);
let
	Output_1 = true;
	Output_2 = false;
tel

node  B(
	_isEnabled : bool; __time_step : real; __nb_step : int;)
returns(
	Output_1 : bool; Output_2 : bool;);
var
	pre_Output_1 : bool; pre_Output_2 : bool;
let
	pre_Output_1 = false;
	pre_Output_2 = false;
	(Output_1, Output_2) = merge(_isEnabled;
	(activate A every _isEnabled)(__time_step, __nb_step);
	(pre_Output_1, pre_Output_2) when not(_isEnabled));
tel

The syntax check fails for the example code above with the following message:
Width lengths of equation are not equal
I encountered the above using versions v1.5.1 , 1.7.0 and 1.8.0 (web interface). The latest version I know where this was not a problem is v1.2.0 .

Hi Andreas,
Thank you for reporting this issue. It is a bug in the new front-end.
I created a PR #962 that fixes this issue.
Thanks,
Daniel


Dynamic variable replacement - using translate directive and filter together

I am making use of the variable replacement feature from angular-translate in my application as documented in the guides here
Using the example in this guide, I was wondering how you could translate an interpolated value being passed in. So say I have something as follows for displaying some validation text to the user.

{
  "REQUIRED_FIELD": "{{field}} is required",
}

A problem I see with this is that Description is being used literally and therefore not translated.
Could a filter be used for the value being assigned to the translate-value-* directive like so:

{
  "REQUIRED_FIELD": "{{field}} is required",
  "GENERAL_TERMS": {
		"DESCRIPTION": "Description"
	}
}

This does work for me locally, but I wondered whether this approach is correct.
Can anyone offer any advice please?
Thanks

Another approach is to write a custom directive that does the trick and fetches the two translation segments separately.
Now, you're mixing the (synchronous) filter approach with the directive (async) approach, which is from an architectural view not really good.
And one general remark: Please ask "How To" questions on StackOverflow as you'll there reach a broader audience with such questions.

Hum, have you considered ES6 templates?
Maybe this link can give you a hint (quick google search): http://jaysoo.ca/2014/03/20/i18n-with-es6-template-strings/
Rgds,


Remove special flatcar image for one built via our CI

Currently our control-usb-root package uses a flatcar image that I built using their SDK with a larger root partition. After implementing #160 gets merged we will be able to use the upstream images.


Update button & some on the arrays

I probably need an update button on it, for now I'm just clicking on a different tool and then getting back to route viewer, but I, then, have to filter what I was watching again.
You could also simplify those arrays a bit, IMO:
GET, HEAD

is easier to read than
[ "GET", "HEAD" ]

But I also like the colouring approach:

Nice package, by the way, thanks for creating it!

This is a great idea! Someone on Twitter suggested it as well. I'm happy to accept a PR for this, or will work on it myself when I have some time.

Partially done in https://github.com/sbine/nova-route-viewer/pull/5


disable most metrics exposed by node exporter by default

Enable them if we find they are useful.

Coverage remained the same at 51.347% when pulling ffc9f91dae91c5aaf29fdfe3900ba96515a8f0b9 on xudifsd:disable-most-metrics into a8fe51ed5d4b1203998e6dc5d094b4d1a64eb9a2 on Microsoft:master.


fixed bug with the add and edit tip page

fixed bug where the add and edit tip post would send you to the profile page instead of the job page the tip was from

looks good to me


There should be an "all-in-one" YAML file

It might just be me, but I do like being able to kubectl apply -f only one file instead of three :)
Makes remote installation (not cloning the repo easier)

Hmm we explicitly broke them down so that it was easier for folks to understand what was happening.  We thought 1 thunk would be difficult for folks to grok out of the gate.

totally agree with @timothysc on this one

I'm open to suggestions, and I realize it would make some workflows easier.

Why not autogenerate an all-in-one when we have jsonnet for easier installation? Don't want to clone the repo on every install really...
I'm not asking for both, not either-or

On 07 Aug 2017, at 16:35, Rimas Mocevicius<EMAIL_ADDRESS>wrote:
totally agree with @timothysc on this one
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Done with https://github.com/heptio/sonobuoy/pull/58


[Dev] Convert to using prettier

What does prettier do?
Prettier takes your code and reprints it from scratch by taking into account the line length.
For example, take the following code:
foo(arg1, arg2, arg3, arg4);

It fits in a single line so it's going to stay as is. However, we've all run into this situation:
foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Suddenly our previous format for calling function breaks down because this is too long. Prettier is going to do the painstaking work of reprinting it like that for you:
foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

Prettier enforces a consistent code style (i.e. code formatting that won't affect the AST) across your entire codebase because it disregards the original styling* by parsing it away and re-printing the parsed AST with its own rules that take the maximum line length
into account, wrapping code when necessary.

taken from https://github.com/prettier/prettier#prettier

What does this PR do?

Adds prettier, you can run prettier against the entire project with yarn prettier-project
Adds the prettier extension as a recommended extension
Sets vscode to automatically format on save
Adds dev hooks for running prettier on pre-commit
Adds a compiler check on a pre-push
Removes some TSLint rules "ter-indent": [true, 2], and "jsx-wrap-multiline": [ true, "always" ], as they conflicted with prettier output
Added tslint-config-prettier which disables any tslint rules

Similar to https://github.com/danger/danger-js/pull/277 and https://github.com/artsy/emission/pull/567
/cc @broskoski  @l2succes @alloy @xtina-starr @eessex @mzikherman @yuki24

This PR  is blocked by https://github.com/artsy/reaction-force/pull/177 as it merges and builds on it

This does not add it as a CI step. I still think the way prettier handles this is a bit confusing, so I'm not gonna add it until that's cleared up.

lols @broskoski left today for reels this time, reassigning

LTGM👍


No Images are showing up (RC2)

Reinstalled theme and EmulationStation. All I can see when emulationstation pops up is "12 games Available" and I can hit the start button and see menu options. No idea what is wrong will post screenshots later

same issue here

I think I ran into this issue on a 512mb Raspberry Pi running RetroPie, while trying to put together a custom theme.  Once I add about the 4th or 5th system to the front end, elements start disappearing.  This happens with the default "simple" theme as well, though it seems to take an extra system or two.  (Maybe due to slightly smaller image file sizes?)
Most commonly missing are system view background images (all of which are 1280x720) and rom metadata images (which vary in size).  Occasionally, fonts in the Emulation Station menus are messed up too.  If I enter a game, then return to Emulation Station, different elements will be missing.
Running with --debug does spit out the "ARB_texture_non_power_of_two: MISSING" error message.  This was tested and occurred with gpu memory set to 128 and 256.
Not sure if any of that is helpful at this point, but I thought I'd submit it just in case.  Looking forward to a fix to make the most of this great project.  Keep up the good work!  :)

same here on pi v1

I had a similar experience, i got "ARB_texture_non_power_of_two: MISSING" turned out having the GLES libraries installed while building SDL2 caused this.

Debian 7,
nvidia FX5700, nividia-kernel-legacy-173
embarrassingly old hardware

Same issue here- running Debian Jessie and issue is with GeForce FX card that was really never that great to begin with 12 years ago :) the FX cards apparently do not handle NPOT textures, but would use software rendering as a fallback.
@Aloshi If I were to try to do what you describe above (padding and then clipping), where would I start? ImageIO?
Pretty simple approach here.


chore: git init before writing to an empty git repository

Context
Our git store writer will fail to write to an empty git repository. This error can be avoided by doing a git init in the repo before committing.

the git client we use has a PlainInit function we can use 👀


Solved: git clone --recursive problem

We try to clone with recursive but I got error
$ git clone --recursive https://github.com/littlevgl/pc_simulator_sdl_eclipse.git
Cloning into 'pc_simulator_sdl_eclipse'...
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 936 (delta 13), reused 24 (delta 10), pack-reused 906
Receiving objects: 100% (936/936), 2.73 MiB | 67.00 KiB/s, done.
Resolving deltas: 100% (486/486), done.
Submodule 'lv_drivers' (https://github.com/littlevgl/lv_drivers.git) registered for path 'lv_drivers'
Submodule 'lv_examples' (https://github.com/littlevgl/lv_examples.git) registered for path 'lv_examples'
Submodule 'lvgl' (https://github.com/littlevgl/lvgl.git) registered for path 'lvgl'
Cloning into '/home/user/works/littlevgl/pc_simulator_sdl_eclipse/lv_drivers'...
remote: Enumerating objects: 90, done.
remote: Counting objects: 100% (90/90), done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 1040 (delta 51), reused 76 (delta 44), pack-reused 950
Receiving objects: 100% (1040/1040), 269.13 KiB | 318.00 KiB/s, done.
Resolving deltas: 100% (709/709), done.
Cloning into '/home/user/works/littlevgl/pc_simulator_sdl_eclipse/lv_examples'...
remote: Enumerating objects: 251, done.
remote: Counting objects: 100% (251/251), done.
remote: Compressing objects: 100% (132/132), done.
remote: Total 4738 (delta 145), reused 215 (delta 118), pack-reused 4487
Receiving objects: 100% (4738/4738), 8.04 MiB | 244.00 KiB/s, done.
Resolving deltas: 100% (3286/3286), done.
Cloning into '/home/user/works/littlevgl/pc_simulator_sdl_eclipse/lvgl'...
remote: Enumerating objects: 87, done.
remote: Counting objects: 100% (87/87), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 19701 (delta 48), reused 49 (delta 31), pack-reused 19614
Receiving objects: 100% (19701/19701), 14.33 MiB | 245.00 KiB/s, done.
Resolving deltas: 100% (15621/15621), done.
error: Server does not allow request for unadvertised object 39fe8649543dcb2a2777ccee5d0b6714ee41f3bd
Fetched in submodule path 'lv_drivers', but it did not contain 39fe8649543dcb2a2777ccee5d0b6714ee41f3bd. Direct fetching of that commit failed.

And we found a workaround solution
$ cd pc_simulator_sdl_eclipse
$ rm -rf lv_drivers/ lv_examples/ lvgl/

$ git submodule update --remote
Submodule path 'lv_drivers': checked out 'b03533b909d1ec569700a72879b1ec7b4fb7c0a9'
Submodule path 'lv_examples': checked out '9a5a95ac4d3b86b62cb0917d3afdebb85bc990d3'
Submodule path 'lvgl': checked out '2cead48cd5ee23de05f7b11244021bb91f97d5e7

:clipboard: Reference

https://stackoverflow.com/questions/1979167/git-submodule-update

Yep, looks like we are referencing a nonexistent commit in the submodule. I'll fix it today.

@kisvegabor should have fixed it in #46, does it work for you now?


Only showing uneven <hl-img>'s

On my test env, it only shows uneven elements. Reason for this is yet unclear and I'll figure it out.

Fixed in v<IP_ADDRESS>.


Staging

Deploy preview for fcccolumbus processing.
Built with commit 8f81436106b5c51bc456bdf321a427e27187187a
https://app.netlify.com/sites/fcccolumbus/deploys/5bb2da15792f891ba58751fc

Coverage remained the same at 64.286% when pulling 8f81436106b5c51bc456bdf321a427e27187187a on staging into b1151ac329511d9d59fd4c214b5c9e82589c036a on master.


Add AlphaNumeric Callsign to users

Provides;

Migration file for a new database table field
User Model change
Admin interface changes (user list and user edit form)
Profile page change
SimBrief form change

Closes #1503


Stream ack call failing due to encryption

The file transfer in atmosphere basic app is failing due to encryption issue. The file transfer request is received correctly and upon acknowledging, the call fails in the receiver's end.

After failing to receive, it fails to send file as well.

Issue is resolved with the latest code on dev_env branch.

Encountered it again with the same code after a few restart of the app.

Not able to reproduce the issue. @sarika01 Could you please try again and let us know the steps to reproduce.

Closing the issue since it is no longer reproducible


fixes initial layout problem for selected item on devices with safe area

Hotfix that fixes #10 by updating the tabBar frame in viewDidLayoutSubviews()

Thanks @herrkayser
Note: In viewDidLayoutSubviews() You may need to add self.selectedIndex = 0 if you find the circle isn't displaying with space around it..


GetSchemas supports DSv2 multipart namespaces

      ❨?❩

Why are the changes needed?

This PR adds support for using Spark DSv2 to get Schemas with multipart namespaces under multiple catalogs.
The current works are all based on Apache Iceberg.
TODOS:
next step we will support get tables operation for multiple catalogs and namespaces.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[x] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

cc @cloud-fan, It seems to work fine with Dbeaver and Apache Iceberg, the hive-jdbc module also feed . to the client-side as a valid character.
We can make this happen in the Spark thrift server too.
@rdblue @aokolnychyi It would be nice if we could get help from the Apache Iceberg community

@yaooqinn, what would you like our help with?

@yaooqinn, what would you like our help with?

@rdblue thanks for your response, I'd like to know whether the listNamespaces or listTables will support SQL wildcards % and _?

I'm not sure if there is a good justification for adding that to the interface. It would be simple enough to add, but there is the extra complexity in the interface to consider. I don't think that pushing the pattern into the interface adds much value because there aren't many cases where you actually need to push the pattern down to the underlying store. Databases probably have at most a few thousand tables, which is isn't a high cost to send as identifiers or a high cost to filter in Spark. So keeping the complexity in Spark seems like a good idea to me, rather than adding an extra method that implementations need to deal with.

Thanks for the clarification.  I see your point. +1 for keeping the simplification for DSv2 APIs. My biggest concern is the stability of the APIs, as they are mainly designed for the underlying systems to implement and for Spark to call, not for other readers like what we do here. So the stability and simplicity are good to me.
And thanks again.


Implement also tuples as arguments

This would allow lists of fixed sizes as arguments as well.

Consider also lists of fixed-length tuples.


Fixed ResponseTimeout and FromJSON Pos ordering issues.

The default timeout for responseTimeout is only 5 seconds.  Setting it to Nothing means the response will wait indefinitely.
Also, I noticed that the x and y positions seem to be labelled around the wrong way.

why would you ever leave it in, who doesn't use cartesian x is horizontal. Please at least document this, I thought i was going insane.

I agree with you octupuscabbage, but my PR was never merged by the looks of it

i've spent so many hours trying to fix this. since all of my functions were using tuples instead oftthe pos class i thought my tiny function to transfer them was doing something incorrectly


Script-dump

Has this bit been released yet?  Can't see it
$ cabal run script-dump "a" "not" "yet" 4
cabal: Cannot run the package script-dump, it is not in this project (either
directly or indirectly). If you want to add it to the project then edit the
cabal.project file.

Thanks for the update.


Fix code scanning alert - Implicitly exported Android component

Tracking issue for:

[x] https://github.com/gilbertalgordo/uamp/security/code-scanning/2

works are us until now