[SPARK-22103] Move HashAggregateExec parent consume to a separate function in codegen

What changes were proposed in this pull request?
HashAggregateExec codegen uses two paths for fast hash table and a generic one.
It generates code paths for iterating over both, and both code paths generate the consume code of the parent operator, resulting in that code being expanded twice.
This leads to a long generated function that might be an issue for the compiler (see e.g. SPARK-21603).
I propose to remove the double expansion by generating the consume code in a helper function that can just be called from both iterating loops.
An issue with separating the consume code to a helper function was that a number of places relied and assumed on being in the scope of an outside produce loop and e.g. use continue to jump out.
I replaced such code flows with nested scopes. It is code that should be handled the same by compiler, while getting rid of depending on assumptions that are outside of the consume's own scope.
How was this patch tested?
Existing test coverage.

@hvanhovell @gatorsmile @cloud-fan @rednaxelafx

Test build #82088 has started for PR 19324 at commit ca64368.

@viirya This is related to https://github.com/apache/spark/pull/18931/, as it also separates out the consume function. Maybe it would be enough to do similar splits into functions in the codegen of some operators that are materialization points (sort, joins) to keep the function length in check?
Splitting out on every consume takes away some of compiler's opportunities to optimize, like e.g. delaying evaluation of some projection (which you mentioned in your PR).
Removing the use of continue also simplifies not needing to handle it in your PR.

@juliuszsompolski Thanks for pinging me.
#18931 is an attempt to separate the consume function as it can as possible. With long chain of any operators, you can have a long consume function and fail JIT, this is the one reason it tries to split into functions at the root of codegen support, instead of in some operators. I'd avoid to duplicate the separate logic in all operators, IMO.
For the explicit delaying evaluation of projection, currently the strategy I take is not going to split it. I guess that you mean the evaluation that can be delayed by the compiler, I personally think it should not be a big impact under the whole-stage codegen framework. The reason is those evaluation are actually needed and can't be avoided in most of (if not all) cases. From the benchmark we can see there is no negative impact even in the cases where no long consume function exists.
Yeah, I think the simplifies for the use of continue is a good thing, if it is possible.

LGTM

retest this please

Test build #82153 has started for PR 19324 at commit ca64368.

Test build #82153 has finished for PR 19324 at commit ca64368.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82153/
Test PASSed.

Merged to master

a late LGTM :)


Docs reference to respective eslint rule

The sentence of README that reads:

The recommended Ember ESLint config discourages computed property macros for class based syntax.

Points currently to: https://github.com/ember-cli/eslint-plugin-ember/blob/master/docs/rules/require-computed-macros.md#configuration
Which is about using computed.* helpers instead of doing ad-hoc computed() { // do your work here }.
I believe this codemod is refering more to the ember/no-computed-properties-in-native-classes as this codemod changes (for example) @readOnly to get() { ... } and thus fixes said rule in native classes.
Or am I missing something?

The currently referenced rule mentions

... in the Ember Octane world, the better improvement would be to keep the native getter and use tracked properties instead of computed properties.

But linking to the actual linting rule that has an impact on this would make way more sense indeed!


Hint empty releases to the index template file

It can be confusing for users in the generated index.adoc to list releases without any changes in them. This becomes a problem in particular when new releases are made. Consider Log4j has just released version 2.20.0 and users expect /release-notes/index.html to show 2.20.0 at the top. Whereas, 2.x.x takes the top spot and its content is practically empty. To mitigate this, the dictionary passed to the index template file (i.e., .index.adoc.ftl) can be enriched with a boolean empty field and users can decide whether to disclose empty releases or not.

Fixed in 750277d6f9ea8bc9afa4738326f2e7d5527d2181.


Posts:  / YouTube embed does not work in emails

Fixed it earlier today: 671c674635c8c08ffba249d06a7b55aabff25fe4 😄

oh, perfect! :D


Sync data with upstream

Cf. https://github.com/openvanilla/McBopomofo/commit/fd44b449ebff560ff89ca52edfd589292d505c33

@xatier PTAL. If you or any of the maintainers LGTMs, I'll merge. Thanks!

Looks good :)

@lukhnos I've glanced the diff with the following, LGTM. Thanks for taking care of this!
vimdiff <(cat data/data.txt | awk '{print $1$2}') <(cat new.txt | awk '{print $1$2}')


Prevent hard erroring on missing params

This prevents it from hard erroring on Cloud Foundry and is just good practice more generally.

These compile arguments are not optional in the Heroku Buildpack API, and it's generally not a good practice to allow optional, positional, function arguments in any programming language. (This lax style of programming leads to hard-to-debug behaviors.)
Note, this concept is already proposed as a complete pair of PR's: buildpack, inner buildpack, but I am reluctant to merge. Stability of this buildpack on Heroku is top-priority, and these changes run counter to that priority.
Also, I do not use Cloud Foundry. I have no way to ensure the buildpack is working as intended on that platform.


Do not use the deprecated repoUrl mvn option when downloading the test jars [API-2183]

Do not use the deprecated repoUrl mvn option but use the remoteRepositories option instead.

Linux test PASSed.

Linux test PASSed.

Linux test PASSed.

Linux test PASSed.

Linux test PASSed.


IDL processing puts invalid for attribute on spans giving type of property

The processing of IDL blocks that bikeshed does puts an invalid for attribute on span elements in some cases, resulting in invalid HTML:
http://validator.w3.org/check?uri=http%3A//dev.w3.org/csswg/css-transitions/
 of type float, readonly

Fixed, as part of a more general "reduce the amount of bullshit I send down the wire". Those element now get emptied of their attributes, so there's nothing to be invalid about.


Variable Commands - improve quality and documentation

Feature Overview & Customer Need
As a  Conjur user
I would like to use the conjur cli
In order to perform actions on variables defined in Conjur:

Read variable's value
Read multiple variables values
Write variable value

The variable command help will look as follows
NAME
variable - Manage variables
SYNOPSIS
conjur variable  get <variable_id1> <variable_id2> <variable_id3>
conjur variable  set <variable_id>
COMMANDS
{get, set}
get    Get the value of a variable can be applied to get the value of several variables
set    Set the value of a variable
optional arguments:
-h, --help show this help message and exit
final help is located here: https://ljfz3b.axshare.com/#id=gxnkww&p=conjur_help__variable&g=1
Quality
Make sure we have test coverage of the variable commands. Create test plan and execute accordingly.
Process logic and Demo
Conjur use with a machine that the Python CLI already been installed and conjur init run
The user is able to see a variable value
The user is able to set the variable value
The user is able to see several variable values
All variable ids with spaces should be wrapped with ". For example conjur variable get "secrets/spaces with spaces" secrets/nospaces
User messages
All user messages regarding variable should be reviewed again
Especially error messages
If an argument is missing we need to return the help of the command
Documentation
Please provide enhance documentation in online help and readme.
DOD

[ ] Implement the variable commands Conjur Python CLI in all 3 platforms
[ ] Demo the flow described above
[ ] Automatic integration tests written according to a test plan and passed successfully
[ ] UT written for all classes\functions\major logic flows and passed successfully
[ ] Security action items were taken
[ ] Supportability was taken into account - troubleshooting section in the readme enhanced and reviewed by TW & PO
[ ] Fill in the logs and place here a link to the logs files - link to a page with all logs for CLI saved and reviewed.
[ ] Logs were reviewed by TW and PO
[ ] Fill in the user messages - link to a page with all user messages for CLI saved and reviewed.
[ ] Are there new Audits to this feature? If so please document them and provide here a link
[ ] Configurations were reviewed by PO - link if something changed
[ ] Documentation HO to TW and review docs

design https://github.com/cyberark/conjur-api-python3/blob/master/design/variable_command_design.md


Support CO2/PM2.5/Light sensors in HomeKit

Description:
Map sensors to HomeKit AirQuality/CarbonDioxideSensor/SensorLightSensor, based on the following rules :
AirQualitySensor: `device_class == 'co2'` or `entity_id contains 'co2'`
CarbonDioxideSensor: `device_class == 'pm25'` or `entity_id contains 'pm25'`
LightSensor: `device_class == 'lux'` or `unit == 'lm'` or `unit == 'lux'`

Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#5146
Example entry for configuration.yaml (if applicable):
customize:
  sensor.air_meter:
    friendly_name: 'My Favorite Air Meter'
    device_class: 'pm25'

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Rebase and reset commits

Thanks :1st_place_medal:

Good job, thanks. Actually, I have been used light before but the line is too long to fit 79-chars stlye, haha:). I think light is a good word for that.


Can't create project from big JSON file

Original author<EMAIL_ADDRESS>(November 17, 2010 15:47:46)
What steps will reproduce the problem?

Launch Refine
In "Create a New Project" choose a big (29,4MB in my case) JSON file as data file.
Click "Create Project"

What is the expected output?
A new project with imported data. It works fine with smaller data sets.
What do you see instead?
Nothing. The browser does nothing but seems busy.
What version of the product are you using?
Version 2.0 [r1836]
On what operating system?
OSX 10.6
Please provide any additional information below.
The structure of  the file is:
{"total_rows":200885,"offset":0,"rows":[
{"id":"36ae432498bd38e7fe0d319b7902ffa4","key":[2010,9,15],"value":{"service":"cs","segment":"sms","app":"fc","lang":"en","device":"ipad"}},
/* ... plus lot of rows */
{"id":"36ae432498bd38e7fe0d319b79030730","key":[2010,9,17],"value":{"service":"cs","segment":"phone","app":"fc","lang":"en","device":"iphone4"}}
]}
I've tried increasing the JVM memory as per your instructions. In that case it's worst because the whole system slows down.
Original issue: http://code.google.com/p/google-refine/issues/detail?id=231

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I propose to close this as non-reproducible as no test file was provided.

@wetneb yes close, and besides, this was Gridworks days at that time and some of the importers like CSV , XML, and JSON were upgraded afterwards.


Tapping chain server tray item should go to the Mobile Wallet

When Decred Chain Server is running in the tray, tapping on it should take the user to the Decred Mobile Wallet app. Currently nothing happens.

This has been solved here


fix: correct padding of command groups when list is filtered

First of all, great work!
I found a small issue working with the Command component so I wanted to contribute back the fix. When you filter the list of items, some CommandGroups get hidden but are still present in the dom. This causes the padding styles to break. To fix it, I just tweaked one classname.
Before:

After:

@airjp73 I've definitely seen this issue too. Clever fix. Thank you.


Add optional feature to verify the chain of trust from bootstrap trusted root metadata to trusted root metadata

NOTE: This pr includes commits from https://github.com/theupdateframework/tuf/pull/1205
Fixes https://github.com/theupdateframework/tuf/issues/1168
Description of the changes being introduced by the pull request:
Add an optional feature to establish a chain of trust between
a bootstrap root metadata file and the trusted current root
metadata.
If bootstrap_root_path is provided, the folder of the bootstrap root
will be expected to contain all intermediate root files between
the bootstrap root version and the current root version.
Also, if this feature is enabled, when updating a root.json file
with _update_metadata call (from updater.py) the root metadata files
marked as "previous" won't be deleted, but instead, they will be moved
to the provided bootstrap root folder.
That way after updating to a new version of the root metadata,
the chain of trust will be preserved.
New root.json metadata files had to be generated in order to
tests properly the establishment of a chain of trust between
a bootstrap root file and the current trustworthy root file.
The sequence 1.root.json, 2.root.json is generated by marking
the older one X.root.json as "dirty" and using writeall()
function from repository_tool.py and this will generate X+1.root.json.
PS: The diff is big because of the 5 new root.json files...
Please verify and check that the pull request fulfills the following
requirements:

[ ] The code follows the Code Style Guidelines
[ ] Tests have been added for the bug fix or new feature
[ ] Docs have been added for the bug fix or new feature

I haven't addressed edge cases like the possible situation where a user uses two versions of pip with two different bootstrap files. Read more in this comment https://github.com/theupdateframework/tuf/issues/1168#issuecomment-713546471.
Also, I decided that initially, I will focus on the root chain of trust, instead of making a more general function that could be used with snapshot too. I wanted to make sure we catch all of the edge cases here, before making something more general.
Read more here: https://github.com/theupdateframework/tuf/issues/1168#issuecomment-713546471 and here https://github.com/theupdateframework/tuf/issues/1168#issuecomment-714301736.

I think this requires a bit more design work or at least discussion -- either here or maybe rather in the issue. As an end result I'd like to see the core algorithm written as text, with explanation and other options discussed (e.g. why are we loading current runtime metadata first, and only then looking at the bootstrap if we think the bootstrap is more trustworthy?) and the variables at play as well  (what should happen if root chain is not complete locally, what if bootstrap root is newer than current runtime root, what if bootstrap and runtime root are just different).
Also might be useful to consider other (non-root) bootstrap metadata already (even if the intention is not to implement that) -- even if just to clearly state that this approach is / is not viable for the other metadata types. The related TAP might be useful to refer to here.
My comments might be a bit all over the place, hope you can find the threads...

If bootstrap_root_path is provided, the folder of the bootstrap root
will be expected to contain all intermediate root files between
the bootstrap root version and the current root version.

Is this a reasonable requirement? What happens if it does not?

Also, if this feature is enabled, when updating a root.json file
with _update_metadata call (from updater.py) the root metadata files
marked as "previous" won't be deleted, but instead, they will be moved
to the provided bootstrap root folder.

This is not possible:  bootstrap location may be on a read-only filesystem (or not writable by current user) -- the core idea is that bootstrap is more trustworthy (because user cannot modify it).
I don't see a reason not to store the "old" root metadata files somewhere in the normal runtime metadata directory: please explain if you've noticed one.
The question of whether bootstrap checking should modify runtime metadata (e.g. should it store the bootstrap metadata itself in runtime metadata if it's not there already, should it download new files needed to chain up to current runtime metadata root) needs to be decided... I would think downloading and storing the missing files is appropriate but this probably needs some thinking and playing out the different scenarios -- what if I run pip X that has bootstrap A, and then run pip Y that has bootstrap B, with various values of A and B?
I think I'd like to see a variant of the process that starts the local metadata verification process from the bootstrap root, and continues using the files in the runtime metadata (as a design to compare with this one).

I haven't addressed edge cases like the possible situation where a user uses two versions of pip with two different bootstrap files

The comments above probably make this obvious but: I don't think that is an edge case. Even just upgrading the same pip could mean new, unexpected bootstrap root

Good points @jku!
This could be considered as a prototype.
I had a brainstorming session with @joshuagl where I wrote down the assumptions I am making in the current proposal
and what and why can be approved.
The steps I am going to take are:

Familiarize with the proposal made in this TAP: https://github.com/theupdateframework/taps/pull/128
Address @jku comments and change this pr.

On hold, until TAP https://github.com/theupdateframework/taps/pull/128 is clarified to a point where I would be able to make this pr a prototype of the TAP.

On hold, until this TAP is clarified to a point where I would be able to make this pr a prototype of the TAP.

I'm closing this: no point in keeping PRs cluttering the list if they're not going anywhere. I don't think we'll want to touch the legacy updater anymore anyway.
Please re-open if needed.


first commit

The main commands supported by the CLI are:

init: provides management for openfunction’s frameworkor.
create: create a function from a file or stdin.
apply: apply a function from a file or stdin.
get: prints a table of the most important information about the specified function.

get builder: prints important information about the builder.
get serving:prints important information about the serving.

delete: delete a specified the function.

Is it possible to add some examples, e.g. quickstart


Add avatar to right sidebar column

PR for https://github.com/zulip/zulip/issues/2305
Adding avatar to the right sidebar for wide screen displays.
See https://github.com/zulip/zulip/issues/2305#issuecomment-261674471 for screenshot of changed UI.

Thanks! Would be happy to keep iterating on this in here or in an additional PR

make avatar link to profile
add status indicator


Monte carlo C fix

MonteCarlo in C was not implemented as described by the book. In the book we are told to use only the first quadrant to calculate pi. The C code produces a random range from -1 to +1. While the method stills works I think we should keep code to follow the algorithm as described by the book.
I also removed the incorrect formula where radius != 0.0 and replaced it with code to product random variables from 0 to radius.
Another smaller change was changing the return type to double. The function should only calculate pi and return it, there's no need for it to also print the estimation and how close it was, that can be left up to the main function.

Thanks, looks good.


Support reproducible builds

Cog currently uses docker to build the images
however, docker based builds are not  reproducible: you'll get different image hashes even with the identical config
this long-term feature request is to refactor the build system from docker to something like

kaniko
buildah
or at absolute worst case, bazel

Building deterministic Docker images with Bazel

some references  building using kaniko and bazel

cosign_kaniko_cloud_build
cosign_bazel_cloud_build

Hi, we've investigated this - SOURCE_DATE_EPOCH is a promising direction, and we tried approaches with resetting mtime for everything. Unfortunately, pip install is fundamentally irreproducible, because it generates pyc files that include the timestamp. Unzipping wheels without using pip might make this possible, or I think there's some PEPs in the works that might help with this.

got it; i think esp with python it'd be difficult to do with its own toolchains.
maybe generating the docker file  per https://github.com/replicate/cog/issues/1241#issuecomment-1660128528
and then chaining it to off the shelf kaniko would be sufficient workaround ( ref
docker run   \
  -v `pwd`:/workspace -v $HOME/.docker/config_docker.json:/kaniko/.docker/config.json:ro \
   -v /var/run/docker.sock:/var/run/docker.sock \
     gcr.io/kaniko-project/executor@sha256:034f15e6fe235490e64a4173d02d0a41f61382450c314fffed9b8ca96dff66b2    \
	 --dockerfile=Dockerfile \
	 --reproducible   \
	     --destination "docker.io/salrashid123/tpmds:server"       --context dir:///workspace/

i realize now we're involving kaniko as well but it maybe easier to delegate it like this for now

Would that address the pyc timestamps?

i think so, as part of the kaniko reproducible builds, it sets up snapshots resetting the all file times.
tried it from the getting started guide and using the generated Dockerfile seems to always reference a file like
COPY .cog/tmp/build1866459875/cog-0.0.1.dev-py3-none-any.whl /tmp/cog-0.0.1.dev-py3-none-any.whl

which doesn't exist and causes the kanilo to fail
cog build
cog debug  > Dockerfile

docker run     -v `pwd`:/workspace -v $HOME/.docker/config_docker.json:/kaniko/.docker/config.json:ro    -v /var/run/docker.sock:/var/run/docker.sock      gcr.io/kaniko-project/executor@sha256:034f15e6fe235490e64a4173d02d0a41f61382450c314fffed9b8ca96dff66b2    	 --dockerfile=Dockerfile 	 --reproducible   	     --destination "docker.io/salrashid123/cogdemo:server"       --context dir:///workspace/

oh, so python embeds the timestamp inside the file...then kaniko isn't gonna help out.
...and i can't sincerely recommend going all out on and investing in python-bazel builds

as a stopgap for the debug issue, run cog build once and then interrupt, it will place a cog wheel in .cog/tmp/whatever, and then you can edit the cog debug output
does python-bazel address pyc timestamps somehow? does it just strip pyc files?
it would be incredibly helpful for us to get reproducible builds for deduplication

yeah, i tried the interrupt trick suggested but each cog+kaniko build is different hash (which is expected, i tihnk)
i'm unsure exactly how bazel rules_python handles pyc files but i can say you need to precisely  define everything upfront and bazel uses its own sandbox to canonicalize everything.
some examples with rules_python which may help answer the question though....once it works with rules_python, stitching it with rules_docker and containers would be easy
https://github.com/bazelbuild/rules_python/tree/main/examples

Y'all might also investigate Nix (which provides dockerTools, an alternate build toolchain for Docker images) towards this end.

Does rules_python generate pyc at all? https://github.com/bazelbuild/bazel/issues/16245
Again, there's no issue with mtimes, the problem is the timestamps embedded in pyc files

Does rules_python generate pyc at all? bazelbuild/bazel#16245
Again, there's no issue with mtimes, the problem is the timestamps embedded in pyc files

The NixOS install CD is fully binary reproducible. I can't imagine it not including Python, so clearly they've got that licked somehow.

then we would have to ship nix's patched interpreter, right? DETERMINISTIC_BUILD is not present in stock python

her'es an end-to-end covering building an image with bazel and serving with cog.
if precise build steps are followed, you should end up with

sha256:3db6542dc746aeabaa39d902570430e1d50c416e7fc20b875c10578aa5e62875

(i verified it on two different clean vms)
as mentioned, using bazel is really tedious though toolchains like gazelle may help with python.
(imo as-is in current state, the developer friction all this introduces negates the primary ease-of-use benefits of using/building w/  cog in the first place)
[tbh, i've never used or needed cog and try to not use bazel for deterministic builds (in go there are easier ways)...this issue with cog was something i noticed and then ratholed academically.]

I would like to add my +1 for supporting reproducible builds via Nix and NixOS as well.

https://github.com/datakami/cognix is a project that exists and kind of works but unfortunately isn't a priority for us at this time


Fixed disabled logging and sys.exit statements

logging.disable() disables logging globally whenever this package is imported, interfering with user code.
sys.exit prevents users from handling errors gracefully, e.g. by skipping the Ab. These calls were replaced with raise statements, which allow the user to catch and deal with errors.

Hi Marc,
Thanks a lot for your interest in ImmuneBuilder!! I hope it is proving useful.
I disabled logging to remove the annoying message printed by OpenMM every time the code is run. If you have an alternative for removing this that does not involve disabling the logger I would be happy to merge.
The sys.exit calls only happen within the command_line_interface function that is meant to be run from the command line. They were added to make it easier to run the code on the webserver.
If you would like to open pull requests in the future I would appreciate it if you did a separate one for each individual change. Otherwise, even if you bring up a change that I agree with, I won't be able to merge it.
All the best,
Brennan


Room name can be blank if you add a ZWJ

If the name only has spaces you'll get a "Name can't be blank" error, if it only has ZWJs it errors with "Must have at least 2 characters", but if you use a ZWJ (so it's not blank) as well as spaces (to match the character requirement) you can circumvent the validation and create rooms with no name.
No showstopper I guess, but given that the "mustn't be blank" error is already in place, I figure you'd prefer it if all rooms have actual names? 😄
Edit: wohoo, #1!! 🚀

Reference to #35

This is already patched


[Breaking] Switch moonsense.models to be generated from protocol buffer definitions

This simplifies ongoing maintenance and introduces the set of objects needed
to implement webhook handlers that will receive the bundle payload in the request
body.
There are changes in the signature of the Client class methods. All examples and
tests have been updated as needed.

Added a commit with a webhook handler example that does simple gesture processing.


feature request: refine code block copy button behaviour to ignore the leading $

Currently docusaurus code block copy button would copy all texts including the leading dollar sign, so users could not run commands by simple copy and paste.

A easy option is to remove all the dollar sign, but it would lead to messy structure in code blocks, making commands and results the same. So a better method could be refining code block copy button behavior to ignore leading $, as discussed in docusaurus

Hi @iamayushdas are you interested in working on this problem~

I see that people stuck into this has opted to trim the  $ , I would like to  give a try to fix this.

On researching,Many of the websites under facebook like create-react-app , relay, flow , uses the code snippet without $

On researching,Many of the websites under facebook like create-react-app , relay, flow , uses the code snippet without $

Thank you for your time! I think README/getting-started/how-to-build/install-dependencies will not contain a complex code structure so it would be cool to me to remove leading $ there.
BTW, I just remembered I create a relative PR https://github.com/apache/apisix/issues/4076 🤣

Should i work on it?

Should i work on it?

Sure thanks for your help!!

can we also change the format of our code blocks @Yiyiyimu
from this:

to this:
This adds the title to code blocks, we don't have to write the filename or instructions regarding code snippet in (#comment) format

Cool @iamayushdas but could we make it work for part of the code blocks, since I think in APISIX most code blocks don't need to clarify its file name

Cool @iamayushdas but could we make it work for part of the code blocks, since I think in APISIX most code blocks don't need to clarify its file name

We could use those comments as a title, how is it?

We could use those comments as a title, how is it?

Like I think we don't need to add title for github.com/apache/apisix-docker/pull/194

Any update here?

Any update here? It's been a long time.

Would you like to take this one?

@juzhiyuan in fact it's not easy to copy but ignore the $. We need parse the code, or use a different structure.

I think we should close this issue, because:

If we keep the existing code format, we inevitably need to parse the code. Then we have to change the core code of docusaurus, and this will bring difficulties to subsequent upgrade.
If we change the code format, this requires modifying too many documents.

In summary, It is unlikely to solve this problem at present.
@juzhiyuan WDYT?

Hi, there is a lot of documentation containing code blocks with shell and output., so I will close this issue and cc @hf400159 @navendu-pottekkat to take a look: this is one point on the documentation style guide. 🙏 😉

@juzhiyuan Yes. We are including this in the style guide and would be using more of Docusaurus' features.


Issue with appointments spanning over multiple Days

I often have appointments that start at, lets say 8pm and end after midnight. The View turns them into an appointment spanning two whole days.
Is there any way to fix this?

Can you try the newest version 1.13? I've just compiled it as of now. It's built on the newest version of https://github.com/niccokunzmann/open-web-calendar

Hello,
sorry, I had forgotten that I mounted /ics/etc, so I have had the old default.json.
After fixing that, it works again, but the root issue is still in effect.
Nico

Added two environment variables:

Parameter
Value
Default

ICS_VIEW_DHTMLX_ENABLE_PLUGINS
Enabled DHTMLX plugins
"agenda_view multisource quick_info tooltip readonly"

ICS_VIEW_DHTMLX_DISABLE_PLUGINS
Disabled DHTMLX plugins
""

To enable your request simply run as:
docker run --name ics-view \
  -v .../etc:/ics/etc \
  -e ICS_VIEW_DHTMLX_ENABLE_PLUGINS="agenda_view multisource quick_info tooltip readonly all_timed" \
  -d 11notes/ics-view:[tag]

ALL_TIMED is the plugin you need plugin example


version up to 0.23.15 (add maven opts)

#64

@rultor merge

@rultor merge

@graur OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@graur Done! FYI, the full log is here (took me 3min)


Move minimal iGeom implementation to become part of MCNP2CAD build process

Move code for minimal iGeom implementation (#4) into branch MCNP2CAD repo and integrate it with MCNP2CAD build process.

Can @ejwilson3 comment on this - can we consider it closed?  either complete or deemed unnecessary?  Other comments?

I think it's done; the version that actually works with Trelis is in my fork of DAGMC-Trelis repo rather than the mcnp2cad one, though.


Assigning scope attribute for table headers

First of all, thank you for this library it has been greatly helpful for display of data tables and visualizations.
Secondly, I work for the government and we are required to make data tables accessible (Section 508/WCAG2 compliant). This library already does a great job by designating thead, tbody, and table headers as th. Only missing component is the scope attribute for th tags. This would involve assigning an attribute of scope="col" for all th in a thead tag and scope="row" for all th in a tbody tag. I suspect this it not too difficult to do but I'm relatively new to both github and coffeescript.
http://webaim.org/techniques/tables/data#headers

Sorry I'm just getting to this now... How should we handle ths that span multiple columns/rows? scope="colgroup" and scope="rowgroup" ?

From the testing that I have done, best thing is to just keep these to
scope="col" or scope="row". Attributes scope="colgroup" and
scope="rowgroup" are not widely supported among screen readers and other
assistive technologies.
On Sat, Oct 29, 2016 at 9:07 PM, Nicolas Kruchten<EMAIL_ADDRESS>wrote:

Sorry I'm just getting to this now... How should we handle ths that span
multiple columns/rows? scope="colgroup" and scope="rowgroup" ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nicolaskruchten/pivottable/issues/536#issuecomment-257125466,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATx6jxStf4WB_0J6-MomX1awXZ3Ci1Lpks5q4-3TgaJpZM4Jhv0w
.


Detect Dragover Event in Grid-Item

I want to drop items in vue-grid-item from a vue-draggable list.
How can I do that?
How can I detect dragover event in vue-grid-item??

Thats not possible right now


Feat: Builder Resources Page

What changed? Why?

Curated resources for builders

Notes to reviewers
How has it been tested?
locally

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

Review Error for zencephalon @ 2024-08-12 18:55:27 UTC
User failed mfa authentication, see go/mfa-help


Some problem with prom/prometheus image pulling

Hello.
I've found some problem with prom/prometheus image pulling.
It fails with error:
$ sudo img pull prom/prometheus
Pulling prom/prometheus...
INFO[0000] resolving docker.io/prom/prometheus:latest
content digest sha256:aae7f9829bbbba8f98b3ebd4f2b5c47c09ed8f2e47a4f3022cae5aed546a4c3c: not found

And the same with grafana/grafana:
$ sudo img pull grafana/grafana
Pulling grafana/grafana...
INFO[0000] resolving docker.io/grafana/grafana:latest
content digest sha256:00e2e2ecc3e969d0766d6b9ed6139e8d9ae2d2c62a0a942953d2672636d8c022: not found

But with google/cadvisor and others all is ok:
$ sudo img pull google/cadvisor
Pulling google/cadvisor...
INFO[0000] resolving docker.io/google/cadvisor:latest
INFO[0002] unpacking docker.io/google/cadvisor:latest
Snapshot ref: sha256:81d2f700310845b28ec3fe27eb25a421824246bfb976c5736f0e24e06b088df3
Size: 66.99MiB

Versions:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

$ uname -a
Linux reddit-app 4.13.0-1011-gcp #15-Ubuntu SMP Mon Feb 12 16:29:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ runc --version
runc version 1.0.0-rc4
spec: 1.0.0

$ img version
img:
 version     : v0.2.4
 git hash    : e0622f7
 go version  : go1.9.4
 go compiler : gc
 platform    : linux/amd64

maybe this is the version of the manifest on dockerhub? so weird, haven't had a chance to look yet

I am kinda having a look at it. It seems that it is triggered by signed manifests:
$ img pull docker/trusttest
Pulling docker/trusttest...
INFO[0000] resolving docker.io/docker/trusttest:latest
snapshotting the image failed: content digest sha256:50c0cdd0577cc7ab7c78e73a0a89650b222f6ce2b87d10130ecff055981b702f: not found
$ img ls
WARN[0000] encountered unknown type application/vnd.docker.distribution.manifest.v1+prettyjws; children may not be fetched
NAME                                    SIZE            CREATED AT      UPDATED AT    DIGEST
docker.io/docker/trusttest:latest       3.904KiB        4 seconds ago   4 seconds ago sha256:50c0cdd0577cc7ab7c78e73a0a89650b222f6ce2b87d10130ecff055981b702f

So, what we can do to workaround it?
Need to build image for percona mongodb_exporter, but can't as it use quay.io/prometheus/busybox:latest that can't be pulled with img :(
$ img pull quay.io/prometheus/busybox:latest
Pulling quay.io/prometheus/busybox:latest...
INFO[0000] resolving quay.io/prometheus/busybox:latest
snapshotting the image failed: content digest sha256:a5fd02c9dcb7c77ac1a82a39d5999578e68a6a5a3710eac35dda6ddb8b66aa70: not found

@andyxator I guess one dumb workaround is to build custom images (FROM quay.io/prometheus/busybox) with docker, push them to your registry and then do FROM from them. :man_shrugging:
Have no idea whether it actually works but I think it should be.

this works fine now but let me know if otherwise


missing config/config.ts_TEMPLATE  in repo

Copy config/config.ts_TEMPLATE to config/config.ts and set up your configuration. See config/interface.ts for documentation over the configuration

template is missing in repo

should maybe also be same ts config in dunder
closing this

maybe use same config in dunder as well be consistent


remove harvester dependencies

in the code base, "HARVESTER" have been used in many places.

Done.


Adjust to newer CLI behavior

When no dependencies are found or need to be updated, the CLI no longer creates an empty buf.lock file. Update the fetch script to gracefully handle this.
Fixes #676.

https://github.com/bufbuild/modules/actions/runs/10562519712/job/29260668135 worked with this change - going to merge.


ImportError: No module named dns.resolver

When i tried to run this tool on python2. I got this error.
Traceback (most recent call last):
File "azbug.py", line 10, in
import dns.resolver
ImportError: No module named dns.resolver

pip2 install dnspython
Le mer. 12 mai 2021 à 08:18, Bikram kharal @.***> a
écrit :

When i tried to run this tool on python2. I got this error.
Traceback (most recent call last):
File "azbug.py", line 10, in
import dns.resolver
ImportError: No module named dns.resolver
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/amazigh-kil3r/azbug_scanner/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOQVO5L5ELYLWUFFS3T5WGDTNJW2ZANCNFSM44YPR5NQ
.


Remove the on-heap version of the star-tree

We no longer support the on-heap version of the star-tree, so remove the implementation
Change the interface name to StarTree and StarTreeNode
In the OffHeapStarTreeBuilder, use a local TreeNode class to build the star-tree

Codecov Report

Merging #2066 into master will increase coverage by 0.14%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master    #2066      +/-   ##
==========================================
+ Coverage   69.35%   69.49%   +0.14%
==========================================
  Files         827      823       -4
  Lines       39850    39583     -267
  Branches     5396     5369      -27
==========================================
- Hits        27638    27510     -128
+ Misses      10354    10231     -123
+ Partials     1858     1842      -16

Impacted Files
Coverage Δ

.../linkedin/pinot/common/data/StarTreeIndexSpec.java
100% <ø> (ø)
:arrow_up:

...m/linkedin/pinot/common/config/IndexingConfig.java
67.27% <ø> (-1.7%)
:arrow_down:

.../core/segment/index/loader/IndexLoadingConfig.java
85.91% <ø> (+1.3%)
:arrow_up:

...kedin/pinot/core/segment/index/loader/Loaders.java
88.88% <100%> (-0.31%)
:arrow_down:

...din/pinot/core/startree/StarTreeBuilderConfig.java
100% <100%> (ø)
:arrow_up:

...din/pinot/core/segment/index/IndexSegmentImpl.java
49.33% <100%> (ø)
:arrow_up:

...ot/core/operator/filter/StarTreeIndexOperator.java
84.45% <100%> (ø)
:arrow_up:

...t/creator/impl/SegmentIndexCreationDriverImpl.java
87.04% <100%> (-0.06%)
:arrow_down:

.../linkedin/pinot/core/startree/OffHeapStarTree.java
58.1% <21.21%> (ø)

...kedin/pinot/core/startree/OffHeapStarTreeNode.java
83.63% <83.63%> (ø)

... and 33 more

Continue to review full report at Codecov.

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


Add regions and subscriptions tables and relations

I'm ok with subscriptions being subscriptions.  After all, we don't want to add source_ in front of everything.  region just happens to be a special case.

@agrare ok simplified and added 1 more change, regions should not be nested to subscriptions, those are 2 top level buckets


Eliminate duplicate names that span across different packages including between data plane and mgmt. plane

https://microsoftapc-my.sharepoint.com/:x:/g/personal/yaokou_microsoft_com/ERM4rgb_JP9Glhbl6eft0v0BNKAjPouynFDwA9MK6ETg0Q?e=51mEX1

https://github.com/Azure/azure-sdk-for-net/pull/27599

https://github.com/Azure/azure-sdk-for-net/pull/27731


Custom icons are added to miruIcons

Notion card
https://www.notion.so/saeloun/Move-SVG-s-from-assets-to-miru-icons-All-icons-should-be-moved-to-Miru-icons-3b1be09428e8447690ea62ab3fd66e2b
Summary

SVG icons located in app/assets/images added to miruIcons
Fixed the Team icon in the nav bar

Preview

Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?

Checklist:

[x] I have manually tested all workflows
[x] I have performed a self-review of my own code
[ ] I have annotated changes in the PR that are relevant to the reviewer
[ ] I have added automated tests for my code

@abinashpa No loom video or image? It is a frontend change please add something to the preview.

@abinashpa App is breaking. Please check

@apoorv1316 How? Working fine for me.

@apoorv1316 How? Working fine for me.

even if I comment this line from code I get an error from some other icon. Something is wrong

@apoorv1316 How? Working fine for me.

even if I comment this line from code I get an error from some other icon. Something is wrong

Fixed 👍

@apoorv1316 Lets test it today and share your test results.

@abinashpa The pencil icon is so small on add entry card. cc @supriya3105

@abinashpa The pencil icon is so small on add entry card. cc @supriya3105

Fixed.


Tweens / Easings

à la http://easings.net / http://glsl.io
Obviously they should be friendly toward Typed Arrays, RAF, etc.
Bonus points if one supplies GLSL variants.

I've been doing a bit of motion/easing stuff here and there:
https://www.npmjs.com/package/eases
https://www.npmjs.com/package/lerp
https://www.npmjs.com/package/lerp-array
https://www.npmjs.com/package/keyframes
I've also explored a pretty high-level tweening engine:
https://www.npmjs.com/package/tweenr
It has some useful bits under the hood (like matrix decompose / recompose for CSS transform tweening) so if you have suggestions on how to make the modules more generic and less tied to an "engine" I'd appreciate the feedback. :+1:

glsl.io / glsl-transition is actually using https://github.com/gre/bezier-easing which implements the cubic-easing (like in CSS) in JavaScript

I also stuck on this issue some days ago. I needed to animate some objects from A to B and then to C. All solutions I found were to hard coupled to css or some other platforms, so I decided to make my own quick implementation. My stack consits of the following components:

https://www.npmjs.com/package/ease Why? Be cause it consumes floats between 0 and 1 and returns a interpolated float between 0 and 1
https://www.npmjs.com/package/d3-interpolate Creates a interpolator function based on two states. The interpolator expects a value between 0 and 1 and returns the interpolated object/array/string/number/whatever
A simple timeline implementation

Usage example:
import {cubicIn} from 'ease';
import {array as createInterpolator} from 'd3-interpolate';

const A = [1, 2, 3]; // vec3
const B = [4, 5, 6]; // vec3
const C = [7, 8, 9]; // vec3
const interpolateA2B = createInterpolator(A, B);
const interpolateB2C = createInterpolator(B, C);

const animation = new Timeline()
    // add a handler for interpolate a point from A to B with duration of 200ms
    .addHandler(200, t => point = interpolateA2B(t))
    // adds a delay between handlers
    .delay(100)
    .addHandler(500, t => point = interpolateB2C(cubicIn(t)));

loop.on('tick', dt => {
    // increases a internal age and calls matching handler
    animation.tick(dt);

    // render your point
});

If there is any interest, I can open source the timeline module…

Going to recommend https://github.com/AndrewRayCode/easing-utils


Update README

Fixed some GitHub markdown weirdness (basically, Github is super strict)

Ah, didn't notice that this is not markdown. Sorry!


Update .VERSION post-release to 1.9.1

(self-explanatory)

Hi Damian,
I'm not entirely sure this is necessary anymore. (I should have mentioned this on our call---sorry!) I've adjusted the build system to help detect that the package is being run under git or from a release archive. git archive ... will expand text in .VERSION (a la CVS/SVN $Id$ etc.) so it's easy to spot a build from a tarball that we posted as an official release: .VERSION will have expanded text instead of the usual place holders. ./install.sh --version may need some additional work if we want it to report that it is a git build, but since there are other was to determine this info (more on this in a moment) it did not strike me as a high priority to implement.
If you build open coarrays caf --version and cafrun --version will tell you what the state of the repository is in when the library was built from a git repo. (It gives the tag, commit hash, commits since the tag, and appends -dirty if the repo was not clean.) In addition CMake detects when it is building from a git repo and outputs this information, along with the version information.
The build system prioritizes the version information as follows:

Expanded/injected version information in .VERSION. The top line of the file is expanded, and 2 additional blank lines are inserted
If the top line of .VERSION is not expanded, then we're not building from a git archive created release tarball. In this event we check for Git, and whether we're in a git repo (a .git folder will be in ${CMAKE_SOURCE_DIR}). If we have Git and are in a Git repo, then we used git describe to generate a version string to inject into caf and cafrun, and print this version string in the CMake output when the configure/generate step happens. This version string either matches an official tag, or indicates the current latest commit and commits ahead of the latest tag (and if the repo is dirty) e.g., 1.9.0-3-g0101f0f-dirty. Since CMake requires PROJECT_VERSION to be x.y.z where x, y and z are all integers, git describe is called again, where it does not emit the number of commits ahead, the latest commit SHA, or the dirty state of the repository. This will match the most recent tag.
If there is no Git found and/or it does not appear that we're building from a git repository, or if the git describe version string is malformed (e.g., from a shallow clone, you can only retrieve the SHA) then we fall back on the fallback version string in .VERSION.

So to illustrate the main two cases, let's first look at output generated from the release archive downloaded from Github:
$ wget https://github.com/sourceryinstitute/opencoarrays/releases/download/1.9.0/OpenCoarrays-1.9.0.tar.gz
# untar & make build directory, set FC and CC
$ ./install.sh --version
OpenCoarrays 1.9.0
...
$ cat .VERSION
 (HEAD, tag: 1.9.0, origin/master, origin/HEAD)

# Fall back version, probably last release:
1.9.0

# OpenCoarrays version file. This project uses semantic
# versioning. For details see http://semver.org
#
# Release archive created from commit:
# fdc783deea8205615e1f591ea746236b696307c8  (HEAD, tag: 1.9.0, origin/master, origin/HEAD)
# Created on 2017-05-26 17:07:34 -0400 by Izaak Beekman, and
# signed by Izaak Beekman<EMAIL_ADDRESS>using E8C38C70328B3A0E.
# Signature status: G
gpg: Signature made Fri May 26 17:08:03 2017 EDT
gpg:                using RSA key E8C38C70328B3A0E
gpg: Good signature from "Izaak Beekman<EMAIL_ADDRESS>[ultimate]
gpg:                 aka "Izaak B. Beekman (personal website email<EMAIL_ADDRESS>[ultimate]
gpg:                 aka "Izaak B Beekman (personal website email<EMAIL_ADDRESS>[ultimate]
gpg:                 aka "Izaak B Beekman (personal website contact email<EMAIL_ADDRESS>[ultimate]
gpg:                 aka "[jpeg image of size 12961]" [ultimate]
gpg:                 aka "Izaak "Zaak" Beekman (ParaTools Inc. email<EMAIL_ADDRESS>[ultimate]
Primary key fingerprint: 1DB1 B5ED E321 22B2 8E56  810D CB21 118C 92A6 4702
     Subkey fingerprint: DD5B 7472 5C05 6BE1 BE1C  361B E8C3 8C70 328B 3A0E
$ cmake ..
-- The C compiler identification is GNU 7.1.0
...
-- Building OpenCoarrays version: 1.9.0
...
$ make -j > /dev/null 2> /dev/null
$ chmod +x bin_staging/caf{,run}
$ bin_staging/caf --version

OpenCoarrays Coarray Fortran Compiler Wrapper (caf version 1.9.0)
...

In contrast, if you checkout master (or another branch) from git you get:
$ git checkout master
$ ./install.sh --version # still says 1.9.0, but easy to see it's not a release
OpenCoarrays 1.9.0
$ cat .VERSION
$Format:%d%n%n$
# Fall back version, probably last release:
1.9.0

# OpenCoarrays version file. This project uses semantic
# versioning. For details see http://semver.org
#
# Release archive created from commit:
# $Format:%H %d$
# $Format:Created on %ci by %cN, and$
# $Format:signed by %GS using %GK.$
# $Format:Signature status: %G?$
$Format:%GG$
$ cd build
$ CC=... FC=... cmake ..
-- Build from git repository detected
-- Found Git: /usr/local/bin/git (found version "2.13.0")
-- The C compiler identification is GNU 7.1.0
...
-- Building OpenCoarrays version: 1.9.0-3-g0101f0f
...
$ chmod +x bin_staging/caf*
$ caf --version
OpenCoarrays Coarray Fortran Compiler Wrapper (caf version 1.9.0-3-g0101f0f)

Because there are ways to very quickly and easily see if the  library was built from a release or not, I don't think we need to keep incrementing odd patch numbers between releases. I hope this all made sense. Let me know what you think and feel free to ask any questions.

Closing this per our discussion between @zbeekman and @rouson... We should remember to update install.sh though...


Added Unknown value to GLProfile

SDL will happily return 0 (on Linux) if you ask what profile it will use without explicltly setting one... even after you have already gotten a GL context.  So even if you do something seemingly innocuous such as:
        let window = video.window(window_title, screen_width, screen_height).opengl().build();
        let gl = video.gl_attr();
        println!("Got GL {}.{}, profile {:?}",
                 gl.context_major_version(),
                 gl.context_minor_version(),
                 gl.context_profile());

the gl.context_profile() call can return something unrecognized and panic.

Thanks !


UI Bug: on back pressed in map opens last fragment/activity instead of session activity

Actual Behaviour

when we go from speaker activity to session activity and open the map then on back button  pressed speakers activity opens up instead of session activity.

same happens when we go from schedule fragment to session activity and open map then on back pressed schedule fragment opens up instead of sessions activity.

Expected Behaviour

on back pressed session activity should be opened instead of speakers activity.
on back pressed session activity should be opened instead of schedule fragment.

Steps to reproduce it
Step 1: Go to Speakers Fragment
Step2: open one of the speakers activity, then open one of the sessions of speaker.
Step3:  open Map from toolbar in session activity, press back button
Step4: Speakers activity will open instead of sessions activity
Would you like to work on the issue?
Yes

@Rishabhk07 go ahead! :+1:

Thanks @harshitagupta30 will send the PR soon


mathgl[glut]:x64-windows build failure

Host Environment

OS: Windows 10 1903
MSVC 2019 16.3.0

To Reproduce
vcpkg install mathgl[glut]:x64-windows

Failure logs
config-x64-windows-out.log
install-x64-windows-dbg-out.log

Error:
C:\Dev\BasicTools\vcpkg\buildtrees\mathgl\src\2.4.3-ea7ba2a6a4\widgets\glut.cpp(30): fatal error C1083: Cannot open include file: 'glut.h': No such file or directory

opengl in the windows SDK does not contain glut, we should install the opengl utility toolkit separately.

Hi @spindensity, thanks for reporting this issue.
I've fixed this issue in #8369, please update vcpkg and rebuild mathgl.
Thanks.


Provide function to clear data in the LocalDataProvider

If I want to remove all rows and just show the header, I have to do that manually with lineup.data.data.setData([]). The setting itself works fine, but results in multiple errors later when rendering the body:
LineUpJS.js:3638 Uncaught (in promise) TypeError: Cannot read property '_rankings' of undefined(…)LocalDataProvider.rankAccessor @ LineUpJS.js:3638ValueColumn.getValue @ LineUpJS.js:986ValueColumn.getLabel @ LineUpJS.js:983(anonymous function) @ LineUpJS.js:3845arguments.length.each.value.function.value.textContent @ d3.js:784(anonymous function) @ d3.js:962d3_selection_each @ d3.js:968d3_selectionPrototype.each @ d3.js:961d3_selectionPrototype.text @ d3.js:783DefaultCellRenderer.render @ LineUpJS.js:3845render @ LineUpJS.js:5201(anonymous function) @ LineUpJS.js:5293

LineUpJS.js:3111 Uncaught (in promise) TypeError: Cannot read property '_index' of undefined(…)desc.accessor @ LineUpJS.js:3111ValueColumn.getValue @ LineUpJS.js:986(anonymous function) @ LineUpJS.js:4149arguments.length.each.value.function.value.textContent @ d3.js:784(anonymous function) @ d3.js:962d3_selection_each @ d3.js:968d3_selectionPrototype.each @ d3.js:961d3_selectionPrototype.text @ d3.js:783SelectionCellRenderer.render @ LineUpJS.js:4149render @ LineUpJS.js:5201(anonymous function) @ LineUpJS.js:5293

LineUpJS.js:3528 Uncaught (in promise) TypeError: Cannot read property 'symbol' of undefined(…)CommonDataProvider.rowGetter @ LineUpJS.js:3528ValueColumn.getValue @ LineUpJS.js:986StringColumn.getValue @ LineUpJS.js:1396ValueColumn.getLabel @ LineUpJS.js:983(anonymous function) @ LineUpJS.js:3845arguments.length.each.value.function.value.textContent @ d3.js:784(anonymous function) @ d3.js:962d3_selection_each @ d3.js:968d3_selectionPrototype.each @ d3.js:961d3_selectionPrototype.text @ d3.js:783DefaultCellRenderer.render @ LineUpJS.js:3845StringCellRenderer.render @ LineUpJS.js:4274render @ LineUpJS.js:5201(anonymous function) @ LineUpJS.js:5293

LineUpJS.js:3528 Uncaught (in promise) TypeError: Cannot read property 'score' of undefined(…)CommonDataProvider.rowGetter @ LineUpJS.js:3528ValueColumn.getValue @ LineUpJS.js:986NumberColumn.getRawValue @ LineUpJS.js:1283NumberColumn.getValue @ LineUpJS.js:1290width @ LineUpJS.js:3933attrFunction @ d3.js:671(anonymous function) @ d3.js:962d3_selection_each @ d3.js:968d3_selectionPrototype.each @ d3.js:961d3_selectionPrototype.attr @ d3.js:651BarCellRenderer.render @ LineUpJS.js:3928render @ LineUpJS.js:5201(anonymous function) @ LineUpJS.js:5293

To prevent this, the LocalDataProvider should provide a "correct" clearData function and/or the renderer should handle also empty datasets without errors.

@sgratzl Please have a look into it later.

it is difficult to create a more direct way to set/reset the data, since it depends on the data provider. However, the errors should be gone.

@thinkh can you close this issue, if it works for your, please


TileMap::draw only handles bounds as a multiple of 8

I can setup world with: TileMap world((uint8_t *) terrainTiles, (uint8_t *) terrainData, Size(32, 24), SpriteSheet::load(tilemapPackedData));
but world.draw(&screen, Rect(0, 0, 320, 240), nullptr);
results in 8 rows of the 8x8 tiles drawn as expected, 8 rows of blank and then 8 rows as expected. Transforms for sprites and for the TileMap work OK. The blanks are due to the following returning -1:
https://github.com/pimoroni/32blit-beta/blob/5576e3dc53f1076e82fc829af5beae68d6742d09/32blit/graphics/tilemap.cpp#L49
I can see it's somewhere in the XOR on line 53 but I'm a bit lost on why this is here so I'm passing this on to a someone who knows the design.
This is an issue on both X & Y axes, a 12 x 8 world will have some blank columns, a 12 x 12 will have blank rows & columns. A 4 x 4 world works.
I'm using code from 8th Feb, last commit 5576e3d.

Additional, as this seems highly related, would be very useful to have a TileMap.sprite function in the same way that Surface has because ....
I have an export script for Tiled which creates a TileMap of the world which I can use to draw a layer using the draw function, rinse & repeat for any other background layers for parallax etc, as well as attributes for a tile (solid, water, ladder etc).
I then have a smaller bespoke array of objects (again, output from Tiled) from the world Tileset that I put over the top - for instance I'm currently drawing a loverly grass area using the pirate TileMap and I want to put some logs on it here and there to demonstrate my character banging in to things.
I'm using the pirate character Tilemap for the, erm, character which is loaded in to screen.sprites.
Hence the usefulness, for me, in having a TileMap.sprite function

Additional observation, with enough prior planning, a TileMap with everything in it is entirely possible, but as the brief is a student accessible game platform, this would ease the pain by allowing a Tileset for the world and a Tileset for the other stuff.

Having run some tests, I totally take my hat off to lowfatcode for the sheer speed of his TileMap.draw functionality - over 20x faster than drawing each sprite from a tile map. So with a bit of documentation to highlight the benefits of having a TileMap that's a ^2 and, of course, the SpriteMap as 128 x 128 only, if we could have an official TileMap.sprite function, I think this is all good.

You've gone over this in pretty comprehensive detail above, but to clarify to those who haven't been party to all of the talk about this on Discord- the reason TileMaps are currently limited to powers of two is because it allows for a drawing optimisation:
https://github.com/pimoroni/32blit-beta/blob/bb5e108a2ccc06b2c7d8ce9a24d879bcd0b01ba0/32blit/graphics/tilemap.cpp#L49-L61
It's Monday, so I'm not even going to attempt to explain what's going on there. But this function is called for every single pixel of a TileMap draw.

This was marked wontfix.
I do keep coming back to the idea of a simple version of TileMap that is more optimised for simple use-cases (no per-line transforms) which should avoid the need for these restrictions. (If I ever write it)


Link media buttons directly to the playback

At the moment, all media controls fire events.

When I decided to design the API to work like this, I thought that someone might implement a different behavior to the media controls, but I don't think anyone has implemented anything different, it ended up being an annoying boilerplate code that every music app needs to implement the exactly same way.
The biggest problem with that are the issues that it has been causing:

Being slow to process the action, since it has to go from the native code, to the event emitter, to the event listener, and finally back to the native code again. That can not only cause a small delay, but can also slow down the whole app, since JS runs in a single thread.
In Android, when the app is in background, it needs to create a new service, start the JS engine, send the event, wait for the JS module to connect to the native player and then finally trigger the action. That might slow down the whole device, mainly when the device is low on memory.

I don't see any reason to keep them. If you really think these events shouldn't be removed, please, let me know why, I would really appreciate some feedback.

@dcvz @anderslemke @jasongrishkoff @egorkhmelev Any thoughts? I'd love to see some feedback on this

I would much prefer the media to be manipulated directly. I also don't see a downside to it unless our users are performing other actions upon these presses (analytics, etc). However, we could leave the events for users who wish to do other actions based on pressed but leave the playback manipulation to the library -- where it will be much faster to process.

If there is really a reason to keep them, we should definitely go with your idea, but even though someone might want to perform background actions (such as analytics), they can still use the playback events.
I think we should provide what most audio apps need in the most efficient and bug free way. If someone really needs an unusual feature, they can fork the project and implement themselves. We can also move it to an addon (the same thing we'll be doing with adaptive streaming and chromecast), so it's completely optional

Let's remove them and let the lib manage playback changes 👍 If we start hearing from our users that they're missing something we can think about how we can help them.

I'll just try to explain our use case. We've done podcast app using react-native-video as a player with react-native-music-control. It was pretty much fine on iOS but complete disaster on Android (nevertheless we launch it to production and still getting awful feedback). We were seeking for a solution and suddenly this lib come up. I just want to say thats an amazing piece of work and missing link for any music player out there. So lets move to what we currently need in our app.
First of all we need granular control of what being played, for how long (to obtain usage statistics and present it to the user) and how far (app tends to crash, battery dies and so on). We need to store position inside the track and being able to restart that track from given position. So we cannot just fill the queue with tracks and relax, second or third track in the queue might start from the middle.
Moreover we have premium tracks which might not be available when we fill the queue but might become available later when user buy a subscription (the same true for opposite, track might become unavailable). So we keep all the tracks in own queue and decide what to play next when current track ends (and skip premium one for example).
Next, we need to mark tracks as played when current track ends or user skips that track at the end with some threshold.
And things gets more complicated when we introduced a sleep timers. Which have two options: sleep in some predefined intervals or after current track finish. So we need to seek that as well.
Not to mention that we send all usage analytics. When something starts playing, ends or progress events.
For now what I've found works for us is to keep only one track in the lib's queue and listen for a queue end event to decide what to play next, then reset the queue and add next track to it, seek to right position if needed and start playing. With unbind functionality for service (which keeps js context running even when user exit the app) I'm pretty much happy with the result and user experience. I'm not really happy with track switching as when I reset the queue, notification disappear and then reappear again with a new track (and also its impossible to preload next track in this case). But I couldn't find a better solution, as updating the queue and switching tracks is a bit buggy right now. I ended up in a situation when native part reports that it was playing one track but I was heard another one.
So, it would be great to have those buttons in notification works natively but I don't really understand how. I can think of some sort of modes for this lib, manual or automatic. With manual one lib can just delegate all the decisions to js context. Automatic on can be some sort of addon to the lib, which controls everything natively. Or there might be some sort of mix between the two. For example lib can control play/pause natively but also propagate those events to js. In my current implementation everything gets a way easier when all the decisions was moved to one single place (js context).
Also, I think that queue paradigm is a bit overcomplicated for such lib, which shouldn't assume how people gonna use it and dictate one single pattern/use case (playing number of music tracks in a row). But I understand why it was built that way.
So, keep doing this! I appreciate it.

The reason I started using this library is because the way you are using the Service. If you ditch it and you can't play music in the background... That would not make sense as an Android media player app.
I agree you can remove the whole HeadlessJS. We can have listeners when the app is opened. When the app is killed and music is playing... I don't think we need any headless listening. Next time you open the app, we can reconnect to the service (bind). Does it make sense?

Hello,
First of all, thanks for this great plugin. I am moving all my native radio apps to react after trying this plugin.
For users like us who uses for playing network audio streams, background playing mode is a must have feature. This plugin does it well.
Removing the service based architecture will make users like me to look for other plugins, because without background playback, player will pause the playback when the screen is locked.

Is there any progress on this one?

I'll close this because of v.1.0.0 -- it has improvements to events while keeping background functionality.


[5.4] Fix HasManyThrough find & findMany not returning

Refactored a bit too hard 🔥
This caused quite some headaches over here 😟

Thanks!


Better URL::route function

It would be really convenient to be able to pass an argument to get https back instead of http and others to add http authentication parameters for http basic/digest.

:+1: We should use what's provided in the config rather than just overriding it IMO.

:+1: totally agreed, but a smaller change would probably be to simply include optional parameters.

I was also surprised that  URL::secure didn't generate a proper  secure URL when passed a named route.

We're open to pull requests.


Add bgfx-single-threaded feature

The default for BGFX is to be multi-threaded
(see https://bkaradzic.github.io/bgfx/internals.html). This changes the default to be multi-threaded and adds a feature for disabling multi-threading.

Thanks!


CCC output - add economy-wide averages

As a user of the CCC, I would find economy-wide averages of the METTRs, METRs, etc, helpful in quickly interpreting the results of the CCC. It would be useful to have those for all corporate business, all non-corporate business and a weighted average of all business.

@jdebacker, this is an enhancement rather than a bug, right?

@MattHJensen - this is kind of a bug fix.  I thought we had addressed it in Issue #388, but the PR referenced in that closing didn't seem to make this update.  I just made a comment over there before Salim posted this as a new issue.
I say 'kind of' since the other issue and PR still wouldn't over an overall business (corp + noncorp) rate.  I'm thinking we ignore that for now unless there's strong demand as it might take some rework of the tables (e.g. maybe a new column?).
cc @PeterDSteinberg

@PeterDSteinberg is this done now with your latest PR?

This is fixed in #430

@PeterDSteinberg and @talumbau , this was not addressed in PR #430.  That PR corrected the results for industry and asset groupings, but did not add a row for the economy-wide average.

This is being fixed in #432 with corresponding B-Tax PR 120 cc @talumbau @jdebacker

fixed w pr #432


KAFKA-6979: Add max.block.ms to KafkaConsumer

Add max.block.ms to KafkaConsumer (KIP-266).

retest this please

retest this please

Also, can you update the upgrade notes? We mention KIP-266, but not the new configuration.

Made a pass over the PR, the change LGTM as well besides the config name.
I'm still currently in favor of adding a new config than leveraging on request.timeout.ms for the default blocking timeout value; but if there is a stronger reason to change the plan I can be convinced.


⚠ Jenkins Plugins Artifactory has degraded performance

In 0f78761, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1162 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 8070c4b after 59 minutes.


In 2016, [device tokens] may be growing up to 100 bytes.

This was mentioned at WWDC but is not yet mentioned in Apple's documentation.
Device tokens are currently 32 bytes (64 hexadecimal digits). Will they be either 64 or 200 digits? Will they be anywhere in between? It also said "may be growing", so maybe it won't even happen.
https://developer.apple.com/news/

This isn't needed for the current version of iOS (9.2).
When it changes, it only impacts validations in Buford, but something to keep in mind if you are storing device tokens in a database.

The validation could be changed to not validate length or just have a minimum length.

they are now saying they are “variable length"

maybe this validation isn't that useful


Add PRAGMA trusted_schema support

I think this would be a valuable addition, and maybe should be the default. https://www.sqlite.org/c3ref/c_dbconfig_defensive.html#sqlitedbconfigtrustedschema

When the SQLITE_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite takes additional defensive steps to protect the application from harm including:

Prohibit the use of SQL functions inside triggers, views, CHECK constraints, DEFAULT clauses, expression indexes, partial indexes, or generated columns unless those functions are tagged with SQLITE_INNOCUOUS.
Prohibit the use of virtual tables inside of triggers or views unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS.

In particular, sqlite devs recommend this option be on by default:

This setting defaults to "on" for legacy compatibility, however all applications are advised to turn it off if possible. This setting can also be controlled using the PRAGMA trusted_schema statement.

@infogulch As it would be a breaking change, we cannot make this the default behavior.

That's fine, it should at least be an option.

Because trusted_schema is per-connection, it can be enabled with a ConnectHook as follows:
sql.Register(
    "sqlite3_hardened",
  		&sqlite3.SQLiteDriver{
		      ConnectHook: func(conn *sqlite3.SQLiteConn) error {
				        _, err := conn.Exec("PRAGMA trusted_schema = OFF", nil)
				        return err
			     },
		  },
)

The database can then be opened as
conn, err := sql.Open("sqlite3_hardened", "database.db")

I would prefer a connection string option. The ConnectHook option is annoying to use.


needs favicon!

omg

on this.

fixed in commit 8ebcaedf524.
that commit also added apple-touch-icons.
<3


Update DCA from upstream (not a release)

This PR updates HTANs DCA to fix #68

Develop no poetry (#477)

Set instance size to xxxlarge and log level to verbose during app deploy.

Only install schematic from pip, never use develop branch.

configureApp() will fail if the app does not exist yet. Put after deployApp() in case of first deployment.

try setting upload to FALSE and then configure it. The configApp() fails after deployApp()

if app exists, configure then deploy. Otherwise, deploy then configure.

change appName to testingXXX so it creates a new app instance and tests if the rsconnect configuration logic works.

Logic worked, go back to testing1 name

coerce warning to character so strsplit() does not fail. (#520)

RE the merge conflict, keep
          echo Installing pypi version of schematic
          git clone --single-branch --branch main https://github.com/Sage-Bionetworks/schematic.git
          cp schematic_config.yml schematic/config.yml
          pip3 install schematicpy

and discard
          # use 'poetry' to install schematic dev schematic
          # If commit is tagged for release or in main branch, install schematic from pypi
          if [[ $GITHUB_REF_NAME == v*.*.* ]] || [[ $GITHUB_REF_NAME == main ]]; then
            echo Installing pypi version of schematic
            git clone --single-branch --branch main https://github.com/Sage-Bionetworks/schematic.git
            cp schematic_config.yml schematic/config.yml
            cd schematic
            pip3 install schematicpy
          else
            pip3 install poetry
            echo Installing develop branch of schematic from github
            git clone --single-branch --main develop https://github.com/Sage-Bionetworks/schematic.git
            cp schematic_config.yml schematic/config.yml
            cd schematic
            poetry build
            pip3 install dist/schematicpy-*-py3-none-any.whl
          fi

The reason is because schematic installed from github requires python 3.9+ which is incompatible with shinyapps.io.

@adamjtaylor release 23.3.1 is ready containing exactly the same content as this PR

Thank you! For transparency I will scrap this PR and open one directly from the release

@adamjtaylor Yes, I just did. FYI I created a new branch for the commit which the PR automatically updated to.


Mtl nvidia fixes

@mkopec so I think it's safe to assume this change wasn't causing the bricks, and it is necessary for full regressions to pass

I am not a reviewer but can confirm that this change fixes some issues with executing commands via ssh.

@philipandag unfortunately this commit is also possibly the cause of https://github.com/Dasharo/open-source-firmware-validation/issues/431 , when I tested on a rev before this commit it stopped bricking laptops


[JS] [KeyVault] Samples folder structure

As of the moment, our example code diverges from other internal efforts. service-bus samples serves as a good reference for improvements. This issue is specifically about the folder structure, as follows:

[ ] keyvault stores the example files in a folder called examples while service-bus stores them in a folder called samples.
[ ] service-bus separates the examples by language, providing the same examples for both JavaScript and TypeScript.
[ ] service-bus separates the examples by complexity, providing examples for beginners as well as advanced uses of this library.

@sadasant there are guidelines for where the samples folder should be: https://github.com/Azure/azure-sdk/blob/master/docs/engineering-system/repo-structure.md

Captured this information in https://github.com/azure/azure-sdk-for-js/issues/2262


[zh] sync apiserver-encryption.v1.md

Sync with en text:
content/zh-cn/docs/reference/config-api/apiserver-encryption.v1.md

See preview please.

/approve

/unhold


[DO NOT MERGE] SDK: quotes with gas airdrop

Description
Information for the gas airdrop to be received by the user is now included in the SDK quotes.
FE has been updated to use this number instead of doing additional SDK calls.
Additional context

[ ] Could be merged once f9ae364e00fc121e0ce4d11868c59652d8430462 is reverted.
[ ] Also small updates to this to changes from #1695 / #1783 is needed

Summary by CodeRabbit
Summary by CodeRabbit

New Features

Integrated BigNumber and BridgeRoute imports for enhanced functionality.
Added getGasDropAmount method to retrieve gas drop amount for a given BridgeRoute.

Enhancements

Improved integration of SynapseBridge contract and BridgeTokenType enum.
Modified getBridgeContract method to return a SynapseBridgeContract and added getBridgeTokenType method.

Bug Fixes

N/A

Documentation

N/A

Refactor

Updated imports for BigNumber and Zero.
Enhanced SynapseRouter import to include BridgeTokenType.
Added getGasDropAmount method to interact with SynapseRouter contracts.

a899c669025362094582af2760c687f566cab66f: synapse-interface preview link
2c14ab7372a498ab9a4f4ac8265d61e363edfc89: synapse-interface preview link

Closing this one: will reopen a fresh PR without merge conflicts for easier reviewing.


Avoid repeat for optional fields with default factory?

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
Hi,
It came across to me that often I write models like this:
class MyModel(BaseModel):
    a: dict = Field(default_factory=dict)
    b: NestedModelThatHaveLongName = Field(default_factory=NestedModelThatHaveLongName)

I suspected that there would be an easy way to add some logic during the model building stage that we can do something like this:
class MyModel(BaseModel):
    a: dict = Field(default_factory=Self)
    b: NestedModeltahtHaveLongName = Field(default_factory=Self)

, where Self is a special constant (need a better name so it is not to be confused with typing.Self) that will be replaced with the actual type of the field.
The benefit of this is to remove unnecessary repeats and make code look more concise and focused.
What do you think?
Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[X] Dataclasses
[ ] Model Config
[X] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

https://docs.pydantic.dev/latest/concepts/models/#fields-with-non-hashable-default-values (partially) covers your use case

@Viicos
I read the section but I am not sure I am following. Could you show how I can leverage this feature to achieve (even partially) what I wanted, using my example in the OP as an example?
Are you suggesting the following?
class MyModel(BaseModel):
    a: dict = {}
    b: NestedModeltahtHaveLongName = NestedModeltahtHaveLongName()

As far as I am concerned, it is not the Field(default_factory=) part that I want to get rid of. It is the part that follows the= sign, i.e., the factory function, that I would like to eliminate with the proposed feature. The reasons is that, in most of the use cases, the type used to annotated the field serves as the default_factory, thus has to be repeated.

Ah I see. This seems like a pretty niche case (as most of the time model names aren't this long), and I'd prefer having things explicit over a new Self (or similar, let's call it DefaultFromAnnotation) special constant. It is also unclear what should happen if:

the type annotation used needs an argument:

class SubModel(BaseModel):
    a: int

class Model(BaseModel):
    sub: SubModel = DefaultFromAnnotation

the type annotation is an abstract type:

from collections.abc import Sequence

class Model(BaseModel):
    sub: Sequence = DefaultFromAnnotation

These could be handled during model definition but would require some work.
But let's here what maintainers think of this!

I really like the DefaultFromAnnotation construct. it would be even better if this can take some arguments just like PrivateAttr does:
class Model(BaseModel):
    sub: SubModel = DefaultFromAnnotation(description="The sub-model.")

As far as the more complex cases, I am thinking this DefaultFromAnnotation is more for types that are "default constructable". Any type that requires a non-trivial default_factory should have it specified manually.

As far as the more complex cases, I am thinking this DefaultFromAnnotation is more for types that are "default constructable". Any type that requires a non-trivial default_factory should have it specified manually.

It makes sense, I was referring to the fact that those kind of non-trivial/impossible cases (such as the ones I gave) would have to be caught during model creation, and that might be tricky to implement

Hey @Viicos and @Jerry-Ma,
I chatted with the team about this feature request this morning. For now, I don't think this fits into our roadmap. As @Viicos mentioned, I think there are a lot of edge cases with the usage that would get pretty complicated to handle, and explicitly using the type as the default works quite well in most cases. Is it the most concise, definitely not, but it gets the job done. I also agree that the usage is generally pretty niche, hence the lack of high priority here.
Closing for now as not planned. If there's significant demand for this in the future, we could reconsider implementing this!


Add Following symlinks

Some recipes use symlinks (https://github.com/symfony/recipes/tree/master/doctrine/doctrine-bundle).
Add configuration to the finder to follow symlinks

No problem :)


Add bit manipulation algorithms to PrimInt

This adds to the PrimInt trait:

two associated types: Signed/Unsigned, which contains a type of the same mem::size_of as Self, but with the corresponding signedness, and two functions bits_to_signed/unsigned -> Signed/Unsigned; fixes #141 .
modifies the requirements of Shl``Shrto requireu32instead ofusize, fixes #80 .
some bit manipulation algorithms, mainly adapted from the C++ bitops proposal.

Most of the algorithms have sub-optimal implementations since:

the fastest implementation is to use either a compiler intrinsic or a platform-dependent intrinsic (e.g. extracting/depositing bits with Intel's BMI2.0 is much faster than any hand-rolled implementation).
I wanted to get correct implementations working first, add lots of tests, and optimize later,
some optimizations are size dependent, and while some times mem::size_of is used to help the compiler, they are better provided in different implementations for each type.

TODOs:

revert Shl<u32> to Shl<usize>
gather consensus around whether we need the associated types Signed/Unsigned or not and about how these should be implemented (maybe in a different trait that requires PrimInt to avoid breaking its API).
TODO: find real world examples of the associated types or remove them
TODO: document the intrinsics that should be used for each algorithm
TODO: add assertions
TODO: where to put the bit manipulation algorithms
TODO: many more tests

Since this is my first contribution to a Rust project, I am submitting this PR in the current unfinished form to gain some feedback:

Is PrimInt the right place to add bitwise manipulation algorithms for primitive integer types?
Is the way I'm using cast(1).unwrap() in the PrimInt trait ok? Or should I implement those methods in the impls to avoid the cast and unwrap? (In the impls I can just: "1 as Self", but I cannot do that in the Trait)
Is there a "Transmutable" trait or similar? I require the Signed and Unsigned associated types to be PrimInts as well in the PrimInt trait, but I would like to strengthen this requirement to say that these types must have the same mem::size_of as Self. Since transmute has this requirement I would think that transmute would be constrained by a magic Transmutable trait that checks for this but I cannot find it.

@hauleth those were unintentional sorry about that, i've reverted them. In the new functions I've used blocks of 4 bit since octets are too long for my eyes (with 4 bit blocks I see that there are 4 elements, but 8 bits are long enough that I have to count them to make sure that there aren't 7 or 9).
Maybe I should still change the new functions to 8bit blocks for the documentation to follow a consistent style? Am I the only one with that problem when reading 8bit blocks?

two associated types: Signed/Unsigned, which contains a type of the same mem::size_of as Self, but with the corresponding signedness, and two functions bits_to_signed/unsigned -> Signed/Unsigned; fixes #141 .

I'm still looking for the motivation for this.  You did use Unsigned in the impl of general_reverse_bits, but it was unnecessary there since that's not generic code -- you have $AU.

modifies the requirements of ShlShrto requireu32instead ofusize, fixes #80 .

Let's not make any breaking changes at this time.

Is PrimInt the right place to add bitwise manipulation algorithms for primitive integer types?

Maybe.  It sort of fits the existing methods like count_ones, at least.

Is the way I'm using cast(1).unwrap() in the PrimInt trait ok? Or should I implement those methods in the impls to avoid the cast and unwrap? (In the impls I can just: "1 as Self", but I cannot do that in the Trait)

This is what Zero and One are for.  In the impls you can probably just use 1 alone and let it infer the type, but 1 as Self is ok when it can't be inferred.

Is there a "Transmutable" trait or similar? I require the Signed and Unsigned associated types to be PrimInts as well in the PrimInt trait, but I would like to strengthen this requirement to say that these types must have the same mem::size_of as Self. Since transmute has this requirement I would think that transmute would be constrained by a magic Transmutable trait that checks for this but I cannot find it.

This came up in the internals forum recently asking for a SameSize trait, but such a thing doesn't exist yet.  The checks done by transmute are deep compiler magic not available to the likes of us. :) See check_intrinsics.
Maybe there's a way to constrain Self::Unsigned::Signed = Self::Signed and vice versa - I'm not sure.

@cuviper modifies the requirements of ShlShrto requireu32instead ofusize, fixes #80 .

Let's not make any breaking changes at this time.

This means that in the algorithms taking e.g. bit: u32 (like set_bit) I either need to take bit: usize or cast from u32 to usize in the implementation (either using cast within the trait or by moving the implementations to the macro and using as).
Any recommendations on how to proceed with these?

This is what Zero and One are for. In the impls you can probably just use 1 alone and let it infer the type, but 1 as Self is ok when it can't be inferred.

@cuviper  I've switched to <Self as One>::one() in the trait. For some reason Rust complain if I just use Self::one().

I know the u32/usize disparity is unfortunate.  It's on my list of things that we should clean up, whenever we decide to bump semver and make breaking changes -- I just want that to be a rare event.  Anyway, I'm not sure why you need cast in this case; since the two types are known, as is fine.
I'm hesitating that this is all a lot to add.  Right now PrimInt is merely mapping the common inherent methods of the primitives.  Since you're modelling these functions after the C++ bitops proposal, maybe this would make more sense in your own bitops crate?  What would we need to enable you to write that generically?  I offered arithmetic_shr and logical_shr in #141 -- anything else?

Anyway, I'm not sure why you need cast in this case; since the two types are known, as is fine.

A lot of algorithms are implemented in the trait. As mentioned above I can either use cast there, or move their implementation into the impl macro and use as there. Since I don't know much rust I was having doubts about which is the better way of doing this. My gut feeling tells me that as is probably faster/better than using cast (which returns an option that cannot be optimized for integers) so I guess the right solution is to just move these into the macro impl. Is that so or is there a better way?

So i've just added the alignment, shuffling, and deposit/extract algorithms. The only thing I needed besides arithmetic shifts is wrapping negation and have opened an issue for that. With those two things I'm pretty certain I could put the bit manipulation algorithms into their own trait that requires only PrimInt.

:umbrella: The latest upstream changes (presumably #161) made this pull request unmergeable. Please resolve the merge conflicts.

AIUI, you've published this in https://github.com/gnzlbg/bitwise, so I'm going to close here.


Error: no matching manifest for unknown in the manifest list entries /jenkins

Expected behavior
Unable to download Jenkins
Actual behavior
Message:
We're sorry. There seems to be an error:
no matching manifest for unknown in the manifest list entries
If this error is invalid, please file a ticket on our GitHub repo.
Information about the Issue
Windows 10:

Version 1903 (OS Build 18362.116)

Docker Desktop Community:

Version <IP_ADDRESS> (31259)
Channel: stable
Build: 8858db3
Engine 18.09.2
Compose 1.23.2
Machine: 0.16.1
Notary: 0.6.1
Credential Helpers: 0.6.0
Kubernetes: v1.10.11

Steps to reproduce the behavior

Download and unzip Kitematic to c:\Program Files\Docker\Kitematic
Launch Kitematic from the Docker Desktop Link
Login to Kitematic
Select CREATE for the Official Jenkins Docker image

Related Details
NOTE: This appears to be a similar error to "no matching manifest for windows/amd64 in the manifest list entries #3729".
Fix From Issue #3729
Switch to Linux Containers
Results of trying Fix #3729 Switch to Linux Containers
After Switching to Linux Containers receiving a new error message:
We're sorry. There seems to be an error:
context candled
If this error is invalid, please file a ticket on our GitHub repo.

I guess the solution was to delete all previous versions and do it again.


disable fluentd time related file-splitting functionality

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Is your feature request related to a problem? Please describe.

I use out file plugin in my case, the out file is splited daily by default.
but I would like to disable fluentd time related file-splitting functionality  so that I can use logrotate to fully split file based on time and size.

I don't know how to disable fluentd time related file-splitting functionality.

hope it can be supported.

I'm looking forward to your feedback:)

I got some point from here, but still have no idea about how to disable time slicing for out file plugin.
really need your help:)
https://serverfault.com/questions/620770/configuring-logrotate-for-fluentd-files-necessary

It seems that no way to disable slicing at the moment. but how about specifying longer-term in  timekey in <buffer> section? (it may be a dirty workaround)

It seems that no way to disable slicing at the moment. but how about specifying longer-term in timekey in <buffer> section? (it may be a dirty workaround)
BTW, why do you want to disable? What is missing feature for fluentd?

I would like  to slice output file based on size and time.
because in my case the the output file generated by file plugin is still too big even specifying daily longer-term in timekey
as I know, only time slicing is supported by fluentd file plugin, size slicing is not supported
this is why I want to disable time slicing for fluentd file plugin, and the output file is fully sliced using logrotate instead of fluentd
file plugin to implement size and time based slicing...

is there alternative way to solve it?


handbrake: mark broken on darwin < 10.13

Motivation for this change
https://github.com/NixOS/nixpkgs/pull/143654#issuecomment-962674661
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Sorry, should have tested before approving:
nix-build -A handbrake
error: Package ‘handbrake-1.4.2’ in /Users/thiagoko/Projects/nixpkgs/pkgs/applications/video/handbrake/default.nix:219 is marked as broken, refusing to evaluate.

       a) To temporarily allow broken packages, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_BROKEN=1

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowBroken = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowBroken = true; }
       to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)

macOS 10.15.

Yes, that's correct. Our x86_64-darwin stdenv uses a 10.12 deployment target so that build would've failed anyway.

Yes, that's correct. Our x86_64-darwin stdenv uses a 10.12 deployment target so that build would've failed anyway.

Ah ok, makes sense.


v9: remove empty hooks.withContext

Hi @vmihailenco. I'd like to solve this issue. Can you give some examples? I couldn't find empty hooks.withContext.

I mean to remove this empty function - https://github.com/go-redis/redis/blob/v9/redis.go#L131-L133


feat(keymap): add desc helper function to keymap mod

Vim's keymap desc option is very useful, so I added the desc helper function to the keymap mod.
Hope to merge.

this looks like not pretty good. I think we can do it like
nmap( lhs,rhs,opts(noremap,'got to function')

in keymap.new_opts function

for _, arg in paris(args) do
  if type(arg) == 'string' then
          o.options.desc = arg
  end
end

this looks like not pretty good. I think we can do it like
nmap( lhs,rhs,opts(noremap,'got to function')

in keymap.new_opts function

for _, arg in paris(args) do
  if type(arg) == 'string' then
          o.options.desc = arg
  end
end

Cool. does the desc helper function need to be removed?

I think should remove .

Oh, https://github.com/0x5459/cosynvim/commit/0a1b23ee40e38a4b5f86b09940a48f0d3f2c1d35

Oh! I'm a little late.
https://github.com/0x5459/cosynvim/commit/0a1b23ee40e38a4b5f86b09940a48f0d3f2c1d35


Single blob shape + fix blob alignment

Summary
Temporarily removes the 8 different blob shapes and replaces them with a single shape in preparation for #686
Relevant Technical Choices
Added a migration script that switches all blobs to the single blob object.
User-facing changes
❗❗ This alters the appearance of stories that used the old blobs in two ways: Stories that used blob-1 will now see a bigger blob since the path was changed to fill empty space and stories that used other blobs will be replaced by blob-1
Testing Instructions

Drag a blob element into the canvas
Notice how the outline, drop target and frame align to the blob's shape (no longer showing empty space around it)

Fixes #1896

Please make sure to add full QA instructions to the underlying ticket, #1896.

@pbakaus or @samitron7 to confirm that this temporary change is ok

works for me! Thanks


SDK-6020: C# plugin

JIRA: https://neurala.atlassian.net/browse/SDK-6020
Changelog

adapt existing websocket plugin for production use
add C# server library & executable

Reviewer Checklist

Should be edited by reviewers only

[ ] Does this implement the story reqs?
[ ] Does this match the coding standard?

[ ] Are all TODO's in the proper format?
[ ] Have JIRA tickets been made for all TODO's?

[ ] Does this include tests that exercise the altered/added code?
[ ] If it modifies a public API, is the documentation updated?

Moved previous state of this PR to a new branch (C#_JPG_plugin - anyone feel free to rename it) and kept the more narrow improvements (exception safety, single server, etc.).


Wofea garage controller (b1uk4ftduaqopxv1): Garage door status is displayed in reverse

Describe the bug
Wofea garage controller (b1uk4ftduaqopxv1): Garage door status is not displayed correctly in HA. The door status shows up correctly in Smartlife App. ^
If door is open, it shows as closed in HA. Shows correctly in Smartlife app.
If door is closed, it shows as open in HA. Shows correctly in smartlife app.
Expected behavior
Display the door status correctly.
Screenshots

Here the garage door shows up as "open" in HA. Infact it is closed and shows up as 'closed' in the Smartlife app.
Everytime there is a movement on the door (open to close / close to open), it logs following three entries in HA at the same time.

I tried setting the door status manually in the 'developer tools' but it changes automatically to the reverse during next door movement.

Home Assistant Version
core-2021.11.5
Device info (please complete the following information, which can be found in log):
like this:
Garage door opener (b1uk4ftduaqopxv1)
by Tuya

same issue https://github.com/tuya/tuya-home-assistant/issues/732


[Docs] Missing "git" in command

Current State

Docs page - here
Desired State
Correct the command by adding git

Contributor Guides and Resources

📚 Instructions for contributing to documentation

Meshery documentation site and source

🛠 Meshery Build & Release Strategy
🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

If this issue is valid, I would like to make a PR.

Thanks, @RakeshPotnuru


Fix code climate rating

CodeClimate is including the browserified test bundle in its ratings, which is wildly degrading the score. This PR adds a .codeclimate.yml file to tell codeclimate to ignore the /dist folder.

:+1: :shipit: after master is merged and all is green.

Result: https://codeclimate.com/github/holidayextras/jsonapi-client/compare/codeclimate#ratings

@pmcnr-hx  the build won't go green due to iOS 9.2 :'(

Chrome 47.0.2526 (Windows 10 0.0.0): Executed 22 of 23 (skipped 1) SUCCESS (5.651 secs / 4.736 secs)
Firefox 43.0.0 (Windows 10 0.0.0): Executed 22 of 23 (skipped 1) SUCCESS (5.82 secs / 5.273 secs)
IE 11.0.0 (Windows 10 0.0.0): Executed 22 of 23 (skipped 1) SUCCESS (5.498 secs / 4.741 secs)
IE 9.0.0 (Windows 7 0.0.0): Executed 22 of 23 (skipped 1) SUCCESS (3.974 secs / 3.338 secs)
Chrome Mobile 39.0.0 (Android 5.1.0): Executed 22 of 23 (skipped 1) SUCCESS (4.628 secs / 3.848 secs)
Mobile Safari 9.0.0 (iOS 9.2.0): Executed 11 of 23 (10 FAILED) (skipped 1) (2.228 secs / NaN secs)
Mobile Safari 7.0.0 (iOS 7.1.0): Executed 22 of 23 (skipped 1) SUCCESS (4.4 secs / 3.77 secs)

:+1: