[CELEBORN-1144] Batch OpenStream RPCs

What changes were proposed in this pull request?
Batch OpenStream RPCs by Worker to avoid too many RPCs.
Why are the changes needed?
ditto
Does this PR introduce any user-facing change?
No
How was this patch tested?
Passes GA and Manual tests.

cc @RexXiong @FMX PTAL

@RexXiong Comments addressed, PTAL again


Haxelib website introduction missed

The same issue with manual item from "Learn Haxe" menu

@markknol is this something you could handle?

Yes will look at it soon

This is fixed


Refactor Javascript

Use coding style.

https://github.com/shimo164/direct-open-lambda-page/pull/12


feat(@angular/cli): add new force flag for e2e

Thank you for the contribution. However, ideally before opening a PR file file an issue, so that we can discussion the use-case and see if it falls in the CLI scope.
Thanks,


Added group dns

I was unable to get recursive working, and I'm not quite sure what it means or when it would be used. The example in the man pages seems to imply it is the default.

Needs rebase

Will get to that when closer to merge.

I was unable to get recursive working, and I'm not quite sure what it means or when it would be used.

It is to follow till it finds an IPFS hash in a subdomain of the domain being looked up. The help menu has an example:

For example, with this DNS TXT record:

  ipfs.io. TXT "dnslink=/ipfs/QmRzTuh2Lpuz7Gr39stNr6mTFdqAghsZec1JoUnfySUzcy ..."

The resolver will give:

  > ipfs dns ipfs.io
  /ipfs/QmRzTuh2Lpuz7Gr39stNr6mTFdqAghsZec1JoUnfySUzcy

And with this DNS TXT record:

  ipfs.ipfs.io. TXT "dnslink=/dns/ipfs.io ..."

The resolver will give:

  > ipfs dns ipfs.io
  /dns/ipfs.io
  > ipfs dns --recursive
  /ipfs/QmRzTuh2Lpuz7Gr39stNr6mTFdqAghsZec1JoUnfySUzcy

@diasdavid how can I handily test recursive to produce a reliable output for the http-api?

@lgierth could you create a TXT record on ipfs.ipfs.io with dnslink=/dns/ipfs.io so that the example on the ipfs dns command works. Thank you :)

@RichardLitt needs rebase

@dignifiedquire I know, thanks. Because of the way the master file is structured, each will need a rebase. If I haven't merged it, it's because I'm waiting for something from the assigned person.

This LGTM with one change:

[ ] hashes mismatch

The example works as is -- /dns/<domain-name>/ is not a thing anymore, the old help is severly outdated in this regard.
Sorry for blocking this so long :/

LGTM :+1:

Thanks @lgierth! And no worries, wasn't blocked long.


fix  mobile menu toggle and update css

Ticket
Mobile menu toggle button doesn't show menu
Changes

Enable mobile menu and update css

Thanks for making those changes!
I'm surprised there aren't links to the various modules in that menu, it looks like in the mobile layout they can only be accessed from the home page, and there's no home button that I can find. I think that is an issue for a separate ticket, this looks good.


Would throughput or speed change a lot before and after adding clustering?

Hi! According to my experience, adding clustering will increase about 80% of training time. The extra time may be caused by the frequent transformation between dynamic vision token and feature map.


Added the 'aad oauth2grant list' command solving #159

Added the 'aad oauth2grant list' command solving #159

Coverage remained the same at 100.0% when pulling 77f24ef6a8db357d59d0d8452938952dd4fb786c on waldekmastykarz:aad-oauthgrant-list into 35058dbd552d4898c9040280bea446be02dec30c on SharePoint:dev.


Strip leading and trailing quotes from search values

Per @legleux

“copy to clipboard” buttons on the explorer raw page copies the quotes too (which is fine bc you’d need them for pasting sometimes) but the search input should at least strip quotes instead of saying “page not found”

Simply removing any leading " or ' from the search string before applying parsing logic will fix this annoyance.

Fixed by #759


Change generated type for modular content

https://github.com/Kentico/delivery-sdk-net/wiki/Working-with-Strongly-Typed-Models-(aka-Code-First-Approach)
We should probably start generating modular content fields as:
IEnumerable instead of IEnumerable
This way it'll be consistent and we won't mix the strong and weak type approaches.

IEnumerable instead of IEnumerable <- Isn't there a typo? 🤔

lol, sorry :) github didn't render the markdown correctly
IEnumerable<object> instead of IEnumerable<ContentItem>


fix: add region to dns for path routing

Changes

#574  👈
main

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

Join @MasterPtato and the rest of your teammates on  Graphite


Py36 json support added

Resolves #2243

Added variable in _config.py to check if system is 3.6+
Added logic in json.py to check if system is 3.6+ to simply decode json

EDIT : 3.6 to 3.6+

So, its failing on REQUIREMENTS with no simplejson (devel and release).

This no longer does anything about the issue. It only skips decoding for simplejson, while the point was to skip decoding for the built in JSON. It looks like we just can't do this if we want to support non-standard charsets.

 The input encoding should be UTF-8, UTF-16 or UTF-32 for 3.6 json.loads to work


Add missing dependencies to rpm-build

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[X] The toolchain has been rebuilt successfully (or no changes were made to it)
[X] The toolchain/worker package manifests are up-to-date
[X] Any updated packages successfully build (or no packages were changed)
[X] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[X] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[X] All package sources are available
[X] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[X] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[X] All source files have up-to-date hashes in the *.signatures.json files
[X] sudo make go-tidy-all and sudo make go-test-coverage pass
[X] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

What does the PR accomplish, why was it needed?
This PR adds missing dependencies in rpm-build so that they don't need to be installed one by one manually when setting up a Mariner build environment in a container.
https://microsoft.visualstudio.com/OS/_workitems/edit/40128729?src=WorkItemMention&src-action=artifact_link
Change Log

Add missing dependencies to rpmbuild (sed and util-linux)
Does this affect the toolchain?

YES
Test Methodology

Local build and install
This change makes tdnf install rpm-build work and missing dependencies(sed, util-linux) are downloaded and installed correctly.

Unrelated to the PR, but if you want a quick way to build a very close approximation of the build env you can run this to create a local docker image based on the package build chroot:
docker import ./build/worker/worker_chroot.tar.gz mcr.microsoft.com/cbl-mariner/chroot_tmp_pkgbuild
docker run --rm -it mcr.microsoft.com/cbl-mariner/chroot_tmp_pkgbuild /bin/bash


vscode extension: update metadata

license per distributed file
repo URL and issue-tracker

Hi @GitMensch
Thank you for the PR, please elaborate on why you think we need to add the MIT license.
Regards
Rune

npm defines the content of package.json and the license should always be specified
I've used MIT because that's what all contributions done in the vsix extension were contributed so far - as this is what the original vsix was uploaded with: https://github.com/openmainframeproject/cobol-check/blob/Developer/vs code extension/LICENSE
(If you want to change that to be Apache as the rest of the repository t would be most reasonable to ask the 7 contributors to be ok with that change / provide them under Apache.)


How to provide search through all option and group name?

Hi, is it a way to provide search not only by the items but also by group names?
What can I try to implement this?
I can do it by placing additional span with group name and visibility: none. But I don't think it's good decision.

Due to the primitive design of the search. It is not very easy to implement without break the current function
The search is actually transverse the dom tree of option menu. which make it a little inflexible for these kind of change.
https://github.com/lordfriend/nya-bootstrap-select/blob/master/src/nya-bs-public.js#L284


Conditional questions

Fixes #1772
Fixes #2304
Changes proposed in this PR:

adds in logic for conditional questions

Approved but leaving unmarked so @xsrust and @martaribeiro can review.
@raycarrick-ed one of the new tests for this condition logic is failing

Before I saw @briri comment suggesting rebase I had already merged with dev which I think should give a valid merge into dev. So I'm assuming a rebase is not needed now?? if that's wrong come back to me.

nah, the merge is fine @raycarrick-ed
it looks like one of the new tests for the conditional logic is failing though

Addresses the routing half of #119

I wasn't too happy about the flash in model thing either. After some experimenting, it turns out that changing the field to being an email field rather than a text field and then removing the "data-dismiss" from the save button give the correct behaviour and validates the email address. So that is changed here:
c064fea8af61ff26ff9371b6c9dc051a92c2984f

I'm glad the email input type was enough. We should consider going through and making sure we're using all of the HTML5 input types across the site (after Rails 5)


Check harvester resource quota schema to prevent unknown schema error

Summary
To prevent unknown resource quota schema error. Add check harvester resource quota schema.

PR Checklist

Is this a multi-tenancy feature/bug?

[ ] Yes, the relevant RBAC changes are at:

Do we need to backport changes to the old Rancher UI, such as RKE1?

[ ] Yes, the relevant PR is at:

Are backend engineers aware of UI changes?

[ ] Yes, the backend owner is:

Related Issue #
[GUI] [FEATURE] Allow users to set count/size limit on snapshots
Screenshot/Video
Test on

https://<IP_ADDRESS>.sslip.io/ (without schema) ✅
https://<IP_ADDRESS>.sslip.io (with schema)  ✅

@mergify backport release-harvester-v1.4


[HUDI-2950] Addressing performance traps in Bulk Insert/Layout Optimization

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
NOTE: This stacked on top of https://github.com/apache/hudi/pull/4106
This PR targets addressing performance traps found during Perf Benchmarking of the Layout Optimization implementation
Brief change log

Reducing small objects churn due to Scala/Java conversions by re-using RowFactory, passing Object[]
Replaced OverwriteAvroPayloadRecord w/ RewriteRecordPayload to avoid unnecessary Avro ser/de loop
Added PathCachingFileName to avoid fetching substrings every time file-name is fetched;
Drastically reducing size of the ArrayDeque allocated by ObjectSizeCalculator

Verify this pull request
This pull request is a trivial rework / code cleanup without any test coverage.
This pull request is already covered by existing tests, such as (please describe tests).
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@alexeykudinkin Is this ready to be reviewed?

@vinothchandar yes, just need to rebase on master since this one was stacked

@hudi-bot run azure


doc: Update License Years

Update the year span for the license to include the current.

!star

Collaborator:
Review for this pull request was created. Link to review

Coverage increased (+0.2%) to 82.955% when pulling aebffb1bd222ed652eeb945a5c8893680b7f2572 on update-license into 8e5a948c4345c40e6d3279f037edd8f82b6b1949 on master.

Coverage remained the same at 82.765% when pulling 88db1bc4557bd70385686f7ea760d50063088be6 on update-license into 8e5a948c4345c40e6d3279f037edd8f82b6b1949 on master.


Compiling Setup scripts requires a version of Cabal

array-<IP_ADDRESS> fails with the following error message
user error (The package 'array' requires Cabal library version -any && >=1.10
but no suitable version is installed.)

For some reason this works on my machine.
We have to find out if we can expose a different package-db for the Setup script .

We could build the setup script in a different sandbox and then use the resulting executable to build the actual package. cabal-install probably does something like this with its setup-exe-cache

The current workaround is to build a package outside of the sandbox so that the setup-exe-cache is populated


Domains matching

I want to add domains matching for SaaS products to use middleware/chains depending on domains.

+1 Yes please

Closing for now - I've this in Linear as task and will come back when it's ready


🏗 Build spider: Central Valley School District Board

What's this PR do?
Adds a spider to scrape meetings from the boarddocs website for Central Valley School District Board. The new spider is called spo_cvsd.
Why are we doing this?
Requested by City Bureau's partners in Spokane.
Steps to manually test

Ensure the project is installed:

pipenv sync --dev

Activate the virtual env and enter the pipenv shell:

pipenv shell

Run the spider:

scrapy crawl spo_cvsd -O test_output.csv

Monitor the output and ensure no errors are raised.

Inspect test_output.csv to ensure the data looks valid. Target website is here.

Are there any smells or added technical debt to note?

Fixture set up in the testing suite for this spider is a little more complicated because we need to ensure meta is available in response. A comment has been left in the file to provide clarity.
Just a note: scrapy validate spo_cvsd passes with 100% for all items for me.
Not a big deal but the branch name for this repo is misspelled. Should be "build-cvsd". Just noting in case the reviewer fetches the branch and is confused.

Thank you, @LienDang. I've fixed the html/json fixture issue. I also noticed an issue with how I used freezegun in that test. That's fixed too. Merging now 🚀


Refactor: extend packages tsconfig from astro/tsconfigs

For better maintaibility I need to extend tsconfig from astro/tsconfigs
{
  "extends": "astro/tsconfigs/strict",
  "compilerOptions": {
    "noEmit": false
  }
}

Hey, i can do this in about a day 🎉
(if its not done by then yet :P)


Colcon Not Building

Hello, colon is not building properly after configuring ros foxy. Any help would be appreciated.
bash: /opt/ros/melodic/setup.bash: No such file or directory
bash: /opt/ros/notic/setup.bash: No such file or directory
ROS_DISTRO was set to 'noetic' before. Please make sure that the environment does not mix paths from different distributions.
(base) birth@birth-Inspiron-7570:~$ sudo apt install python3-colcon-common-extensions python3-vcstool
[sudo] password for birth:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-colcon-common-extensions is already the newest version (0.2.1-1).
python3-vcstool is already the newest version (0.2.15-1).
0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
(base) birth@birth-Inspiron-7570:~$ export COLCON_WS=~/workspace/ros_ws_foxy_ur_driver
(base) birth@birth-Inspiron-7570:~$ cd $COLCON_WS
(base) birth@birth-Inspiron-7570:~/workspace/ros_ws_foxy_ur_driver$ source /opt/ros/foxy/setup.bash
(base) birth@birth-Inspiron-7570:~/workspace/ros_ws_foxy_ur_driver$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
Starting >>> control_msgs
Starting >>> ros2_control_test_assets
Starting >>> controller_manager_msgs
Starting >>> diffbot_description
Starting >>> ros2_control_test_nodes
Starting >>> rrbot_description
Starting >>> ur_client_library
Starting >>> ur_dashboard_msgs
[10.647s] ERROR:colcon.colcon_core.environment:Exception in shell extension 'dsv': [Errno 13] Permission denied: '/home/birth/workspace/ros_ws_foxy_ur_driver/install/diffbot_description/share/diffbot_description/package.dsv'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/colcon_core/environment/init.py", line 131, in create_environment_scripts_only
retval = extension.create_package_script(
File "/usr/lib/python3/dist-packages/colcon_core/shell/dsv.py", line 30, in create_package_script
expand_template(
File "/usr/lib/python3/dist-packages/colcon_core/shell/template/init.py", line 55, in expand_template
with destination_path.open('w') as h:
File "/usr/lib/python3.8/pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "/usr/lib/python3.8/pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
PermissionError: [Errno 13] Permission denied: '/home/birth/workspace/ros_ws_foxy_ur_driver/install/diffbot_description/share/diffbot_description/package.dsv'
--- stderr: diffbot_description
CMake Error at ament_cmake_symlink_install/ament_cmake_symlink_install.cmake:5 (file):
file failed to open for writing (Permission denied):
/home/birth/workspace/ros_ws_foxy_ur_driver/build/diffbot_description/symlink_install_manifest.txt

Call Stack (most recent call first):
cmake_install.cmake:41 (include)

Failed   <<< diffbot_description [4.55s, exited with code 1]
Aborted  <<< rrbot_description [4.43s]
Aborted  <<< ros2_control_test_assets [4.57s]
Aborted  <<< ros2_control_test_nodes [4.55s]
Aborted  <<< ur_client_library [5.27s]
Aborted  <<< ur_dashboard_msgs [8.08s]
Aborted  <<< controller_manager_msgs [8.36s]
Aborted  <<< control_msgs [8.86s]
Summary: 0 packages finished [10.0s]
1 package failed: diffbot_description
7 packages aborted: control_msgs controller_manager_msgs ros2_control_test_assets ros2_control_test_nodes rrbot_description ur_client_library ur_dashboard_msgs
7 packages had stderr output: control_msgs controller_manager_msgs diffbot_description ros2_control_test_assets ros2_control_test_nodes rrbot_description ur_dashboard_msgs
26 packages not processed

Hello - here are a few observations:
bash: /opt/ros/melodic/setup.bash: No such file or directory
bash: /opt/ros/notic/setup.bash: No such file or directory

It looks like it is trying to source some older ROS 1 distros in addition to Foxy. It isn't the cause of this issue, but you might want to clean up your .bashrc or wherever those callse are being made.
PermissionError: [Errno 13] Permission denied: '/home/birth/workspace/ros_ws_foxy_ur_driver/install/diffbot_description/share/diffbot_description/package.dsv'

It looks like you got this permissions error on a couple files. Is it possible your workspace or that package's directory was made by a different account? I would check that with `la -la /home/birth/workspace/ros_ws_foxy_ur_driver/install/diffbot_description/share/diffbot_description/package.dsv'


Auto-paste doesn't work on 0.14.0

Hi there!
The automatic paste of the selected item has stopped working since the last update. I have tried to complete uninstall the app and install it again but no luck
Thanks!
Alex

Please see discussion in #144


SVProgressHUD caused video playing dark

I have an app playing video in full screen, I call  [SVProgressHUD show];  when  loading video.
But it caused the player viiew hidden, only sound.  Without [SVProgressHUD show] is ok.
- (void)moviePlayBackDidChange:(NSNotification *)aNotification {

    MPMovieLoadState loadState = moviePlayer.loadState;

    BOOL isMoviePlayable = (loadState == (MPMovieLoadStatePlaythroughOK|MPMovieLoadStatePlayable));
    if (isMoviePlayable) {
        [SVProgressHUD dismiss];
    }

    if ((loadState == MPMovieLoadStateUnknown || loadState == MPMovieLoadStateStalled) &&
        (moviePlayer.playbackState == MPMoviePlaybackStatePlaying)) {

        //this line caused problem.
        [SVProgressHUD show];
   }
 }

Could you provide a small sample project?

@honkmaster I found it need some condition to reproduce it, the video stream has to be on local server, I make a demo project  https://github.com/dengzhp/test-hud , thank you


GraphQL Transform - Searching a @searchable @model with @auth does not scope results to current user

Describe the bug
Using Amplify with AppSync and a GraphQL Transform, I want to have a @model protected by @auth so that users can only work with items they own. This all works fine, but if I add @searchable to the type and then use the searchFoo query, the results returned are not scoped to the current user performing the query.
To Reproduce

Set up Auth in an Amplify app using a Cognito User Pool

Set up a model in the schema.graphql file like this:

type Note @model @auth(rules: [{allow: owner}]) @searchable {
    id: ID!
    content: String!
}

Run amplify push

Create two users confirmed in the Cognito Pool, UserA and UserB

Auth to AppSync with UserA and issue a createNote mutation

Auth to AppSync with UserB and issue a searchNote query searching for content that matches what you created with UserA.  The content will be returned, but I don't expect it should be, because of the @auth directive on the Note type.

For more explicit instructions, follow Ed Lima's blog post here: https://medium.com/open-graphql/create-a-multiuser-graphql-crud-l-app-in-10-minutes-with-the-new-aws-amplify-cli-and-in-a-few-73aef3d49545
Expected behavior
I expect that when I search using the searchFoo query for a type Foo with @model @auth and @searchable directives, I'll only get results back that are owned by the currently authenticated user.
Additional context
I'm seeing this using Amplify 0.1.34

Hello @gabehollombe-aws. Unfortunately, auth support for search has yet to be implemented but is near the top of our todo list. A team member will be looking at this soon to solve for this use case. Thanks for your note. We will reference this issue when the feature is in PR.

FYI, there seems to be a duplicate issue and possible temporary solution: https://github.com/aws-amplify/amplify-js/issues/2113

@mikeparisstuff Is there a rough timeline for this feature? Thanks!

auth support for search has yet to be implemented but is near the top of our todo list.

@gabehollombe-aws I provide a solution with code sample in aws-amplify/amplify-js#2113. Feel free to check!

@gabehollombe-aws We support custom resolvers now and this could be implemented as a part of the custom resolvers as @YikSanChan mentioned. He has provided the resolver code for this in https://github.com/aws-amplify/amplify-js/issues/2113. Please feel free to re-open if you think this is still an issue.

@kaustavghosh06   This is still an issue. Yes customer resolvers can solve this, but this report is about how the default behavior of @auth and @searchable should act together.  It's being discussed in https://github.com/aws-amplify/amplify-cli/issues/1043  so I think this issue should remain open until Proposal 2 mentioned in the above issue is addressed.

In case anyone else runs into this issue and is looking for a workaround until the default behavior is changed (if it's decided to be changed), here's an example injecting the user context into the request instead of filtering the response - hopefully it saves someone else a little time.

After quite a bit of time I've managed to get the static & dynamic auth working in ElasticSearch. The posts above were all very helpful in getting there, but I thought I'd share my findings in case it saves someone else a bit of time.
Firstly, I followed the approach of @YikSanChan above, but decided that doing it in the response was not the right approach for me as it retrieves all records from the database and you filter them in the response rather than the request. Also, the total / count reflects all records retrieved from the database rather than the auth filter.
So then I followed the approach from @cmcnierney above which modifies the request so you only retrieve the records of interest. This was a lot more difficult because I couldn't find any documentation on $util.transform.toElasticsearchQueryDSL($ctx.args.filter). You need to understand how this works so you can ensure that you are making a valid ElasticSearch Query. What worked for me was to insert invalid JSON at the start of the request (ie. DEBUG { "version": "2017-02-28") so that it fails on execution, but it displays the JSON it is trying to send to ElasticSearch and you can test in Kibana Console whether that is what you are trying to achieve and progressively debug it.
As I mentioned, $util.transform.toElasticsearchQueryDSL($ctx.args.filter) is a bit of a black box and it behaves differently depending on the number of filters in your appsync query. So if we have 2 appsync queries:

QUERY 1
query searchAssets{   searchAssets(filter:{      name: {eq: "PA-101"}})}
QUERY 2
query searchAssets{   searchAssets(filter:{      name: {eq: "PA-101"}      description: {matchPhrase: "PUMP"}})}

When we feed this to $util.transform.toElasticsearchQueryDSL($ctx.args.filter) it returns the following for each query:

QUERY 1
`{"match": {"name": "PA-101"}}

QUERY 2
{ "bool": {     "must": [       {"match": {"name": "PA-101"}},       {"match_phrase" : {"description": "PUMP"}}     ]   } }

So if you directly inject this into the query in the example it will fail. For my purpose I had to check how many filters are in the query and if there was more than 1 strip the last couple of characters that were returned off so it would construct a valid query.
Finally, the query I used to simulate the auth was essentially
`{ "bool": {
"minimum_should_match": 1,
"should": [
    In this section user your groups from Cognito (can see how to get that from from
    amplify generated req.vtl) the do a match with your group field. Setting the
    "minimum_should_match to 1 is essential to ensure that a least one of the groups in
    Cognito matches your group field.
    {"match: {"groupfield": "${userGroup}"}

   ],
  "must": [
    {"match": {"name": "PA-101"}},
    {"match_phrase" : {"description": "PUMP"}}
  ]
}

}`
Using Kibana Console to ensure I was constructing a valid ElasticSearch query was essential. Good luck.

Closing this issue as @auth on @searchable support was included in the 3.13 release.


Add smuggler stashes

About the PR

Adds smuggler stashes in the form of satchels that can me mapped in with an rng spawner.
Satchels will contain rndm contents from a large pool of items.
Satchels are hidden under tiles and can be located with a t-ray device.

This also changes all bags and briefcases so they can now be hidden under tiles by anchoring them.
Update: Pools have been split up. This has several advantages.  Rare items will be even more rare. Instances where bags might spawn more item weight than the bag can hold no longer occurs. Provides an easy method for downstreams to add their own loot pools.

Why / Balance
Found this feature on TG wiki and thought it sounded super fun. Balance can be found by how they are mapped. Mapping <20 spawners on a station means not every round will have a hidden stash. Mapping 20 spawners means there should be 1 every round(on average of course.) Lots of time/effort went into balancing the pools but they are random so they could occasionally end up with some wild contents. This should be very rare though which, imo, makes it extra cool.
I also think the ability to stash regular bags will add a lot of fun, as well as new tactical choices for antags.
Technical details
n/a
Media
https://github.com/space-wizards/space-station-14/assets/107660393/098a847d-55e2-4d93-a141-6147c585fa2a
10 randomly generated satchels:

[x] I have added screenshots/videos to this PR showcasing its changes in-game, or this PR does not require an in-game showcase

Breaking changes
n/a
Changelog
:cl: Velcroboy

add: Reports of smugglers on Nanotrasen stations continues to rise. Be on the lookout for suspicious people and behaviors. Report any unattended bags or briefcases to security. They may be dangerous or contain contraband. Do not handle them under any circumstances.

Cue "remove cat ears"

Oi, didn't see that coming. Let me see what I can workaround...

cue "remove blood-red encryption key"

cue "remove blood-red encryption key"

I might have to tweak the probs on the keys, they shouldn't have spawned that many to begin with. Either way, Syndi key is(will be) very rare. And what an interesting round if security gets their hands on it, no...?

Were not real maintainers were just predicting the eventual demand for culling gamer loot from the repo coppers.

cue "remove blood-red encryption key"

There's an entire emag in there fyi

Were not real maintainers were just predicting the eventual demand for culling gamer loot from the repo coppers.

cue "remove blood-red encryption key"

There's an entire emag in there fyi

Yeah, I get it. I expect some level of scrutiny here. I'm fully aware of the way many of these items can change the flow of the round. I do however believe it will be interesting given it can be properly balanced. It certainly should not be every round someone finds a high-impact antag item. But occasionally it should be fun. And if mapped well enough, they should not be overly gameable. They should be rare and random in both contents and location from round to round.

OK, I'm gonna need to dig into this collision thing a bit. But I have hungry cats. So...gonna be a lil bit.

Would a powerful chem like nocturine or omnizine with a very low chance be a problem?

also it should not have a unique name because anyone with a t-ray will instantly meta it

also it should not have a unique name because anyone with a t-ray will instantly meta it

Is a good point, however, it does have a different sprite. So, could still be noticed anyhow.

remove cat ears

remove cat ears

Haha, really? I genuinely can't tell if that's a joke or not. 😂Keep in mind I can always increase the rarity if need be.

remove cat ears

wow, it's that real huh?

Cat ears are considered the ultimate rarity in lore so it would be unrealistic.

I mean, I'll take it out. Not gonna fuss about it. But just out of curiosity, if it was made configured to show up something like 1 out of 100 rounds, or 1000, or whatever....is it still not an option?
 This way will also provide a way for down-streams to add their own loot pools easily.

Ok, tests are passing and I've got this in a pretty good place balance-wise. (Considering decreasing the rareChance of the briefcase from .001->.01. Will wait for opinion on that though.)
Otherwise, I think I'm done fussing with it until a review is made. Let me know if you want me to run more satchel gens to see a better picture of how they look.

Don't add dummy components to prototypes please, use parent composition if you really need.

Where did I do that?

Don't add dummy components to prototypes please, use parent composition if you really need.

Where did I do that?

Bags shouldn't just globally be anchorable.

Bags shouldn't just globally be anchorable.

That's what makes them "stashable." Did you watch the video to see how this works?

Why not make it so putting a tile on a space with an item puts the item under the tile instead of on top? Using anchoring for this seems really weird.

Why not make it so putting a tile on a space with an item puts the item under the tile instead of on top? Using anchoring for this seems really weird.

Honestly, while testing this, it felt quite natural. It feels like you're actually stuffing the bag down into the tiles. I wouldn't want to remove the do-after from the action.
I'm probably not going to do it the way you suggest. It would be significantly more difficult and open a can of worms concerning item sizes and what can/cannot have a tile placed on it.

That's what makes them "stashable." Did you watch the video to see how this works?

I watched the video and anchoring shouldn't be used for this.

I watched the video and anchoring shouldn't be used for this.

What would you suggest then? I don't really see another way to make it work w/out introducing some new mechanic.
Anchoring works quite well for this. I'm not sure why it would be an issue?

I watched the video and anchoring shouldn't be used for this.

What would you suggest then? I don't really see another way to make it work w/out introducing some new mechanic.
Anchoring works quite well for this. I'm not sure why it would be an issue?

not intuitive
A lot of code doing lookups isn't going to handle this specific use-case
I don't think this handles construction.
Component bloat for a very frequent item
makes bag interactions even more inconsistent
I think it's the only pickupable anchorable item in the game which is going to cause bugs for something rarely used
Need to add checks around other anchorable code that may be unique on its own tile
Layering issues

is the short-list.

I think it's the only pickupable anchorable item in the game which is going to cause bugs for something rarely used
we have pipes that anchorable and could be picked up and they didn't cause any bugs

It easily becomes intuitive as it's learned. Like I mentioned to the other user, it doesn't feel unnatural at all, imo.
Not sure what construction has to do with it?
I don't see it as comp-bloat if it's serving a purpose. The purpose here is a fun new way to hide things.
Only inconsistency really is that, when a bag is anchored, you only need to click on it to open UI. (Which is actually kinda cool.) Vs. context menu opening.
Yes, as CaptainSqrBeard mentioned, pipes use this same functionality w/out issue.
Checks could be added, sure. Are there similar checks for pipes and other undertile entities? (I'm not at a PC right now to really look into that.)
Layering issues feels like a bit of a stretch. But it could be addressed if it becomes something noticeable. I didn't notice anything while testing.
I don't know, I feel like if you gave it a chance, you'd like what this PR does, and players would too. But if you have any suggestions how I could improve it or avoid any potential issues, please let me know. I'm not really sure I know of another way, short of creating a whole new function just for this.
I'm away from my PC until next week. So, I won't be able to make any changes until then anyway. So, there's plenty of time to think on it.

I think it's the only pickupable anchorable item in the game which is going to cause bugs for something rarely used

we have pipes that anchorable and could be picked up and they didn't cause any bugs

Pipes are very buggy wym.

I think it's the only pickupable anchorable item in the game which is going to cause bugs for something rarely used

we have pipes that anchorable and could be picked up and they didn't cause any bugs

Pipes are very buggy wym.

I haven't seen any bugs related to them being anchorable and also item.

Probably the fact that they can be infinitely stacked? Even tho a fix is on the way.
It may not even matter in this case anyway, idk.

i like the anchoring its cool

Just fyi, I do plan to come back to this, I have an idea to make this not rely on anchoring. (Unless you change your mind about that😁)
But, it will be a couple weeks until I can really get into it. I'm a little busy with some other projects atm.

still working on this?

I'm perfectly okay with you using anchoring personally.

I'm perfectly okay with you using anchoring personally.

That would certainly make things easier. IRL had been busier than I expected. So, working on some SubfloorHideOnTilePlacement comp is going to take longer than just fixing the merge conflict....

dont pipes already do that...

troll the captain by anchoring their backpack in the bar

Fixed merge conflict. Test fail seems to be the same false-positive showing up on my other PRs. Ignoring unless it's relevant.
Also, not completely sure if the direction of this PR is still up for discussion...? If there's an argument for keeping it as-is, that'd be preferable imo. But if the absolute answer is "no" I can probably start working on something this weekend.

smugglers satchels full of bananium for epic trolling

how's the development going?

how's the development going?

I am still coming back to this. Although, it would be nice to get some clarification. I asked in one of the comments above and also in Discord here

how's the development going?

I am still coming back to this. Although, it would be nice to get some clarification. I asked in one of the comments above and also in Discord here

Looks good to me but I ain't a maintainer (surprised pikachu). Requested a review on discord?

Alright, I spent some time with this addressing the comments and bringing it up to speed with gridinv.
I still don't have a solid direction to move on this but the more I test it and the more I consider making changes, the more I strongly believe this current method is the way to go. It just works. It's intuitive and it's fun.
Adding in a whole new system with new comps and updating entities to support it just seems completely unnecessary and semi-redundant.  But, I'll still move in that direction if it's absolutely necessary.

Alright, I spent some time with this addressing the comments and bringing it up to speed with gridinv.
I still don't have a solid direction to move on this but the more I test it and the more I consider making changes, the more I strongly believe this current method is the way to go. It just works. It's intuitive and it's fun.
Adding in a whole new system with new comps and updating entities to support it just seems completely unnecessary and semi-redundant. But, I'll still move in that direction if it's absolutely necessary.

Are you still working on this? It would be super cool!

Are you still working on this? It would be super cool!

Yep, just waiting for answers to my questions above ☝

Closed due to feature freeze May 10th-June 14th. Comment to have it reopen after this.

Can this be reopened please?

Sure

I like the idea. I wonder if ~20 spawn locations is enough to stop people from memorizing them though. That certainly happens with other games.

I like the idea. I wonder if ~20 spawn locations is enough to stop people from memorizing them though. That certainly happens with other games.

I think mappers could get really creative with hiding them. But also, I see no issue making that number higher. I'm definitely open to suggestions if that seems too low. It's also something that could be adjusted down the line at any time with a simple PR.

I like this idea on paper but I am trying to see how this will play out ingame. Tiders will undoubtedly learn all the spawn spots and incorporate them into the normal start-of-round pathing they take when looting maints lockers. I guess the difference is they will be walking around with an active t-ray in their pocket?
Having them also mapped in departments might make them a bit less powergamed though, since those who play jobs tend to focus on that rather than getting a t-ray just to check a single 5%ish spawn.

Thinking about this more, the "hide bag under tile" feature will be a very strong traitor/thief tool. It will be virtually impossible to locate a stash hidden under a tile under a wall in some dark maints corner.
(Unless t-rays go through walls, at which point disregard this comment)

I've seem some games address that with a mercy mechanic. Something like a little sparkle if you've been (still?) in an area for a while.

Maybe it is easier to prevent walls being built/stuff being anchored on a tile that has a bag under it?
"The flooring underneath appears unstable"
That way t-rays will always be able to show it and you don't have to deconstruct entire walls to check a specific tile.

I think to some degree, power gamers scouring every known spawn location is mitigated by the bag randomness itself.
The 1(very occasionally 2) bags in any given round will still be randomized themselves. So, even if you're the first to find the bag every round. It could be many rounds before you get one filled with something powerful.
Lots of times you'll get burgers and cigarettes and maybe a cool circuit board. But again, I think it's going to come down to some creative mapping and maybe decreasing the odds of a given spawn even further, as suggested above.

I suggest not making specific spawn points, but randomly spawning them in atmos pipes locations

I suggest not making specific spawn points, but randomly spawning them in atmos pipes locations

Would have to also check for walls, windows, and that the there's a tile. But yeah that could work.

making and event and using randomspawnrule(same as ratking spawn location) will just put it on a random tile.
gets aroud the known location powergaming problem but it can spawn inside maint and onto tiles missing floorbords

Hi, I see the suggestions here. Been pretty busy but I'll try to look into them next week.

OK, I switched this to run a roundstart event that spawns a satchel somewhere on the station randomly.

@IProduceWidgets Just wanted to discuss a few of your comments about antag items in the pool.
A few points I see:

I kinda see these as something antags would seek out (of course tiders will also try to beat them to it) as it would be like little potential free gifts for them. So, having some good antag items incentivizes that.

Having some antag items appear on station outside of normal means also adds some interesting elements of doubt when trying to determine a players antag status. (Did they just find this item? Or are they really an infiltrator?)
2b. That said, I understand there may be a few items that go too far in the wrong hands.

The rarity of the bags + the wide variability of the items inside + the lower chances for antag items vs standard items = the majority of rounds will not see these items. It will be very rare for them to occur. You may still be right that they shouldn't be there at all but just keep that in mind.
3b. I did lots and lots of testing/tweaking, spawning 20 bags at a time, over and over, checking each one to make sure items weren't too common.

Non-antags might find these, true, but that includes command, sec, and players that would turn these over to security. Which is why I think it's interesting to have something like the syndie key, etc.

Lore-wise: a smuggler would be an antagonist and a stashed bag of theirs would likely have some contraband.

Just my thoughts, or what I was thinking while adding them. But I'll definitely make the changes if it's still deemed necessary. Let me know what you think.

I agree with the antag item stuff. Right now if sec catches someone with illegal items they can basically know 100% they are an antag! Giving some more items out would help mitigate this (Especially ones that aren't super dangerous).

is this still being worked on?

is this still being worked on?

Yes, I started a new job and it's been a bit hectic. I'll fix conflicts/reviews soon

Before comment/close, I am planning to work on this this weekend.

hope this'll be added eventually, really promising

RP changelogs are a no iirc

Can we get a second look at this? I think it's fine to have the stash be globally anchorable - given that that's the point of the item, after all. I think there is broad public support and no real reason to delay any longer, especially since Goob has already implemented the Satchel and it works well there.
Hope to see this in the game soon!

Yeah, I'll fix conflict this weekend. If there's any additional feedback I can address it then too

Updated with a component to prevent stacking bags in the same tile.

holy shit this is still being worked on?


Extend description how to run an example

Please add more details about launching example project:
First step is to replace value under api_key.txt
To make it work on Android device:

Replace file under android/app/google-services.json with own implementation

To make it work on iOS device:

Replace file ios/Runner/GoogleService-Info.plist with own implementation

I have also a difficulty to launch the SampleAppFlutter target.
When I run regular flutter run, Then I have an error:
The Xcode project defines schemes: SampleAppFlutter, SyneriseCarouselNotificationContentExtension, SyneriseNotificationServiceExtension, SyneriseSingleMediaNotificationContentExtension
Exception: You must specify a --flavor option to select one of the available schemes.

When I run flutter run --flavor=SampleAppFlutter I got error:
The Xcode project defines build configurations: Debug, Debug copy, Release, Profile
Flutter expects a build configuration named Debug-SampleAppFlutter or similar.
Open Xcode to fix the problem:
  open ios/Runner.xcworkspace
1. Click on "Runner" in the project navigator.
2. Ensure the Runner PROJECT is selected, not the Runner TARGET.
3. Click the Editor->Add Configuration->Duplicate "Debug" Configuration.

   If this option is disabled, it is likely you have the target selected instead
   of the project; see:
   https://stackoverflow.com/questions/19842746/adding-a-build-configuration-in-xcode

   If you have created a completely custom set of build configurations,
   you can set the FLUTTER_BUILD_MODE=debug
   in the .xcconfig file for that configuration and run from Xcode.

4. If you are not using completely custom build configurations, name the newly created configuration debug.
Could not build the application for the simulator.
Error launching application on iPhone 14 Pro.

The more information how to run it properly would be helpful :)

I created new Xcode configuration Debug-SampleAppFlutter and managed to start flutter run but I don't know if that is proper way of setting up the example.

Thank you for your suggestions, we will add more details to the installation guide in our documentation in future release, we are currently looking into the flavor issue.

@soczowinski Hello, has the example been corrected for this problem?

@tmaxxdd Not yet, it will be corrected with the next release this week.

@tmaxxdd please find changes in the latest release 0.8.0


Check Pin guarantees at runtime

Miri should be able to check that the guarantees of Pin are upheld at runtime. AFAICT, all of the requirements for Pin::new_unchecked and for pin projections boil down to the same thing: ensuring that the pinned memory is never deallocated/invalidated until after Drop is called.
This should be fairly straightforward to implement - we can add a pinned flag to AllocExtra, and add special handling for the Pin type. Fortunately, Pin is a lang item, so this won't require hard-coding a path.

I disagree with the statement that this is possible or even straightforward. The pin guarantees are not guarantees of the language, they are guarantees of a library. Miri will detect UB caused by violating Pin guarantees, but operationally, it is not possible to detect violations of the pinning API.

@Aaron1011 could you describe what concretely you think Miri could do operationally to help detect pinning violations?

Maybe add an intrinsic to mark memory as pinned, which is called in the Pin constructor, and then check that a move doesnt have pinned memory as source?

"move" is a type system concept, it is not an operation in Miri. Something like memcpy is, but that can happen even for pinned stuff. E.g., in a pinned generator there might be an i32 field that gets copied around.

Closing this as (a) Miri is meant to be an implementation of the Rust Abstract Machine spec, and that spec does not know about Pin, and (b) I am not sure what it even is that we could be checking here.


Error

Hi
Thanks for providing such a useful piece of work.
I have followed all the steps but I am getting an error at the end.
It says Marco cant be found or disabled.
I have tried changing the security settings also but no difference.
Please help.
BW
S

Hi @Simgauit,
Please see the solution at  #4
Alternatively, I have copied the solution below as well:
Try to Import the .bas again. However, this time before clicking File > Import, make sure you have the Normal Project selected first (see image below)

Hi,
I have re imported the .bas file.
But now a different error, open AI server error.
No actual issue with server as other program is working.
I have tried deleteing previous key and repeated the process with new key and restarted, but no change.
sorry to bother you. I ma not sure where i am getting it wrong.
BW
S


Add CBMC harness for QueueGetMutexHolder

Description

Add CBMC Harness for QueueGetMutexHolder. It is assumed that the passed semaphore is not null plus the assumption implied by the stubs in #688.
Depends on #774, #697, #688
Checklist:

[x] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closed in favor of https://github.com/aws/amazon-freertos/pull/1324.


[SMALLFIX] Supply the variable name to Preconditions.checkNotNull in …

…Mode.java

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/Alluxio-Pull-Request-Builder/16930/
Test PASSed.


Investigate BatchDelete throwing exception

System.ArgumentException: No mapping exists from DbType UInt64 to a known SqlDbType.
See b3adcb8, had to use to list instead of batch delete

BatchDelete does not work with MySQL


How can i give shuffle animation and tilt view effect?

Is there any possibility to give shuffle animation and tilt effect on card through this library. ?

Hi @YamaPatel.
All the animation that you can see is done in CarouselZoomPostLayoutListener. So if you need something, you can build your own class.
Also I think that this kind of animations should be done inside items and not layout manager.


Concurrency control / synchronous ingest

First of all, congrats on the release!
IIUC, ingestion into PranaDB is via Kafka only atm., and thus by definition always async. Which makes it hard to reject events which are derived from outdated view state. Curious what your plans here are, and whether you intend to provide for rejecting such outdated events, e.g. akin to optimistic offline locks. I think this would open up using Prana for many more use cases.

Hi Gunnar!
Could you elaborate a bit more on the issue, I'm not sure I am on the same page yet. Are you referring to late events, watermarks etc?

What I'm after is means of rejecting writes which are derived from an outdated view. Say I have this sequence of events:
Process 1                                   | Process 2
SELECT value FROM BALANCE; -- returns 100   |
                                            | SELECT value FROM BALANCE; -- returns 100
Do some calculation, e.g. value = value * 2 |
                                            | Do some calculation, e.g. value = value * 3
Write back new value: 200                   |
                                            | Write back new value: 300

That write by process 2 is derived from an outdated state; the balance has changed between the time the value has been read and when it's written back. So I'd want to reject that write, indicating the stale read, resulting in process 2 to re-read the now current value and try again.
In a regular RDBMS, I could use optimistic locking for instance by adding a version counter to the table and issue updates like UPDATE balance SET value = 300 WHERE id = 123 AND version = 1 and rollback that transaction if that update doesn't yield any rows due to passing an old version value. Right now, I don't think I could do that with PranaDB as all data ingestion is via Kafka and such async by definition; i.e. even if that write-based-on-stale-view would be detected somehow within Prana itself, that'd be too late as I'd have sent my Kafka message already.
Does that make sense?

I think you're asking about read-after-write consistency?

Then you want to execute a SQL query against those views to retrieve some state and you want to make sure that the event you published has been fully processed in Prana before you do that?

I think you're asking about read-after-write consistency?

Not quite, although I think that'd also be desirable. What I am looking for is a way for preventing race conditions between multiple writers. Coming back to the account balance example, let's say I have the invariant that the balance must not become negative. I have an account with current value 10. Now two concurrently running processes try to deduct 10. How can I ensure that the "deduct 10" event from one of them gets rejected, so I don't end up with a balance of -10?

In Prana you can't insert/update/delete data directly as you can with a traditional RDBMS. All updates are done by Prana itself when ingesting data from topics. Updates to a shard are processed serially so I don't think this situation can happen.

Updates to a shard are processed serially so I don't think this situation can happen.

How would you ensure though that there aren't two concurrent processes trying to sending conflicting writes such as the two "deduct 10" events? Or are you saying that I should make sure to only have a single writer e.g. for a given account? Or perhaps it's the case that Prana isn't meant to address that sort of use case (just like Kafka)?

In Prana you can't insert/update/delete data directly as you can with a traditional RDBMS. All updates are done by Prana itself when ingesting data from topics.

Yes, understood. Is this something you consider changing down the road, and e.g. allow for synchronous insert/update/delete ops?

Or are you saying that I should make sure to only have a single writer e.g. for a given account

Could you elaborate a bit on what you mean by "writer"?

Just step back a bit....
One way to think of PranaDB is as a functional database, events stream in from Kafka, these are then processed by functional folds which output a new state. Nothing is ever mutated. Users then select data from materialized views.
So there's really no concept of writer. This massively simplifies the implementation as we don't have to deal with distributed locks etc

Could you elaborate a bit on what you mean by "writer"?

A process interacting with Prana, issuing writes (by sending events to Kafka atm.) to it.

To clarify:
Now two concurrently running processes try to deduct 10. How can I ensure that the "deduct 10" event from one of them gets rejected, so I don't end up with a balance of -10?

This can't happen. All updates to a MV are serialized at the shard level. There's no concept of concurrent processes writing to the same shard. All writes are done by a single "process" (goroutine) for each shard.

What I have in mind are client processes external to Prana. Say I have a clustered REST application which uses Prana as its datastore. Two nodes in that cluster receive a "deduct 10" API call at the same time. Right now, there's no way this application could ensure the account balance would never become negative: when processing the two requests, both application instances would retrieve the current balance (10), see the request they want to process (deduct 10) fits into the balance and will send the "deduct 10" event to Prana. They will be serialized there as you say, but the end result will be a balance of -10.
But from what you say, I think this sort of application as a system-of-record just isn't the intended use case for Prana right now, so one would probably use an RDBMS with transactions in front of Prana and then e.g. use CDC (Debezium) for feeding events into Prana for updating materialized views.

Generally you want to avoid a situation where multiple "processors" can handle requests for a particular customer at the same time, otherwise you have to do some kind of locking to get consistency - this isn't just an issue with event driven systems, it's true in general.
Imho, better to design your app so this can't happen. This can be done by either
a) load balancing your HTTP requests according to the customer_id so requests to deduct 10 are always handled by the same processor, and therefore serialized. OR
b) (better imho) your web app receives a deduct 10 request on any instance and immediately publishes a "deduct 10 requested" event where key = customer_id. Kafka will hash that and ensure that all requests for same customer_id are on the same partition.  You then have a pool of account_service instances that process the requests, check the balance and either do the deduction or reject it. All requests for a particular customer_id are always handled by the same instance so serialized.
This is a bit like the actor model - there's no shared access to mutable state so no locking is needed, and it's a very sane pattern imho when designing event driven services.

So basically use the partitioned event bus (Kafka) to enforce serialization of processing for any particular domain entity (e.g. customer)

One thing I want to do with PranaDB is to produce a set of example/template services that use PranaDB and implemented using Vert.x/Micronaut/whatever- that demonstrate good patterns for how to create event driven services that are loosely coupled / scalable / etc and don't need to directly mutate state at all, or do any locking.

Ok, gotcha. That approach is what I meant above with "are you saying that I should make sure to only have a single writer e.g. for a given account?"
I think something like optimistic locking is super-useful feature to have in a data store which should be used as a system-of-record, e.g. it's precluding Kafka from being used for certain applications, and single writer principle is quite impactful on application design.
In any case, feel free to close this issue if you don't think it's something you'd want to support in PranaDB. Thanks for taking the time to discuss! +1 on the examples idea (also for Quarkus), that'd be cool.

 super-useful feature to have in a data store which should be used as a system-of-record, e.g. it's precluding Kafka from being used for certain applications

Gunnar - could you elaborate on this? I'm trying to understand a system a system where you would absolutely require this and couldn't design the requirement away.

I don't think it's an absolute requirement, but it simplifies things a lot. As you say, implementing a single writer design can solve the issue, at the price of increased complexity though (in particular for the second solution you describe, as it requires yet another intermediary processing node). Another concern is finding equally distributing sharding keys so as to avoid single processing nodes being overloaded by specific keys which receive a large share of events (although this could be a problem in any case).
Bottom line, "designing it away" sounds about what one can do, but having some means of concurrency control built into the store itself will make lifes of application developers simpler in many cases.

you can process messages on the same nodes a your http endpoints

True that, fair enough.
So let's spin this further, how would the web handler signal to the caller the outcome of the operation ("deduction ok", "deduction failed due to negative balance")? By subscribing to some Kafka response topic?

Thinking more about this... if the logic for checking current balance is done on the writer side then some kind of locking would be required anyway.
E.g. if a request to deduct 10 came in for customer 1, balance was ok so "balance deducted 10" event was sent. Then another deduct 10 could come in for the same customer be approved, but there were no funds a the first event hadn't caused the balance to be deducted yet. So there would have to be logic in the writer to stall checks for a particular customer, until there were no outstanding unprocessed deduct events for that customer. This would essentially be implicit locking.
It seem that this kind of logic, which needs to be atomic belong in the processor - not the writer. A materialized view is a type of processor which is expressed using SQL. But we intend to allow processor to also be provided as user functions or even as gRPC endpoints which can live in your service. If the logic for checking and updating the balance lived in there Prana would ensure that it was invoked serially for the primary key.
Now it might also be possible to create MV that conditionally updates the MV if there is sufficient balance just using SQL- but would require more thought!
Another way we could handle this: When creating the MV we could provide an update_check field and the MV would only be updated if this evaluates to true. When sending the event it would include a version field which would be the current version read from the balance + 1.
create materialized view cust_balance as
select customer_id, sum(amount), max(version_number) as version from
customer_transactions
group by customer_id
with (
  update_check = "customer_transaction.version = cust_balance.version + 1"
  error_topic = "cust_balance_failures"
)

Gonna close this for now, but thanks for the interesting discussion @gunnarmorling
Before too long we will put together a set of real examples demonstrating how these kinds of use cases can be solved effectively with event driven services.


parses whitespace now on server-side, dafaults to AND search

Replaced to_tsquery with plainto_tsquery which turns whitespace into & between non-stopwords. This is an AND search, returning results which include both (or all) words, but not relying on word order. If we want to retain word order, we can use phraseto_tsquery which replaces whitespace with the FOLLOWED BY operator.
We can get more fancy, supporting AND, OR, quotation-grouping, and FOLLOWED BY, but it will require us to handle more of the parsing on our side (or exposing Postgres operators &, |, >> to the users).
Fixes #83.

let's definitely go with KISS first.


tikv-ctl compact-cluster doesn't work when TiFlash nodes exist

Bug Report

What version of TiKV are you using?
7.1.1
What operating system and CPU are you using?

Steps to reproduce

Create cluster with a TiFlash node. Run tikv-ctl compact-cluster.
What did you expect?
compact-cluster to finish successfully
What did happened?
DebugClient::compact: RpcFailure: 12-UNIMPLEMENTED

Note: I have a PR for this coming shortly.

/cherry-pick release-7.6


SyntaxError: File "crewAI\src\crewai\agent.py", line 372 """ ^ SyntaxError: unterminated triple-quoted string literal (detected at line 395)

Brilliant, Do you actualy check any code before you upload broken CrewAI code?.

Closed by #1025


All language server stopped working after latest upgrade

All my language server are gone ( not detected ) after I updated the plugin address to nazo6/installer.nvim
How can I revert back earlier version of the plugin ???
all my workflow is disturbed 😢
I guess , changing the name caused some issue with lspconfig

Do you want to go back to v1? Then, you can use main branch to use old version.
use {
  'nazo6/lspinstall.nvim', branch = 'main'
}

Thank god , it is working again 🙇🏻♂

I should have written about incompatibilities. Sorry about that.
However, main branch will not be updated anymore, so if you can afford it, I recommend migrating to the v2 branch.

I should have written about incompatibilities. Sorry about that.
However, main branch will not be updated anymore, so if you can afford it, I recommend migrating to the v2 branch.

I will do that, I think i will need to integrate it with lspconfig manually, hence it is gonna take some time , for the time being i will be using the older version, till I finish the current project.
Thank you

Of course, main branch still can be used, so there's no need to rush.
Thanks for using this plugin! 😄

Thanks
your plugin is life savior for me
sooner or later it's gonna catch the eyes of the users I believe


Upgrade to Rails 5 - before_filter > before_action

Rails 5 is deprecating before_filter in favor of before_action
DEPRECATION WARNING: before_filter is deprecated and will be removed in Rails 5.1. Use before_action instead.

Not trying to rush or anything, but wondering if any updates on getting this merged?


[symfony] Fix: Set span status according to otel convention

Only set error status on span  if we know the response code is 500 or higher.
Addresses https://github.com/open-telemetry/opentelemetry-php/issues/1403
In Symfony any error is handled as an exception. The instrumentation added an error status to any span when an exception occurred. This is not in line with the spec. For span kinds of server, the error status must ONLY be set for response codes of 500 and higher.
Earlier improvement was done in PR #295, but that fix wasn't sufficient.

Thanks, @technimad-splunk . It looks like there is a linting error in Symfony (see checks), can you please fix that?


data_template and integer

Hi,
First on, great work on the script.
All the services are working great when I call them manually or with a script using a static value.
I added a light template for my Dreamscreen and most of it works great (Detects current status, can turn it on and off).
The thing I'm running in to is that data_template always outputs a string (because that is what Jinja does) and because of that I cannot use data_template to use any form of logic.
I'm using this on my light entity to set brightness:
  set_level:
    service: dreamscreen.set_brightness
    data_template:
      entity_id: dreamscreen.dreamscreen_4k
      brightness: "{{ (brightness / 2.55) | int }}"

and this gives the following error:
ERROR (MainThread) [homeassistant.core] Invalid service data for dreamscreen.set_brightness: expected int for dictionary value @ data[‘brightness’]. Got ‘13’
Also see this topic on the Home Assistant forum:
https://community.home-assistant.io/t/integer-list-in-data-template-converts-to-stings/63653

I should definitely look into changing this to accept strings.  I'll get into that when I'm redoing this service so it is more robust.  ATM I'm dealing with some house issues so not able to make any progress on this in the near term.

@Mace404 Sorry for the delay, can you check to see if it works with the updated master branch?  I added some coercion and it seems to work locally with some quick testing but I don't have the templates that you do so I'm curious to see it work on your end.

Unfortunately, the whole thing stopped working because of updates.
Not sure which was the breaking one, the Dreamscreen firmware or the Home Assistant one.
I rolled back a HA backup but that did not fix it.
There is no Dreamscreen discovered anymore. I saw another topic here describing the same issue.
Will grab the latest version and see what happens tho.

Yeah, this works, great stuff!
I can control the brightness now using a Jinja data_template!
fyi, this is the complete light entity for my Dreamscreen:
- platform: template   lights:     dreamscreen:       friendly_name: Dreamscreen       icon_template: mdi:monitor-multiple       level_template: "{{ (state_attr('dreamscreen.dreamscreen_4k','brightness') | int * 2.55) | int }}"       value_template: "{{ is_state('dreamscreen.dreamscreen_4k','on') }}"       turn_on:         service: dreamscreen.set_mode         data:           entity_id: dreamscreen.dreamscreen_4k           mode: 1       turn_off:         service: dreamscreen.set_mode         data:           entity_id: dreamscreen.dreamscreen_4k           mode: 0       set_level:         service: dreamscreen.set_brightness         data_template:           entity_id: dreamscreen.dreamscreen_4k           brightness: "{{ (brightness / 2.55) | int }}"

Awesome! Glad that did it & thanks for the example. Also thanks for the example too. That's pretty slick.

Yeah, this works, great stuff!
I can control the brightness now using a Jinja data_template!
fyi, this is the complete light entity for my Dreamscreen:
- platform: template
  lights:
    dreamscreen:
      friendly_name: Dreamscreen
      icon_template: mdi:monitor-multiple
      level_template: "{{ (state_attr('dreamscreen.dreamscreen_4k','brightness') | int * 2.55) | int }}"
      value_template: "{{ is_state('dreamscreen.dreamscreen_4k','on') }}"
      turn_on:
        service: dreamscreen.set_mode
        data:
          entity_id: dreamscreen.dreamscreen_4k
          mode: 1
      turn_off:
        service: dreamscreen.set_mode
        data:
          entity_id: dreamscreen.dreamscreen_4k
          mode: 0
      set_level:
        service: dreamscreen.set_brightness
        data_template:
          entity_id: dreamscreen.dreamscreen_4k
          brightness: "{{ (brightness / 2.55) | int }}"

Great work.
It would be nice if you could share your complete entity also for controlling the Dream Screen. I´m completely new in coding !


Adds OSMManager

🎉 New feature
Part of https://github.com/maliput/maliput_osm/issues/6
Summary

Adds OSMManager

Parses the osm file. It relies on lanelet2's parser for parsing the lanelet2-osm map.
It fills maliput_osm::osm::segment structs
Multiple lanes per segment isn't supported for this PR.

A 2-lane-straight-road osm map is added to the resources folder

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if it affects the public API)

I think you can merge the dependent PR and try once more with CI.

Yep, CI passes now


CASSANDRA-15510 (4.0): Optimise BTree.{build,update,transform}

Called it nonEmptyParentMaybeSteal and changed touch to inUse. I didn't reset it to false to avoid risking uncleaned arrays after use.

I did mentally wonder about this after proposing it (without checking) and figured if that were the case we could easily introduce two flags used (or touched) and inUse - set both on touch and unset only inUse when empty.

Rollback pushed to the same branch.

Perfect. I think I broke Jira with all my worklog updates - at least, I cannot load the page successfully now - so I'll just leave my +1 here.


Add $forceCompute with ability to select components to compute.

What problem does this feature solve?
There are times when data is updated but the computed properties are cached not allowing an update. The overhead added with watched variables (both to front end items to make data, watch setup, etc. and use end resources) does not always make sense. This makes users need to add their own way of doing it and hooking in computed items.
What does the proposed API look like?
this.$forceCompute() // recompute all computed variables
this.$forceCompute(['computed1', 'computed2']) // recompute only computed1 and computed2 variables
this.$forceCompute(['computed1', 'computed2'], false) // recompute everything but computed1 and computed2 variables

Computed are automatic and that’s the point of using them, they catch reactive properties being used and get reexecuted when necessary. If you want to recompute them, you might need a method instead. You can also use https://github.com/posva/vue-recomputed

I agree, computed properties are automatic.... unless they aren't.
I saw this issue come up multiple times (especially for arrays or objects), so I thought this would be a good solution for when it doesn't update automatically.
Thanks for the response.

especially for arrays or objects

Do you mean this https://vuejs.org/v2/guide/list.html#Caveats and https://vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats?

Already went there and tried that. Didn't work. :(
Going back for a second about the methods. Methods would be recalculated each time and not cached correct? If the objects or arrays which would be returned only need to be recomputed rarely, why is it a bad idea to allow the user to trigger that manually?
Just curious why instead of adding the feature the response would be an immediate no? This seems to be a question that comes up a lot.

Check https://github.com/vuejs/vue/issues/214 out

Going back for a second about the methods. Methods would be recalculated each time and not cached correct? If the objects or arrays which would be returned only need to be recomputed rarely, why is it a bad idea to allow the user to trigger that manually?

Because a computed property is automatic, having to call them again defeats the purpose. If they are not working, there is either something wrong with your code or a bug in reactivity but you didn't share any repo or piece of code to check, that's why @jacekkarczmarczyk tried to guess

Im currently having the same issue with getting data from Vuex
  computed: {     someData() {      return this.$store.getters.getSomeData();     },
That doesnt update when another component up the Vuex Store

Im currently having the same issue with getting data from Vuex
  computed: {     someData() {      return this.$store.getters.getSomeData();     },
That doesnt update when another component update the Vuex Store

Im currently having the same issue with getting data from Vuex
 computed: { someData() { return this.$store.getters.getSomeData(); },
That doesnt update when another component update the Vuex Store

Getters are properties so don't use like as a function
return this.$store.getters.getSomeData();

to
return this.$store.getters.getSomeData;

Make sure you commit your changes after action execute, you don't need any forcefully actions.
Example :
actions.js
setData({commit}, payload) {
   // Some https requests or any other code
  // then commit
  commit(payload)
}

mutations.js
SET_DATA(state, payload) {
 state.someData = payload
}


REL: change versions to 0.2.0

Preparation for the release, change version numbers from 0.1.0-dev to 0.2.0

@antgonza @ElDeveloper quick review of this so I can prepare the release?

:+1:

We're testing that the system works installing it from scratch. Do not merge until we're sure about that, so this is the last commit in the release.

Can you also modify the ChangeLog to reflect the new development cycle?

Sure! Done

Two comments, then we should be good to merge this.


Hotfix: Update temp site

Description
Ignore #1032, git is hard 😅
Current site is quite outdated, so until development on the new site (with the app integration) is done, we'll need to keep at least the text up to date for people and orgs looking for us now.

@ashwinkjoseph this PR doesn't change any files in web-client (only under site) and afaik the site doesn't have any unit tests to fail. Is it alright to merge this?


Add Initials Style

Hey,
this was already requested on the forum, I'm just putting it here for the record.
Also I take a look at the code and see if I can create a pull request for the Initial style.
Cheers

i notice the Signal app uses initials, instead of just working from the first name like google apps, which is much more useful at a glance to have initials vs using first 5 letters with multiple "Chris..." contacts.
would definitely like to see user specified color initials over random background color, or ideally option of overlay them on top of random backgrounds made with other style generators.


An option to ignore the current driver and not send any more notifications for it would be great.

Hey, first off thank you so much for this program. It's been integral to my goal of slimming down my task manager and installed programs (which included removing GeForce Experience).
One small issue I've come across is when there is a new driver version available that I would prefer to skip, but I keep getting notifications popping up regularly about it. It would be great if there were a button or check box somewhere which gave the option "ignore this version".
I don't want to stop notifications entirely -- usually I do get the most recent driver, so I want to continue getting notifications about new ones. The issue is that sometimes certain drivers are reported to not do so well in benchmarks, so I'd prefer to skip them (this is currently true with 512.15). The button/check box I had in mind would basically turn off notifications until the next version is detected.

That's a good suggestion. I'll see to implement it when I find the time.

Alright, implemented in commit 25fa94144b70302021d462ae4ba7ba3c49230597 and version 2.13


B-17490 Add Deliveries Table to Database

DB - Add Partial Delivery Table
Summary
Adding a table to the database called deliveries that will be responsible for handling full and partial deliveries for service items and will be used to calculate weight delivered to be compared to the shipments table, specifically the prime_actual_weight column.
How to test

Pull the branch
Run make db_dev_migrate
Confirm that the deliveries table appears in the database, as well as added comments

Per slack discussions, could you look at using a trigger for created_at and updated_at to prevent INSERT commands needing to provide it? Also including a DEFAULT for time now on initial creation

Per our slack convo, looks like pop updates this automatically when entries are created and updated per the executors.go file in the pop files.


Pull request for MS-ADOD files

Refreshed Message Analyzer files for MS-ADOD so that customers do not get a request to reparse when the files are opened with the latest build of Message Analyzer (8112).
Uploaded capture files for MS-ADOD that can be opened in NetMon.

Thanks!


there are no tests for thread-safety

We claim that Factbase class is thread-safe, but there are no tests that confirm this. Let's use threads Gem, as explained here, to create such tests.

@yegor256 do I understand correctly, that this class is  really thread-safe, but we don't have any tests to approve this fact?
It's just that if I open the code of the class, then I see this comment:
https://github.com/yegor256/factbase/blob/2e2dae296e2273aefee245240c82865122780df2/lib/factbase.rb#L77

@Suban05 I don't think it's thread safe. If you do fb.insert.foo = 42 from 100 different threads at the same time, you won't see 100 facts in fb. Most probably, there will be fewer.

@yegor256 if I understood your described case correctly, this test passes:
def test_concurrent_inserts
  fb = Factbase.new
  Threads.new(100).assert do
    fb.insert.foo = 42
  end
  assert_equal(100, fb.size)
end

that's very good

@yegor256 of course, I will do it
assign me, please)

@yegor256 this test fails:
def test_concurrent_queries
  fb = Factbase.new
  Threads.new(100).assert do |i|
    fact = fb.insert
    fact.thread_id = i
    fact.value = i * 10
  end
  Threads.new(100).assert do
    results = fb.query('(exists thread_id)').each.to_a
    assert_equal(100, results.size)

    thread_ids = results.map { |fact| fact.thread_id }
    assert_equal((0..99).to_a, thread_ids.sort)
  end
end

When I execute a query, all the facts have thread_id = 0.
But this test is OK:
def test_concurrent_queries
  fb = Factbase.new
  100.times do |i|
    fact = fb.insert
    fact.thread_id = i
    fact.value = i * 10
  end
  Threads.new(100) do
    results = fb.query('(exists thread_id)').each.to_a
    assert_equal(100, results.size)

    thread_ids = results.map { |fact| fact.thread_id }
    assert_equal((0..99).to_a, thread_ids.sort)
  end
end

Do I do something incorrectly or is it a mistake?

@Suban05 looks weird. I don't know why the test fails. You wrote it correctly.

@yegor256 sometimes this test also fails:

def test_concurrent_transactions_successful
  fb = Factbase.new
  Threads.new(100).assert do |i|
    fb.txn do |fbt|
      fact = fbt.insert
      fact.thread_id = i
      fact.value = i * 10
    end
  end
  facts = fb.query('(exists thread_id)').each.to_a
  assert_equal(100, facts.size)
  facts.each do |fact|
    assert_equal(fact.value, fact.thread_id * 10)
  end
end

it's very rare, but I caught the situation, when facts.size equalled 95, instead of 100
What will we do? We can't solve this problem, because we really are not thread-safe

@Suban05 we must be thread-safe. You can add a test to the code base, but skip it, making a puzzle inside (read about PDD). Thus, you will earn some points for the PR and we'll continue from the puzzle.

@Suban05 this code is NOT thread-safe:
arr = []
Threads.new(5).assert do |i|
  arr << i
end

All five threads are trying to append a number to the array, but only one thread "wins" and adds the number, for example 0.

@yegor256 3 puzzles #115, #116, #117 are still not solved.


Generalize X and Z to Weyl–Heisenberg gates

Closes #4782, xref #3190
Implements X and Z as Weyl-Heisenberg gates, allowing them to operate on qudits of arbitrary dimension. The implementations are done via eigen_components, thus allowing interoperability with arbitrary exponents and global phase.
Tests are done to ensure the unitaries at exponent 1 correspond to the standard definitions of Shift and Clock, at dimension 3 and 4. We also test simulations at non-integral exponents to make sure they perform as expected.
Following the precedent set by the identity gate, the diagram labels remain X and Z when applied to qudits, as the qudit dimension itself is already labeled in the diagram.
There is no negative impact on standard X and Z performance. In fact the performance is slightly improved over the existing X and Z gate implementations because we now cache the eigen_components rather than generate them each time. Testing shows a roughly 10% improvement in unitary calculation due to this change.
Additionally this removes all the existing PlusGate definitions and replaces their use with the new X gate functionality instead.

cache the eigen_components
I wonder if we should be doing this more generally?

cache the eigen_components
I wonder if we should be doing this more generally?

Not opposed (though outside the scope of this PR I think). Though it only saves ~10% on calculating the unitary, and calculating the unitary is only ~10% of simulating the gate, even on a single-qubit system (and obviously becomes negligible on more than ~2 qubits).

From Cirq sync:

The qudit gates might not be hermitian and this might be something we assume throughout the codebase
Have linalg experts confirm that this behavior is what users would expect.

Yes, they will be non-Hermitian outside of dimension 2. I believe ISwapPowGate is also non-Hermitian?

@MichaelBroughton I tested and it does continue to work for MPS simulator. I don't think it's necessary to add regression tests since it's just a sanity check. But the following passes (as does dim 4, and zpow).
def test_xpow_dim_3():
    x = cirq.XPowGate(dimension=3)
    sim = ccq.mps_simulator.MPSSimulator()
    circuit = cirq.Circuit([x(cirq.LineQid(0, 3)) ** 0.5] * 6)
    svs = [step.state.state_vector() for step in sim.simulate_moment_steps(circuit)]
    expected = [
        [0.67, 0.67, 0.33],
        [0.0, 1.0, 0.0],
        [0.33, 0.67, 0.67],
        [0.0, 0.0, 1.0],
        [0.67, 0.33, 0.67],
        [1.0, 0.0, 0.0],
    ]
    assert np.allclose(np.abs(svs), expected, atol=1e-2)

Or if the concern is that wider circuits that include these things wouldn't "merge" properly when entangled, the above test doesn't really check that. (We'd have to figure out what such a test would even look like; might require #4512 first).

@dabacon @maffoo Where do you configure the formatter not to reformat matrices for a file?

@dabacon @maffoo Where do you configure the formatter not to reformat matrices for a file? I think it's better without the format change: https://github.com/quantumlib/Cirq/runs/6029681451?check_suite_focus=true

You can do this with # fmt: off and # fmt: on comments.


Setting main states

Currently, plot_main_states(n_cells!=None, ...) writes the root/final_states because there
we have the information of how much cells we want to select (no such information is provided in set_states).
@Marius1311 how to solve this the best?

Let's just always write them in set_main_states, and let's introduce a parameter for that which is 30 by default. Let's not write them when plotting. This is more expected behaviour, I think.
So for plotting, the user can select a number of cells, but this will not be written to adata.

Closed via #128


Use async task while export as project

Use async task as export blocks ui thread if blocking in for long time ui thread reports
to  system as app not responding error asks user to exit or wait until app responds

OK


Get number of a link Shared or Clicked by User's Friends

I want my users share a link to their Friends.
Users have a Share Status Button
Is there a way to display number of a link Shared or Clicked by User's Friends in Share Status Button?
For example
1:  John's Share Status Button : 5 // John Shared to 5 person or 5 person of John's Friends Clicked on that link
2: Maria's Share Status Button : 20 // Maria Shared to 20 person or 20 person of Maria's Friends Clicked on that link
.
.
Is it possible?

Solved with DB and Deep Linking


Fix dependencies of ddynamic_reconfigure

Found with catkin_lint ddynamic_reconfigure/.

I missed one statement, do not merge this yet.

Updated, should be fine now.


Add support for HipChat API v2

This adds support for HipChat's API v2. The docs will need to be updated to include the v2Api configuration option. Tested and working in our environment.

Hi @laszlof - Is there a reason we would need to keep support for the old API? Couldn't we just use the new one?

Yes. The API's use different login credentials. Tokens that worked for the v1 API will not work for v2. That being said, you probably dont want to break any existing installations.

We could really use this . Could you please make the build pass ?

I'd love to, if I knew why the build was failing. Clicking details prompts me to login.

Hey @dancryer , can you help us out ?

Pretty clear this isnt getting merged. We're no longer using it anyways as it doesnt appear the maintainers care about keeping it up to date. Closing this to get it off my list.

What are you using now @laszlof?

Currently a mixed bag. Mostly Travis and Jenkins.


Manage puppetdb

In PR #41 I worked I identified that the termini package could have overlap with other modules. I have identified other aspects that overlap with puppetlabs/puppetdb and added the parameter $manage_puppetdb to disable the overlapping resources.

Thanks!  Release from jlambert121/puppet coming soon - finally cleaning up more stuff this morning.

You're welcome, and thank you!


Update travis_install.sh

1. Tell us something about your changes.
osx dep update
2. If this changes affect the .conf file. Please provide the changed section
3. Reference a issue (optional)
Note: For further discussions use our forum: forum.hyperion-project.org
add osx cmake dependency

the build machine said that cmake is already installed, but it should not harm.
We need the cmake path for qt5, i set it now manual for osx, but this will break soon cause its more a hack but its working as a first test. For sure these is a cleaner solution available.
There is something which i did wrong, is the make command wrong? why it starts no compile after configure?
https://travis-ci.org/brindosch/hyperion.ngBeta/jobs/141262602
you could see the cmake path i added if you click on the commit diff at the top.


vp9 encoder missing

Expected behaviour
VP9 encoder available to use because it is supposed to be compiled inside manylinux custom image:
... cd ~/ffmpeg_sources && git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && cd libvpx && ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic && make -j4 && make install ... --enable-libvpx ...
Actual behaviour
Encoder is missing.
Steps to reproduce
I've installed opencv-contrib-python (<IP_ADDRESS>) inside a python:3 Docker image. Then the following commands:
>>> import cv2
>>> writer = cv2.VideoWriter()
>>> writer.open('video.webm', cv2.VideoWriter_fourcc(*'VP90'), 30, (100,100))
OpenCV: FFMPEG: tag 0x30395056/'VP90' is not supported with codec id 167 and format 'webm / WebM'
Could not find encoder for codec id 167: Encoder not found
False

Yes, it seems that vp9 is missing. Similar issue: https://www.centos.org/forums/viewtopic.php?t=44422

I'll try to reorder the FFmpeg build flags, it seems that the order matters.

Solved it. --enable-shared was missing from libvpx build flags. FFmpeg build detected libvpx but did not actually use it. Should be ok now. I'm currently building x86_64 image. Both of the fixed images should be up soon and the Linux builds should start passing again.


renderer, Nix/HM module: add fade out animation and property to disable

Fades out the lockscreen on successful authentication. Closes #60.
https://github.com/hyprwm/hyprlock/assets/84299080/5e74e3fc-57b8-4ea0-9894-07e80e72bff0
**Note about Nix module: **
I can't test it on Nix as I don't use it. If it doesn't work on Nix please tell me to remove that part, I'd be glad to do so.

I updated the fade to 500 ms and reverted the needsFrame condition, I think all should be good now

The last commit fixes the jump at the end. Final result:
https://github.com/hyprwm/hyprlock/assets/84299080/1c52e641-8222-4a15-9ceb-3eb828447469


Missing features

Hi there,
thank you so much for your release. I tried updating to 1.2.08 but immediately noticed that many buttons disappeared. Below a screen of the buttons from release v1.0.93:

v.1.2.08:

May I ask you what happened? 😅

The user interface has been redesigned for the new version and is still being updated. Please pay attention to the subsequent upgrades of the app and thanks for the feedback.


Fix last update date

Fixes https://github.com/holoviz-topics/examples/issues/374
I haven't tested it out; I'm pretty sure this is why the last update date doesn't show up correctly. I think this is where fetch-depth should be set, but please correct me if it is not.

Unfortunately, it didn't seem to work :upside_down_face:
I don't know when I will have time to dive deeper into why this is the case.

Unfortunately, it didn't seem to work 🙃
I don't know when I will have time to dive deeper into why this is the case.

Ended up with the same fix in https://github.com/holoviz-topics/examples/pull/425, not sure why it didn't work here.


Set up CI

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@2ce41cb). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@          Coverage Diff           @@
##             main      #6   +/-   ##
======================================
  Coverage        ?   0.00%
======================================
  Files           ?       5
  Lines           ?     190
  Branches        ?       0
======================================
  Hits            ?       0
  Misses          ?     190
  Partials        ?       0

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Strict by default

In the Shelley exec model, we should use strict fields in data types by default (right now it is a bit add hoc).

Strictness issues should be uncovered when we start using the NoThunks, I'm going to close this ticket and just address issues as they come up.


Add rehooks extension

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi 👋
Looks good to me, approved 🔥

I appreciate it, thank you sir. 🩶

Hi 👋
Looks good to me, approved 🔥

I appericate it, thank you sir. 🩶


Issue with logs option when start Kong

I install follow https://getkong.org/install/docker/ but when start Kong i have error :
nginx: [emerg] invalid log level "Files/Git/dev/stderr" in /usr/local/kong/nginx.conf:5

when i remove all options :
"KONG_PROXY_ACCESS_LOG=/dev/stdout"
"KONG_ADMIN_ACCESS_LOG=/dev/stdout"
"KONG_PROXY_ERROR_LOG=/dev/stderr"
"KONG_ADMIN_ERROR_LOG=/dev/stderr"

then Kong start success
is this bug ?
i using

Docker Version 17.06.2-ce-win27 (13194)
Kong : 0.11.0

I suspect this is an issue with Windows; similar issues have been reported with pathing in Kong in particularly (admittedly with Vagrant, not Docker): https://github.com/Mashape/kong/issues/2458
Kong/OpenResty is not supported on Windows. Even if Docker does run on Windows, I suspect that underlying problems with Docker representation of streams like stdout/stderr are responsible here. In this case, logging can still be handled via any number of logging plugins available to Kong: https://getkong.org/plugins/

@p0pr0ck5 - you should really add that kong does not work on docker for windows -> https://docs.konghq.com/install/docker/?_ga=2.264864335.1525221271.1532618338-1922410801.1532618338

Is this still the case with newer versions of Docker for Windows? Please feel free to reopen if so, closing this for now, as there hasn't been activity in over two years.


[Feat] Management API for Templates

Apologies if I missed this somewhere, but I searched through all the docs and couldn't find it.
Would be great to have a way to manage templates (really everything) via an API. For example, I've got a platform that already has a way for users to build email templates (in a more WYSIWYG way), but I'd love to use Dittofeed for the eventing and sending of messages. Ideally, I'd just POST/PUT the template when they edit it, and otherwise let them build their workflows/etc the same way.
Similarly, I'd love to be able to embed various parts of the dittofeed admin/management area within the app. If it was directly embeddable, that'd be nice, but I could also make do with an API as well.
Thanks!

Welcome @mrvdot !

Would be great to have a way to manage templates (really everything) via an API. For example, I've got a platform that already has a way for users to build email templates (in a more WYSIWYG way), but I'd love to use Dittofeed for the eventing and sending of messages. Ideally, I'd just POST/PUT the template when they edit it, and otherwise let them build their workflows/etc the same way.

Yes, this is available, but not well documented. I'll be sure to update our documentation!

Similarly, I'd love to be able to embed various parts of the dittofeed admin/management area within the app. If it was directly embeddable, that'd be nice, but I could also make do with an API as well.

Embeddable components are definitely something we've had a few people request, and we may build them in the future, but they're likely a far ways off.  For a full list of the available API's before full documentation is available, check out this file.
https://github.com/dittofeed/dittofeed/blob/main/packages/api/src/buildApp/router.ts, and in particular this controller, https://github.com/dittofeed/dittofeed/blob/main/packages/api/src/controllers/contentController.ts

Great, thanks @maxgurewitz , I'll check out the docs on the management API, that's (hopefully) enough for me for now!


Possible Retiming Error

In ConvolutionStreamReclaim, choosing either hierarchical or flat for kernel_sram seems to change the results.  Both schemes give effectively the same banking (N=9, alpha=1,0,0 vs N=9,1,1, alpha=1,1,1), yet it fails to validate if the flat scheme is chosen.  I looked at the waveforms briefly and it seems to read the correct data out of memory.  The only difference is that the one that fails takes slightly fewer cycles, which makes me think something sketchy is happening with retiming.

:tada: :tada: :tada: Fixed this one by accident today
I think this is because SLA/SRA nodes were modeled to have no built-in retiming, but the chisel templates did.  This issue was exposed only when the 0.2 cycle latency (or whatever it is) happened to push it over to the next cycle in the schedule


Bug report: OverSight uninstall stanza is not correct

Description of issue
The uninstall stanza for oversight.rb attempts to quit com.objective-see.OverSight and remove a login item for Oversight, but the actual running process is com.objective-see.OverSightHelper and the login item is OverSight Helper.

Adding --force still get the same result.
$ brew cask uninstall oversight

==> Uninstalling Cask oversight
==> Running uninstall process for oversight; your password may be necessary
==> Quitting application ID com.objective-see.OverSightHelper
==> Removing login item OverSight Helper
==> 36:92:
==> execution error: An error of type -10810 has occurred. (-10810)
Error: Command failed to execute!

==> Failed command:
/usr/bin/osascript -e tell application \"System Events\" to delete every login item whose name is \"OverSight Helper\"

==> Standard Output of failed command:

==> Standard Error of failed command:
36:92: execution error: An error of type -10810 has occurred. (-10810)

==> Exit status of failed command:
#< Process::Status: pid 86644 exit 1>

After that oversight still show up.
$ brew cask list
oversight


Adding tests for product and cart apollo tests

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[x] Other... Please describe: testing

Does this PR introduce a breaking change?
[ ] Yes
[x] No

should be good


Upgrade to kind 0.4.0

Release notes:
https://github.com/kubernetes-sigs/kind/releases/tag/v0.4.0
Fixes:

KUBECONFIG uses the API listener IP address, not localhost
Images work without IPv6
Better handling of proxy settings
Proper API server healthchecks in the external loadbalancer for
multi-control-plane clusters

The default K8s version with kind 0.4.0 is 1.15.0, but our
configuration fails to deploy there so this stays on 1.14.2 for now.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

There issue with 0.4.0 is that none on the images has support for weave, only kindnet. Unfortunately if we upgrade it will prevent from the teams to work on network policies. 0.3.0 has 1.14.1 image that supports weave without the need to build custom image.

Please let's not merge this now, it will introduce an issue with the network policy testing because kind-net does not support that.
I will close this for now if that's ok.

Yup, let’s close it.