mypy says "Too many arguments" when using TypeVar bounded to BaseModel

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
            pydantic version: 1.5.1
            pydantic compiled: True
                 install path: /Users/quetzal/.pyenv/versions/3.7.6/envs/ml-models/lib/python3.7/site-packages/pydantic
               python version: 3.7.6 (default, Mar  2 2020, 16:15:11)  [Clang 11.0.0 (clang-1<IP_ADDRESS>)]
                     platform: Darwin-19.4.0-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']

I'm trying to create a common config for the base model. While code works as expected mypy fails with Too many arguments for "BaseStructuredFeature" at return feature_cls(**self.vector) in the to_structured_feature method. Though, I'm not sure if it's mypy issue or pydantic.
from abc import ABC
from dataclasses import dataclass
from typing import Any, Mapping, Type, TypeVar

from pydantic import BaseModel, Extra

class BaseStructuredFeature(BaseModel, ABC):
    """Base class for all structured features"""

    class Config:
        allow_mutation = False      # Immutable data structures only
        extra = Extra.ignore        # ignore extra attributes during initialization

# Some BaseStructuredFeature implementation
StructuredFeature = TypeVar('StructuredFeature', bound=BaseStructuredFeature)

@dataclass
class FeatureMap:
    vector: Mapping[str, Any]

    def to_structured_feature(self, feature_cls: Type[StructuredFeature]) -> StructuredFeature:
        """Create a StructuredFeature from the FeatureMap given a StructuredFeature class"""
        return feature_cls(**self.vector)

Usage example
The code works as expected.
In [2]: class SomeFeature(BaseStructuredFeature):
   ...:     id: int
   ...:
   ...:
   ...: FeatureMap({'id': 1}).to_structured_feature(SomeFeature)
Out[2]: SomeFeature(id=1)

mypy config
[mypy]
show_column_numbers = True
show_error_context = False
scripts_are_modules = True
strict_optional = True
follow_imports = silent
ignore_missing_imports = True
warn_unused_ignores = True
warn_redundant_casts = True
plugins = pydantic.mypy

[pydantic-mypy]
init_forbid_extra = True
init_typed = True
warn_required_dynamic_aliases = True
warn_untyped_fields = True

This is because of init_forbid_extra = True, remove that and it works.
Makes sense I think since mypy can't know what will be included in self.vector.


Local variables in parse sections (if not already fixed)

I didn't realize I already had this issue open
Continued in #10


Bump front, vendors cdb

Bump the frontend version and updates cdb.js to fix #4872

Frontend tests were OK :+1: (details)

retest this please

Frontend tests were OK :+1: (details)


Conditional type instantiates all branches for all types in a union

TypeScript Version:  3.0.1

Search Terms: conditional types, union, branching
const Marker = Symbol("GenericArgumentSymbol");
interface FooType { [Marker]: string }

type BranchingDecision<T> = {
    1: T extends FooType ? number : string,
    2: T,
}[T extends FooType ? 1 : 2];

type Problematic = BranchingDecision<FooType | void>;

Expected behavior:

Problematic = number | void
The FooType part of the union should infer number via branch 1, the void part infers void via branch 2 resulting in a union of 2 types.

Actual behavior:

Problematic = number | string | FooType | void
It seems that both branches 1 and 2 are instantiated for both FooType and void, resulting in a union of 4 types.

Playground Link
Related Issues:

I believe this is working as intended.  Unions are not decomposed until you hit a distributive conditional type, and each conditional type is evaluated independently; I don't see what other behavior would be sane in general.  To get the behavior you want, you should write this:
const Marker = Symbol("GenericArgumentSymbol");
interface FooType { [Marker]: string }

type BranchingDecision<T> = T extends infer U ? {
    1: U extends FooType ? number : string,
    2: U,
}[U extends FooType ? 1 : 2] : never;

type Problematic = BranchingDecision<FooType | void>;

Okay, I believe I understand now. T extends infer U will actually trigger distributive behaviour. The first time I read it, extends infer felt like just introducing an alias but it seems to do a bit more.
A bit unintuitive maybe but in hindside it makes sense. In the original code, even though the branch is distributed the T inside is still the union type.


Fixups for Chef 13+ for Pike

Hey Sam, thanks for the PR, i updated the travis ci in preparation for this. Please rebase your PR and i think it should be able to pass travis afterwards.


[RFE] Prepare for Torcx deprecation

Current situation
The functionality offered by Torcx is going to be offered through systemd-sysext images (roadmap issue https://github.com/flatcar-linux/Flatcar/issues/443).
Impact
Users need to know how to use sysext images, migrate their setup away from Torcx (in case there are users) and can also migrate away from custom binaries under /opt/bin, if wanted.
Ideal future situation

[x] Provide docs for using sysext images (rework https://www.flatcar.org/docs/latest/container-runtimes/use-a-custom-docker-or-containerd-version/ and advise to create the /dev/null symlink to disable the upcoming shipped Docker and conatinerd sysext in advance)
[ ] Add new deprecation section in the release notes from now on for all releases
[ ] Blog post (Users should also ensure that they don't use the Torcx paths if they customized their containerd systemd unit), Twitter and Mailing list announcement

Implementation options
Additional information

Do we want to add deprecation notes to all release channels, not only Alpha?
Should we also draft a blog post?


one or more binaries are showing rapid failure please enable debuggin gin settings

Regular operation

Please see attachment

Start up, error, start up, error...

2.1.3.  Previously, I installed the latest stable version.  Same error.

Windows 10, ThinkPad

Just frustrated this is not working

debug.log

https://github.com/vertiond/verthash-one-click-miner#which-gpus-are-supported


PrivateData App : Added two client operations where chaincode is expected to return error

The 1st commit adds two try/catch blocks. The 2nd commit removes one of the try/catch blocks.
Note - it is usually a good practice to squash the commits in the PR, so that the maintainer understands the final intent of the PR.
Some good squash guidance can be found here: https://hyperledger-fabric.readthedocs.io/en/latest/github/github.html#updating-a-pull-request

thanks. #290 included both the try catch blocks, so this is not needed anymore


Can only run the first command in a Mongo Scrapbook

As far as I can tell, this only repros on Windows
Repro steps:

Connect to a DB
Open a mongo scrapbook
Add two commands:

db.test.find()
db.test.findOne()

Put your cursor in the second command
Execute command

Expected: Results of findOne are displayed
Actual: Results of find are displayed

This repros on the old Mongo extension, too. Must've always been a problem

@PrashanthCorp Can you repro and verify if it only repros on Windows?


chore: Remove getIdentityByDID route

Overview

Fixed issues with rendering Swagger documentation.
Addressed some linter warnings.

Swagger Documentation Issue
The problem occurred when rendering the Swagger documentation. The code is designed to list API paths and generate documentation based on those paths. However, an issue arose in the way the Find function was used. This function is agnostic to the specific value of the API keys, which led to the swagger generator pulling in the wrong documentation.
Solution
I considered the following potential solutions:

Implement a custom Find function that is aware of the API key value.
Combine the API functions so that identities/{ID} can accept either a UUID or a DID.

I chose the second solution for the following reasons:

A different organization maintains the Find function, and it may take time to implement a custom version.
Since the API paths for handling DID and UUID are the same, it's logical to use a single function to handle both types of requests.

Side Note
I recommend deprecating DID support in favor of using UUIDs exclusively. This would simplify our API by providing a single, consistent definition for ID, reducing potential confusion and complexity in future development.
This PR fixes #1528

@dwertent build failing and e2e tests as well

something wrong with the UUID verification restclient.go:118: <!! {"error":"FF00126: Unknown identity type: %!!(MISSING)s(MISSING)"}

This PR is no longer needed as we've resolved the issue with a different approach. I will open a new PR to update the FireFly-common tag once it's published.


Interoperability issue with other lz4 libraries

I'm using two github versions of lz4: yours for Golang https://github.com/jpountz/lz4-java for java.
I used your library in the code below:
package main

import (
	lz4 "github.com/bkaradzic/go-lz4"
	"fmt"
	"os"
	"encoding/base64"
)

func main() {
	var data []byte
	var err error

	to_compress:="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

	if data,err=lz4.Encode(nil,[]byte(to_compress)); err!=nil {
		fmt.Fprintf(os.Stderr,"Failed to compress: '%s'",err)
		return
	}

	fmt.Fprintf(os.Stderr,"Success! Length=%d\n",len(to_compress))

	fmt.Fprintf(os.Stdout,"%s\n",base64.StdEncoding.EncodeToString(data))
}

and obtain following output:
raffi@iot-micro-raffi ~/tmp > go run ./test_lz4.go
Success! Length=100
ZAAAAB94AQBLUHh4eHh4
raffi@iot-micro-raffi ~/tmp >

Then I inject this output into a Java version to decode the result:
import java.util.Base64;
import net.jpountz.lz4.LZ4Factory;
import net.jpountz.lz4.LZ4FastDecompressor;

public class test_lz4_decomp {

    public static void main(String[] args) {
        String compressed_base64= "ZAAAAB94AQBLUHh4eHh4";
        int original_size = 100;
        byte [] compressed = Base64.getDecoder().decode(compressed_base64);

        LZ4Factory _factory= LZ4Factory.fastestInstance();
        LZ4FastDecompressor decompressor = _factory.fastDecompressor();
        byte []restored = new byte[original_size];
        decompressor.decompress(compressed, 0, restored, 0,original_size);

        String decompressed_str=new String(restored);

        System.out.println(decompressed_str);
    }

}

but obtain the following output:
raffi@iot-micro-raffi ~/tmp > java -cp ".:lz4-1.3.0.jar" test_lz4_decompException in thread "main" net.jpountz.lz4.LZ4Exception: Error decoding offset 58 of input buffer
	at net.jpountz.lz4.LZ4JNIFastDecompressor.decompress(LZ4JNIFastDecompressor.java:39)
	at test_lz4_decomp.main(test_lz4_decomp.java:16)
raffi@iot-micro-raffi ~/tmp >

The expected result would be that the Java version should be able to decompress the output of the Golang version.

Hi, I tested with another implementation in Golang (https://github.com/pwaller/go-clz4) and it worked.
So I believe there is a problem in the way the compression is performed in your library.
Thanks anyway for your efforts and contribution!

LZ4 algorithm used here is from 2011. There were some significant changes in LZ4 since then (for example streaming support). I don't expect that it works with newer LZ4 versions.


fixed bug for spaces in the "by" section of the rule

Problem
When creating openldap_access rules, it's possible to have a space in the "by" section of the rule.  This currently breaks the instances method in the provider which matches soley on space delimited lines.
Example
I declare this code in Puppet
openldap_access { 'to dn.subtree="dc=example,dc=com" by group/groupOfNames/member.exact="cn=slapd replicas,ou=groups,dc=example,dc=com" on dc=example,dc=com':
  ensure => 'present',
  access => 'read',
}

The opendap module configures this correctly in LDAP, a look at the cn=config LDIF gives us
olcAccess: {6}to dn.subtree="dc=example,dc=com" by group/groupOfNames/member.exa
ct="cn=slapd replicas,ou=groups,dc=example,dc=com" read

If we try and run Puppet again now, it will try and re-create this rule and LDAP bombs out with an error because it already exists.  The reason for this is the prefetch,  if we use puppet resource to look at this entry we can see it's broken....
# puppet resource openldap_access

openldap_access { 'to dn.subtree="dc=example,dc=com" by group/groupOfNames/member.exact="cn=slapd on dc=example,dc=com':
  ensure  => 'present',
  access  => 'replicas,ou=groups,dc=example,dc=com"',
  control => ' read',
}

Cause/Fix
The problem is in the regex in the prefix that deals with the by, access, control line
by, access, control = b.strip.match(/^(\S+)\s+(\S+)(\s+\S+)?$/).captures

This regex will break if there is a space in the by section.  Since we can assume that if there is a space then it will be quoted, the regex in this PR should support all possible combinations, so
foo=a,b,c x y
foo=a,b,c x
foo="a b c" x y
foo="a b c" x
foo="a c" x
foo x
foo x y

In all of these examples, x should be the second match and y (if it exists) the third match.  I've tested this PR against a variety of scenarios and it seems to work.

LGTM, @raphink what do you think of that?

@crayfishx could you please rebase?

@crayfishx, could you please rebase now that Unit and Acceptance tests are fixed?

@mcanevet that good now?

@crayfishx thanks


"Move to" command missing

Hi everything works very well for me however I did notice the "move to" command is missing. Does it need to be added manually?

This works for me fine. Open the map and place your mouse over where you would like your AI to move. Then say "everyone move". You don't need to say numbers or anything. Great job developers!!


Migrate Deployment to Open Source Team

Move over the deployment to Netlify as mentioned on this other ticket: https://github.com/thisdot/framework.dev/issues/480
Add a netlify badge to each site (as mentioned below):

[x] Angular Apollo tailwind
[x] Angular Ngrx SCSS
[x] Next React Query Tailwind *
[x] Cra-rxjs-styled-component *
[x] Vue3-ts-quasar *

Migrate the site over Netlify

[x] Angular Apollo tailwind
[x] Angular Ngrx SCSS
[x] Next React Query Tailwind *
[x] Cra-rxjs-styled-component *
[x] Vue3-ts-quasar *

Move DNS over:

[x] Angular Apollo tailwind
[x] Angular Ngrx SCSS
[x] Next React Query Tailwind *
[x] Cra-rxjs-styled-component *
[x] Vue3-ts-quasar *

*The deployment marked with an asterix do not currently work, so please timebox this migration to 1 hour each, and if it does not work reach out to the PC so that you can have individual ticket created for this.
Notes
For the badge, I want to switch to this badge:
image
which can be fetched from https://www.netlify.com/press/#badges. The rest of Dane's implementation is fine as is.

@Zelig880 some of the sites with the asterisks work. Why aren't they working?

Interesting. I know the http://next-react-query-tailwind.starter.dev/ one does work so it was surprising to see that noted.

Reopening this issue since merging the PRs above do not solve the entire issue

All site URLS are currently set up and deployed from Netlify, and they show Netlify DNS on them so that looks good as well.


⚠ SpeakUpConference.com has degraded performance

In 34fba9f, SpeakUpConference.com (https://www.speakupconference.com) experienced degraded performance:

HTTP code: 200
Response time: 7792 ms

Resolved: SpeakUpConference.com performance has improved in 98e3aca after 11 minutes.


Carousel error uncaught type 'cannot read properties of undefined'

Setup

Rancher version: 2.7.0-rc6
Browser type & version: chrome Version 106.0.5249.103 (Official Build) (x86_64)

Describe the bug

To Reproduce

add repo for featured charts https://nwmac.github.io/rancher-charts
click apps > charts
select featured chart

Result
67Carousel.vue:97 Uncaught TypeError: Cannot read properties of undefined (reading 'style')     at f.slidePosition (Carousel.vue:97:1)     at f.autoScrollSlide (Carousel.vue:92:1)
Expected Result
no errors in console
Screenshots

Additional context

I'm having trouble recreating this, it shows the symptoms of https://github.com/rancher/dashboard/issues/7241 though without the fix.
@ronhorton

Was this something discovered after validating the other issue?
What movement/scroll state is the carousel in when clicking on featured chart (hasn't moved yet, currently moving, finished moving, etc)
Does the carousel scroll when returning to the page?

@richard-cox just saw this error on a cluster that doesn't have an active carousel.
saw when clicking the charts page
saw when clicking away from charts page to cluster page
it's happening around the charts page; there are also socket errors this morning when clicking on the charts page - not sure if related.

@ronhorton I still cannot reproduce this and have also tried on the latest version of rancher (v2-7-head 833b1ab)
Please could you provide click by click reproduction instructions (from log in), and the value shown when going to each of these?

/v3/settings/server-version
/v3/settings/ui-offline-preferred
/v3/settings/ui-dashboard-index

Also, these questions are important to tie down precisely where the error is coming from

What movement/scroll state is the carousel in when clicking on featured chart (hasn't moved yet, currently moving, finished moving, etc)
Does the carousel scroll when returning to the page?
Does the error in the console continue to be output every 2 or 5 seconds, or is it just once?

retested - no issue 2.7.0-rc8

no 'style' uncaught errors from UI when interacting with carousel.
also installed logging chart
returned to carousel and selected other featured charts
switched toggle to browse


chore: bump core

Fixes #N/A
Description
bump core
How was this change tested?
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 79.347%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
91.67%

Totals

Change from base Build<PHONE_NUMBER>1:
-0.01%

Covered Lines:
5955

Relevant Lines:
7505

💛  - Coveralls


Missing top-level class documentation comment.

I'm new to rubocop, and one function is annoying to me.
Why I get Missing top-level class documentation comment. before each class or module definition?
class UsersController < InheritedResources::Base
^^^^^

Can I ask what WOULD be the correct way to write my class definition so that it passes the rubocop check?
class LocationFeatureSchedule < ActiveRecord::BasePIOPS2
  belongs_to :location
end

@justinschier You write a comment above it (describing what it is).

Thanks @bbatsov  always good to learn best practices

how to solve offences in rubocp

Using this doesn't work for me:
AllCops:
  Documentation:
    Enabled: false

However, removing AllCops does the trick:
Documentation:
  Enabled: false

I have the same problem. I have fixed
Your comment
class UsersController < InheritedResources::Base

@nghiabk change #Your comment into # Your comment
that will solve your problem

I think we should use
Style/Documentation:
  Enabled: false

to avoid  the document checking.

otherwise, without the typename, I will get this warning(I am working in version 0.88)
/xxxxxx/.rubocop.yml: Warning: no department given for Documentation.

This is the right one, thank you @lanzhiheng !


convert date for db adapters

function convertDate(fieldName) {
  return function(hook) {
    const prop = hook.data && hook.data[fieldName];

    if(prop) {
      hook.data[fieldName] = Date().toISOString().slice(0, 19).replace('T', ' ');
    }

    return Promise.resolve(hook);
  }
}

Which DB doesn't take ISO formatted dates?
@eddyystop mentioned that this came from an issue from a community member in Slack.
To me, this seems like an edge case with their system. I’ve never run into that across PG, NeDB, SQLite, and Mongo so part of me feels like that is probably just a custom hook someone should be writing if they need it and it doesn't belong as a common hook.
Personally, I'd say we close this and revisit if it comes up frequently. It's so easy/cheap to write hooks that we really should only tackle the common ones that people require. We can't write one for every possible scenario. 😄

I came across this and it seems MySQL 5.6 introduced a STRICT_TRANS_TABLES sql_mode that only allows MySQL formatted dates and not ISO formatted.
Options seem to be disabling STRICT_TRANS_TABLES, or formatting dates in a manner like the code above.
See here for an example: https://dba.stackexchange.com/questions/48704/mysql-5-6-datetime-incorrect-datetime-value-2013-08-25t1700000000-with-er

Consolidated with https://github.com/feathers-plus/feathers-hooks-common/issues/347


CLI improvements

Some small improvements to the CLI that we should implement:

If I rerun a deployment that is already complete, and doesn’t need any further action, the output shouldn’t be “successfully deployed”.
We should let the users know when there's a gas bump

We should show actual spinners to indicate to the user that they should wait for execution to complete, rather than assume ignition has crashed because nothing updates.

Closing in preference to the epic #585


feat: Chrome extension

Short Description
By leveraging a Chrome extension, developers, testers, and business users within an organization can more rapidly and reliably see federated updates without impacting end users.
Longer Description
When working with Module Federation there is often a need to be able to change which federated remote you are using and the state of that federated remote. Sometimes, as an example, a developer will be using the staging environment for their base application with a single module pointing to their local environment. This will allow them to see how a federated remote works in concert with other peers in an environment.  Additionally a remote can be taken into an offline state or have its data replaced in real-time by the Chrome extension to aid with troubleshooting specific issues. The Chrome extension can also serve as a discovery point for federated remotes within an organization.

@fyodorovandrei is currently investigating on this task


✨ Port Sequin.Health and modify for multiple checks

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#156  👈
#151
main

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

Join @RTLS and the rest of your teammates on  Graphite


Pinpoint rocketmq support?

Hi，
When is it expected to support rocketmq？

hi @gebiwws
Pinpoint does not support Rocketmq and there are no support plans.
If you make and contribute it, it will be a great help for Pinpoint.
thanks :)


Add support for Java 12/13

On OpenJDK 12/13 I see this:
Exception in thread "main" java.lang.IllegalStateException: Could not detect PID form Process[pid=26, exitValue="not exited"]
	at org.zeroturnaround.process.PidUtil.doGetPid(PidUtil.java:117)
	at org.zeroturnaround.process.PidUtil.getPid(PidUtil.java:97)
Caused by: java.lang.NoSuchFieldException: handle
	at java.base/java.lang.Class.getDeclaredField(Class.java:2417)
	at org.zeroturnaround.process.PidUtil.getHandle(PidUtil.java:150)
	at org.zeroturnaround.process.PidUtil.getPidFromWin32Process(PidUtil.java:146)
	at org.zeroturnaround.process.PidUtil.doGetPid(PidUtil.java:113)
	... 4 more

Added JDK 12 to Travis in PR #19. The failure is also visible there.

Issue is fixed in master with commit c3a927f30aa752de6e90f64f7c9d92403b0aafb2. @theangrydev, can you try and see if it works for you also?

@nemecec seems to work for me

This issue seems that could be closed.
As mentioned above it was fixed with https://github.com/zeroturnaround/zt-process-killer/commit/c3a927f30aa752de6e90f64f7c9d92403b0aafb2 which is included in the version 1.10


Retrieve Source from Org results in "Cannot read property 'describer' of undefined"

Summary
Attempting to retrieve source from a Salesforce scratch org into VSCode results in the error "Cannot read property 'describer' of undefined"
Steps To Reproduce:

Setup a default scratch org with no customisations and set as default org
Run "Retrieve Source from Org" with below package file
Observe "Cannot read property 'describer' of undefined" error

Expected result
Resources retrieved from org
Actual result
The following error was thrown:

Additional information
This is a screenshot of the structure and types in my package.xml file:

SFDX CLI Version
sfdx-cli/7.30.13-9e204762d5 win32-x86 node-v10.15.3
SFDX plugin Version

OS and version:
Windows 10

@will-dinn Does this happen when you run the command from the command line?

@clairebianchi if I run the following:
sfdx force:source:retrieve -x packagefilepath\package.xml
I get the response:

@will-dinn What are you trying to retrieve from the org? Sounds like there is nothing in the org yet. Also, why are you using source:retrieve instead of source:pull? Scratch orgs are designed to track changes between your local development environment and the org, if you use the source:pull command it will pull all changes that have been made to the org that are not reflected in your dev environment locally.

@clairebianchi I was originally hoping to revert the configuration of some standard profile files before writing anything to the org. Is the error "Cannot read property 'describer' of undefined" an issue with the CLI or with VSCode?

@will-dinn can you send us the stack trace on this?

I resolved this issue by re-authorizing the org I was pulling from.


Generic wrappers improvements

Implemented the proposition I made, i.e. to make GenericWrappers optionally take a transformer that will be applied on the returned values. The transformer can optionally take the environment as a second parameter.
Never worked with Kotlin before, so feedbacks are welcome!
Note that this does not solve handling Reactor's Fluxes, but only Monos, because Flux plays the role of both Future and Iterable. TypeClassMatcher#isListType(...) probably needs to be updated somehow. Maybe we can flag GenericWrappers as possibly iterable? Anyway, to be done in another PR.

I like the idea behind this PR, and I'd like to merge it, but I'm not sure jdk8 Optional fits the use-case as well as Mono.  It's not a full-fledged generic wrapper, as it's more of a language feature and can't be used in all situations.  This PR would remove those error messages and could make the API more confusing as a result.

@apottere I get your point, although I'm not sure a distinction should be made between an Optional and a Mono, as a Mono is basically a asynchronous Optional (just like a Flux is an asynchronous Collection).
What's sure is that the Schema Parser Options section of the readme should be updated to better explain all this. I can give it a try if you want.
What other solution do you have in mind otherwise? Keep the implementation of this PR while not removing the Optional-specific checks?

@apottere, any thoughts about this?

@apottere, any thoughts about this?

From what I've read, it looks like Mono is more similar to CompletableFuture than Optional - it either returns a value or an error.  Since Optional has other semantics (it can only be used at the top level and only when the type is nullable), I don't think it makes sense to handle it with a generic wrapper.  Would you mind replacing the original optional handling and test?

Well, a Mono can either hold a value (that can be anything, i.e. possibly an error), or be empty (i.e. holds nothing). Basically just like an Optional, the difference being that it will resolved in some point in the future (in contrary to an Optional which is synchronous obviously).
But I'll revert the Optional checks if you still prefer, I'll tell you once updated. Thanks!

@apottere Updated :)

Thanks!

Released in 5.2.0

@sp00m & @apottere  : Thanks for handling this issue. I was having the same issue for a while. Could you please share example to use genericwrapper with transformer also please update the Readme. I'm also stuck with the same problem:
"com.coxautodev.graphql.tools.ResolverError: Expected source object to be an instance of 'com.pearson.glp.graphql.models.Greeting' but instead got 'reactor.core.publisher.MonoLift'"
Eagerly waiting for this. Thanks!

@devilking01, when creating your SchemaParser, you can pass options(SchemaParserOptions). SchemaParserOptions allows registering GenericWrappers. This PR introduce a feature to GenericWrappers, allowing you to pass how a GenericWrapper should be transformed into a type graphql-java-tools understands.
In the case of Mono, it can be converted to a Future, so this is how I'm using it:

Thanks @sp00m . As per your initial comment, I started using CompletableFuture only and that worked fine. But, I thought after this commit, no more conversion to future is required, and using transformer one can use Mono directly like Future and engine will automatically transform.
Really appreciate your effort on this. Thanks!!

@devilking01 Glad I could help! FYI, https://github.com/graphql-java/graphql-java-tools/pull/155 should allow us to return Fluxes as well directly. For now, you need to transform your Flux<T> into a Mono<? extends Collection<T>>, e.g. with .collectList().

Awesome!!
Exactly I was using .collectList() till now. But I guess this fix is yet to be released.


update CopyObject logic

Hello!
This PR should fix the issues mentioned in #6263
I tried to be as exhaustive as possible in the tests to allow reproduction of the current issues. I've also extensively tested those against AWS.
This would fix the following:

Don't use the following from the source key:

ServerSideEncryption
BucketKeyEnabled
SSEKMSKeyId
StorageClass
ACL
ObjectLockMode
ObjectLockRetainUntilDate
ObjectLockLegalHoldStatus

Use and set those parameters to the destination key:

ObjectLockMode
ObjectLockRetainUntilDate
ObjectLockLegalHoldStatus

Rework the check to allow copying "in-place"
Return x-amz-copy-source-version-id if the source bucket/key was versioned

If anything is missing, feel free and I'll try to fix it asap!

Thanks for the PR @bentsku! I'm not quite sure why that particular test fails. It may be because of a recent werkzeug upgrade - you may have to merge in the latest master, I pushed a coule of fixes recently

Oh I see my mistake now, I'm passing a Bucket resource to the client Bucket parameter... Will fix it quickly.

Finally fixed the test again, pushing commits on Friday evening without testing was not a good idea. It should finally be good to go. Sorry again for having to run the pipeline, really sorry!

No worries @bentsku - the CI is free :)
LGTM - thanks again for the PR!


How to connect mongo sharding?

Here's my log
mongo://<IP_ADDRESS>:30001: Connected
mongo://<IP_ADDRESS>:30001: Connected
Finished scanning... primary? no
uncaughtException : Error: Could not connect to primary: Error: Server Error: { '$err': 'assertion s/config.h:108', code: 0 }
at EventEmitter. (/home/user/Documents/www/myApplication/node_modules/mongolian/lib/server.js:117:49)
at EventEmitter.g (events.js:143:14)
at EventEmitter.emit (events.js:81:20)
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/server.js:75:34
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/db.js:62:13
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/util.js:19:18
at [object Object].next (/home/user/Documents/www/myApplication/node_modules/mongolian/lib/cursor.js:159:9)
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/cursor.js:163:18
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/util.js:19:18
at /home/user/Documents/www/myApplication/node_modules/mongolian/lib/cursor.js:117:9
Finished scanning... primary? no

Is this still an issue?

Yes. I get the following error when i try to connect to a mongos (as opposed to mongod) process that is my shared clusters frontend:
[debug] mongo://<IP_ADDRESS>:27017: Connected
[debug] Finished scanning... primary? no
{ stack: [Getter/Setter],
arguments: undefined,
type: undefined,
message: 'Server Error: assertion s/config.h:119',
result: { '$err': 'assertion s/config.h:119', code: 0 } }
It seems as if this error message might be reported in the scanServer() method in server.js around the lines:
self.log.debug("Finished scanning... primary? " + (self._primary || 'no'))
self._replicaSet.emit('scanned', scanErrors)

Update: While playing around with this issue i noticed that I could get a connection to mongos by inserting this code at the top of the function scanServer(server) in server.js:
self._primary = server
self.log.info(server+": Connected to primary")
self._replicaSet.emit('primary',server)
return
(code copied from below in that same function, on success)
I don't know if it's good to do so, but I figured that when using mongos it acts like a "mongod proxy" and hides the sharding details from the app, so basically the mongos becomes the "master" for the applications viewpoint.


Fix remapped shortcuts not getting activated in succession

Summary of the Pull Request
This PR fixes a scenario where a user could remap Alt+A->Ctrl+A, Alt+V->Ctrl+V and if you press Alt+A, release A and press V, Ctrl+V was not getting invoked. This was happening because when we fixed Alt+Tab style shortcuts in #3965, we changed the behavior such that we release the remapped modifier only after a key apart from the invoked shortcut's keys are pressed. When this would happen, we would reset the keyboard state to whichever keys should be physically pressed at that time, however we were sending all the keys including the latest pressed key (V in the example), with the KEYBOARDMANAGER_SHORTCUT_FLAG, because of which when the system received Alt+V it would not remap it to Ctrl+V. The fix involves removing the flag for that particular key event. We still keep the shortcut flag for all the key events before that so that we don't reinvoke the initial shortcut and cause an infinite recursion.
Comments have been updated to clarify the flag usage and two test cases have been added to capture the scenario.

PR Checklist

[X] Applies to #4647
[X] CLA signed. If not, go over here and sign the CLA
[X] Tests added/passed

Validation Steps Performed
Added test cases and manually validated with the repro steps in the issue

@enricogior should I merge this normally?  I think the second commit depends on another PR in master so it would be better to only cherry-pick the first commit to stable.

@arjunbalgovind
you can use "Rebase and merge", it will preserve the two commits.

Merged. https://github.com/microsoft/PowerToys/commit/ac2a9deb75d55779ec12fdf49dcee2048b4638bf is the commit to be cherry-picked

@arjunbalgovind
done.


⚠ Bofrost.at has degraded performance

In 8d89fa5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1190 ms

Resolved: Bofrost.at performance has improved in c8871b6 after 46 minutes.


CTRL+CLICK does NOT open the functional component on new tab when type definition available

VS Code Version: 1.55.2
OS Version: Windows 10 Pro

Steps to Reproduce:

npx create-react-app my-app --template typescript
Open src/App.tsx and convert App function to a const with FC type definition.

import React, { FC } from 'react';
import classes from  './App.module.css';

export const App:FC = () =>  (
    <div className={classes.App}>
        Hello
    </div>
);

export default App;

Go to index.tsx and CTRL + CLICK on <App />
Expected App.tsx to open NEW WINDOW.
IF I just change   export const App:FC to export const App it does open App.tsx in NEW WINDOW

Does this issue occur when all extensions are disabled?: Yes

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

@mjbvz yes

This is fixed in Typescript 4.3. You can upgrade to use it by installing this extension

Actually still happens if you have both files open. Moving to TS
You can workaround this by setting "editor.gotoLocation.multipleDefinitions": "goto"


RHODS/ODH keywords compatibility changes

The idea was to created two separate resource files [ODH|RHODS]Variables.resource, each file will contain platform specific variables. The tester can switch between these two files just by setting the ODS_PROJECT variable, which is in the main variable file test-variables.yml. I adjusted the keyword for controlling the main dashboard title, because it's the only conflicting keyword I could find so far but if more conflicting stuff will occur it can be easily handled.

Looks good in general, but left a couple of comments. I think there are other specific references to RHODS in the keyword and TCs that are not addressed in this PR, are they out of scope?

TCs that are not addressed in the PR do not use Keywords with the RHODS specific variables, no changes are needed there. Tried to avoid referencing to the RHODS everywhere where it makes sense, check the updated PR, please :)

@lugi0 run the tests one more time, please, a conflict was resolved

@vsokolov00 Are you still planning on rebasing and updating this PR?

Can one of the admins verify this patch?


Bwc test backup

Description
[Describe what this change achieves]

Category (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)
Why these changes are required?
What is the old behavior before changes and new behavior after changes?

Issues Resolved
[List any issues this PR will resolve]
Is this a backport? If so, please add backport PR # and/or commits #
Testing
[Please provide details of testing done: unit testing, integration testing and manual testing]
Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #11 (4297698) into main (f275fb9) will increase coverage by 0.03%.
The diff coverage is n/a.

:exclamation: Current head 4297698 differs from pull request most recent head b993779. Consider uploading reports for the commit b993779 to get more accurate results

@@             Coverage Diff              @@
##               main      #11      +/-   ##
============================================
+ Coverage     62.90%   62.94%   +0.03%
- Complexity     3259     3260       +1
============================================
  Files           253      253
  Lines         18126    18126
  Branches       3258     3258
============================================
+ Hits          11403    11410       +7
+ Misses         5074     5067       -7
  Partials       1649     1649

Impacted Files
Coverage Δ

...nsearch/security/dlic/rest/api/AuditApiAction.java
68.08% <0.00%> (+4.25%)
:arrow_up:

...security/auditlog/sink/InternalOpenSearchSink.java
80.76% <0.00%> (+11.53%)
:arrow_up:

...ecurity/configuration/StaticResourceException.java
25.00% <0.00%> (+25.00%)
:arrow_up:

Continue to review full report at Codecov.

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


[bug] Health icon (negative) "nervous" has all same colors

https://github.com/resolvetosavelives/healthicons/blob/main/public/icons/svg/negative/emotions/nervous.svg
Also referencing this issue (which appears to be fixed except for this one icon): https://github.com/hawkeye64/quasar-extras-svg-icons/issues/16

Reference: https://github.com/resolvetosavelives/healthicons/issues/151


Invalid entry in accept encoding metadata

When server receive a request, this error present.
The data request successes, but why this error present?
E1029 14:26:29.297962000<PHONE_NUMBER>39296 call.c:564] Invalid entry in accept encoding metadata: 'deflate,gzip'. Ignoring.

you can check the grpc version of server and client, maybe inconsistency.
e.g. the version from nuget package is 0.7,and the one from github is 0.11

@fxrrrr you are right.

hi was there a better resolution on this? I dont think I have a version mismatch, if it is its between 2 minor versions of 0.11.

It because I update GRPC library in my Objective-C client without update my C++ server. After I update both parts, it works fine. :)


Create user information page

The page will include :

Avatar with a change button.
Username field.
About field.
Email field.
Cover upload.
Save button.

@mohamed-abdelahi-haibelty Hi Mohamed, this is a good task, but don't add Cover upload there, it's not necessary now.

@mohamed-abdelahi-haibelty Hi Mohamed, this is a good task, but don't add Cover upload there, it's not necessary now.
unfortuntaly, i've seen your message just know,  i spent so much time working on the cover upload. anyway i removed it

@sidiDev unfortuntaly, i've seen your message just know,  i spent so much time working on the cover upload. anyway i removed it


Fraud proofs gossiping

Fraud proofs can be produced only by full nodes. They will be delivered to all nodes in the network with a gossiping mechanism. This will ensure that fraud proofs are delivered to all nodes as soon as possible, without delay (like waiting on block finalization). If the grace period is shorter than block time, light clients don’t need to keep historical data.

Fraud proofs gossiping should use the same libp2p message router as transaction gossiping.

Note that for testnet we only want to support fraud proofs for the evm settlement "hub".

Closing in favor of #552.


Consistent Y,X conventions

I fixed the conventions used by the SLM. It should be consistent throughout the repo now.


Replace --safe flag with --system

#293

I still don't know if system is really a better alternative to safe, but oh well...


Pull all 11 Facts Edit Links

Hi! To make the lives of Felicia and Gabe easier for this yahoo partnership, would be great to get a CSV of all edit links of published 11 facts pages on production. Not sure who has time to help with this, so leaving that up to you @angaither! Thanks!

@namimody they can be accessed in prod via content search. is a CSV still needed?
https://www.dosomething.org/admin/content/search?title=&type=fact_page&field_cause_tid=All&status=1

@angaither Unfortunately it seems the edit links from there don't work when pasted into a Google Sheets or Excel, so we'd really like someone to pull this (or show me how to not be an idiot with copy and paste).
Basically, for the partnership with Yahoo, we are changing all calls to actions on 11 Facts pages to go to Yahoo search instead of a related campaign. The partnership doesn't launch until October, but in order for the content team to queue up all the changes, they'll need to fill out this spreadsheet for 172 fact pages
:

so that the day before launch, they can easily update all the pages. Let me know if it's easier to sync in person about this!

@namimody if you do a query for all fact pages with a status = 1, with the node id... the edit link would just be node/[id]/edit
you could also copy link address with copy/paste

Perfect, thanks Andrea! Copy link address led me to the Google Chrome Extension Link Clump -- where you can bulk copy links. :D


fix(*): cleanup unused code and dependencies

I think we can forget about the flaky GitHub Actions test, I already did a rerun and same thing... 🤷♂

Good work! I did not forget about the flaky GH actions test, I'm actually working on it today, so soon this will not come anymore


Suggestion - Driver

Possibly implement a MySQL storage driver?

https://github.com/lukechilds/keyv-mysql


Fix: HtmlDumper::$dumpHeader is not compatible with symfony's $dumpHeader

Fixes #175
Happens to me while playing with Laravel 11.x

@buismaarten Can you tell me a way to reproduce this issue?

@buismaarten Can you tell me a way to reproduce this issue?

Setup a Laravel 11.x installation using the main branch of laravel/laravel
Use the dd or dump functions in a route, I used the welcome route
Visit the route in the browser, the error will be triggered


WIP: Port to Qt5.15/Qt6

QJsonDocument toBinaryData/fromBinaryData was removed; should probably
migrate to QCbor eventually. Worked around for now.

QString empty constructor replaces QString::null

QWheelEvent delta() is deprecated, replaced with angleDelta() /
pixelDelta()

high-quality antialiasing hint is now included in default antialiasing option.

QSet now accepts STL-like constructors.

QSplashScreen no longer takes QWidget in constuctor.

qSort replaced with std::sort

QRegExp replaced with QRegularExpression.

Bump C++ standard to 17 in CMakeLists.txt

Setup CMakeLists to build with Qt6 if found, fallback to Qt5.

Apologies for the nasty megacommit. Tested very little, but it does build on both Qt5 and Qt6 for me, and it's a decent starting point nonetheless.

This PR is just qt5 deprecation fixes:
https://github.com/pothosware/PothosFlow/pull/200

Setup CMakeLists to build with Qt6 if found, fallback to Qt5.

I assume plotters and widgets has to do the same thing?
I want to overhaul their cmakelists to use the target stuff properly too

compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

I think all of the projects need this minimum change to quiet the warnings

Given that this PR isn't going to get merged/has been supplanted, I'm going to close the PR. When you get a chance, if you create a tracking ticket for some of the tasks that block Qt6/changes that you'd like in qwt, I can try to tackle some of it. Cheers.

Holy cow. So the signals and slots all use the old style with the runtime engine lookup. Qt6 deleted many signal/slot overload variants, which all show up as runtime errors now. I need to replace some 150 connections with the C++11 and up function and lambda style to make these become compile time errors so they can be fixed. Some of the connections need to stay runtime because they need the opaqueness and QMetaObject stuff.

tracking ticket for some of the tasks that block Qt6/changes that you'd like in qwt

I think qwt may not be available for qt6 yet, at least I havent found a git repo


Importing common stylesheets for all components

Hi,
I have a variables.styl which I want to be accessible in all other stylesheets under their component folder. Is this possible?
Cheers

There is several ways of how you can achieve this.

use import option or webpack's alias to resolve path to your app file. Check for details

use define option. In this case you can add global variables before compilation. Please read this for details. stylus-loader has option define which should hold hashmap of properties (name => node).

Just use webpack aliases to simplify path resolving.


Container image security review to ensure no security vulnerabilites

Which area/kind this issue is related to?
/area registry
Issue Description
Quarterly review of the devfile containers to make sure container images used do not have security vulnerabilities. The containers to cover:

[x] devfile-index (clean)
[x] devfile-index-base (clean)
[x] Registry Viewer - registry-viewer (vuln)
[ ] Registry Operator - registry-operator () - scan not supported Manifest is not supported by Quay Security Scanner This manifest has an operating system or package manager unsupported by Quay Security Scanner. .   Investigate if Clair supports scanning distroless images
[x] Devfile registry integration testing - devfile-registry-integration (vuln) https://github.com/devfile/api/issues/1062
[x] OCI server - oci-registry (clean)

Target Odo version
N/A
Target date:
March 24, 2023

Opened up issue to investigate why the scans are not running for registry-operator https://github.com/devfile/api/issues/1108


Add math ytt module

Add the math module. Can be used like this:
#@ load("@ytt:math", "math")
ceil: #@ math.ceil(42.2)
log: #@ math.log(1024, 2)

WARNING: The content of the math module is mostly copy-pasted from Google's last version of starlark-go (the upstream of k14s/starlark-go). In result, I let the original copyright notice at the top of the math.go file, which is probably not the right thing to do.
Contributes to #689

Apologies for the delay... We've been wrestling with the impacts to ytt's guarantee to deterministic/consistent results.  The underlying library does not guarantee consistent results across architectures (as is typical of floating point math).
Wrapping that discussion up.
But in the mean time, this is all looking fit.

Published in v0.42.0. Many thanks, @Hugal31.


Example of Simple Auth 1.0 with Rails Backend

Having trouble upgrading to Simple Auth 1.0 using rails backend and omniauth-facebook (no devise). Anyone know of any good examples out there I could look at?

Please post questions on stackoverflow and issues here.


pax: init at 20201030

Motivation for this change
Provides the pax command for creating and unpacking pax archives (similar to tar).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 105802 run on x86_64-linux 1

1 package built:

pax

Result of nixpkgs-review pr 105802 run on x86_64-darwin 1


[experimental] check generated files up to date for experimental fram…

…ework

Motivation
This PR adds an additional check to check that all the generated files in the experimental framework releases are up-to-date with the Move code.
Have you read the Contributing Guidelines on pull requests?
Yes.

/land


block explorer too fast to select desired block

UI Version: 0.7.0
Description: On the block explorer if you are trying to select a specific block new ones are coming in and pushing them all down so fast that it's difficult to click it. Maybe we could autoscroll with the new blocks or could put them inside of an overflow auto div so that once scrolled the view stays?

Sounds like an easy fix. Also consider #868.
But we may want to use the cross product explorer anyway I thought. Should we keep fixing the explorer in that case?

it would be a fix for both of them

too fast, too furious

Maybe: Only autoscroll if you are on top of the list


Create more examples

Description
It would be great to add more well-commented examples to show how to use this crate.
Basic example
See #245
Other
A new release of rust-doc should come out in some months that automatically scrap the content of our examples directory to show how to use each function, so adding more examples would also improve the documentation significantly.
Since the feature is still in beta right now it's hard to show you what it'll do but you can see an example here

I'll take this issue

@irevoire
thank you, I appreciate the help.
Seeing the example, it has an already running instance of meilisearch. Can I write a simple lib that requires the local melisearch server to be running kinda akin to the quick start?
What kind of assumptions should I make about the user looking at the example?
I'll take a little time to think of a good/cohesive example.

Usually, for all the SDK, we assume there is a running instance on localhost:7700 with the --master-key masterKey.

@irevoire hey, I've been reading through the documents and I started a command line example. I'm going to add some more as I read more through the document. If you could take a look at it quick, it would be much appreciated. I built a repo so I could work on it.
my repo
What I'm unsure of:
Is this a good start?
Are the ranking rules wrong? In the index using the base stuct, i want the hits to be ranked by cost. I'm unsure of what i'm doing wrong
Lastly, is there anything I should look into.
I've been working on making sure the example doesn't introduce new dependencies, so its simple. Any direction would be much appreciated!

Hey @salugi, just to be sure, do you want to merge this into meilisearch-rust, or do you want to keep the maintenance for you, and we could put a link to your repo in our readme?
Personally, I would prefer it if we could put your example in our examples directory; we'll ensure that it always compiles and it'll be easier for our users to find the example :grin:
I'll answer your question and make a few issues / PRs directly on your repo :+1:


Long title does not fit into window

Describe the bug
When the title of an organisation is to long it went out of window size.

@soundyogi first of all we should use the list view shown here:
https://www.figma.com/file/LmFOAGwKieWxmLtFVulChX/?node-id=450%3A8720
which means we should have the correct tiles before we (eg.) adapt the maximum input characters for the title.
The List page should have 3 Organizations (same as campaigns) in a row on a tile view.

closed as design will change and maxlength and behaviour is defined in create dao form and organisation card


OC can not call init method

When I call init method in OC like [[MonkeyPaws alloc] initWithView:self.window ], I get an error No visible @interface for 'MonkeyPaws' declares the selector 'initWithView:tapUIApplication:'
How can I fix it?

Write an AppDelegate category in swift.


Search bar in the pathway page doesn't take up the entire width

Made to be the same size as the cards that follow it.


Final Capstone Project: Car Test Drive Booking System Merge Request

Overview
This pull request is a formal request to merge the cumulative and concerted efforts of our development team from the develop branch into the master branch. Our Final Capstone Project is a sophisticated car test drive booking system, designed and tailored following the prototype provided by Murat Korkmaz on Behance, with our unique spin - instead of motorcycles, we facilitate the booking of car test drives.
Our development team, composed of myself and Pablo Bonasera, has meticulously adhered to coding best practices, proper Gitflow, and comprehensive professional documentation throughout the project lifecycle.
Pull Request from front-end:
https://github.com/ClaudiaRojasSoto/Final-Capstone-Front-End/pull/15
General Requirements Met

Zero linter errors across the codebase.
Strict adherence to Gitflow practices.
Professional-level documentation and code commenting.

Project Implementation Details
Chosen Theme

Our application is built around the concept of booking test drives for cars, aiming to streamline the process of scheduling a drive with an intuitive user interface.

Core Features Implemented

Simplified user login system by typing only the username.
The navigation panel provides seamless access to:

Car listings for test drives.
Test drive reservation form.
User’s test drive reservations.
Functionality to add new cars to the system.
Option to remove cars from the system.

The main page features a listing of cars available for test drives.
Detail pages for each car, with an option for users to reserve a test drive.
A fully responsive design, with tailored user experiences for both mobile and desktop versions.

Additional Features (Beyond Basic Requirements)

We also integrated the ability for users to delete car listings, empowering administrative management within the app.
The reservation process is enhanced by allowing users to select a date and city for their test drive, with auto-filling of the user's name and the selected car when the reservation is made through the car's detail page.

Comprehensive Documentation

Detailed API documentation has been included to facilitate understanding and potentially scaling the application in the future.

Merge Request Justification
With all required features meticulously implemented, as well as the inclusion of additional capabilities not mandated by our team size, we are confident that our project not only fulfills but surpasses the specified criteria. We kindly request the review and approval for the merging of our develop branch into master.
We eagerly await any feedback and are fully prepared to conduct further modifications if recommended by our esteemed reviewers.
Thank you for your consideration and time.
Warm regards,
@PabloBona
@ClaudiaRojasSoto

Thank you so much @Meltrust.


Add missing dependency to the target install-flash-attention

What does this PR do?
Add missing dependency to the target install-flash-attention
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.
@OlivierDehaene OR @Narsil

This is intentionally not a default dependency, it's super slow to run:
https://github.com/huggingface/text-generation-inference/issues/330#event-9265706767
And tgi should work without flash attention, doesn't it ?

@Narsil Do you have plan to switch to PyTorch 2.0's implementation of flash attention?

No, it doesn't seem to support non padded kernel.
It's kind of essential here to get good performance on highly varying query lengths from users.


import { type X } has different runtime behaviour from import type { X }.

import { type X } results in a runtime import, while import type { X } does not:
// in:
import { type X } from 'X';
import type { Y } from 'Y';

// out:
import 'X';

Is this intentional? I couldn't find it anywhere, and it surprised me a bit.

Flow isn’t a compiler so whatever is changing your input isn’t Flow.

I would say that it's not even obvious, what should happen in this case. Anyway, this should be reported to Babel issue tracker.

I may hope though that this behaviour is dictated by flow, and not left up to the compiler. If compilers are free to interpret this however they see fit then different (versions of) compilers can result in different runtime behaviour, while still being "spec compliant". This might not be something to be fixed in flow source code, but this could at least be addressed in the spec/documentation (also quite important for users). That also makes it easier to file bugs at the appropriate places. E.g. I don't think the babel issue tracker is the right place to discuss what should happen since it merely follows the spec, but it is the right place to report a bug if it doesn't do what's explicitly defined in the spec.

I think that Babel is doing the right thing. import { type X } from 'X'; is essentially interpreted as import {} from 'X';

Ahh, that actually makes a lot of sense. I opened a PR to add this to the documentation as well, that might clarify things for other developers.


Introduce indices filter

This addresses the issue https://github.com/aiven/prometheus-exporter-plugin-for-opensearch/issues/166

Added Signed-off-by

Hi @lukas-vlcek , could you please help review again? I missed Signed-off-by in the commit message previously. I reverted the commit, then recommitted with Signed-off-by.

@tntruong723 The sign-off check requires all commits to be signed. You will need to update the PR to keep only commits with sign-off and then force push (git push -f <PR>) to override the history in the PR.
Or I can do it for you, I think it should keep the attribution to your work (i.e. you should still be listed as an author or co-author).

@lukas-vlcek Thank you for guiding me. I did that. Could you please help review?

Thanks for your review. Let me try to fix all. If I have any issues, I will let you know.

Why is the "Remove persistent settings" part repeated three times?
Actually, my patch is for version <IP_ADDRESS> on our side. When I applied the patch to the main branch, there were some conflicts. I tried to fix them. I remember there were no conflicts in 50_10_nodes_filter.yml, so I did not relook at it carefully.
It's my learn to me. Need to review carefully even if there are no conflicts.
Move tests to a new yml file
I moved tests to 60_10_indices_filter.yml and added some more tests.
Actually, I did add tests in 50_10_nodes_filter.yml on purpose because I was afraid about yamlRestTest before. But thank to this review, I tried to study it and found that it's not hard as my thought. Thanks for this comment.
Index filter is for index prefixes only?
Thanks for this also. Previously, I only thought about filtering indices statistics with indices starting with prefixes. When I was done with the change, I still only thought about this.
I need to open my mind more :). Many learnings from your comments. Thanks, again.
Checkstyle
I added this. But when I built locally there were many warning messages for checking style. I disabled it by commenting out the line "apply plugin: 'checkstyle'" in build.gradle .
I think we need to review Checkstyle rules before applying. It will take time so I think we can do it later. What do you think?
Please note that I moved buildscript to the top since Checkstyle requested that.
Unexpected input values
I added this in 60_10_indices_filter.yml
Enable index filter options
I'm coding. It will take time. I hope you can review the items above first.

Thanks for the update.

Looking good at first sight.
We can keep checkstyle plugin deactivated for now and we will tune the rules later. Adding the plugin now is nice.
Regarding enabling index filter options I think we might be good to just make sure that use of non-existent or closed index will not make whole request to return error. Maybe we can initially go with hardcoded but relaxed index options like this:

indicesOptions = IndicesOptions.lenientExpandOpen();
// or indicesOptions = IndicesOptions.lenientExpand(); // ??
new IndicesStatsRequest().indicesOptions(indicesOptions).indices(...)

I am not sure how to deal with closed indices (i.e. lenientExpandOpen() vs lenientExpand()). Does the API returns any useful metrics for them? (It would be great to have a test for closed indices as well.)

I'm done enabling index filter options. Could you please help review it?
I just saw your last comment today. My approach is a pretty big difference. :))

I think we are almost there. Thank you for all your effort!
Let me just bring up my last review comments:
1) About the PROMETHEUS_OPTIONS_DESCRIPTION_KEY property
What is the intention to expose the PROMETHEUS_OPTIONS_DESCRIPTION_KEY property? This translates to the prometheus.indices_filter.options_description key in the cluster settings.
While it is true that you can not update this property dynamically:
curl -s -H "Content-Type: application/json" -X PUT \
  localhost:9200/_cluster/settings\?pretty -d '{
    "transient": {
       "prometheus.indices_filter.options_description": "test"
    }
  }'

# Response:
{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "transient setting [prometheus.indices_filter.options_description], not dynamically updateable"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "transient setting [prometheus.indices_filter.options_description], not dynamically updateable"
  },
  "status" : 400
}

It is still possible to change the value of it in the node configuration file.
# Add config line to opensearch.yaml file
cd <opensearch_node_home>
echo "prometheus.indices_filter.options_description: [ 'Call my number to get discount code!' ]" >> ./config/opensearch.yml
# Start the node
./bin/opensearch

# Now, when you get the cluster settings you see this:
curl -s -H "Content-Type: application/json" -X GET \
  localhost:9200/_cluster/settings\?include_defaults=true\&filter_path=defaults.prometheus\&pretty

#Response:
{
  "defaults" : {
    "prometheus" : {
      "cluster" : {
        "settings" : "true"
      },
      "indices" : "true",
      "nodes" : {
        "filter" : "_local"
      },
      "indices_filter" : {
        "options_description" : [
          "Call my number to get discount code!"
        ],
        "selected_indices" : "",
        "selected_option" : "STRICT_EXPAND_OPEN_FORBID_CLOSED"
      },
      "metric_name" : {
        "prefix" : "opensearch_"
      }
    }
  }
}

I think I understand what you tried to do here but I am not sure this is the best approach. While I like the idea of the system being able to give user the complete information I would say that in this case the plugin documentation is the better place at the moment.
In the end it should be the OpenSearch who shall be able to give user the list of all possible index filter options and this plugin should not substitute missing API for that.
Theoretically we can put the list of available options into an error message (exception trace) but that would be hard to parse anyway...
2) Missing STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSED option?
According to the IndicesOptions.java file there are 12 index filter options in total:

STRICT_EXPAND_OPEN

STRICT_EXPAND_OPEN_HIDDEN
LENIENT_EXPAND_OPEN
LENIENT_EXPAND_OPEN_HIDDEN
LENIENT_EXPAND_OPEN_CLOSED
LENIENT_EXPAND_OPEN_CLOSED_HIDDEN
STRICT_EXPAND_OPEN_CLOSED
STRICT_EXPAND_OPEN_CLOSED_HIDDEN
STRICT_EXPAND_OPEN_FORBID_CLOSED
STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSED
STRICT_EXPAND_OPEN_FORBID_CLOSED_IGNORE_THROTTLED
STRICT_SINGLE_INDEX_NO_EXPAND_FORBID_CLOSED

But the option called STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSED does not seem to be exposed via a "getter method" but still it can be obtained directly through IndicesOptions.STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSED.
I am not sure why it is like that (I think I will open a ticket about this in OpenSearch) but I can not think about any reason why we should not include this option as well. WDYT?
Other than that it is LGTM!
Again, thank you for your hard work no this.
Lukáš

Thank you for your comments.
1) About the PROMETHEUS_OPTIONS_DESCRIPTION_KEY property
Actually, I just want to give users the complete information so that users can choose a suitable option.
As I understood your comment, I should remove the PROMETHEUS_OPTIONS_DESCRIPTION_KEY property, then put the information in README.md
Let me do it. Please correct me if I misunderstood.
2) About the STRICT_EXPAND_OPEN_HIDDEN_FORBID_CLOSED option
I didn't see it before. You are very careful. There are many learnings for me from your comments. Thanks.
I think maybe they missed a getter method for this option :))
Anyway, let me add this option to the plugin.

@tntruong723 Yes you get it right.
As for the first point the list of all available indices options can be now overridden from outside (by setting the property prometheus.indices_filter.options_description in the node config file). So I think it would be better to just put it into the documentation. Maybe we can point users to IndicesOptions.java source file as well.
Thank you very much!

@lukas-vlcek I fixed your review comments. Sorry for the late update. Many things need to be done in my project recently.


Ubuntu 16.04 arm32 playbook issues

openjdk-7-jdk missing
Chown /usr/lib/jvm/jdk-9.* in adoptopenjdk9 role doesn't work as directory is /usr/lib/jvm/jdk-9+181

No particularly high priority on this one Will, but if you want an excuse to play with a raspberry pi, this could be your chance :-)

ping @Willsparker - any update on this?

Not yet - I'll prioritise this tomorrow when I have access to the pi :)

Okay, I've managed to run through the playbook on Ubuntu1804 armv7l, with only the adoptopenjdk_install role being an issue as doesn't like the architecture being called armv7l. A fix for that will be to just add an additional role specifically for armv7l / armhf
The chown issue is no longer relevant as the adoptopenjdk9 role isn't there anymore.
As for openjdk-7-jdk missing, that is unfortuantely still true, even when adding the ppa:openjdk-r/ppa repo. However, I'd ask is this entirely necessary as we're able to build with JDK8 ? @sxa555

Yeah under the circumstances I'm ok with just JDK8 being on there (for Ubuntu 18+) I would normally expect arm as the descriptor to mean arm32


updated target class

i updated the class to work with udemy's new changes.

Thank you!
Can you make a new PR with a different branch with only the changes to one file - playbackRate.js ?
The build file extension/playbackRate.js is not needed and yarn.lock is not needed.

Thank you!
Can you make a new PR with a different branch with only the changes to one file - playbackRate.js ?
The build file extension/playbackRate.js is not needed and yarn.lock is not needed.


CP-16388: OutOfMemoryException when computing connected components for huge graph

From unknown CodePlex user on Wednesday, 17 February 2010 07:11:17
I have a huge UndirectedGraph(Of Integer, Edge(Of Integer)) consisting of ~220k vertices and ~200k edges. When I'm calling ConnectedComponentsAlgorithm.Compute() on this graph, it fails with System.OutOfMemoryException. Everything works fine on small test graphs, boost implementation is working fine with this graph too. I don't see any excessive system memory consumption in task manager.
Call stack:
mscorlib.dll!System.Collections.Generic.Dictionary<QuickGraphTest.MyEdge,int>.Initialize(int capacity) + 0x73 bytes
mscorlib.dll!System.Collections.Generic.Dictionary<QuickGraphTest.MyEdge,int>.Dictionary(int capacity, System.Collections.Generic.IEqualityComparer<QuickGraphTest.MyEdge> comparer = null) + 0x61 bytes
mscorlib.dll!System.Collections.Generic.Dictionary<System.__Canon,int>.Dictionary(int capacity) + 0x7 bytes
QuickGraph.dll!QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm<int,QuickGraphTest.MyEdge>.Visit(int root = 720134682) + 0x19a bytes
QuickGraph.dll!QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm<int,QuickGraphTest.MyEdge>.InternalCompute() + 0x12c bytes
QuickGraph.dll!QuickGraph.Algorithms.AlgorithmBase<QuickGraph.IUndirectedGraph<int,QuickGraphTest.MyEdge>>.Compute() + 0x38 bytes
QuickGraph.dll!QuickGraph.Algorithms.ConnectedComponents.ConnectedComponentsAlgorithm<int,QuickGraphTest.MyEdge>.InternalCompute() + 0x1ef bytes
QuickGraph.dll!QuickGraph.Algorithms.AlgorithmBase<QuickGraph.IUndirectedGraph<int,QuickGraphTest.MyEdge>>.Compute() + 0x38 bytes

Form unknown CodePlex user on Tuesday, 17 August 2010 13:29:48
I've got the same exception when working 100K vertices and 200k edges. Any news??
[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
System.Collections.Generic.Dictionary2.Initialize(Int32 capacity) +114    System.Collections.Generic.Dictionary2..ctor(Int32 capacity, IEqualityComparer1 comparer) +96    QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm2.Visit(TVertex root) +197
QuickGraph.Algorithms.Search.UndirectedDepthFirstSearchAlgorithm2.InternalCompute() +211    QuickGraph.Algorithms.AlgorithmBase1.Compute() +41
QuickGraph.Algorithms.ConnectedComponents.ConnectedComponentsAlgorithm2.InternalCompute() +363    QuickGraph.Algorithms.AlgorithmBase1.Compute() +41

Form unknown CodePlex user on Tuesday, 17 August 2010 14:05:21
I've just run the same piece of code on a system with Windows 2008 x64 and 16Gb of RAM and worked :)
Hardware upgrade some times solve non-optimal software.

Form unknown CodePlex user on Saturday, 06 November 2010 22:07:58


Ogg support for IOS devices (RoboVM Backend)

Could ogg support be included in the IOS/RoboVM Backend?
For a game that I'm porting from Android to IOS I need to be able to play ogg files (or convert them on runtime), because users can add their own files (including ogg files) to the game to generate a gameplay track.
It's a rhythm game, so music is really important.
I found this page about precompiled ogg libraries, maybe it can be useful.
http://iosdeveloperzone.com/2012/08/07/precompiled-ogg-vorbis-libraries-for-ios/

I post here for preference if anyone want ogg support: http://www.shlzero.com/wordpress/?page_id=205. Can use HekkusSoundSystem static lib and call from java. It not free but you can pay a very small fee.


Added primary key lookup optimization for Apache Cassandra module

I think the PR title says it all ... I was working a bit with Cassandra and found that it was easy (and really missing) in our connector to add optimized support for primary key lookup queries.

Code LGTM, but I know nothing about Cassandra.
A small worry is the change of a seemingly unrelated test method.

Everything LGTM now, but it would be nice with a review from someone that knows Cassandra.

Maybe @albertostratio ? :)

OK I am sorry that no one is adding their 10 cents, but given the time it has been for review, I am going to merge (I did test it myself on actual Cassandra databases).


How can I access the data of other connected agents?

Hi,
How can I get the data of other agents connected to the CCP?
I would like to transfer call between agents, but I can't find how to see if there are other agents connected or not.
I tried to use agent.getContacts(), but it returns an empty array.
Thanks

I second this question.  I can transfer the call to another agent if I have their desk phone number by creating an endpoint and using the agent.connect API.  However, if I want to transfer the call to an agent using only the softphone, I don't see a way to do this.

@clegeard agent.getContacts() gets you all inbound/outbound calls you made on the recent conversation, i don't think amazon connect having a way to find the available status of other agent.

As a possible workaround, you could theoretically build your own API to at least present agent availability data to other agents.  The agent event kinesis stream would work, but best case scenario is that data might be up to a minute old.  If everyone is using a custom panel, you could have those write the agent status, maybe onRefresh(), to an external database, and present that to the agents through the custom panel.
From there, maybe the agent would just find another available agent and transfer to them as a quick-connect.  Streams offers Endpoint.byPhoneNumber(), but we would want something like Endpoint.byAgentLogin() so that we could use that in contact.AddConnection().

+1 I'm looking for a way to create an endpoint of type agent as well

it’s been a while andwe are closing this for now. Please reopen if it’s still an issue


How to design a task for count the number of occurrences of different fields?

I have a "profile" bucket, contain a "stack_stat" measurement, that tags only has pid and field only has stack,  like below:
bucket: profile
------
stack_stat,pid="111" stack="main"
stack_stat,pid="111" stack="main"
stack_stat,pid="111" stack="main;foo"
stack_stat,pid="111" stack="main;bar"
stack_stat,pid="222" stack="main"
stack_stat,pid="222" stack="main;foo"
stack_stat,pid="222" stack="main;foo"

Please note that their _time values are different

I created a task to count the number of occurrences of different stacks of the same process. For the above data, I am expect the following results(stack is still a field):
bucket:profile_downsample
------
stack_stat,pid="111" stack="main",count=2
stack_stat,pid="111" stack="main;foo",count=1
stack_stat,pid="111" stack="main;bar",count=1
stack_stat,pid="222" stack="main",count=1
stack_stat,pid="222" stack="main;foo",count=2

When using the aggregate function count, I cannot find a way to keep the _time column, and the _time value is in the _time value set of the aggregated data.
i design a task. but that cannot meet expectations, because it will lost some data：
option task = {name: "task2", every: 1d}

data = from(bucket: "profile")
	|> range(start: -task.every)
	|> filter(fn: (r) =>
		(r["_measurement"] == "stack_stat"))
	|> duplicate(as: "stack", column: "_value")
	|> group(columns: ["_measurement", "_stop", "pid", "stack"])
	|> count(column: "_value")
	|> to(
		tagColumns: ["pid"],
		fieldFn: (r) =>
			({"count": r._value, "stack": r.stack}),
		bucket: "profile_downsample",
		timeColumn: "_stop",

For these three rows of data, because _time and pid(tags) are the same, only one data will be left:
stack_stat,pid="111" stack="main",count=2
stack_stat,pid="111" stack="main;foo",count=1
stack_stat,pid="111" stack="main;bar",count=1

There is another solution, the stack be set to tag, but I think that the efficiency is very low because the value of the stack field is large.
Therefore, I am looking for a solution to solve the problems, and "stack" is still the field, and I have been thinking about it for a long time. I will be very grateful if I get some suggestions :smile:
My English is not good, please point out if there are some mistakes, thanks again !

the problem had been solved:
https://stackoverflow.com/questions/65981267/in-influxdb2-how-to-design-a-task-for-count-the-number-of-different-value-of-a/65996588


[Q] Qt Creator version & wayland RPI image

I try to use the Pelux 3.0 SDK for Raspberry Pi3, based on the documentation https://pelux.io/software-factory/master/swf-blueprint/docs/articles/sdk/configure-qtcreator.html
Installation process was understandable and successful, but the following points I cannot execute shown here: https://stackoverflow.com/questions/54810715/setup-pelux-3-0-raspberry-pi-3-kit-qtcreator-cmake-error-unknown-option

I saw RPI image is forced to single process of neptune ui 3 and when  I connect through ssh to RPI, then I see only one process in top.

Is Wayland active?
How I can confirm, that wayland is active?

Please let me ask one more question. When I have installed the Pelux SDK, then I'm able to modifiy/extend the Neptune 3 UI (HMI Apps), without license of QtAutomotive suite?

Please let me ask one more question. When I have installed the Pelux SDK, then I'm able to modifiy/extend the Neptune 3 UI (HMI Apps), without license of QtAutomotive suite?

Neptune 3 UI is licensed under GPLv3, so yes - you can modify it as long as you obey the license.

Thank you for confirmation @sashko
Sorry I figured out the handbook has his own repo. I will raise a bug there, because I found some issue too

@Shazter could you please confirm whether or not this issue has been fixed by cleaning up the documentation?


Cannot query data after it's written to Table

I get the following exception (see below) when I query my table after writing a couple rows to it.

Start with a blank table
Query -- no results come back, as expected.
Insert rows
Query again. Fail.

I insert rows with
            var batch = new TableBatchOperation();
            foreach (var room in job.Rooms)
            {
                batch.InsertOrReplace(EntityFromModel(room));
            }

            var results = await conferenceRoomsTable.ExecuteBatchAsync(batch);

and query with
            // Query all rows that belong to the tenant's partition.
            var rangeQuery = new TableQuery<ConferenceRoomEntity>().Where(
                TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, tenantId));
            rangeQuery.TakeCount = 50;

            // Page through the results.
            TableContinuationToken token = null;
            do
            {
                var batchToDelete = new TableBatchOperation();

                // Query next batch.
                var segment = await table.ExecuteQuerySegmentedAsync(rangeQuery, token);
                foreach (var room in segment)
                {
                    batchToDelete.Delete(room);
                }

                // Delete batch.
                if (batchToDelete.Count > 0)
                {
                    await table.ExecuteBatchAsync(batchToDelete);
                }

                // Move to next batch.
                token = segment.ContinuationToken;
            }
            while (token != null);

code fails at await table.ExecuteQuerySegmentedAsync
System.FormatException: Value is expected to be an object instead it was 'String'.
   at Microsoft.Azure.Documents.Interop.Common.Schema.Edm.TableEntityReader.ThrowFormatException(String format, Object[] args) in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\Microsoft.Azure.Documents\Interop\Common\Schema\Edm\TableEntityReader.cs:line 436
   at Microsoft.Azure.Documents.Interop.Common.Schema.Edm.TableEntityReader.MoveNext() in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\Microsoft.Azure.Documents\Interop\Common\Schema\Edm\TableEntityReader.cs:line 142
   at Microsoft.Azure.CosmosDB.Table.EdmConverter.GetPropertiesFromDocument(IList`1 selectColumns, String serializedDocument, IDictionary`2& entityProperties, IDictionary`2& documentDBProperties) in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\Microsoft.Azure.Documents\Interop\Common\Schema\Edm\EdmConverter.cs:line 36
   at Microsoft.Azure.CosmosDB.Tables.SharedFiles.EntityTranslator.GetEntityPropertiesFromDocument(Document document, IList`1 selectColumns) in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\Microsoft.Azure.CosmosDB\Tables\SharedFiles\EntityTranslator.cs:line 141
   at Microsoft.Azure.CosmosDB.Table.Extensions.TableExtensionQueryHelper.<QueryDocumentsAsync>d__2`1.MoveNext() in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\SDK\Table\.net\Lib\WindowsDesktop.Split\Table\Extensions\TableExtensionQueryHelper.cs:line 120
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.CosmosDB.Table.Extensions.TableExtensionRetryPolicy.<ExecuteUnderRetryPolicy>d__1`1.MoveNext() in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\SDK\Table\.net\Lib\WindowsDesktop.Split\Table\Extensions\TableExtensionRetryPolicy.cs:line 0
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Azure.CosmosDB.Table.Extensions.TableExtensionExecutor.EndExecute[TResult](IAsyncResult asyncResult) in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\SDK\Table\.net\Lib\WindowsDesktop.Split\Table\Extensions\TableExtensionExecutor.cs:line 80
   at Microsoft.Azure.CosmosDB.Table.CloudTable.EndExecuteQuerySegmented[TResult](IAsyncResult asyncResult) in d:\dbs\sh\aplrc\0321_175929\cmd\26\Product\SDK\Table\.net\Lib\ClassLibraryCommon\Table\CloudTable.cs:line 655
   at Microsoft.Azure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass2_0`1.<CreateCallback>b__0(IAsyncResult ar) in C:\Program Files (x86)\Jenkins\workspace\dotnet-split-common\Lib\ClassLibraryCommon\Core\Util\AsyncExtensions.cs:line 69
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Kobe.WebJob.ConferenceRooms.BulkImporter.<ResetConferenceRoomsInTenant>d__3.MoveNext() in E:\repos\Kobe\Kobe.WebJob\ConferenceRooms\BulkImporter.cs:line 94
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Kobe.WebJob.ConferenceRooms.BulkImporter.<Import>d__1.MoveNext() in E:\repos\Kobe\Kobe.WebJob\ConferenceRooms\BulkImporter.cs:line 26
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`1.<InvokeAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<InvokeAsync>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithWatchersAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithLoggingAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithLoggingAsync>d__13.MoveNext()
   --- End of inner exception stack trace ---

Packages
<packages>
  <package id="Microsoft.Azure.CosmosDB.Table" version="1.1.1" targetFramework="net462" />
  <package id="Microsoft.Azure.DocumentDB" version="1.21.1" targetFramework="net462" />
  <package id="Microsoft.Azure.Storage.Common" version="<IP_ADDRESS>-preview" targetFramework="net462" />
  <package id="Microsoft.Data.Edm" version="5.8.3" targetFramework="net462" />
  <package id="Microsoft.Data.OData" version="5.8.3" targetFramework="net462" />
  <package id="Microsoft.Data.Services.Client" version="5.8.3" targetFramework="net462" />
  <package id="Microsoft.OData.Core" version="7.4.4" targetFramework="net462" />
  <package id="Microsoft.OData.Edm" version="7.4.4" targetFramework="net462" />
  <package id="Microsoft.Spatial" version="7.4.4" targetFramework="net462" />
  <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net462" />
  <package id="System.Spatial" version="5.8.3" targetFramework="net462" />
  <package id="WindowsAzure.Storage" version="8.5.0" targetFramework="net462" />
</packages>

(+@ausfeldt who can follow-up with more context if needed)
Hi @mayerc-MSFT,
We're suspecting that tenantId is a guid, and that you've got the wrong overload of GenerateFilterCondition, which is messing up the Odata converter.
If it is indeed a guid. Can you please use GenerateFilterConditionForGuid instead and try?
Thanks,

Issue is caused by setting the TypeNameHandling in the JsonSerializerSettings. Removing it will fix it.
public static readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
Converters = new List {
// The order matters, it's important to register the dictionary converters first
// Because in C#, a dictionary IS a list, so if we reverse the order, dictionaries
// Will get serialized as lists
new DictionaryReadConverter(),
new DictionaryWriteConverter(),
new ListReadConverter(),
new ListWriteConverter(),
new DefaultInterfaceConverter<IUser, User>(),
new DefaultInterfaceConverter<ITimeBlock, TimeBlock>(),
new DefaultInterfaceConverter<ITime, Time>()
},
TypeNameHandling = TypeNameHandling.All,
NullValueHandling = NullValueHandling.Ignore,
TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple,
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

@ausfeldt We configure JSON.NET's serializer settings with TypeNameHandling = TypeNameHandling.All  globally in our app.  Unfortunately we cannot remove TypeNameHandling = TypeNameHandling.All because that'd break deserialization across the board.
It seems the Table API/SDK is re-using our app's global JSON.NET serializer settings under the covers, which ultimately breaks the Table query API.
Could you offer an alternative solution?
For example, could you update the code in the Table SDK not to use JSON.NET's global serializer settings? Alternatively, is it possible for a consumer of the Table API SDK to explicitly hand it an instance of serializer settings to use (instead of picking up global settings)?

@mayerc-MSFT Added to the backlog. I look into it next week.


License?

Hello,
Thanks for this HUD, works fine here.
What is the license associated to it?

No license really, don't care what you do with it as long as you give credit and it isn't commercial.


Update/Add Android Build Tools (downgrade)

Tool name
Android Build Tools
Tool license
google
Add or update?

[ ] Add
[X] Update

Desired version
<IP_ADDRESS>
Approximate size
No response
Brief description of tool
No response
URL for tool's homepage
No response
Provide a basic test case to validate the tool's functionality.
No response
Virtual environments affected

[ ] Ubuntu 16.04
[X] Ubuntu 18.04
[X] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019

Can this tool be installed during the build?
You already have <IP_ADDRESS> but do not provide a *DOCUMENTED* way of switching to it.

https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted

Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

Hi! I have the same issue as reported on stack overflow!
I also need this for macOS latest

@trajano take a look at this, please
https://github.com/actions/virtual-environments/issues/3757#issuecomment-883646793


gitbase version command not printing version correctly

12:37 $ ./gitbase version
gitbase (undefined) - build undefined

When commands were moved to the command folder so did version, build and so on, but the variables are set in compile time to main. We should move them to main.go and pass them to the commands as struct fields of the version cmd


[TACHYON-781] Add and use IndexSet

https://tachyon.atlassian.net/browse/TACHYON-781

I think this is really great! I have a general question/comment about usability. I worry that this could be more prone to error, since we do not get the compiler checks anymore (strings to represent fields). How about we create a inner class like "FieldIndex"? Maybe you can get all the indexes you created by getIndexes() or getIndex(fieldName). Then, you can pass in FieldIndex into all the get*() methods, instead of strings and that would catch misspellings. Also, the FieldIndex class could just contain an int, which is just an index into an array for all the internal data structures.
This would create an extra level of indirection, but it feels more "safe" than using strings.

@uronce-cc thanks for the update. This util class looks very useful to keep Master code clean. Here I have a high level comment here, feel free to tell us what you think.
I am very uncomfortable about the use of reflection here to retrieve values of specific fields given an object. Reflection breaks class encapsulation, and it makes code tricky to maintain (say I change member name from "mId" to "mFoo", but it is hard for IDE to help find out all usages of "mId" in reflection)
Here is what I am proposing: you still define the class FieldIndex for each field you are interested in class T, but for each field index, you must define a function that returns the value of this field from an object of class T. To be more specific, right now, you are using reflection to serve this purpose to extract field values; I am suggesting to implement the field getter explicitly for each FieldIndex without reflection. This approach may create more verbosity in defining different FieldIndex for different fields, but I feel safer to use and maintain.
I am not sure if I made my points clear, feel free to leave your opinion here.

@apc999 Great idea! I make FieldIndex a generic interface, please check the second following commit for it.

The check failure is due to client interface incompatibility with updated thrift definition.

What about making this class not thread safe and let users synchronize on their own? I found all() is a frequent operation, if this class is thread safe, all() have to return a copy of all objects which means all() is O(n) any way. If this class is not thread safe, a set of all object references can be maintained internally and returned by all() since the user will care about synchronization so that when iterating over the set returned by all(), no modifications to internal state will happen.

@uronce-cc I am very happy about the new change to avoid reflection. Thanks a lot, the code becomes much cleaner. It looks good in general. I just left a few minor comments.

@apc999 All comments resolved, thanks for all the suggestions!

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4249/Build result: FAILURE[...truncated 2431 lines...][JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/swift/pom.xml to org.tachyonproject/tachyon-underfs-swift/0.8.0-SNAPSHOT/tachyon-underfs-swift-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/swift/target/tachyon-underfs-swift-0.8.0-SNAPSHOT.jar to org.tachyonproject/tachyon-underfs-swift/0.8.0-SNAPSHOT/tachyon-underfs-swift-0.8.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/swift/target/tachyon-underfs-swift-0.8.0-SNAPSHOT-sources.jar to org.tachyonproject/tachyon-underfs-swift/0.8.0-SNAPSHOT/tachyon-underfs-swift-0.8.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/swift/target/tachyon-underfs-swift-0.8.0-SNAPSHOT-javadoc.jar to org.tachyonproject/tachyon-underfs-swift/0.8.0-SNAPSHOT/tachyon-underfs-swift-0.8.0-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/examples/pom.xml to org.tachyonproject/tachyon-examples/0.8.0-SNAPSHOT/tachyon-examples-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/s3/pom.xml to org.tachyonproject/tachyon-underfs-s3/0.8.0-SNAPSHOT/tachyon-underfs-s3-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/s3/target/tachyon-underfs-s3-0.8.0-SNAPSHOT.jar to org.tachyonproject/tachyon-underfs-s3/0.8.0-SNAPSHOT/tachyon-underfs-s3-0.8.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/s3/target/tachyon-underfs-s3-0.8.0-SNAPSHOT-sources.jar to org.tachyonproject/tachyon-underfs-s3/0.8.0-SNAPSHOT/tachyon-underfs-s3-0.8.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/s3/target/tachyon-underfs-s3-0.8.0-SNAPSHOT-javadoc.jar to org.tachyonproject/tachyon-underfs-s3/0.8.0-SNAPSHOT/tachyon-underfs-s3-0.8.0-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/clients/pom.xml to org.tachyonproject/tachyon-clients/0.8.0-SNAPSHOT/tachyon-clients-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/clients/unshaded/pom.xml to org.tachyonproject/tachyon-client-unshaded/0.8.0-SNAPSHOT/tachyon-client-unshaded-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/servers/pom.xml to org.tachyonproject/tachyon-servers/0.8.0-SNAPSHOT/tachyon-servers-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/hdfs/pom.xml to org.tachyonproject/tachyon-underfs-hdfs/0.8.0-SNAPSHOT/tachyon-underfs-hdfs-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/hdfs/target/tachyon-underfs-hdfs-0.8.0-SNAPSHOT.jar to org.tachyonproject/tachyon-underfs-hdfs/0.8.0-SNAPSHOT/tachyon-underfs-hdfs-0.8.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/hdfs/target/tachyon-underfs-hdfs-0.8.0-SNAPSHOT-sources.jar to org.tachyonproject/tachyon-underfs-hdfs/0.8.0-SNAPSHOT/tachyon-underfs-hdfs-0.8.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/hdfs/target/tachyon-underfs-hdfs-0.8.0-SNAPSHOT-javadoc.jar to org.tachyonproject/tachyon-underfs-hdfs/0.8.0-SNAPSHOT/tachyon-underfs-hdfs-0.8.0-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/pom.xml to org.tachyonproject/tachyon-parent/0.8.0-SNAPSHOT/tachyon-parent-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/clients/client/pom.xml to org.tachyonproject/tachyon-client/0.8.0-SNAPSHOT/tachyon-client-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/shell/pom.xml to org.tachyonproject/tachyon-shell/0.8.0-SNAPSHOT/tachyon-shell-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/glusterfs/pom.xml to org.tachyonproject/tachyon-underfs-glusterfs/0.8.0-SNAPSHOT/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/glusterfs/target/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT.jar to org.tachyonproject/tachyon-underfs-glusterfs/0.8.0-SNAPSHOT/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/glusterfs/target/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT-sources.jar to org.tachyonproject/tachyon-underfs-glusterfs/0.8.0-SNAPSHOT/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Tachyon-Pull-Request-Builder/underfs/glusterfs/target/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT-javadoc.jar to org.tachyonproject/tachyon-underfs-glusterfs/0.8.0-SNAPSHOT/tachyon-underfs-glusterfs-0.8.0-SNAPSHOT-javadoc.jarchannel stopped
Test FAILed.

Thanks for the changes!
Could you add a test for adding the same object multiple times?
Also, could you resolve merge conflicts? Thanks, @uronce-cc !

Thanks all, comments resolved.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4254/
Test PASSed.

LGTM