Implement RequesterAuthorizerWithErc721 support

RequesterAuthorizerWithErc721 is a new authorizer type with the following interface
function isAuthorized(
        address airnode,
        uint256 chainId,
        address requester,
        address token
    ) external view returns (bool)

airnode is the address of the Airnode calling it, requester is the requester contract address, chainId is the chain ID that the requester contract is deployed on (and the respective RRP request is detected on), token is the address of the ERC721 token that is specified in the config of the Airnode.
RequesterAuthorizerWithErc721 will typically be used as a cross-chain authorizer, though this doesn't affect the implementation of the Airnode-side.
RequesterAuthorizerWithErc721 will inherit SelfMulticall (so tryMulticall() will be used for batch static calls). checkAuthorizationStatuses() can't be used for batch authorization checks because that expects a specific authorizer interface that RequesterAuthorizerWithErc721 doesn't support.
RequesterAuthorizerWithErc721 is currently under development under the ChainAPI Github organization but will be audited and made open source soon.
This blocks https://forum.api3.org/t/secondary-proposal-33-chainapi-july-2022-march-2023/1502 so it should be added to a milestone that is not too far away @aTeoke

Could you please elaborate what needs be completed on Airnode side to consider this task as done @bbenligiray? It is a bit confusing to me because of "this does not affect implementation on the Airnode-side.". Thanks

this does not affect implementation on the Airnode-side

This was specifically about "RequesterAuthorizerWithErc721 will typically be used as a cross-chain authorizer".
So here's the example config file of an Airnode that uses RequesterAuthorizerWithErc721 (in addition to RequesterAuthorizer)
{
  ...
  "chains": [
    {
      "authorizers": {
        "requesterEndpointAuthorizers": [
          "0xf18c105D0375E80980e4EED829a4A68A539E6178",
          "0xCE5e...1abc"
        ],
        "requesterAuthorizersWithErc721": [
          {
            "address": "0xCE5e...1abc",
            "erc721Address": "0xCE5e...1abc"
          }
        ]
      },
      ...
    },
    ...
  ],
  ...
}

When an Airnode detects requesterAuthorizersWithErc721 being defined for a request, it calls the isAuthorized() function of this for the respective request, and uses erc721Address as the token argument.

RequesterAuthorizerWithErc721 implemented here

RequesterAuthorizerWithErc721 will typically be used as a cross-chain authorizer, though this doesn't affect the implementation of the Airnode-side.

@bbenligiray - just to confirm, based on the code snippet you provided above:
        "requesterAuthorizersWithErc721": [
          {
            "address": "0xCE5e...1abc",
            "erc721Address": "0xCE5e...1abc"
          }
        ]

this authorizer will be on the same chain as the chain specified by the id field of the parent chains object? In other words, it will be more like same-chain requesterEndpointAuthorizers rather than crossChainRequesterAuthorizers?
https://github.com/api3dao/airnode/blob/afdeb523ebf184caca07660fa4595bc0a6c09bab/packages/airnode-validator/test/fixtures/config.valid.json#L5-L20

@dcroote My bad. RequesterAuthorizerWithErc721 is intended to be deployed only on mainnet (or maybe a few select chains in the future), so my snippet only works for the mainnet chains object (and even then it may be a good idea to define it as a cross-chain authorizer for consistency). So RequesterAuthorizerWithErc721 should be usable as a cross-chain authorizer.
I attempted to fix the original example, but there are a few things I'm not sure about

(This was something that caught my attention before) The contracts are now called RequesterAuthorizer, so the requesterEndpointAuthorizers as a name is outdated. It should be requesterAuthorizers. This is not important by itself but makes things more confusing with the below.
authorizers have two possible keys, requesterEndpointAuthorizers and crossChainRequesterAuthorizers. This implies that we should add two more: requesterAuthorizersWithErc721 and crossChainRequesterAuthorizersWithErc721
Considering that crossChainRequesterAuthorizersWithErc721 will look quite similar to crossChainRequesterAuthorizers, maybe the part that describes the cross-chainness should be standardized

But assuming we want to wrap this up without getting bogged down, the bare minimum would be to implement a crossChainRequesterAuthorizersWithErc721 that goes under authorizers, which looks like crossChainRequesterAuthorizers except it has an Erc721 field under contracts instead of AirnodeRrp (because RequesterAuthorizersWithErc721 doesn't use https://github.com/api3dao/airnode/blob/master/packages/airnode-protocol/contracts/rrp/AuthorizationUtilsV0.sol#L27 the calls will need to batched with SelfMulticall instead).

except it has an Erc721 field under contracts instead of AirnodeRrp

@bbenligiray - having now gotten largely through implementing this I hope I interpreted it as you were thinking, or perhaps convince you if not. This new Erc721 contracts field should really be the address of RequesterAuthorizerWithErc721 and not an ERC-721 contract. The reason I interpreted it this way is that RequesterAuthorizerWithErc721 is a single, fixed, audited contract like AirnodeRrp with an analogous ability to check authorization status (isAuthorized). What is then slightly different to the existing authorizers is that a list of ERC-721 contract(s) (potentially plural) will take the place of the requesterEndpointAuthorizers array for existing authorizers. This structure also makes the authorization fetching logic flow similarly to the exiting crossChainRequesterAuthorizers.

It would have helped if I had an example of what I was describing:
 "authorizers": {
   ...
   "crossChainRequesterAuthorizersWithErc721": [
     {
       // requesters (or now NFTs) are what users deploy, can have multiple
       "Erc721Authorizers": ["0x2FbDB2315678afecb367f032d93F642f64180aa5"],
       "chainType": "evm",
       "chainId": "4",
       "contracts": {
          // contracts are things we deploy e.g. AirnodeRrp
         "RequesterAuthorizerWithErc721": "0x5FbDB2315678afecb367f032d93F642f64180aa3"
       },
       "chainProvider": {
         "url": "http://<IP_ADDRESS>"
       }
     }
   ]
 },

A RequesterAuthorizerWithErc721 contract coupled with an ERC721 contract is exactly the same as a regular RequesterAuthorizer, which is what I was trying to achieve here. This also validates your point though, a RequesterAuthorizerWithErc721 contract on its own is something more global than a regular RequesterAuthorizer. That being said, I find it as likely for someone to use multiple (customized) instances of RequesterAuthorizerWithAirnode as for them to use multiple (customized) instances of RequesterAuthorizerWithErc721, so I disagree that RequesterAuthorizerWithErc721 is comparable to AirnodeRrp in this regard.
In conclusion, I think both approaches are viable so I'll leave it up to you. One thing to note is that I would rename Erc721Authorizers to be Erc721s, as these are ordinary ERC721 contracts.


Compose button is Still Blue

This is a great filter list! However, one thing I have noticed is that the compose button is still blue. I believe it was red in the old one. Is this a known issue or is it just me?

I expect it to be red, so I guess something on your end. Which browser (and version) are you using, which extensions do you have installed?

I am using Firefox 78. I also tried Chrome 70 and 86, that didn't work either. I only have Ublock Origin installed on Firefox and Chrome. On your end, is the button still red?

Yes:

I suggest trying to update to the latest version of Firefox (v 111) if your operating system is supported and see if the issue persists. (Or latest Chrome, not sure what the latest version number is.) If you can't update, then I'm afraid I don't have any other suggestions.

Thank you, that did work. Firefox 102.9 ESR was installed and it worked. I am not sure if it works on the latest version of Chrome though.


Required manual review for added coingeckoId and serumV3Usdc for FOSSIL

auto-merge failed because adding coingeckoId and serumV3Usdc for FOSISL token.
Here is a link to the pull requestion: #23402

I'm submitting a ...
[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

merged


default image for people

Have a default image for people just in case they are missing. The layout is really messed up when the image is missing...

perhaps easier to just have a minimum-height of the face?

not prio closing


[workload] WaitForPodsReady: Requeue at the back of the queue after timeout

What type of PR is this?
/kind feature

What this PR does / why we need it:
A new workload condition , Evicted, is added,  which gets set when:

The workload gets preempted
The workload hits the PodsReady timeout

In case of  PodsReady timeout, the condition transition timestamp will be used in scheduler sorting, therefore the workload will be moved at the end of the queue.
Which issue(s) this PR fixes:

Fixes #599
Special notes for your reviewer:
The  preemption based Eviction will be used in solving #510.

/unhold
/cc @alculquicondor
/cc @mwielgus

/hold cancel

/hold cancel
/lgtm
/label tide/merge-method-squash
I thought we had configuration that prevented merge commits.

/lgtm
/approve


Add Loading Functions via a .py file

The current version of the FunctionCallingEngine only supports adding functions to the engine via a list of functions (list[callable]), it would be quite useful if it supported loading user-defined functions from a specific .py file given a file_path.
Requirements:

Add a new method add_functions_from_file to the FunctionCallingEngine class that takes a file_path as an argument and loads all functions from the file.
The file_path should be a string that represents the path to a .py file.
The add_functions_from_file method should raise a FileNotFoundError if the file does not exist.
Add tests for the new method in test_engine.py.
Allow for only top-level imports and user-defined functions to be loaded

Closed by https://github.com/AtakanTekparmak/tiny_fnc_engine/commit/c8fb42f14af2ab6ef17e6fbfdaf881e272dd3f61


Added NetworkAdapter.BytesSentPersec and NetworkAdapter.BytesReceivedPersec in Linux

This is the missing NetworkAdapter.BytesSentPersec and NetworkAdapter.BytesReceivedPersec for Linux. For Windows I have added it already with #3
I have used the /proc system to read the NetworkAdapter.BytesSentPersec and NetworkAdapter.BytesReceivedPersec in Linux to make sure not to depend on an external command line tool

Thank you!


nixVersions.git: 2.23.0 -> 2.23.1 (hashes)

suffix,rev, and hash weren't updated in the version update
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Build fails with missing toml11 https://github.com/NixOS/nix/commit/149d8eb8aa3bfdc4abebabaa97323dd4e1dd8db5
How should this be handled in common.nix? atLeast223 would match the stable ver too.

Doing a manual backport of the toml11 windows part :)


Add JoJo module

For what is this?

Mainly to make testing and development more fun by using bizarre names

Basically, we are welcoming this kind of PR.
I think the first was #224.


Remove panics

Problem
Everytime I see rust panic my eyes glaze over, I feel helpless & I google around for other solutions.
➜  prisma prisma2 lift save
Error: Error in migration engine: thread 'tokio-runtime-worker-1' panicked at 'get data_type', src/libcore/option.rs:1034:5
stack backtrace:
   0: std::panicking::default_hook::{{closure}}
   1: std::panicking::default_hook
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::continue_panic_fmt
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::option::expect_failed
   7: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
   8: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
   9: sql_schema_describer::mysql::SqlSchemaDescriber::get_table
  10: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
  11: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
  12: <sql_schema_describer::mysql::SqlSchemaDescriber as sql_schema_describer::SqlSchemaDescriberBackend>::describe
  13: <sql_migration_connector::sql_database_migration_inferrer::SqlDatabaseMigrationInferrer as migration_connector::database_migration_inferrer::DatabaseMigrationInferrer<sql_migration_connector::sql_migration::SqlMigration>>::infer
  14: <migration_core::api::MigrationApi<C,D> as migration_core::api::GenericApi>::infer_migration_steps
  15: migration_core::api::rpc::RpcApi::create_sync_handler
  16: tokio_executor::enter::exit
  17: tokio_threadpool::blocking::blocking
  18: <futures::future::lazy::Lazy<F,R> as futures::future::Future>::poll
  19: futures::future::chain::Chain<A,B,C>::poll
  20: <futures::future::then::Then<A,B,F> as futures::future::Future>::poll
  21: <futures::future::lazy::Lazy<F,R> as futures::future::Future>::poll
  22: futures::future::chain::Chain<A,B,C>::poll
  23: <futures::future::then::Then<A,B,F> as futures::future::Future>::poll
  24: <futures::future::map::Map<A,F> as futures::future::Future>::poll
  25: <futures::future::either::Either<A,B> as futures::future::Future>::poll
  26: <futures::future::map::Map<A,F> as futures::future::Future>::poll
  27: <futures::future::map_err::MapErr<A,F> as futures::future::Future>::poll
  28: <futures::stream::and_then::AndThen<S,F,U> as futures::stream::Stream>::poll
  29: <futures::stream::forward::Forward<T,U> as futures::future::Future>::poll
  30: <futures::future::map::Map<A,F> as futures::future::Future>::poll
  31: <futures::future::map_err::MapErr<A,F> as futures::future::Future>::poll
  32: futures::task_impl::std::set
  33: std::panicking::try::do_call
  34: __rust_maybe_catch_panic
  35: tokio_threadpool::task::Task::run
  36: tokio_threadpool::worker::Worker::run_task
  37: tokio_threadpool::worker::Worker::run
  38: std::thread::local::LocalKey<T>::with
  39: std::thread::local::LocalKey<T>::with
  40: tokio_reactor::with_default
  41: tokio::runtime::threadpool::builder::Builder::build::{{closure}}
  42: std::thread::local::LocalKey<T>::with
  43: std::thread::local::LocalKey<T>::with
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Proposed Solution
I'd like us to get in a better habit of returning errors for these cases, rather than panicking. Here's the code snippet that caused the panic above:
https://github.com/prisma/prisma-engine/blob/a348799e88f99b9d287bedf9149abb764b0382f4/libs/sql-schema-describer/src/mysql.rs#L93
Concretely this means turning panickable code fragments like .expect(...) to match statements and returning an error like Unable to match the "timestamp without timezone" data type. It's more code, but also more actionable and way more user-friendly.
Ideally we could also add a rust linter that will catch panickable code from the stdlib.

Yes, after the error spec is implemented, Rust panics shouldn't be user facing anymore, they fall under the unknown errors section of the spec.

Can we close this as this will be adressed as part of the implementation of the errors spec?

yep!


Scroll horizontally when holding Shift with Scroll to Pan enabled

Note: Can be merged independently of #39687.
This closes https://github.com/godotengine/godot-proposals/issues/1077.

Thanks!

Cherry-picked for 3.2.2.


Make del call shutdown and close in DataCollectors and Envs

Rearrange the code and remove unneeded error handling so shutdown and close functions will be called from the del function.
From the unit tests it seems that:

Envs don't need to be close nor deleted before getting out of scope. The del and the GC are doing the job well.
In DataCollectors it seems there is some race condition in the GC so that the internal Env may be deleted before the DataCollector. So the DataCollector must be deleted before getting out of scope. Its del function delete and remove all objects in the proper way. Without calling del collector in the end to the unit test, the test hangs in the end.

In DataCollectors it seems there is some race condition in the GC so that the internal Env may be deleted before the DataCollector. So the DataCollector must be deleted before getting out of scope. Its del function delete and remove all objects in the proper way. Without calling del collector in the end to the unit test, the test hangs in the end.

I noticed that too, thanks for identifying the issue!
So what's your take on this?
It might be the reason why we decided to explicitly ask the user to close data collectors and envs, otherwise there may be a silent problem with their script (ie the script never terminates). This may have really bad consequences (e.g. a training script on a cluster that borrows nodes for ages).
I see basically 2 options: either we make sure that this phenomenon never happens or we revert and ask users to close the collector / env when it's not used, otherwise an error is thrown.


Write a C program to convert decimal to binary

Description
Write a C program to convert decimal to binary
Binary is a base-2 number system. It uses only two digits: 0 and 1. The digits are called bits. A bit is the smallest unit of information in a computer. A bit can be either 0 or 1. A bit can be used to represent a single value, such as 0 or 1, or it can be used to represent a single state, such as on or off.
To convert a decimal number to binary, we can use the following algorithm:

Divide the decimal number by 2.
Write down the remainder.
Divide the quotient by 2.
Write down the remainder.
Repeat steps 3 and 4 until the quotient is 0.
The binary number is the sequence of remainders written in reverse order.

Input  : 10
Output : 1010

How to contribute

Save the solution in program/ConvertDecimalToBinary.c file
Add ConvertDecimalToBinary.c file in convert-decimal-to-binary folder

!assign


Monotonic timestamp

I looked all through the help and wasn't able to see any function for getting a monotonic timestamp, something like performance.now(). Is there another way to control the frame rate other than "fixed sleep plus whatever the loop execution time is" that I haven't seen? If not, would it be possible/reasonable to add something like this?

Sure. We'd need to define the API though.
Looking at QB64, I see https://qb64.com/wiki/TIME$.html (which should be added but isn't quite the same as you want) and https://qb64.com/wiki/TIMER-(statement).html (which is a very different feature but that could be handy too).
However... there is also the "problem" that, for frame rendering, it'd be ideal to integrate with JavaScript's frame animation logic instead of playing with timing.

Thanks for getting back to me! Glad to hear that something like this is a possibility.

it'd be ideal to integrate with JavaScript's frame animation logic instead of playing with timing.

I guess I think it's still valuable to have access to a monotonic timestamp even if there was something like this. I agree that something like requestAnimationFrame would be nice, but I feel like a monotonic timer would still be worthwhile too. I guess I just like endbasic's pared-back straightforward vibe and a simple, useful primitive like performance.now() wouldn't hurt to have regardless of whether a frame timer API is also available.
That TIMER qb64 thing looks a bit wacky, looks clumsy to use. Looks like it resets at midnight every day?
There's also this ON TIMER thing that could fit in with a requestAnimationFrame way of doing things, but I'm not sure the extent to which the architecture and syntax it imposes would fit in with your goals and direction for endbasic.


#1619 - Request Help/Offer Help filters now correctly pre-filled on mobile

What does this pull request aim to achieve? 💯
Filters were not properly showing that the Request Help/Offer Help filter was applied on mobile due to a merge conflict with #1535 .
To reproduce:

Use chrome dev tools to see mobile view
Click "Request Help"/"Offer Help"
Click any of the options
Click "Show me postings from anywhere"
Click "Skip"
Check filters

Result: "Request Help"/"Offer Help" should now be correctly applied to the filters
Please be concise and link any related issue(s):
Resolves #1619

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix, where <branch_name> briefly describes the issue(s) resolved and is prefixed with the issue number(s) (e.g. 1127-1130-update-git-branching-model). The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".
[x] The title describes the issue(s) being addressed using format: <issue_numbers> - <brief_issue_description> (e.g. #1127/#1130 - Update Git Branching Model)

Verified on mobile/android. It works as expected.


求助

您好，请问下按照readme的步骤，在进行  编译 int8 (weight only) 出现如下问题，请问怎么解决
root@67fdc7ba310f:/app/tensorrt_llm/examples/qwen2# python3 build.py --use_weight_only --weight_only_precision=int8
The argument trust_remote_code is to be used with Auto classes. It has no effect here and is ignored.
[TensorRT-LLM] TensorRT-LLM version: 0.8.0[05/05/2024-13:15:57] [TRT-LLM] [I] Serially build TensorRT engines.
[05/05/2024-13:15:57] [TRT] [I] [MemUsageChange] Init CUDA: CPU +13, GPU +0, now: CPU 131, GPU 2329 (MiB)
[05/05/2024-13:15:58] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +1820, GPU +319, now: CPU 2087, GPU 2638 (MiB)
[05/05/2024-13:15:58] [TRT-LLM] [W] Invalid timing cache, using freshly created one
[05/05/2024-13:15:58] [TRT-LLM] [I] Loading FT QWen ... from /app/tensorrt_llm/examples/qwen2/c-model/qwen1.5_7b_chat/1-gpu
[05/05/2024-13:15:58] [TRT-LLM] [I] Loading weights from FT...
Traceback (most recent call last):
File "/app/tensorrt_llm/examples/qwen2/build.py", line 885, in
build(0, args)
File "/app/tensorrt_llm/examples/qwen2/build.py", line 862, in build
engine = build_rank_engine(
File "/app/tensorrt_llm/examples/qwen2/build.py", line 711, in build_rank_engine
load_from_ft(
File "/app/tensorrt_llm/examples/qwen2/weight.py", line 108, in load_from_ft
) = parse_ft_config(Path(dir_path) / "config.ini")
File "/app/tensorrt_llm/examples/qwen2/weight.py", line 54, in parse_ft_config
vocab_size = qwen_config.getint("qwen", "vocab_size")
File "/usr/lib/python3.10/configparser.py", line 820, in getint
return self._get_conv(section, option, int, raw=raw, vars=vars,
File "/usr/lib/python3.10/configparser.py", line 810, in _get_conv
return self._get(section, conv, option, raw=raw, vars=vars,
File "/usr/lib/python3.10/configparser.py", line 805, in _get
return conv(self.get(section, option, **kwargs))
File "/usr/lib/python3.10/configparser.py", line 783, in get
d = self._unify_values(section, vars)
File "/usr/lib/python3.10/configparser.py", line 1154, in _unify_values
raise NoSectionError(section) from None
configparser.NoSectionError: No section: 'qwen'

清理掉当前路径的c-model文件夹


Python 3.6 -> Python 2.7

Background
We plan on hosting this repo on a DreamHost(?) server where the codeforbtv website is hosted. It's free 🎉 , but it only supports python 2.7.
Goals

Make courtbot-vt code 2.7 friendly
Migrate all packages from 3.6 -> 2.7

No longer necessary as per this conversation

No longer necessary as per this conversation.


Fix string array conversions in generated ABI code

This fixes a bug where graph init would fail to scaffold a subgraph
that was using string[] in the ABI.

Is it possible to get a test for this?

@leodasvacas I've added some tests for type conversions/relationships.

Nice!


Added Delighted

Uh oh! We have a new column now, so that created a conflict. Mind resolving? Sorry about that! :(

Fixed

Thank you! :stars:


population statistics, courses of population better indication what it means

Now it is unclear that this is the courses of the WHOLE population (not the filtered one)


DOC-6692 index stmt fingerprint admin only

Addresses: DOC-6692

Adds new sentence to index details section on Databases page that appraises user of visibility into executed statement fingerprints which have used the selected index, and also that such visibility is limited to admin users only.

Staging
v23.1/ui-databases-page

Thanks both for the review!


Accept version number in configuration

Before this change, we would only accept a pack format when creating a new project with JMC, which was not very convenient if you had not memorized the relevant format.
With this change, we will try to break down the input in a tuple to find the correct pack format for a version.

I'll implement the idea but not the code.


Feature/EN-661 implement pagination component

Related Jira issue:
https://rn-nelson.atlassian.net/browse/EN-661
Overview
Implement, test and document the Pagination component.
Reason

The pagination component divides content into individual pages. It provides links to navigate between them.

Work carried out

[x] Implement Pagination component
[x] Add automated tests
[x] Perform UAT down to Chrome 38 (across a variety form factors)
[x] Write developer documentation

Screenshot

Developer notes
Documentation is in the form of a README.md and now needs to be ported into the docs-site.

Noticed there are two ellipses displayed at certain points which doesn't look right. Is there a reason for this?

Yeah this is intentional hopefully this explains it (from comments in the source):

// handle: (1) ... {5 6} [7] {8 9} (10)

// handle: (1) {2 3} [4] {5 6} ... (10)

// handle: (1) ... {4 5} [6] {7 8} ... (10)


CLIMATE-934 Fixed error with out of date Bounds constructor.

CLIMATE-934

Fixed error with out of date Bounds constructor.
Addressed error with matplotlib and epoch date.
Added Apache license.
Minor Pylint.

@MichaelArthurAnderson Changes with Bounds look fine to me.  Did you check whether or not the plotting worked without modifying the datetimes? That is, running the example in an ipython shell / jupyter notebook. See the matplotlib issue I linked in the issue thread.


Fix buffered channel bug

Check if there's any blocked sends when getting values from buffer.

Close the PR for now for adding a unit test.


Pull regions code from photutils, Ginga or LSST?

At ADASS 2016 @ejeschke and I had a chat about regions and I wanted to leave some notes here.
There's a pretty complete set of regions implemented in Ginga (list). They have a contains_arr method with containment implemented using Numpy array expressions. See polygon as example.
Ginga only has pixel regions, no sky regions, and the regions code there contains GUI stuff. @ejeschke might be interested in re-using astropy.regions from Ginga, if it's done in an extensible way so that the Ginga GUI code can be added e.g. by holding astropy.region data members or by subclassing. Also @ejeschke isn't a fan of the double class hierarchy we have in regions and photutils where the data members are complex and non-uniform objects like SkyCoord or Angle. I think in Ginga he has something more uniform where every region can be expressed as a list of points. Maybe it's similar to how pyregion.Shape represents regions? @ejeschke, could you elaborate on this point and how the double class hierarchy could be avoided and then we'll try to do a pro-con of the options?
There's also photutils.aperture where so far the plan was to pull the code for ellipse, rectangle from into this regions package and then in the far future photutils would switch to astropy.regions.  photutils is Cython-backed code and has sub-pixel stuff, which Ginga doesn't have. Do we want sub-pixel contains fractions in astropy.regions? It's extra work to develop / test for all regions.
@timj has written up (in Section 4.2) some info about he LSST regions code and thoughts on how it could be added or interfaced to astropy.regions here: https://www.lsst.org/scientists/publications/investigating-interoperability-lsst-data-management-software-stack-astropy
Personally I'm inclined to start by pulling the pixel polygon code from Ginga, because that's what we need for data analysis in Gammapy. But if we find "the right way" forward, I'll spend dev time to help implement whatever solution we decide to go with.
@astropy/regions-developers - Thoughts on what we should do? Anyone have time to work on this in the coming months?

Do we want sub-pixel contains fractions in astropy.regions? It's extra work to develop / test for all regions.

Yes, I think we do (as I had originally hinted at in the original API: https://github.com/astropy/regions/blob/master/regions/core/core.py#L149)
However, I don't think all regions need to implement all modes for the package to be useful. I think using the center of the pixel should be implemented for all regions, and then the exact mode could be added when available. The 'all'/'any' modes can be easily implemented by using 'exact' and checking if the answer is =1 (for all) or >0 (for any).
Note that Matplotlib also has a fast point-in-polygon test written in C that we should investigate and compare to the ginga version.

I also think we want to keep the subpixel mode, at least for photometry.
@astrofrog The line you refer to doesn't actually include a 'subpixels' mode (we should add it).  Also, there would need to be an additional subpixels keyword to specify the number of subpixels for this mode (like what is currently in photutils).

I submitted a PR for adding a subpixels mode and keyword here: https://github.com/astropy/regions/pull/70

I think in Ginga he has something more uniform where every region can be expressed as a list of points. Maybe it's similar to how pyregion.Shape represents regions? @ejeschke, could you elaborate on this point and how the double class hierarchy could be avoided and then we'll try to do a pro-con of the options?

First to the bit about being able to access every shape via an attribute that reveals an array of points/coordinates. Such a feature is extremely useful in code where you want to manipulate a shape "from the outside" without really understanding the details of the shape.  An example is where the user is editing a point graphically, by moving a single point within a an object that is a point, line, or polygon.  If you have a setter/getter (or properties) defined then the code for changing the point simply needs to set the index and value of the point as it is moved and the shape is updated--there is no need for special code to understand that in this kind of object I need to access/set x1, y1 in this object and x, y in this object, etc.  It's just point[i] (or coord[i]).  The same thing can be exploited for generic code for rotating an object, getting the bounding box, etc.  As I understand the region code so far, this should be fairly easy to support simply with a property defined.
As for the double class hierarchy, I'm not really opposed so much as wondering whether the alternatives have been explored thoroughly.  From the users API perspective, isn't it reasonable to say I want to make a Polygon and then indicate with a parameter (or the type of coordinates passed) that it is a pixel based polygon or a sky polygon?   Currently, the hierarchy looks like Region => PixelRegion => PolygonPixelRegion, etc. and a separate path of Region => SkyRegion => PolygonSkyRegion.  Why not Region => PathType => Polygon with a mixin class of SkySurface or PixelSurface?  (paths and other objects share many features of polygons, thus the PathType intermediate class)

@ejeschke might be interested in re-using astropy.regions from Ginga, if it's done in an extensible way so that the Ginga GUI code can be added e.g. by holding astropy.region data members or by subclassing.

This will be true for anyone wanting to use astropy regions with e.g. matplotlib or their own GUI.  What I want to avoid with ginga is having to maintain a parallel mapping of points/coords so that two sets of points do not need to be updated when manipulating a shape, either in the GUI or programatically for developers.  To illustrate this point, think only about how you would maintain a matplotlib polygon and an astropy regions polygon and keep them in sync.

Oh, BTW, @cdeil, is the PixelCoordinate (sorry if I am not remembering the name correctly) that you described to me planned to be merged into astropy regions?  It would be nice if Cartesian or pixel coordinates can be used with these shapes using a somewhat common way of manipulating them compared to other coordinates.

LSST has some high-quality C++ code for difficult-to-implement spherical geometry operations ( https://github.com/lsst/sphgeom) that can be called from Python, but I don't think we have any particularly unique insight to offer on the APIs for generic spherical and pixel geometry objects.
I do think we have some API design insight (and wrapped C++ code) for regions that represent discrete pixel regions (i.e. regions defined to contain only complete pixels) using run-length-encoding and integer bounding boxes.  It doesn't sound like that's on the table here yet, though.
As a side note, you might want to consider "Cartesian" and "Spherical" instead of "Pixel" and "Sky" in terms of naming, unless there are features of these unique to sky coordinate systems and pixel coordinate systems.

@ejeschke started something over on Ginga side, see ejeschke/ginga#787


Support local Swift variables called "self" that shadow the "self" fu...

…nction argument.
This specifically makes the common "guard let self = self" pattern work.
rdar://problem/39611934

@swift-ci test and merge


Cannot find module '@d3-stencil/interfaces'

I am trying to add a trivial PieChart to my PWA boilerplate and I keep getting Cannot find module '@d3-stencil/interfaces'.
I have installed and saved d3-stencil/interfaces'. Is there an example / boilerplate I could use as a starting point?

Hello @ktamiola
I'd noticed some issues since I fired the last version. I'm working on it, and hopefully, at the very latest tomorrow evening (GMT+1), I'm gonna push a new stable release.
Sorry for the inconvenience. I'm thinking about to add the e2e tests asap to avoid that this could happen again.
🙏

@edgarordonez much appreciated, buddy! I do believe my team should be also able to contribute very soon.

Hello @ktamiola,
I've solved these issues, so you should be able to start using d3-stencil again. 🎉
I'll invest more time next weekend to address other things and improve the quality of the current codebase.
So any contribution would be excellent! :)
I'm gonna wait for close this issue, feel free to add a new one or write here something that you may find.
Thanks!


ai.load_session() doesn't load messages

while loading a saved session, and I noticed the load_session() function never loads the messages from the saved session. Was that intended?  or am i missing something?
to work around it i am using using the following code instead of using ai.load_session()
with open("chat_session.json", "rb") as f:
                sess_dict = orjson.loads(f.read())
ai.new_session(**sess_dict, api_key=OPENAI_API_KEY)

list_dict = sess_dict['messages']
chat_messages = [ChatMessage.model_validate(item) for item in list_dict]

ai.default_session.messages = chat_messages

i can create a pull request if the maintainers of this repository find this to be a bug

It does load the messages from a saved session file. This is the main reason I use the library, it makes few-shot prompting super simple. I have saved session files with fake user and assistant messages so that it knows how to respond to future prompts.
I did try but I can't seem to replicate your issue. All the messages load for me when using the load_session() method and I verified by dumping the messages using the get_session() method. Is it possible that the session file you are loading doesn't have any messages or maybe not formatted correctly?
Here is the code I used to test:
# create an instance of AIChat class
ai = AIChat(api_key=_key_, console=False, model="gpt-4-turbo", params={"temperature": 0.78, "max_tokens": 2048})

# Load a saved session JSON file
ai.load_session(api_key=_key_, input_path="./ai_context/defender_generic.json")

# Dump the messages in that session as a list of ChatMessage objects
ai.get_session(id="defender").messages

EXAMPLE:


Allow 1D concat to take no axis parameter.

When using the generic "concat", you must provide an axis param if both arrays are 1D:
const y1d = a1d.concat(b1d, 0);
I believe we can solve this by doing another type map, for Rank 0, axis can be undefined and else it should be number.

Fixed in #708. Axis is now optional in concat.


Fixes Regex & adds Jest testing & adds Comment Support

So firstly, sorry for breaking your action. Your probably didn't even notice because I haven't had a message yelling at me yet xD
Features:

Adds Jest Support
Adds Debugging
Adds Issue Comment Support

Fixes:

Fixes Regex issues

New Debt Created
 String Escape exploration.  The string currently escapes in a way which is weird. If I get the regex string from the `action.yml` or `workflow` it seems to be escaped differently to how strings are handled inside typescript. This needs exploring to ensure that documentation is correct.
Additionally - if you have time, fix it so all strings are the same before they are loaded into the action. The strings in main.test.ts should be the same as the defaults in action.yml
I would have done that, but I'm getting sleepy xD

(suggest you either squash this to make it only 1 commit. I may have made a mess of my commit-tree)

Fairly sure these checks are failing because it's cross-Fork. However, if they continue to fail after merge @me and I'll fix them.
They are working fine on my version: https://github.com/TGTGamer/debt-collector/pull/25#pullrequestreview-476356224

This is all looking great so far!
It looks like the create ticket step is failing -- is that expected on your end or should we fix that before merge?

Ah nevermind, you did mention those above. I'll go ahead and merge now.


Process termination.

Processes may terminate in a number of ways, eg SIGTERM, SIGKILL, machine down. Currently, Madsim does not simulate processes termination very well.
Madsim provides kill function to terminate a host, but the semantic of the kill function is unclear.
See this code:
struct Foo(String);

impl Foo {
    fn new(name: &str) -> Foo {
        println!("foo::new in {}", name);
        Foo(name.to_owned())
    }
}

impl Drop for Foo {
    fn drop(&mut self) {
        println!("foo::drop in {}!", self.0);
    }
}

#[madsim::main]
async fn main() {
    let handle = madsim::Handle::current().create_host("<IP_ADDRESS>:10086").unwrap();
    handle.spawn(async move {
        let _foo = Foo::new("madsim");
        loop {
            madsim::time::sleep(std::time::Duration::from_secs(1)).await;
        }
    }).detach();

    madsim::time::sleep(std::time::Duration::from_secs(1)).await;
    madsim::Handle::current().kill("<IP_ADDRESS>:1".parse().unwrap());
    loop {
        madsim::time::sleep(std::time::Duration::from_secs(1)).await;
    }
}

Run this code with features sim enabled, we will find that foo::drop is called. This means that the kill function behaves more like SIGTERM than SIGKILL, and this function cannot simulate some unexpected events (machine failure, out of memory, etc.). We have no way to know that when all async tasks on that host will be dropped, so it's still hard to determine a suitable time to restart host.
If we replace sleep in spawned task with futures::future::pending::<()>().await. We will see that the drop function is not called, which looks like SIGKILL (but not same as SIGKILL).
It seems difficult to simulate SIGKILL or machine failure. If the drop function is not called, there may be resource leaks (memory, file locks, etc.)
Another problem is that drop function won't be called automatically after process termination. See this code:
struct Foo(String);

impl Foo {
    fn new(name: &str) -> Foo {
        println!("foo::new in {}", name);
        Foo(name.to_owned())
    }
}

impl Drop for Foo {
    fn drop(&mut self) {
        println!("foo::drop in {}!", self.0);
    }
}

#[madsim::main]
async fn main() {
    let handle = madsim::Handle::current().create_host("<IP_ADDRESS>:10086").unwrap();
    handle.spawn(async move {
        let _foo = Foo::new("madsim");
        loop {
            madsim::time::sleep(std::time::Duration::from_secs(1)).await;
        }
    }).detach();

    madsim::time::sleep(std::time::Duration::from_secs(1)).await;
}

Foo::drop won't be called run this code with feature sim or std. This makes it difficult for applications that use madsim to exit gracefully. It seems would be better to provide an async fn as an entry function when the host is created, like spawn_blocking in tokio. When this entry function exits, the host is considered finished. And provide a joinhandle to wait for the host to finish.

Note: We should add a hook function on kill.


”Urziceni”, ”Urziceni-Pădure” are listed in the drop-down menu

Description:
When user writes ”Urziceni”, ”Urziceni-Pădure” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Urziceni"

Expected results
The location appears in the drop-down menu as "Sat Urziceni, SATU MARE (Urziceni)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Urziceni-Pădure"

Expected results
The location appears in the drop-down menu as "Sat Urziceni-Pădure, SATU MARE (Urziceni)".


wxSpinCtrlDouble not accepting decimals

Hi @DietmarSchwertberger and All
I'm having an issue on wxGlade not being able to type decimals.
i've got the 1.0.0b2 wxGlade
Python 3.7 and wxpython 4.1.1
any idea please?

Where can't you type decimals? Inside wxGlade? In the final application? What does the generated code look like?
It might be related to localization.
E.g. in my locale, I need to enter decimals with a comma while the Range needs to be entered with a decimal point:

It does not allow me to add numbers after the dot on the preview application.
also tried with a coma, unable to.

The code looks correct. Does SpinCtrlDouble in the wxPython demo work for you? I would guess not.

Ah, OK, I see. The initalization value needs to match the number format settings of the OS.
I will change this to use initial=0.0 instead of the string value "0.0".

still same thing, not accepting decimals :-(

Seems that 4.1.1 requires the call of SetDigits.
I'm not sure whether it's a bug or a feature. The trac tickets are not clear:
https://trac.wxwidgets.org/ticket/18764
https://trac.wxwidgets.org/ticket/17085
The old behaviour was certainly more useful.

I'm about to add the property. As workaround, you can add self.N2_Input.SetDigits(2) to 'code to be inserted after'.

I'm about to add the property. As workaround, you can add self.N2_Input.SetDigits(2) to 'code to be inserted after'.

Thanks for the info, however the code inserted on 'Code to be inserted after' did not work..

It will not work for the preview as the code... properties are not used for the preview, but it should work for the generated code.
Does it not?

It will not work for the preview as the code... properties are not used for the preview, but it should work for the generated code.
Does it not?

Ohh I see!! indeed i have not tried it, i will generate the code and test it out.
keep you posted!
thx again

1.0.1 is online.


Validation on Select item

Validation on select item doesn't seem to work!

Could you please provide more details and error logs. It works fine in the demo app
http://aurelia-ui-toolkits.github.io/demo-materialize/#/samples/select/validation

Yesterday when I was testing the validation function on a select item, the
error message was not shown. I was using safari. Today it works!
So it seems to be solved now.
On Thu, Feb 7, 2019 at 1:53 AM Max<EMAIL_ADDRESS>wrote:

Could you please provide more details and error logs. It works fine in the
demo app
http://aurelia-ui-toolkits.github.io/demo-materialize/#/samples/select/validation
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/541#issuecomment-461288000,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG7muYAfmtjE_hlkkoS7NX-KOesw0z80ks5vK7FjgaJpZM4alwek
.

There was an issue with the demo. The bridge itself was fine though...
On Fri., 8 Feb. 2019, 4:13 am Daniel Mares<EMAIL_ADDRESS>wrote:

Yesterday when I was testing the validation function on a select item, the
error message was not shown. I was using safari. Today it works!
So it seems to be solved now.
On Thu, Feb 7, 2019 at 1:53 AM Max<EMAIL_ADDRESS>wrote:

Could you please provide more details and error logs. It works fine in
the
demo app

http://aurelia-ui-toolkits.github.io/demo-materialize/#/samples/select/validation

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/541#issuecomment-461288000
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AG7muYAfmtjE_hlkkoS7NX-KOesw0z80ks5vK7FjgaJpZM4alwek
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/541#issuecomment-461516042,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADimvAW3zTQQRMAZh8gB9RYW6X6FlOipks5vLF7DgaJpZM4alwek
.


Changes to NewStreamWatcher breaks compatibility with k8s.io/client-go/rest library

Hello,
I began getting the following error when importing the k8s.io/client-go/rest package.
go/pkg/mod/k8s.io/client-go@v11.0.0+incompatible/rest/request.go:598:31: not enough arguments in call to watch.NewStreamWatcher
	have (*versioned.Decoder)
	want (watch.Decoder, watch.Reporter)

Upon doing some investigation it seems that the NewStreamWatcher function in was changed fairly recently:
https://github.com/kubernetes/apimachinery/commit/6bfc4729640e1b788e991515a8ea4e16504c3a5d#diff-13d4c1aef2b5ff5ac3d279505679acc0L52
This change though wasn't reflected in the call to NewStreamWatcher in request.go:
https://github.com/kubernetes/client-go/blob/master/rest/request.go#L598
It seems that only a single decoder struct gets returned from the NewDecoder function:
https://github.com/kubernetes/client-go/blob/master/rest/watch/decoder.go#L39
Is this something that's planned to be fixed?

This change though wasn't reflected in the call to NewStreamWatcher in request.go:
https://github.com/kubernetes/client-go/blob/master/rest/request.go#L598

That apimachinery change is in the master branch, and the call you linked to is updated in client-go on master.
The<EMAIL_ADDRESS>tag works with the release-1.14 branch of apimachinery:
https://github.com/kubernetes/apimachinery/blob/release-1.14/pkg/watch/streamwatcher.go#L51-L52
Ensure you are using the release-1.14 branch of apimachinery.
/close

Met another problem after updating to release 1.14 branch
../../../../pkg/mod/sigs.k8s.io/controller-runtime@v0.1.10/pkg/metrics/client_go_adapter.go:201:55: cannot use composite literal (type workqueueMetricsProvider) as type workqueue.MetricsProvider in argument to workqueue.SetProvider:
	workqueueMetricsProvider does not implement workqueue.MetricsProvider (missing NewDeprecatedAddsMetric method)
# sigs.k8s.io/controller-runtime/pkg/leaderelection
../../../../pkg/mod/sigs.k8s.io/controller-runtime@v0.1.10/pkg/leaderelection/leader_election.go:83:25: not enough arguments in call to resourcelock.New
	have (string, string, string, "k8s.io/client-go/kubernetes/typed/core/v1".CoreV1Interface, resourcelock.ResourceLockConfig)
	want (string, string, string, "k8s.io/client-go/kubernetes/typed/core/v1".CoreV1Interface, "k8s.io/client-go/kubernetes/typed/coordination/v1".CoordinationV1Interface, resourcelock.ResourceLockConfig)

go.mod
module github.com/draveness/proxier

go 1.12

replace k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d

require (
	github.com/appscode/jsonpatch v0.0.0-20190108182946-7c0e3b262f30 // indirect
	github.com/coreos/prometheus-operator v0.29.0 // indirect
	github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
	github.com/docker/distribution v2.7.1+incompatible // indirect
	github.com/emicklei/go-restful v2.9.3+incompatible // indirect
	github.com/go-logr/logr v0.1.0 // indirect
	github.com/go-logr/zapr v0.1.1 // indirect
	github.com/go-openapi/spec v0.19.0
	github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect
	github.com/google/btree v1.0.0 // indirect
	github.com/imdario/mergo v0.3.7 // indirect
	github.com/json-iterator/go v1.1.6 // indirect
	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
	github.com/modern-go/reflect2 v1.0.1 // indirect
	github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
	github.com/operator-framework/operator-sdk v0.7.0
	github.com/pkg/errors v0.8.1
	github.com/spf13/afero v1.2.2 // indirect
	github.com/spf13/pflag v1.0.3
	github.com/stretchr/testify v1.3.0
	go.uber.org/zap v1.9.1 // indirect
	golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect
	golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a // indirect
	golang.org/x/sync v0.0.0-20190412183630-56d357773e84
	golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
	google.golang.org/appengine v1.5.0 // indirect
	gopkg.in/inf.v0 v0.9.1 // indirect
	gopkg.in/square/go-jose.v2 v2.3.1 // indirect
	k8s.io/api v0.0.0-20190413052509-3cc1b3fb6d0f
	k8s.io/apiextensions-apiserver v0.0.0-20190413053546-d0acb7a76918 // indirect
	k8s.io/apimachinery v0.0.0-20190413052414-40a3f73b0fa2
	k8s.io/client-go v11.0.0+incompatible
	k8s.io/cloud-provider v0.0.0-20190413054028-113aea9f21af // indirect
	k8s.io/kube-openapi v0.0.0-20190401085232-94e1e7b7574c
	k8s.io/kubernetes v1.14.1
	k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7 // indirect
	sigs.k8s.io/controller-runtime v0.1.10
	sigs.k8s.io/testing_frameworks v0.1.1 // indirect
)

/reopen

it looks like controller-runtime is in the process of updating to latest kubernetes levels (https://github.com/kubernetes-sigs/controller-runtime/pulls?utf8=✓&q=is%3Apr+is%3Aopen+bump)
until then, if controller-runtime is a dependency of yours, you may need to remain on 1.13.x levels
/close

/reopen
just install client-go, straight off the box its not working

@liggitt "Ensure you are using the release-1.14 branch of apimachinery."
how?
currently just developing a tiny app, trying it with go run and and getting the same issue. saw you replied similarly on several issues and it's not clear to me

Something like this:

Use go 1.12+
export GO111MODULE=on
In your go.mod file, specify the versions of client-go/api/apimachinery you want, e.g.:

require (
  k8s.io/client-go kubernetes-1.16.0
  k8s.io/api kubernetes-1.16.0
  k8s.io/apimachinery kubernetes-1.16.0
)

See https://github.com/kubernetes/client-go/blob/master/INSTALL.md for details

Suddenly my project that was building fine before stopped doing it. I've tried everything:
$ go get -u<EMAIL_ADDRESS>go: finding k8s.io/client-go kubernetes-1.16.0
$

Then I replace the whole require directive of my go.mod with
require (
  k8s.io/client-go kubernetes-1.16.0
  k8s.io/api kubernetes-1.16.0
  k8s.io/apimachinery kubernetes-1.16.0
)

But then when I execute go build
$ go build
go: finding k8s.io/client-go kubernetes-1.16.0
go: finding k8s.io/api kubernetes-1.16.0
go: finding k8s.io/apimachinery kubernetes-1.16.0
go: finding github.com/DITAS-Project/blueprint-go latest
go: finding github.com/xdg/scram latest
# k8s.io/client-go/rest
../../../go/pkg/mod/k8s.io/client-go@v11.0.0+incompatible/rest/request.go:598:31: not enough arguments in call to watch.NewStreamWatcher
	have (*versioned.Decoder)
	want (watch.Decoder, watch.Reporter)

The whole require directive gets replaced with incompatible versions of client-go it seems:
require(
....
	k8s.io/api v0.0.0-20191003035645-10e821c09743
	k8s.io/apimachinery v0.0.0-20191003115452-c31ffd88d5d2
	k8s.io/client-go v11.0.0+incompatible
)

How can I force it to get the specific version I'm specifying instead of having it replaced on every go build?

How can I force it to get the specific version I'm specifying instead of having it replaced on every go build?

resolve the versions you want:

curl -s<EMAIL_ADDRESS>| jq -r .Version
curl -s<EMAIL_ADDRESS>| jq -r .Version
curl -s<EMAIL_ADDRESS>| jq -r .Version

v0.0.0-20190918155943-95b840bb6a1f
v0.0.0-20190913080033-27d36303b655
v0.0.0-20190918160344-1fbdaa4c8d90

add replace directives in your go.mod file to pin to those versions:

replace k8s.io/api => k8s.io/api v0.0.0-20190918155943-95b840bb6a1f
replace k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655
replace k8s.io/client-go => k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90

Thanks. That worked. Now my project builds again. Go modules are all but intuitive.

Go modules are all but intuitive

That's somewhat true, but they mostly assume sane things will happen with semantically versioned modules. Kubernetes is not in a good place from that perspective, but unfortunately the changes required to align kubernetes with the requirements of go modules are even more disruptive (e.g. changing all import paths for client-go/api/apimachinery).


Feature/two intent models dstc2

add another config for dstc2 with bigger embeddings, fixed readme

Maybe we should also mention how much operative memory is required?


Update recompose - retype hoc timers

I updated flow-typed which revealed some issues w/ the hoc timers. I cleaned that up and also exported hoctimers and the type helper PropsWithTimer from common-adapters

@keybase/react-hackers this is ready
cc: @akalin


[integration] Fatal database errors

Anyone else getting fatal database errors since the PDO upgrade?
Symphony Fatal Database Error: SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name ''
An error occurred while attempting to execute the following query
DELETE FROM ``sym_fields_input`` WHERE `field_id` = ? LIMIT 1
Backtrace
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.database.php:491]
    Database->error();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.database.php:345]
    Database->q();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.mysql.php:413]
    Database->delete();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.fieldmanager.php:150]
    MySQL->delete();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/fields/field.input.php:126]
    FieldManager::saveSettings();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/content/content.blueprintssections.php:805]
    FieldInput->commit();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.administrationpage.php:703]
    contentBlueprintsSections->__actionNew();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.administrationpage.php:666]
    AdministrationPage->__switchboard();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/toolkit/class.administrationpage.php:448]
    AdministrationPage->action();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/content/content.blueprintssections.php:26]
    AdministrationPage->build();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/core/class.administration.php:212]
    contentBlueprintsSections->build();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/core/class.administration.php:490]
    Administration->__buildPage();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/boot/func.utilities.php:189]
    Administration->display();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/symphony/lib/boot/func.utilities.php:171]
    symphony_launcher();
[/Users/designermonkey/Projects/Sites/symphony.local.embarknow.net/htdocs/index.php:18]
    symphony();
Database Query Log
[0.0009] SELECT SQL_CACHE t1.name, t2.page, t2.delegate, t2.callback, t2.order FROM `tbl_extensions` as t1 INNER JOIN `tbl_extensions_delegates` as t2 ON t1.id = t2.extension_id WHERE t1.status = 'enabled' ORDER BY t2.delegate, t2.order, t1.name;
[0.0008] SELECT SQL_CACHE session_data FROM tbl_sessions WHERE session = ? LIMIT 1;
[0.0005] SELECT SQL_CACHE a.* FROM `tbl_authors` AS `a` WHERE `username` = 'designermonkey' ORDER BY a.id ASC LIMIT 1 ;
[0.0003] UPDATE `sym_authors` SET `last_seen` = ? WHERE `id` = ?;
[0.0004] SELECT SQL_CACHE `name` FROM `tbl_extensions` WHERE `status` = 'enabled';
[0.0003] SELECT SQL_CACHE * FROM `tbl_extensions`;
[0.0003] SELECT SQL_CACHE `s`.* FROM `tbl_sections` AS `s` ORDER BY `s`.`sortorder` asc;
[0.0003] SELECT SQL_CACHE `id` FROM `tbl_sections` WHERE `handle` = ? LIMIT 1;
[0.0023] SELECT SQL_CACHE MAX(p.sortorder) + 1 AS `next` FROM `tbl_sections` AS p LIMIT 1;
[0.0021] INSERT INTO `sym_sections` (`name`, `handle`, `navigation_group`, `hidden`, `filter`, `sortorder`) VALUES (?,?,?,?,?,?);
[0.0026] INSERT INTO `sym_fields` (`label`, `element_name`, `parent_section`, `location`, `required`, `type`, `show_column`, `sortorder`) VALUES (?,?,?,?,?,?,?,?);
[0.0154] CREATE TABLE IF NOT EXISTS `tbl_entries_data_1` ( `id` int(11) unsigned NOT null auto_increment, `entry_id` int(11) unsigned NOT null, `handle` varchar(255) default null, `value` varchar(255) default null, PRIMARY KEY (`id`), UNIQUE KEY `entry_id` (`entry_id`), KEY `handle` (`handle`), KEY `value` (`value`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;;
[0.0003] SELECT SQL_CACHE `type` FROM `tbl_fields` WHERE `id` = ? LIMIT 1;

Table and column names don't need to be backticked for PDO

Can someone confirm it's line 150 in FieldManager for me and I'll send a PR.

Hi John, sorry not much help as usual but is it the same as this https://github.com/symphonycms/symphony-2/issues/2415

There's a bit about PDO in there somewhere

Resolved with the PR.


modules/security/pam.nix: add enableSSHAgentAuthNoHome

This variant of the old sshAgentAuth is useful, if sudo is
being used by authenticating as the user and not
as root as is the default as user could normally just
edit the ~/.ssh/authorized_keys to get access as root.

Motivation for this change
Make pam_ssh_agent_auth useful for sudo default settings
Things done

[ ] 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"
[ ] 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
[ ] Fits CONTRIBUTING.md.

Tested on sudo on Nightingale. It can prevent sudoing based on just the user-editable files, but you have to be super explicit about it:
{ lib, ... }:
{
  security.pam.services.sudo = {
    sshAgentAuth = lib.mkForce false;
    sshAgentAuthNoHome = true;
  };
}

otherwise you get 2 auth_sufficient lines in /etc/pam.d/sudo. That's because nixos/modules/security/sudo.nix enables it for convenience. That is a usability problem in my opinion. This raises the question of what the config generator should do if both sshAgentAuth and sshAgentAuthNoHome are set. I would say it should either inhibit sshAgentAuth and use the stricter setting, or perhaps fail an assert.

Tested on sudo on Nightingale. It can prevent sudoing based on just the user-editable files, but you have to be super explicit about it:
{ lib, ... }:
{
  security.pam.services.sudo = {
    sshAgentAuth = lib.mkForce false;
    sshAgentAuthNoHome = true;
  };
}

otherwise you get 2 auth_sufficient lines in /etc/pam.d/sudo. That's because nixos/modules/security/sudo.nix enables it for convenience. That is a usability problem in my opinion. This raises the question of what the config generator should do if both sshAgentAuth and sshAgentAuthNoHome are set. I would say it should either inhibit sshAgentAuth and use the stricter setting, or perhaps fail an assert.

note optionalString cfg.sshAgentAuthNoHome not (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) so you don't need to have config.security.pam.enableSSHAgentAuth enabled and you don't get the double entry.
I absolutely dislike the current solution and my solution, I would only have cfg.sshAgentAuth boolean and cfg.sshAgentAuthPath listOf str, but that would break backwards compat, so I proposed this more conservative solution that bypasses the current config.

I guess there is backwards compatible solution of making
     ${optionalString cfg.sshAgentAuth
          "auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" cfg.sshAgentAuthPaths}"}

where default paths would be the old paths and for new style config you would just unset config.security.pam.enableSSHAgentAuth and set paths and boolean however you needed
this would only break configs that had noop config of cfg.sshAgentAuth for some security.pam.services.name, but not config.security.pam.enableSSHAgentAuth, which would be inert

This new revision would be my preferred solution (apart from completely dropping config.security.pam.enableSSHAgentAuth completely and the entry on sudo module).
It's to my understanding perfectly backwards compatible apart from people who have only enableSSHAgentAuth = true specified and expect it to have no effect, which is just silly.

I see this commit has been sufficiently fixed in ba1fa0c60406a21b933f5cb1625e80ac0da84f50 for me.

already fixed by another commit


Release 0.6.4

This PR marks the release of 0.6.4.

Current coverage is 7.45% (diff: 1.09%)

Merging #691 into master will decrease coverage by 0.72%

@@            master      #691   diff @@
========================================
  Files           19        21     +2
  Lines         2308      2574   +266
  Methods          0         0
  Messages         0         0
  Branches         0         0
========================================
+ Hits           189       192     +3
- Misses        2104      2365   +261
- Partials        15        17     +2

Powered by Codecov. Last update d802318...e829952


Use semver range

https://semver.npmjs.com/

nvm... our artifactory cache had an outdate version of this project.


Fix for user secret creation command

A connection string needs to be quoted in command dotnet user-secrets set

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

@vyunev Thank you very much!


Hadoop 17132. ABFS: Fix Rename and Delete Idempotency check trigger

Trigger to call the idempotent code introduced in https://issues.apache.org/jira/browse/HADOOP-17015 is incomplete.
When a request fails at the AbfsRestOperation, an exception is thrown from the REST response handling code . HADOOP-17015 was failing to catch it before checking the AbfsRestOperation instance status code.
The request retry count was also getting set to 1 even when request wasnt re-tired. That has been fixed too.
Tests are added by setting final fields in AbfsClient by reflection and mimicking the idempotency check return values to ensure that the trigger handles all scenarios.

Test results: From East US2 accounts. With and Without HNS results below:
non-HNS
[INFO] Tests run: 85, Failures: 0, Errors: 0, Skipped: 0
[WARNING] Tests run: 450, Failures: 0, Errors: 0, Skipped: 249
[WARNING] Tests run: 207, Failures: 0, Errors: 0, Skipped: 140

HNS
[INFO] Tests run: 85, Failures: 0, Errors: 0, Skipped: 0

[ERROR] Failures:
[ERROR]   ITestAbfsNetworkStatistics.testAbfsHttpResponseStatistics:207->AbstractAbfsIntegrationTest.assertAbfsStatistics:445->Assert.assertEquals:645->Assert.failNotEquals:834->Assert.fail:88 Mismatch in get_responses expected:<8> but was:<7>
[ERROR]   ITestAbfsNetworkStatistics.testAbfsHttpSendStatistics:91->AbstractAbfsIntegrationTest.assertAbfsStatistics:445->Assert.assertEquals:645->Assert.failNotEquals:834->Assert.fail:88 Mismatch in connections_made expected:<6> but was:<5>
[INFO]
[ERROR] Tests run: 450, Failures: 2, Errors: 0, Skipped: 75
[WARNING] Tests run: 207, Failures: 0, Errors: 0, Skipped: 140

The 2 tests from NetworkStatistics is expecting a certain number of GetFileStatus calls before the test issues any request. This is needs to be fixed. Created JIRA to track it : https://issues.apache.org/jira/browse/HADOOP-17137

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
30m  3s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
21m 51s
trunk passed

+1 :green_heart:
compile
0m 33s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
0m 29s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 23s
trunk passed

+1 :green_heart:
mvnsite
0m 32s
trunk passed

+1 :green_heart:
shadedclient
16m 25s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 25s
hadoop-azure in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 22s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
0m 56s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
0m 53s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 27s
the patch passed

+1 :green_heart:
compile
0m 28s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
0m 28s
the patch passed

+1 :green_heart:
compile
0m 23s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
0m 23s
the patch passed

+1 :green_heart:
checkstyle
0m 15s
the patch passed

+1 :green_heart:
mvnsite
0m 25s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
15m 28s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 24s
hadoop-azure in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 25s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
1m  7s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 28s
hadoop-azure in the patch passed.

+1 :green_heart:
asflicense
0m 27s
The patch does not generate ASF License warnings.

95m 17s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2150

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 16da032499fd 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 2ba44a73bf2

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/1/artifact/out/branch-javadoc-hadoop-tools_hadoop-azure-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/1/artifact/out/patch-javadoc-hadoop-tools_hadoop-azure-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/1/testReport/

Max. process+thread count
308 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Javadoc failure because of JDK11 support. Being addressed in https://issues.apache.org/jira/browse/HADOOP-16862

Thanks @steveloughran . Have addressed the comments.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  7s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
22m 11s
trunk passed

+1 :green_heart:
compile
0m 33s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
0m 29s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 22s
trunk passed

+1 :green_heart:
mvnsite
0m 32s
trunk passed

+1 :green_heart:
shadedclient
16m 24s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 24s
hadoop-azure in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 22s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
0m 54s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
0m 51s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 28s
the patch passed

+1 :green_heart:
compile
0m 27s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
0m 27s
the patch passed

+1 :green_heart:
compile
0m 23s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
0m 23s
the patch passed

+1 :green_heart:
checkstyle
0m 15s
the patch passed

+1 :green_heart:
mvnsite
0m 26s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
15m 31s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 22s
hadoop-azure in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
0m 20s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
0m 56s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 13s
hadoop-azure in the patch passed.

+1 :green_heart:
asflicense
0m 28s
The patch does not generate ASF License warnings.

66m  4s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2150

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 978ee2d7e818 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 3833c616e08

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/2/artifact/out/branch-javadoc-hadoop-tools_hadoop-azure-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/2/artifact/out/patch-javadoc-hadoop-tools_hadoop-azure-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/2/testReport/

Max. process+thread count
294 (vs. ulimit of 5500)

modules
C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2150/2/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Javadoc failure because of JDK11 support. Being addressed in https://issues.apache.org/jira/browse/HADOOP-16862


Test sync 345

Describe the bug
A clear and concise description of what the bug is.

Describe the bug
A clear and concise description of what the bug is.

Reply

Comment2


translation mona->raven

You had better fix this.
The meaning of "萌奈币" is monacoin in Chinese.
https://api.coingecko.com/api/v3/coins/ravencoin

Merged, thank you


feat[docs]: fuma docs mdx static site

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 50.96%. Comparing base (5b4655f) to head (a36fe48).
Report is 2 commits behind head on dev.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##              dev      #52   +/-   ##
=======================================
  Coverage   50.96%   50.96%
=======================================
  Files          17       17
  Lines         259      259
  Branches       56       53    -3
=======================================
  Hits          132      132
  Misses        127      127

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support for swapping Auth header tokens while streaming HLS (.m3u8) without stoping or restarting video.

Feature Request
Hi All 🤙,
First and foremost I enjoy your package and all the work you've done. 🔥🔥🔥
I would like to see if support for swapping Auth header tokens while streaming .m3u8 could be added without stoping or restarting a video.
(Also, if this already has a solution could someone point me to it?)
Why it is needed
Currently, if you're streaming an HLS video chances are your Auth headers may expire mid stream. If you try to update the headers it causes your video to stop and restart from the beginning.
My guess is updating the source prop is also accidentally updating the source.uri which causes a re-render resulting in a restart of the video component which isn't an ideal viewing experience.
Possible implementation
A possible solution could be to do a comparison of the previous and new values inside source so only those value update.

to be follow up in: https://github.com/TheWidlarzGroup/react-native-video/issues/2884


Sequence contains no elements for clone/fetch/pull in version <IP_ADDRESS>

git-tfs works brilliantly for almost all of my repositories, except for the largest. It fails with a 'sequence contains no elements' exception.
The only thing that seems special about the commit it tries to pull is that it has no commit message. But there are others without message that work fine, so probably something else.
Other than that it has only one change to a file that is listed as [merge,edit].
Could you point me in the right direction in order to try to implement a fix myself and test it before issuing a pull request? Or help me out in any other way?
Below is the output of the git tfs pull command with debug info.
Thanks, Jorrit
Required info

TFS version 2010, migrated from ?
VS Professional 2013

git tfs info

git version 1.9.4.msysgit.1
git-tfs version <IP_ADDRESS> (TFS client library <IP_ADDRESS> (MS)) (64-bit)
C:\tools\gittfs\git-tfs.exe
remote tfs id: 'default' ************* $/********
Trunk
refs/remotes/tfs/default - aaa2d65d804d70b649016a1e3c51df6d359052
87 @ 2983

git tfs pull --debug

Command run:git tfs pull --debug
No authors file used.
git-tfs version <IP_ADDRESS> (TFS client library <IP_ADDRESS> (MS)) (64-bit)
Commits visited count:1
Working with tfs remote: default
Fetching from TFS remote 'default'...
Commits visited count:1
Commits visited count:1
info: refs/remotes/tfs/default: Getting changesets from 2984 to current ...
Cleaning...
System.Reflection.TargetInvocationException: Exception has been thrown by the ta
rget of an invocation. ---> System.InvalidOperationException: Sequence contains
no elements
at System.Linq.Enumerable.Max(IEnumerable1 source)    at Sep.Git.Tfs.Core.GitTfsRemote.ProcessMergeChangeset(ITfsChangeset changese t, Boolean stopOnFailMergeCommit, String& parentCommit)    at Sep.Git.Tfs.Core.GitTfsRemote.FetchWithMerge(Int64 mergeChangesetId, Boole an stopOnFailMergeCommit, String[] parentCommitsHashes)    at Sep.Git.Tfs.Commands.Fetch.DoFetch(IGitTfsRemote remote, Boolean stopOnFai lMergeCommit)    at Sep.Git.Tfs.Commands.Fetch.FetchRemote(Boolean stopOnFailMergeCommit, IGit TfsRemote remote)    at Sep.Git.Tfs.Commands.Fetch.Run(Boolean stopOnFailMergeCommit, String[] arg s)    at Sep.Git.Tfs.Commands.Pull.Run(String remoteId)    --- End of inner exception stack trace ---    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments,  Signature sig, Boolean constructor)    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Objec t[] parameters, Object[] arguments)    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke Attr, Binder binder, Object[] parameters, CultureInfo culture)    at Sep.Git.Tfs.Util.GitTfsCommandRunner.Run(GitTfsCommand command, IList1 ar
gs)
at Sep.Git.Tfs.GitTfs.Main(GitTfsCommand command, IList`1 unparsedArgs)
at Sep.Git.Tfs.Program.Main(String[] args)
Sequence contains no elements

We have fixed a similar problem in the master branch not yet released. Is
it this version that you have tested or the 0.20 released?
If not,  I highly encourage you to build your own version with the
'master'  branch and test again.
Tell me if it solve your problem....

Hurray, it works in the latest build. Thanks for your quick response.


Error when AddDelegatingHandler

Hi,
I want to add one handler to trace but it throws exception
warn: Ocelot.Responder.Middleware.ResponderMiddleware[0]
=> ConnectionId:0HLFHJV2SU5QA => RequestId:0HLFHJV2SU5QA:00000002 RequestPath:/api/r/userprofile/countries
requestId: 0HLFHJV2SU5QA:00000002, previousRequestId: no previous request id, message: Error Code: UnableToCompleteRequestError Message: Error making http request, exception: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: The parameter is incorrect
at System.Net.Http.WinHttpException.ThrowExceptionUsingLastError()
at System.Net.Http.WinHttpHandler.InternalSendRequestAsync(WinHttpRequestState state)
at System.Net.Http.WinHttpHandler.d__105.MoveNext()
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()          at System.Net.Http.DiagnosticsHandler.<SendAsync>d__2.MoveNext()       --- End of stack trace from previous location where exception was thrown ---          at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()          at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)          at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Net.Http.HttpClient.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
My code is similar your guide
services.AddOcelot()
.AddDelegatingHandler(true);
public class FakeHandler : DelegatingHandler
{
protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
return base.SendAsync(request, cancellationToken);
}
}
Besides, could you please provide one sample to integrate to zipkin or Jeager?
Thansk,

@tungphuong does Ocelot work without the delegating handler? Can you share your program.cs / startup.cs and json configuration? Also what URL are you calling Ocelot on?

Let me know if you want to reopen this!


Problem with umlauts (ä, ö ,ü, ...)

Hello,
I am having problems, when my files have umlauts (ä, ö ,ü, ..) in their filenames. Then exifTool.getImageMeta returns nothing.
No error message is shown.
I am using Windows 10.
Java 22.
ExifTool Version Number: 12.89
For example, this code
System.out.println( System.getProperty( "file.encoding" ) );

System.out.println(exifTool.getImageMeta(new File("C:\\1ä.jpg"), Arrays.asList(StandardTag.MODEL)));

System.out.println(exifTool.getImageMeta(new File("C:\\2.jpg"), Arrays.asList(StandardTag.MODEL)));

gives this output:
UTF-8
{}
{MODEL=Pixel 7a}

(Yes, both images contain the MODEL tag).
Parsing those files directly with exiftool.exe is working.
What can I do?

Hi,
Could you give me more information:

What jdk version?
What operating system? Windows/Linux/MacOS?

I just pushed a unit test with a file containing an umlaut char, and it looks like it's only failing on Windows with a jdk >= 19 (see here), is it consistent with your setup?

Hi @cyberius0,
I found the issue (due to encoding difference between Windows and the rest of the world).
It should be fixed with version 3.0.1 (that has just been released).
Let me know if it works for you or if you still have some issues!

@mjeanroy Thank you very much !!
Version 3.0.1 fixed this problem.


Brian Munene: Asynchronous programming, 3 weeks

Asynchronous Programming
Learning Objectives

[ ]  You understand the JavaScript Event Loop, and can demonstrate this by using setTimeout and setInterval to schedule simple tasks.
[ ] You can explain why Asynchronous Programming is important for programs that have blocking and non-blocking tasks.
[ ] You can explain the basics of the Client/Server model and HTTP requests and can fetch data from RESTful APIs.
[ ] You can break down an asynchronous problem into smaller tasks and solve it using promises. This includes identify which tasks depend on each other and which are independent:

dependent tasks: The return value from one task is required to start the next task, these must be completed in a specific order - .then
independent tasks: These tasks do not use each other's return values, they can be completed at the same time - Promise.allsystem.

[ ] You can fetch data from an API and render it into the DOM using /api-calls, /handlers and async/await syntax.
[ ] You can write unit tests for functions that return promises using async/await syntax.

Asynchronous Programming: Week 1

[ ] I have pushed my progress to my fork of exercises repo

I Need Help With:

A bit of the separation of concerns

What went well?
Writing the HTML and CSS
What went less well?
Separating the concerns: my task is not yet complete as I am still trying to understand how to separate concerns
Lessons Learned

Callstack basics, setInterval, setTimeout

Sunday Prep Work

I am rechecking the material again to understand how to separate concerns more effectively
My assignment is not yet complete but I hope to do that before Sunday
I worked on a small side project to create a stopwatch but without separating concerns

Asynchronous Programming: Week 3

[ ] I have pushed my progress to my fork of exercises repo

I still need to finish my project:
I have only worked on the Front-End of my project (although not entirely) and will try to finish the functionality before the next class
What went well?
Writing the HTML and CSS
What went less well?
Time management - I have a busy exam schedule and I have had a challenge organizing myself well.
Lessons Learned

Async Await
Try catch block

Sunday Prep Work

To finish the class project as I practice with Async Await


Problem with Glutin-0.26.0 dependencies (in Windows)

Mismatch type: .and_then(|p| p.finish(hwnd))                                                    ------ ^^^^ expected isize, found *-ptr
Any hints (I m new to Rust). Should I patch this dependency of glutin? (also which one and how?)
It's lack of luck I decided to learn Rust through a roguelike project and it starts not vey well...

Try "cargo update" - that resolved it on my mac (I'm traveling, can't get
to my main computer)
On Sat, Sep 3, 2022, 11:21 AM ImreMD @.***> wrote:

Mismatch type: .and_then(|p| p.finish(hwnd)) ------ ^^^^ expected isize,
found *-ptr
Any hints (I m new to Rust). Should I patch this dependency of glutin?
(also which one and how?)
It's lack of luck I decided to learn Rust through a roguelike project and
it starts not vey well...
—
Reply to this email directly, view it on GitHub
https://github.com/amethyst/bracket-lib/issues/294, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRU435QWWRPSXN4EW7YYCTV4N3HVANCNFSM6AAAAAAQD6SIMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

thank you for your prompt response, I've already done this,  maybe I will write an issue to the glutin maintainers and they will give some clues about the problem. Thank once more.
    Dnia 3 września 2022 18:27 thebracket<EMAIL_ADDRESS>napisał(a):

Try "cargo update" - that resolved it on my mac (I'm traveling, can't get
to my main computer)
On Sat, Sep 3, 2022, 11:21 AM ImreMD @.***> wrote:
> Mismatch type: .and_then(|p| p.finish(hwnd)) ------ ^^^^ expected isize,
> found -ptr
>
> Any hints (I m new to Rust). Should I patch this dependency of glutin?
> (also which one and how?)
> It's lack of luck I decided to learn Rust through a roguelike project and
> it starts not vey well...
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/amethyst/bracket-lib/issues/294>, or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ADRU435QWWRPSXN4EW7YYCTV4N3HVANCNFSM6AAAAAAQD6SIMY>
> .
> You are receiving this because you are subscribed to this thread.Message
> ID: @.**>
>
—  Reply to this email directly,  github.com view it on GitHub , or  github.com unsubscribe .  You are receiving this because you authored the thread. Message ID:  <amethyst/bracket-lib/issues/294/1236158689 @ github . com>

Also, is that on the crate or GitHub version? I'll be updating the crates
soon, gathering fixes. I'd like to make sure that the next release is
updated properly.
On Sat, Sep 3, 2022, 12:30 PM ImreMD @.***> wrote:

thank you for your prompt response, I've already done this,  maybe I
will write an issue to the glutin maintainers and they will give some clues
about the problem. Thank once more.
Dnia 3 września 2022 18:27 thebracket @.***> napisał(a):
Try "cargo update" - that resolved it on my mac (I'm
traveling, can't get
to my main computer)
On Sat, Sep 3, 2022, 11:21 AM ImreMD @.***> wrote:
> Mismatch type: .and_then(|p| p.finish(hwnd)) ------ ^^^^ expected
isize,
> found *-ptr
>
> Any hints (I m new to Rust). Should I patch this dependency of
glutin?
> (also which one and how?)
> It's lack of luck I decided to learn Rust through a roguelike
project and
> it starts not vey well...
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/amethyst/bracket-lib/issues/294>, or
unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ADRU435QWWRPSXN4EW7YYCTV4N3HVANCNFSM6AAAAAAQD6SIMY>
> .
> You are receiving this because you are subscribed to this
thread.Message
> ID: @.***>
>
— Reply to this email directly, github.com view it on GitHub , or
github.com unsubscribe . You are receiving this because you authored the
thread. Message ID: <amethyst/bracket-lib/issues/294/1236158689 @ github
. com>
—
Reply to this email directly, view it on GitHub
https://github.com/amethyst/bracket-lib/issues/294#issuecomment-1236168757,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRU434XLXEIYPGFV4F5TO3V4ODKXANCNFSM6AAAAAAQD6SIMY
.
You are receiving this because you commented.Message ID:
@.***>

I think it's a crate version I only add the dependencies with version resolution in the toml. (didn't give any path as such)

Glutin maintainers identified the cause as:   "As mentioned  github.com Chris Denton  in  github.com rust-lang/rust#101384 (comment) :  The most likely explanation would be the crate you're using has switched from winapi to windows-sys."  this is a little too encrypted/technically shortcutted for me - that doesn't indicate what should be done, it's funny it's like they re not sure of the answer but they 're the mere author of the library, strange. May be it can help you and you will find out what to do (more than I do).   Nevertheless thank you for a very fast reaction. I remember reading that the rust community is very supportive you're really showcasing this.   Best regards,    IM
    Dnia 3 września 2022 19:41 thebracket<EMAIL_ADDRESS>napisał(a):

Also, is that on the crate or GitHub version? I'll be updating the crates
soon, gathering fixes. I'd like to make sure that the next release is
updated properly.
On Sat, Sep 3, 2022, 12:30 PM ImreMD @.***> wrote:
> thank you for your prompt response, I've already done this,  maybe I
> will write an issue to the glutin maintainers and they will give some clues
> about the problem. Thank once more.
>
>
>
>
>
> Dnia 3 września 2022 18:27 thebracket @.> napisał(a):
>
>
>
>
> Try "cargo update" - that resolved it on my mac (I'm
> traveling, can't get
> to my main computer)
>
> On Sat, Sep 3, 2022, 11:21 AM ImreMD @.> wrote:
>
> > Mismatch type: .and_then(|p| p.finish(hwnd)) ------ ^^^^ expected
> isize,
> > found -ptr
> >
> > Any hints (I m new to Rust). Should I patch this dependency of
> glutin?
> > (also which one and how?)
> > It's lack of luck I decided to learn Rust through a roguelike
> project and
> > it starts not vey well...
> >
> > —
> > Reply to this email directly, view it on GitHub
> > <https://github.com/amethyst/bracket-lib/issues/294>, or
> unsubscribe
> > <
> https://github.com/notifications/unsubscribe-auth/ADRU435QWWRPSXN4EW7YYCTV4N3HVANCNFSM6AAAAAAQD6SIMY&gt;
>
> > .
> > You are receiving this because you are subscribed to this
> thread.Message
> > ID: @.>
> >
>
>
> — Reply to this email directly, github.com view it on GitHub , or
> github.com unsubscribe . You are receiving this because you authored the
> thread. Message ID: <amethyst/bracket-lib/issues/294/1236158689 @ github
> . com>
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/amethyst/bracket-lib/issues/294#issuecomment-1236168757>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ADRU434XLXEIYPGFV4F5TO3V4ODKXANCNFSM6AAAAAAQD6SIMY>
> .
> You are receiving this because you commented.Message ID:
> @.*>
>
—  Reply to this email directly,  github.com view it on GitHub , or  github.com unsubscribe .  You are receiving this because you authored the thread. Message ID:  <amethyst/bracket-lib/issues/294/1236170273 @ github . com>


Question about itemTestIDField

Hey! I am trying to unit test Multi select in a project i am using it for. And i am trying to access itemTestIDField in the test in order to test that it has been selected. Any ideas?

Example of code:
`   //test multiselect
const skillsMultiSelect = getByTestId("multiselect");
fireEvent.press(skillsMultiSelect);
const option1 = getByItemTestId("PHP");
fireEvent.press(option1);
 expect(skillsMultiSelect.props.value).toEqual(["PHP"]);`

Example items:
const data = [   { label: "React Native", value: "1" },   { label: "Javascript", value: "2" },   { label: "Laravel", value: "3" },   { label: "PHP", value: "4", itemTestIDField: "PHP" },   { label: "jQuery", value: "5" },   { label: "Bootstrap", value: "6" },   { label: "HTML", value: "7" },   { label: "CSS", value: "8" }, ];

As you can see i am trying const option1 = getByTestId("PHP");
However it cannot find it

hi @KevinConsid ,
Refer this exmaple:
   const data = [
      { label: "React Native", value: "1", testID: "RN" },
      { label: "Javascript", value: "2", testID: "JS" },
      { label: "PHP", value: "4", testID: "PHP" },
   ];

   <Dropdown
     {...}
     testID="custom-dropdown"
     itemTestIDField="testID"
   />

Hey thanks for answering so quickly.
I still cant seem to get it  getByTestId("PHP");
Do you have any working example i can look at?

I am using this in multiselect

Multiselect is also similar to Dropdown.

Yes it doesnt work.

@KevinConsid Did you come up with a solution? I'm running into the same thing.
I'm trying to change the selected dropdown item in a Jest test however I can't see any dropdown items other than the selected one even when adding in testId's to the the items data.
Here are some code snippets:
Dropdown data:
  const data: DropdownOption[] = [
    {
      id: SearchType.Title,
      value: 'Title',
      testId: 'title_item',
    },
    {
      id: SearchType.Description,
      value: 'Description',
      testId: 'description_item',
    }
]
    ```

Component:

<Dropdown
testID={'type_dropdown'}
value={selectedOption}
data={options}
labelField="value"
valueField="id"
itemTestIDField="testId"
onChange={(option: DropdownOption) => {
onOptionSelected(option)
}}
/>
```
Test:
    // Act
    fireEvent.press(await screen.findByTestId('type_dropdown'))
    screen.debug()
    fireEvent.press(await screen.findByTestId('description_item'))

Debug output:
<View
                  accessible={false}
                  focusable={true}
                  onClick={[Function onClick]}
                  onResponderGrant={[Function onResponderGrant]}
                  onResponderMove={[Function onResponderMove]}
                  onResponderRelease={[Function onResponderRelease]}
                  onResponderTerminate={[Function onResponderTerminate]}
                  onResponderTerminationRequest={[Function onResponderTerminationRequest]}
                  onStartShouldSetResponder={[Function onStartShouldSetResponder]}
                  style={
                    Object {
                      "alignItems": "center",
                      "flexDirection": "row",
                      "height": 35,
                      "justifyContent": "space-between",
                    }
                  }
                  testID="content_search_type_dropdown"
                >
                  <Text
                    numberOfLines={1}
                    style={
                      Array [
                        Object {
                          "flex": 1,
                          "fontSize": 16,
                          "writingDirection": "ltr",
                        },
                        Object {
                          "fontSize": 16,
                        },
                        Object {},
                      ]
                    }
                  >
                    Title
                  </Text>
                  <Image
                    source={
                      Object {
                        "testUri": "../../react-native-element-dropdown/lib/commonjs/assets/down.png",
                      }
                    }
                    style={
                      Object {
                        "height": 20,
                        "width": 20,
                      }
                    }
                  />
                </View>
              </View>
            </View>
            ```

This fails with `Unable to find an element with testId: 'description_item'`

How can I change the selected dropdown item in a Jest test?
Is there any examples I can look at?

@HarryHighPants @KevinConsid did you find a way to test it? I got the same issue in case of Dropdown component

@HarryHighPants @KevinConsid I found a way to test Dropdown component. Take a look here #175

@carlolucadei @HarryHighPants the above solution does not work for me can you please help me ?

@Shail-Patel-1 & @KevinConsid  #175 never worked for me either.. I'm not certain this is necessarily the best solution, but this how I solved it and it worked for my purposes.
import React from 'react'
import { View } from 'react-native'
import { render, fireEvent } from '@testing-library/react-native'

import Dropdown from './Dropdown'

jest.spyOn(View.prototype, 'measureInWindow').mockImplementation((cb) => {
  // eslint-disable-next-line
  cb(18, 113, 357, 50)
})

describe('Dropdown component', () => {
  const testData = [
    { label: 'Option 1', value: '1' },
    { label: 'Option 2', value: '2' },
    { label: 'Option 3', value: '3' }
  ]

  it('updates the selected value on change', () => {
    const { getByText } = render(
      <Dropdown data={testData} placeholder='Select item' />
    )

    fireEvent.press(getByText('Select item'))

    const selectedItem = getByText('Option 2')
    const selectedValue = testData.find(
      (item) => item.label === selectedItem.props.children
    )?.value

    expect(selectedValue).toBe('2')
  })
})