Update and take ownership of Health Notifier.

Permission granted here: https://github.com/Callum-A/health-notifier/issues/5

ClientTick seems aggressive here, do you want to use GameTick instead? You're hitting the config on each event until the notification is fired. https://github.com/Callum-A/health-notifier/compare/c4a04e960e4347bf79d171b256fcdbcde29b818d...geheur:c4f546e33b4497f2fb2f636347797ed6dbf010b3#diff-6bfb765a4dd45c59cea4dbe7ff774f8bbbd137d9dec92fdfe4613ecf5eecbe0cR77

hmm that's a good point. I'm not aware of any situations where an npc's health would change outside of a game tick.
Also, is hitting the config 50 times per second a significant cost? I thought the config was super fast.

I have updated the plugin to use game tick and cache the config value. I also fixed a bug where the config was not read on startup and where changing the config might produce unnecessary notifications.


Python 3 compatibility?

I didn't see it stated anywhere but it seems pyQuil is python 2 only. I started to make some fixes on a branch but quickly ran into deeper issues.
Any plans or roadblocks for Python 3 compatibility? It seems a shame to start a new project as Python 2 only.

Hey @caryan, there are no roadblocks for upgrading to python 3 compatibility.  All of our dependancies are python 3 compatible (requests, numpy, scipy--which will be removed soon).  We have the upgrade as part of the near term roadmap for pyquil.  Great to see you've started that push.  We'll take a look!

Closed by PR #44


Expose fundamental type to support typecasting

Example use case:
const nameInputList = wrapper.findAll({ name: 'my-text-field' }).wrappers.find(cmp => cmp.props().label === 'Name') as Wrapper<VTextField>

expect(nameInputList.exists()).toBe(true)

then warning [ts] Object is possibly 'undefined'. can be avoided and autocomplete work as expected

I don't think it is a good idea to expose them in global namespace. If you just want to ignore undefined type, you should use non-null assertion operator. https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-0.html#non-null-assertion-operator
const nameInputList = wrapper
  .findAll({ name: 'my-text-field' })
  .wrappers
  .find(cmp => cmp.props().label === 'Name')!

expect(nameInputList.exists()).toBe(true)

Thanks, it works for me. There is something that I need to address before closing/continue this PR

Wha if some project apply no-non-null-assertion rule?
I notice that declaring on the global scope can make conflicts with libs that have the same type (or maybe it just overloads type which is good). How about wrapping it on namespace or just export it?

What if some project apply no-non-null-assertion rule? (related to strictNullChecks)

Then, you may want to add null check or disable the rule in the test case? IMO, the intention of the rule is to ensure the devs always check null or undefined if it can be. So, casting to remove undefined type should be restricted too if your team disallow non null assertion. Of course I understand it is a bit verbose in the test, so I guess disabling the rule is the best choice.

How about wrapping it on namespace or just export it?

I guess exporting these types is ok.

Is there some possibility of a class member in Wrapper that return type T?

Sorry, I don't understand about that. Could you describe it more detail?

Then, you may want to add null check or disable the rule in the test case?

Well, if that happened to me when onboarding project, I will just use // @ts-ignore :smiley:

I guess exporting these types is ok.

:ok_hand:

Is there some possibility of a class member in Wrapper that return type T?

I usually do typecasting like this.$refs.upload as MyComponent to access computed/method.
After reading index.d.ts again seems like they are some similar case.
const fupload = wrapper.findAll({ name: 'file-upload' }).wrappers
// I bet this will produce a type error with `mycomputedproperties` as unknown properties
const a = fupload.vm.mycomputedproperties

// by typecasting it will not produce type error
const button = wrapper.findAll({ name: 'file-upload' }).At(0) as Wrapper<FileUpload>
const a = fupload.vm.mycomputedproperties

Actually, you can pass your component type as type parameter in that case.
const fupload = wrapper.findAll<FileUpload>({ name: 'file-upload' }).wrappers

In any cases, I think we can export Wrapper and WrapperArray for convenience. Can you update the index.d.ts to do that? 🙂

Sure


fix: change way of Poller initialization

Codecov Report

Merging #352 (bd2636d) into develop (0df3da3) will increase coverage by 0.51%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #352      +/-   ##
===========================================
+ Coverage    82.59%   83.11%   +0.51%
===========================================
  Files           21       21
  Lines         1373     1356      -17
===========================================
- Hits          1134     1127       -7
+ Misses         239      229      -10

Impacted Files
Coverage Δ

splunk_connect_for_snmp/snmp/manager.py
92.68% <ø> (+6.44%)
:arrow_up:

splunk_connect_for_snmp/snmp/tasks.py
79.72% <100.00%> (-14.03%)
:arrow_down:

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.4.3-beta.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Allow intermediate power settings on KDMA hob

The intermediate power values 2. are now displayed as 2.5.
Closes #103

There is another setting:
"keep warm" is 110
So add
110: 0.5,
to Platemap.


Missing config.yaml file

can u please add or leave a link to the config file that is used in main.py
Thanks

yeah, I also want to get config.yaml file.

Config files have added.


Copy&Paste Workflow

Copying and pasting objects does not work any longer. This has a severe impact on the workflow and decreases productivity and usability by 20%. Please revert.

Please describe more details, otherwise we cannot work in this issue


The help message for raw GetBakerList is wrong

Bug Description
The help message for raw GetBakerList is wrong as follows:
Query the gRPC server for the status of a baker pool or the L-pool.
Steps to Reproduce
Type concordium-client raw GetBakerList --help
Expected Result
Query the gRPC server for the list of bakers
Actual Result
Query the gRPC server for the status of a baker pool or the L-pool.
Versions

Software Version: concordium-client_4.0.0-delegation-test-1
OS: MacOS
Browser
Mobile device, if applicable

Addressed in 4.0.1.


gRPC C++ server cannot handle as many concurreny client requests as is set by ResourceQuota

While using ResourceQuota::SetMaxThreads to set thread num limit, the actual concurrency is smaller than this intended number.
lang: C++
gRPC version: v1.52.1

set the server thread limit using following code

    grpc::ResourceQuota quota;
    quota.SetMaxThreads(4);
    builder.SetResourceQuota(quota);

request the server with a client of 4 threads

    for (int i = 0; i != 4; ++i) {
        threads.emplace_back([&]() {
            while (true) {
                call_rpc(stub.get());
            }
        });
    }

We expected to see that all requests are successfullly returned. However, many of them will end up with "status: 8, msg: Server Threadpool Exhausted". In fact, the error occurs even if we use 3 client threads, which is fewer than server thread count.
Since we have only 3 client threads triggerring requests, the number of server threads handling requests must be equal to or less than 3. We know that there is at least 1 thread which can poll. But the variable num_pollers_ is sometimes less than the threads which are not doing work. Because the variable is not added as soon as DoWork finishes, and subtracted before actually starts DoWork.

cpp source:
grpc_demo.zip

Because the variable is not [incremented] as soon as DoWork finishes, and [decremented] before actually starts DoWork.

You probably identified the reason here. It's possible that the client received a response while the server's thread is still cleaning up after DoWork finishes. If this flood of sync client requests to a synchronous server is your actual use case, consider adding some buffer to the quota's thread count to account for this.


Nasim android

loc here you go man. Activity.java and activity_maps.xml chould be the only changes and the rest are just copies..

Windows line endings caused conflict.


[Language] Remove duplication for PreBuiltResult and InputError

Data Plane API - Pull Request
PreBuiltResult and RequestStatistics break autorest schema check because they are duplicated in both common.json and analyzetext.json. Edit all the analyzetext.json reference to point to common.json. Unify InputError with DocumentError.
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[ ] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

RequestStatistics is defined in analyzetext.json. Do we need to remove that definition and ref from common.json?

Would it be better to do it the other way around: Remove it from analyzetext.json and keep it in common.json?

RequestStatistics is defined in analyzetext.json. Do we need to remove that definition and ref from common.json?

Would it be better to do it the other way around: Remove it from analyzetext.json and keep it in common.json?

Sorry bad wording, this is what I'm suggesting 😆

@kristapratico Yes, I miss this. Pushed the change. Thank you for noticing that.

@kristapratico Yes, I miss this. Pushed the change. Thank you for noticing that.

Generates successfully for me, thank you!

The breaking changes are expected and have not previous GA'd. This is effectively a correction.


Meaning of kriged grid

The documentation for the .execute function of a Krig Class mentions that it returns a kriged grid? What exactly is a kriged grid and how should I predict missing values in a numpy matrix using the kriged grid?
Thanks in advance.

Sorry for the delayed response. The kriged grid contains the kriging predictions for the values you feed in to the execute function. So, you can provide the coordinates of the missing values to that function, and it will return the kriging predictions for those missing values.
Hope that helps!


Need to change connection details

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Download the python demo, add credentials and try to run it

Any log messages given by the failure

There was an exception: module 'gremlin_python.driver.serializer' has no attribute 'GraphSONSerializersV2d0'

Expected/desired behavior

The program to run without errors

OS and Version?

Windows 10

Versions

Latest

Mention any other details that might be useful
The fix is to change line 107 from:
message_serializer=serializer.GraphSONSerializersV2d0()
to
message_serializer=serializer.GraphSONMessageSerializer()

Thanks! We'll be in touch soon.

Thank you for 'GraphSONMessageSerializer()'

Latest version of the sample requires GraphSONSerializersV2d0() and works in it's latest form.


API BlogLogic index problem

59th line --> "<=" should be used

also, fix it at the "api-full" and the "api-init" repo!!!


Teslovich TM (2010) - flipped betas

We report sumstats from Teslovich TM (2010) for 4 traits (Triglycerides, total cholesterol, HDL-C, and LDL-C). On comparing the signs of a few of the top variant effect estimates from the study page for each of the four traits, it appears that the beta sign does not correspond to the ALT allele.
Example: https://genetics.opentargets.org/variant/2_27508073_T_C (rs1260326) reports positive association of C-allele (ALT) with triglycerides when the paper (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3039276/figure/F1/?report=objectonly) reports positive association with the T-allele (REF), so the association with C-allele should be negative. This issue of flipped betas is present for all the variants we report for Teslovich TM (2010) across the four traits in our portal.

The harmonised summary stats[1] already looks like that:
hm_variant_id               2_27508073_T_C
hm_rsid                     rs1260326
hm_chrom                    2
hm_pos                      27508073
hm_other_allele             T
hm_effect_allele            C
hm_beta                     0.1159
hm_odds_ratio               NA
hm_ci_lower                 NA
hm_ci_upper                 NA
hm_effect_allele_frequency  NA
hm_code                     10
variant_id                  rs1260326
other_allele                t
effect_allele               c
p_value                     5.68e-133
beta                        0.1159
standard_error              0.0049
odds_ratio                  NA
chromosome                  2
effect_allele_frequency     NA
ci_lower                    NA
ci_upper                    NA

[1] ftp://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST000001-GCST001000/GCST000758/harmonised/20686565-GCST000758-EFO_0004530.h.tsv.gz

I will take a look and filp betas if needed

Summary statistics with reviewed beta direction have now been released for Teslovich TM (2010) for 4 traits (Triglycerides, total cholesterol, HDL-C, and LDL-C).
https://www.ebi.ac.uk/gwas/publications/20686565

This issue has been fixed in the development branch and it will be available in production in the upcoming portal release.
I'm closing the issue, but please @Jeremy37 report if there are any further actions required to prevent us from flipping the betas again now that they have been fixed at the source. Thank you @buniello for the fix


Problems & suggestions

Hello there! I'm having a little issue, i can't put any other ped, i'm adding them on Config.ZombiePedModelsData, and Config.ZombiePedModels, but they just don't spawn. I don't know if i'm doing anything wrong, i've tried putting the ped files on the resource; nothing, replacing original peds; error.
It's a shame! I want japanese girls crawling and screaming for brainssss...
Secondly, I lowered the volume and added 114 zombie sounds, and a blank audio file so the zombies don't spam sounds a lot, the sounds are from COD BO1 and COD WAW. I'll leave a download link.
Also, the zombie spawns are a little bit weird, but i've noticed that some zombies appear on the floor, like they've fell from heaven, that would've great to make the spawns smoother, or just figure a way to make the zombies spawn behind, and not in front of your face.
I can't wait for the synced release!
Amazing script.

super late reply but take desired ped - (your custom one)
change its name to that of the gta ped on the list
do this for every default zombie ped given in script an you can achieve your goal


fix(common): denylist rejection msg sender address

Fix #213

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.897%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3874

Relevant Lines:
5791

💛  - Coveralls


Drops --with-iri  in wget install

Warning: wget: this formula has no --with-iri option so it will be ignored!

Closed. Duplicates #815


Default value "now()" is not applied on create, column set to null

Given the following schema:
create schema forum_example;

create table forum_example.user (
  id                     serial primary key,
  name               text not null check (char_length(name) < 80),
  created_at       timestamp default now()
);

If I add a user like this
insert into forum_example.user (name) values ('Christian');

a valid user with an id, name and timestamp has been created.
But If i use graphiql with this mutation
mutation {
  createUser(input: {user: {name: "Christian"}}) {
    user {
      id
      name
      createdAt
    }
  }
}

the createdAt field is null.

Can you confirm which value of PostGraphQL you're using? Specifically I'm interested to know if the issue occurs in both @latest and @next or only one. You can run the specific versions via npx without messing up your environment; e.g.
npx postgraphql@latest -c postgres://...

npx postgraphql@next -c postgres://...

Works with @next not with @latest :)

I'm probably not going to fix it then; but if you wish to open a PR to fix this in v3 please do.
More information on postgraphql@next is available in #506; it's still in alpha currently but is already quite widely used and seems stable (though new versions might bring small breaking changes until it goes on general release).

Thanks for the fast response. I am fine with using @next version.
Keep up the good work. It is an amazing library !

👍  Closing as fixed in v4.

Hi, I have the same issue. Using postgraphql 3.5.0 as a middleware. Column create_at default now() empty value when creating new rows from postgraphql.

I'd be happy to merge a PR that fixes this for v3. If you're happy running a late alpha, you can also try v4 with npm install postgraphql@next (see #506) but beware that (subtle) schema changes are still possible at this stage.

Sorry, Benjie! Just figured it out. Removed postgraphql from dependencies and installed postgraphile. Now it works like a charm.

This works fine with the middleware but has not been applied for the CLI though.

What do you mean? The “postgraphile” CLI just calls the CLI middleware. If you think you’ve found a bug, please open a new issue.

Hello,
Is there a way to apply now() on a date time field on update without creating a trigger?

Trigger is the cleanest way to do it, but you could do something like this: https://www.graphile.org/postgraphile/plugin-gallery/#Mutation_wrappers__OverrideArgValuePlugin


Display reading progress in sections

In the settings of the section, there is an option "SHOW PROGRESS BAR". If this is enable, your progress (i.e. how many articles in this section you have read) should be displayed.
This is currently not done (however the tracking of which pages have been read is already done in the background?)
Text to use (to allow localization): You have read %(counter)s out of %(total)s
Design reference:

@geoo89 could you answer the following questions

what is the checkbox on section lead images in 1st and 2nd pic?

is it to indicate that user has read all subsections and articles in that section?
what about articles for this?

what does the ☑ Completed indicate?
shouldn't we show the read and total count in 3rd pic just like first 2 pics?

Responding to the points below:

what is the checkbox on section lead images in 1st and 2nd pic? the checkbox is on the article image not the section image

is it to indicate that user has read all subsections and articles in that section? Yes for articles I don't believe we discussed the tick for subsections but happy for you to implement and we then discuss from there.
what about articles for this? this applies for articles within sections or subsections.

what does the ☑ Completed indicate? I thought this was discussed for larger screens Danny might contradict me.
shouldn't we show the read and total count in 3rd pic just like first 2 pics? I believed that it was agreed that within articles to save space that shouldn't be displayed.

Agree with David's comments.
I don't think we discussed "ticks" for the sub section items, but happy with the suggestion. (The articles in the subsections should be included in the article count, I believe @ehmadzubair implemented this.)
I think we wanted to remove the word "Completed" from the designs as it's repeated a lot and we are trying to minimise text displayed to users, even on larger devices. So I think we only need one indication of completed which is the tick on the image. I think we also wanted to the ticks to be more discrete and not to fade out the image, but just to appear on top of it.


run memray in unit tests

see https://github.com/huggingface/dataset-viewer/actions/runs/9270470931/job/25503544322?pr=2863#step:8:169 for example:
================================ MEMRAY REPORT =================================
Allocation results for tests/test_simple_cache.py::test_big_row at the high watermark

	 📦 Total memory allocated: 318.7MiB
	 📏 Total allocations: 16
	 📊 Histogram of allocation sizes: |█▃   |
	 🥇 Biggest allocating functions:
		- _op_msg:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/pymongo/message.py:762 -> 223.4MiB
		- test_big_row:/home/runner/work/dataset-viewer/dataset-viewer/libs/libcommon/tests/test_simple_cache.py:359 -> 95.4MiB
		- getaddrinfo:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/socket.py:954 -> 1.5KiB
		- __init__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/mongoengine/queryset/base.py:90 -> 1.1KiB
		- __init__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/mongoengine/queryset/base.py:90 -> 1.1KiB

Allocation results for tests/test_url_signer.py::test_sign_urls_in_first_rows_in_place[audio] at the high watermark

	 📦 Total memory allocated: 90.9MiB
	 📏 Total allocations: 8099
	 📊 Histogram of allocation sizes: |  █  |
	 🥇 Biggest allocating functions:
		- __call__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/llvmlite/binding/ffi.py:192 -> 2.0MiB
		- __call__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/llvmlite/binding/ffi.py:192 -> 1.9MiB
		- _call_with_frames_removed:<frozen importlib._bootstrap>:228 -> 1.8MiB
		- _call_with_frames_removed:<frozen importlib._bootstrap>:228 -> 1.8MiB
		- _call_with_frames_removed:<frozen importlib._bootstrap>:228 -> 1.3MiB

Allocation results for tests/viewer_utils/test_features.py::test_ogg_audio_with_s3 at the high watermark

	 📦 Total memory allocated: 24.3MiB
	 📏 Total allocations: 693
	 📊 Histogram of allocation sizes: | █   |
	 🥇 Biggest allocating functions:
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 5.8MiB
		- _load_file:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/botocore/loaders.py:178 -> 2.9MiB
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 2.8MiB
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 2.7MiB
		- _call_with_frames_removed:<frozen importlib._bootstrap>:228 -> 1.5MiB

Allocation results for tests/test_integration_s3_cloudfront.py::test_real_cloudfront at the high watermark

	 📦 Total memory allocated: 13.3MiB
	 📏 Total allocations: 422
	 📊 Histogram of allocation sizes: | █   |
	 🥇 Biggest allocating functions:
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 5.5MiB
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 2.7MiB
		- raw_decode:/opt/hostedtoolcache/Python/3.9.18/x64/lib/python3.9/json/decoder.py:353 -> 1.0MiB
		- load_ssl_context_verify:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/httpx/_config.py:145 -> 654.6KiB
		- load_ssl_context_verify:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/httpx/_config.py:145 -> 654.6KiB

Allocation results for tests/test_parquet_utils.py::test_rows_index_query_with_parquet_metadata at the high watermark

	 📦 Total memory allocated: 10.2MiB
	 📏 Total allocations: 25
	 📊 Histogram of allocation sizes: |▆█▂  |
	 🥇 Biggest allocating functions:
		- __init__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/pyarrow/parquet/core.py:341 -> 18.1KiB
		- read_row_group:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/pyarrow/parquet/core.py:490 -> 9.1KiB
		- __init__:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/pyarrow/parquet/core.py:341 -> 7.9KiB
		- read_row_group:/home/runner/.cache/pypoetry/virtualenvs/libcommon-V4ce2JTs-py3.9/lib/python3.9/site-packages/pyarrow/parquet/core.py:490 -> 1.3KiB

======================= 840 passed in 163.90s (0:02:43) ========================

This first step installs memray and runs it over pytest. I'm not sure it gives us insights for now. We might have to setup tests dedicated to ensuring the RAM stays below some limit, with @pytest.mark.limit_memory(), see https://bloomberg.github.io/memray/tutorials/additional_features.html#pytest-plugin

but i'm not sure I understand how it works, why there are only 4 functions in a report?

Yes, pytest-memray provides various things:

if --memray is passed to pytest, it shows the 4 tests that consumed most RAM. It's what I used, but it's surely not the most useful
you can use the decorators @pytest.mark.limit_memory() and @pytest.mark.limit_leaks() on specific test functions (that should generally contain loops, to be reproducible) to test if a test respectively consumes and leaks less than X MB of RAM. This part is the most useful, I think, but it requires to write tests


Various documentation fixes

Enhancement
Description
Fixed some errors in the documentation.

Thank you so much for spotting all of these! I don't even begin to know how you picked those out.
Is there any way we can help you get started with the library? We are here for you.

I have already tried it in a Hello World type app without any problems. Also, I have tried using it in a complex production app with some minor hiccups which are app specific. I was able to resolve the problems. I'll get back to you if I find any repeating problematic patterns so we add warnings to new users in the docs or we can discuss it further for any enhancements. Thanks for the quick response!


Add french support

Fix issue #45

Sorry I haven't had a chance to keep this library up to date. There was already a french support PR, which I've merged now.
Any chance you want to resolve the conflicts if there's still functionality you're looking for?

Ok, thx
i resolve the conflicts and fix some translations.

Thanks, I fixed the gitignore conflicts and merged this via https://github.com/grahamar/cron-parser/pull/47
Thanks very much for your contribution!


Add feature flag to CC Search to hide in-development features

So I think the way to go about this is to introduce a configuration file in the Vue code, like src/features.json or wherever you think it's most appropriate, with something like...
{
    watermark_enabled = False,
    foo_enabled = True,
    bar_enabled = False,
   . . .
}

In the deployment code, I'll overwrite this file with deployment-time settings from environment variables. Once @breno figures out the right place and format for the configuration I'll set update the deployment scripts to accommodate


nova_services no route to host

Stack trace creates an "UNKNOWN" alert when it should report CRITICAL
<function check_nova_services at 0x7f2cdc560e18> raised unknown exception '<class 'keystoneauth1.exceptions.connection.ConnectFailure'>'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 141, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 83, in create_connection
raise err
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
OSError: [Errno 113] No route to host
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 346, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 852, in _validate_conn
conn.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 284, in connect
conn = self._new_conn()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 150, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f2cdc0353c8>: Failed to establish a new connection: [Errno 113] No route to host
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 440, in send
timeout=timeout
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='keystone.example.com', port=35357): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f2cdc0353c8>: Failed to establish a new connection: [Errno 113] No route to host',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 756, in _send_request
resp = self.session.request(method, url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 520, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 630, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 508, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='keystone.example.com', port=35357): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f2cdc0353c8>: Failed to establish a new connection: [Errno 113] No route to host',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/nagios/plugins/nagios_plugin3.py", line 32, in try_check
function(*args, **kwargs)
File "/usr/local/lib/nagios/plugins/check_nova_services.py", line 54, in check_nova_services
aggregates = nova.get('/os-aggregates').json()['aggregates']
File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 304, in get
return self.request(url, 'GET', **kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 189, in request
return self.session.request(url, method, **kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 573, in request
auth_headers = self.get_auth_headers(auth)
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 900, in get_auth_headers
return auth.get_headers(self, **kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/plugin.py", line 95, in get_headers
token = self.get_token(session)
File "/usr/lib/python3/dist-packages/keystoneauth1/identity/base.py", line 88, in get_token
return self.get_access(session).auth_token
File "/usr/lib/python3/dist-packages/keystoneauth1/identity/base.py", line 134, in get_access
self.auth_ref = self.get_auth_ref(session)
File "/usr/lib/python3/dist-packages/keystoneauth1/identity/generic/base.py", line 201, in get_auth_ref
return self._plugin.get_auth_ref(session, **kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/identity/v3/base.py", line 177, in get_auth_ref
authenticated=False, log=False, **rkwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 848, in post
return self.request(url, 'POST', **kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 698, in request
resp = send(**kwargs)
File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 772, in _send_request
raise exceptions.ConnectFailure(msg)
keystoneauth1.exceptions.connection.ConnectFailure: Unable to establish connection to https://keystone-1.example.com:35357/v3/auth/tokens: HTTPSConnectionPool(host='keystone.example.com', port=35357): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f2cdc0353c8>: Failed to establish a new connection: [Errno 113] No route to host',))

(by addyess)
Observed on cs:~canonical-bootstack/openstack-service-checks-30


chore(release): develop changes

☁ Nx Cloud Report
CI is running/has finished running commands for commit a59ff5ba664de2985fa2483163af7a38efc731ac.  Click to see the status, the terminal output, and the build insights.
📂 See all runs for this branch

✅ Successfully ran 1 target

nx affected --target=test --base=9e8899437c29bb26269264e7347c10e4f5eafadc --head=a59ff5ba664de2985fa2483163af7a38efc731ac --exclude=workspace --output-style=stream-without-prefixes -- --ci --code-coverage --runInBand

Sent with 💌 from NxCloud.


Delete @Deprecated Control panel

Remove deprecated code for Micronaut Framework 5.
Document the breaking changes.

This module has no deprecated code for Micronaut Framework 5


Add option to send amount with send-payment

If I want to pay a 0 amount invoice, then I get the following error
Example invoice:
lnbcrt1ps6hyqqpp5shls2yek2mxvm9seek8yl4w2c0jts0j63u7sanl6geqgf72ndhvsdq8w3jhxaqcqzpgxqrrsssp5xpvyhfe0euruhvj99cseczh5jfh75nxeu4vmfdexxfa4068jtp7q9qyyssqpmjdulnu6nh8nj2njhqkdhurf36042k4knx75yu4nm75m4g770pq6ahv66l8tp7weed6vte3k9axjqn2s4yceppthtr79xtgg3wdgfsqn2lz6k
Error:
TypeError: _check_if_locked() missing 1 required positional argument: 'error'
As a user I want to pay 0 sat invoices as well. The functionality is implemented in cstenglein/raspiblitz-web#159 already but there is a query param missing to tell blitz_api the amount.

Awesome, thx! :)

Gerne :D
Christoph Stenglein @.***> schrieb am So., 9. Jan.
2022, 21:38:

Awesome, thx! :)
—
Reply to this email directly, view it on GitHub
https://github.com/fusion44/blitz_api/issues/63#issuecomment-1008384450,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD3BEFVGGKBYMYT66CLGADUVHW6FANCNFSM5LM3MPHA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Add support for Cloaks+ and Cosmetica capes

What feature do you want to see added?
Hi I already saw that geyser allows third party capes like optifine and Minecraftcapes.
I wanted to request the implementation of cloaks+ capes a free mod that gives u a cloak for free and also other decorations.
The way they do it is exactly like optifine with their own server hosting the cape that gets loaded on the client of choice ( u need optifine to use the mod) and it supports lunar and other clients.
Their site:
https://cloaksplus.com/
Same thing goes for cosmetica
(Someone requested this already:
GeyserMC/ThirdPartyCosmetics#3 )
Are there any alternatives?
Couldn’t find a workaround

Due to how Cloaks+ installs it's self (edits the system hosts file) we are not comfortable with adding it to an official extension.


Store modified and encoded refresh token if not reusing refresh tokens

The refresh token is modified and encoded during creation of access token. If the original decoded and unmodified value is stored, the delivered refresh token value is not the same as the stored one and the next call of refresh access token will fail, because the refresh token could not be found in the token store.

@denise-schaefer Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@denise-schaefer Thank you for signing the Contributor License Agreement!

@denise-schaefer I'm going to close this PR as it's quite old. If this is still valid, can you please rebase off master and resubmit a new PR that includes a test.


fix(SelectControl): select zero value

SUMMARY
If SelectControl has options with numeric values, then the value 0 can be selected.
In this case, if defaultValue is not set or it is set to undefined, then currentValue will be set to undefined instead of 0.
This fix allows correctly save SelectControl with selected option, which value equals to 0, when the default value is undefined.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

Create SelectControl instance in the controlPanel and set choices with numeric value:
[[0, "label_1"],  [1, "label_2"]]
Don't specify default value or set default value to undefined.
Select option with value 0 and save chart.
Reload page and check, whether the SelectControl has selected value.

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@rekilina I didn't have my laptop handy yesterday, but I noticed now that there's SelectControl.test.jsx where you should be able to add a test for this. Would you be able to take a stab at that?

@rekilina I'll go ahead and merge this one and follow up with a test PR, as the test suite is arguably pretty messy in its current state. But if you want to add the test, let me know by tagging me here so I can avoid opening a new PR for it.


Allow bazel .16

Not actually clear this works yet, building the world now.

https://github.com/google/kythe/pull/2892 supersedes this PR.


Allow zoom_for_res to work for a TMS with a minzoom > 0

The previous logic resulted in an error
(OverflowError: cannot convert float infinity to integer) when
attempting to compute the resolution for a zoom that wasn't defined on
the TMS.

🙏 thanks for this @samn


Current time settings not working for long duration (>600 years)

I want to create a model which runs for over a thousand years but this does not seem possible at the moment. Currently we assume that ds.time is a pandas time range, see the nlmod.time.set_ds_time. Apparently pandas timestamps (or calculations with pandas timestamps) raise errors when using dates before the year 1678 or after the year 2262.
start = pd.Timestamp("1500-1-1")
perlen = [1000] * 10

ds = nlmod.time.set_ds_time(ds, start=start, perlen=perlen)

will raise this error:
OutOfBoundsDatetime: Cannot cast 1500-01-01 00:00:00 to unit='ns' without overflow.

This won't raise an error
start = pd.Timestamp("1700-1-1")
perlen = [1000] * 10

ds = nlmod.time.set_ds_time(ds, start=start, perlen=perlen)

The xarray documentation has a note on this:

When decoding/encoding datetimes for non-standard calendars or for dates before year 1678 or after year 2262, xarray uses the cftime library. It was previously packaged with the netcdf4-python package under the name netcdftime but is now distributed separately. cftime is an optional dependency of xarray.

and below that another note:

One unfortunate limitation of using datetime64[ns] is that it limits the native representation of dates to those that fall between the years 1678 and 2262. When a netCDF file contains dates outside of these bounds, dates will be returned as arrays of cftime.datetime objects and a CFTimeIndex will be used for indexing. CFTimeIndex enables a subset of the indexing functionality of a pandas.DatetimeIndex and is only fully compatible with the standalone version of cftime (not the version packaged with earlier versions netCDF4). See Non-standard calendars and dates outside the nanosecond-precision range for more information.

I will have a look into creating a cftime index.
Full error of the first code block:
---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\_libs\tslibs\timestamps.pyx in pandas._libs.tslibs.timestamps._Timestamp._as_creso()

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\_libs\tslibs\np_datetime.pyx in pandas._libs.tslibs.np_datetime.convert_reso()

OverflowError: value too large

The above exception was the direct cause of the following exception:

OutOfBoundsDatetime                       Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_5536\2908121607.py in <cell line: 5>()
      3 perlen = [1000] * 10
      4
----> 5 ds = nlmod.time.set_ds_time(ds, start=start, perlen=perlen)
      6 ds.time

~\02_python\nlmod\nlmod\dims\time.py in set_ds_time(ds, start, time, steady, steady_start, time_units, perlen, nstp, tsmult)
    229     # convert time to Timestamps
    230     if isinstance(time[0], (int, np.integer, float)):
--> 231         time = pd.Timestamp(start) + pd.to_timedelta(time, time_units)
    232     elif isinstance(time[0], str):
    233         time = pd.to_datetime(time)

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\ops\common.py in new_method(self, other)
     79         other = item_from_zerodim(other)
     80
---> 81         return method(self, other)
     82
     83     return new_method

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\arraylike.py in __radd__(self, other)
    188     @unpack_zerodim_and_defer("__radd__")
    189     def __radd__(self, other):
--> 190         return self._arith_method(other, roperator.radd)
    191
    192     @unpack_zerodim_and_defer("__sub__")

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\indexes\base.py in _arith_method(self, other, op)
   6815             return NotImplemented
   6816
-> 6817         return super()._arith_method(other, op)
   6818
   6819     @final

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\base.py in _arith_method(self, other, op)
   1346
   1347         with np.errstate(all="ignore"):
-> 1348             result = ops.arithmetic_op(lvalues, rvalues, op)
   1349
   1350         return self._construct_result(result, name=res_name)

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\ops\array_ops.py in arithmetic_op(left, right, op)
    222         # Timedelta/Timestamp and other custom scalars are included in the check
    223         # because numexpr will fail on it, see GH#31457
--> 224         res_values = op(left, right)
    225     else:
    226         # TODO we should handle EAs consistently and move this check before the if/else

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\roperator.py in radd(left, right)
      9
     10 def radd(left, right):
---> 11     return right + left
     12
     13

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\arrays\datetimelike.py in __radd__(self, other)
   1367     def __radd__(self, other):
   1368         # alias for __add__
-> 1369         return self.__add__(other)
   1370
   1371     @unpack_zerodim_and_defer("__sub__")

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\ops\common.py in new_method(self, other)
     79         other = item_from_zerodim(other)
     80
---> 81         return method(self, other)
     82
     83     return new_method

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\arrays\datetimelike.py in __add__(self, other)
   1325             result = self._add_offset(other)
   1326         elif isinstance(other, (datetime, np.datetime64)):
-> 1327             result = self._add_datetimelike_scalar(other)
   1328         elif isinstance(other, Period) and is_timedelta64_dtype(self.dtype):
   1329             result = self._add_period(other)

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\arrays\datetimelike.py in _add_datetimelike_scalar(self, other)
   1057
   1058         other = Timestamp(other)
-> 1059         self, other = self._ensure_matching_resos(other)
   1060         self = cast("TimedeltaArray", self)
   1061

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\core\arrays\datetimelike.py in _ensure_matching_resos(self, other)
   1977                 self = self.as_unit(other.unit)
   1978             else:
-> 1979                 other = other.as_unit(self.unit)
   1980         return self, other
   1981

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\_libs\tslibs\timestamps.pyx in pandas._libs.tslibs.timestamps._Timestamp.as_unit()

c:\Users\oebbe\anaconda3\envs\nlmod\lib\site-packages\pandas\_libs\tslibs\timestamps.pyx in pandas._libs.tslibs.timestamps._Timestamp._as_creso()

OutOfBoundsDatetime: Cannot cast 1500-01-01 00:00:00 to unit='ns' without overflow.

Perhaps you can take some inspiration from imod, from some random conversations at some point I know they've also dealt with this issue.

Yes they implemented the cftime option for this case.


Return domicile values consistent with HESA codes, not ISO 3166-2

Context
Providers need to submit information to HESA about candidate's country of domicile.
We currently return domicile as the country code of the student's address as the ISO 3166-2 country code, but these codes are not valid for particular countries of domicile.
For UK addresses:
The ISO country code GB is valid for nationality, but not domicile, where there are separate codes for the individual countries: XF, XG, XH, XI
If the individual country isn't known for UK addresses, we can return code XK.
Changes proposed in this pull request
Add a DomicileResolver service, with a built-in table of known domicile codes.
This PR adds the following to our COUNTRIES list:
AQ Antarctica
XK Kosovo

The DomicileResolver service will pass country codes as HESA codes for all international addresses except for the following re-maps:
AQ (Antartica) to XX (Antartica and Oceania not otherwise specified)
CY (Cyprus) to XC (Cyprus not otherwise specified)
XK (Kosovo) to QO (Kosovo)
unresolved international addresses to ZZ (Not known)

For UK addresses, the challenge is specifying the the country (England, Wales...) from the address. DomicileResolver uses the UK postcode prefix against a lookup table to return:
XF England
XG Northern Ireland
XH Scotland
XI Wales
XL Channel Islands (not otherwise specified)
XK United Kingdom (not otherwise specified) [last resort]

XK is also returned when the postcode prefix spans two countries (e.g. England/Scotland).
Guidance to review
No stored domicile field against an application for now, as the in-memory lookup is fast. AQ and XK are added to the COUNTRIES list because HESA re-maps them, so it's safer to add them now. Any other ISO country codes are valid HESA codes, so devs can add them to COUNTRIES without worrying about HESA codes.
I have changed our API responses and HESA export to return these new values instead of ISO codes for domicile. We don't seem to display domicile anywhere else. Should we also add it to application choices within the provider interface?
Finally, will specifying domicile in ApplicationDataExport break anything?
Link to Trello card
3117 - Correctly return country of domicile values
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Very nice! I think it's a good idea to add it to Manage UI while we're here. And support too.

I've added the domicile code to the support interface but unsure if we should add to the provider interface yet, as all we have is the code, not the description of what it means e.g. XF instead of England.
I guess I could add all HESA data to the class and do a reverse lookup of code to country for the provider interface, but I guess we should chat a bit about it first and it could be its own story ('expose domicile in the provider interface').


Vickel: Watch time[\W_]+agency[\W_]+group(?!.com(?<=timeagencygroup.com))

Vickel requests the watch of the watch_keyword time[\W_]*+agency[\W_]*+group(?!\.com(?<=timeagencygroup\.com)). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

time[\W_]*+agency[\W_]*+group(?!\.com(?<=timeagencygroup\.com)) has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


[BUG] StackOverflowError during compilation

Describe the bug
StackOverflowError during compilation.
To Reproduce
https://paste.implario.dev/nasovuyeze.java
Expected behavior
No StackOverflowError
Version info (please complete the following information):
1.18.20
javac 1.8.0_275

Uage of local variable for the injector seems to solve the issue.

Duplicate of #1118
As you already figured out the easiest workaround is to split up the long method invocation chain.


[#122] [Enhancement] Update HelpCommand to display command summary table

Changes
Before

After

Closes #122

The current image of the command summary table is an old version. Once the user guide is done and finalised, I'll update it. For now, let me know if this looks okay. Thanks!

Looks good to me! Does the window scale properly with the table?

Looks good to me! Does the window scale properly with the table?

For now, the window is not scalable, meaning you cannot resize the window. But I'll look into whether it's possible to do so. Thanks for the suggestion!


I would like to extract Metadata based on Regex

I have an org with metadata that is not packaged. Most of the Metadata is organized with prefixes, like HC. I would like to use a Manifest with the following format to extract, for instance, Apex classes that start with HC.
<types>
        <members>HC*</members>
        <name>ApexClass</name>
</types>

or with regex
<types>
        <members>/HC.*/</members>
        <name>ApexClass</name>
</types>

This would be useful in cases I have a lot of metadata with prefixes and I don't want to expend time using an UI to select each one of them.

Hi Allan.  This would be a feature request for the metadata API, not for the CLI (which just uses the metadata API for deploys/retrieves). If the metadata API made the change to support it then you could do that from the CLI or any other tool that uses the metadata API.  I would suggest using the IdeaExchange to influence the prioritization of this feature.  https://ideas.salesforce.com/s/about


[Bug] unit tests' comparisons are sometimes sensitive to the order of records returned

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
Normally, dbt's unit tests don't care whether rows are ordered the same as the expect block or not.
id
---
1
2
3

is just as good as
id
---
3
2
1

as far as
...
expect:
  rows:
    - {"id": 2}
    - {"id": 3}
    - {"id": 1}

is concerned.
I have a use case which is order dependent, but I don't know why.
Expected Behavior
Order to not matter
Steps To Reproduce
Unit test yaml:
unit_tests:
  - name: reworked_compare_identical_tables_multiple_null_pk_with_duplicate_rows
    description: All rows with a null ID are identical. They should be returned as individual rows instead of being combined
    model: unit_reworked_compare

    given:
      - input: ref('unit_test_model_a')
        rows:
          - { "id": , "col1": "abc", "col2": "def" }
          - { "id": , "col1": "abc", "col2": "def" }
          - { "id": 3, "col1": "nop", "col2": "qrs" }
      - input: ref('unit_test_model_b')
        rows:
          - { "id": , "col1": "abc", "col2": "def" }
          - { "id": , "col1": "abc", "col2": "def" }
          - { "id": , "col1": "abc", "col2": "def" }
          - { "id": 3, "col1": "nop", "col2": "qrs" }

    expect:
      rows:
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}
        - {"dbt_audit_row_status": 'identical', 'id': 3, dbt_audit_num_rows_in_status: 1}

    overrides:
      vars:
        reworked_compare__columns: ['id', 'col1', 'col2']
        reworked_compare__event_time:
        reworked_compare__primary_key_columns: ['id']

The tested model (which is just a call to a macro)
--models/unit_reworked_compare.sql
{{
    audit_helper.reworked_compare(
        "select * from " ~ ref('unit_test_model_a'),
        "select * from " ~ ref('unit_test_model_b'),
        primary_key_columns=var('reworked_compare__primary_key_columns'),
        columns=var('reworked_compare__columns'),
        event_time=var('reworked_compare__event_time')
    )
}}

--models/unit_test_model_a
select 12 as id, 22 as id_2, 'xyz' as col1, 'tuv' as col2, 123 as col3, {{ dbt.current_timestamp() }} as created_at

--models/unit_test_model_b
select 12 as id, 22 as id_2, 'xyz' as col1, 'tuv' as col2, 123 as col3, {{ dbt.current_timestamp() }} as created_at

(Yes, unit_test_model_a and unit_test_model_b are identical! They're not used in production contexts, just to define the columns so they can be overridden by the actual test)
Log output when I run `dbt test -s :
23:23:49  Failure in unit_test reworked_compare_identical_tables_multiple_null_pk_with_duplicate_rows (models/unit_test_wrappers/unit_reworked_compare.yml)
23:23:49

actual differs from expected:

@@ ,DBT_AUDIT_ROW_STATUS,ID  ,DBT_AUDIT_NUM_ROWS_IN_STATUS
---,nonunique_pk        ,null,3
---,nonunique_pk        ,null,3
---,nonunique_pk        ,null,3
   ,identical           ,3   ,1
+++,nonunique_pk        ,null,3
+++,nonunique_pk        ,null,3
+++,nonunique_pk        ,null,3

But if I reorder the expect block so that the identical row is on top:
    expect:
      rows:
        - {"dbt_audit_row_status": 'identical', 'id': 3, dbt_audit_num_rows_in_status: 1}
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}
        - {"dbt_audit_row_status": 'nonunique_pk', 'id': , dbt_audit_num_rows_in_status: 3}

The test passes.
Compiled code:
reworked_compare_identical_tables_multiple_null_pk_with_duplicate_rows.txt
Relevant log output
No response
Environment
00:08:41  dbt version: 1.8.0-b3
00:08:41  python version: 3.11.0
00:08:41  python path: /Users/joel/venvs/dbt-dev/bin/python3
00:08:41  os info: macOS-14.4.1-x86_64-i386-64bit

Which database adapter are you using with dbt?
No response
Additional Context
I think it's something to do with the fact that I'm only testing a subset of columns, or maybe that there are null values? Even though the tested columns are all identical, the extra columns that the results return do vary. I made a Loom of a different unit test which is easier to demonstrate with: https://www.loom.com/share/23b636f08019437eb2b09c912e9723fb
You can see all of my assorted tests here.

@joellabes Which database are you seeing this error in?

Amusingly, I also believe that each adapter has different order needs! This test fails on Redshift but passes locally on Snowflake: https://app.circleci.com/pipelines/github/dbt-labs/dbt-audit-helper/416/workflows/64b0d0f6-8cd8-48cf-bac2-e462987d69fa/jobs/409 (and presumably vice versa, but I haven't 100% tested that)

Notes from estimation:

could be related to https://github.com/dbt-labs/dbt-core/issues/9881 (but that's for csv, this one is independent of format)


Please publish version 3.7.0 to npm

Current published package is 3.6.17. Would be great if you could publish version 3.7.0 to npm as well.
Many thanks for the great library.

v4+ published


Dont write creds-init files if none of that type are mounted

Changes
This commit fixes the immediate bug described in https://github.com/tektoncd/pipeline/issues/2791, but does not implement the feature request. I'll leave that for a follow-up.
Currently our creds-init code builds files on disk even when a credential
of a given type doesn't exist. For example, a .ssh/known_hosts file
is written even if there are no git ssh keys mounted in the step container.
It will be an empty file. The same is true for .docker/config.json and
.gitconfig.
This commit changes our creds init code to only write files for credentials
that have actually been mounted from correctly annotated secrets.

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

Release Notes
NONE

/hold
I will add some tests for this.

/kind bug

/hold cancel
I've added an example YAML that exercises the expected behaviour.  Using an example YAML feels like the cleanest approach given that the directory contents inside the Task's container needs to be validated but I'm open to suggestions here if there's a better way.

/lgtm

@sbwsg if this fixes a bug does it make sense to include some release notes?

Updated with release note and flipped labels on PR to indicate one is included.


Windows Taskbar

Hello!
I'm using a lot your Qonsole and I really like the ease it gives me on my work, though I have a small problem and I don't know if it should be written here, as an issue, or elsewhere.
Anyway, the thing is that I am used to position the windows taskbar on the top of the screen and not on the bottom, as it is by default. For this reason the Qonsole is behaving a bit strange. Maybe a good solution would be to have a setting where to choose the margin from the top/bottom of the screen. In that way I could position the Qonsole immediately under the taskbar and problem solved! What do you think?
Thanks for your time

So a "vertical margin" option? I could add that, no issue. :)
If you could also provide a screenshot, it would be easier for me to visualise it. 👍

Well of course I can give a screenshot, though it's not very clear what the problem is. If you notice, you can see the taskbar covering part of the Qonsole on the top.

I see qonsole seems to appear behind the taskbar... Usually, it is in front of it (set as AlwaysOnTop). Hmm...

Hopefully, this new release is satisfactory. :)

Qonsole v1.4.4

It's not perfect, or well polished, f.e. the animation in the beginning makes the qonsole pass in front of the taskbar, since it starts from the top of the screen and it looks a bit ugly, but it does the trick and it works fine.
Thanks joedf!


Update propagateSwipe in readme

I forgot to include this change in https://github.com/react-native-modal/react-native-modal/pull/542

thanks!


S3 Lambda fails when it encounters gz file with 0 Bytes

Issue
I use the Coralogix S3 Lambda function as part of the terraform-coralogix-aws Terraform module v1.0.11 to forward AWS ELB access logs to Coralogix.
All access log files are gzipped by AWS. Some access log files have 0 Bytes though. I acknowledge that this is an issue on the AWS side and these files shouldn't even exist, but for now it's easier to fix this in the S3 Lambda function processing these files. When unpacking these files, an error occurs.
Every time such a file is encountered the Lambda invocation fails with a gzip error "responsePayload":{"errorType":"Error","errorMessage":"unexpected end of file","trace":["Error: unexpected end of file","    at Zlib.zlibOnError [as onerror] (node:zlib:189:17)"]}.
We have enabled e-mail notifications through the SNS topic integration. We receive several notifications about this per day, so it's a common occurence.
Reproduce
I failed to create a gzipped file with 0 Bytes because as soon as you gzip an empty file, it has some bytes. So to reproduce you can simply create a normal file and call it my.log.gz.
Prepare file:
touch my.log.gz
aws s3 cp my.log.gz s3://my-test-bucket

Simplified version of the Coralogix S3 Lambda function code:
const aws = require("aws-sdk");
const zlib = require("zlib");
const s3 = new aws.S3();

const myTestKey = "my.log.gz"
const myTestBucket = "my-test-bucket"

const event = {
    Records: [
        {
            s3: {
                bucket: {
                    name: myTestBucket
                },
                object: {
                    key: myTestKey,
                    size: 0
                }
            }
        }
    ]
}

function handler(event, context, callback) {
    const bucket = event.Records[0].s3.bucket.name;
    const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, " "));

    // TBD: Possible fix?
    // const size = event.Records[0].s3.object.size;
    //
    // if (size === 0) {
    //     console.log(`Detected size 0. Skipping ${key}.`);
    //     return;
    // }

    s3.getObject({
        Bucket: bucket,
        Key: key
    }, (error, data) => {
        if (error) {
            callback(error);
        } else {
            if (data.ContentType == "application/x-gzip" ||
                data.ContentEncoding == "gzip" ||
                data.ContentEncoding == "compress" ||
                key.endsWith(".gz")
            ) {
                zlib.gunzip(data.Body, (error, result) => {
                    if (error) {
                        callback(error);
                    } else {
                        console.log("Sending logs");
                        callback(null, data.ContentType);
                    }
                });
            } else {
                console.log("Sending logs");
            }
        }
    });
}

function ret(error, contenttype = null) {
    if (error) {
        console.error(error);
    } else {
        console.log("Success");
    }
}

handler(event, null, ret);

node lambda.js

Error: unexpected end of file
    at Zlib.zlibOnError [as onerror] (node:zlib:189:17) {
  errno: -5,
  code: 'Z_BUF_ERROR'
}

Possible fix
The object.size property can be used to check if a file has 0 Bytes. If it does, zlib will always fail on it. Such files could be skipped.
Instead of opening a PR I decided to open an issue, since it can be argued that the correct behaviour is to fail hard when such a file is encountered. Currently the Lambda can't be used reliably to forward access logs from S3 though, since we are spammed with these errors.
What do you think?

We are currently in the process of releasing a new lambda and this is something that we will solve there
you can see it in here
https://github.com/coralogix/coralogix-aws-shipper/tree/fix/zerofilezip


Intermittent AttributeError during Association

Traceback (most recent call last):
  File "/opt/python/3.3.5/lib/python3.3/threading.py", line 901, in _bootstrap_inner
    self.run()
  File "./pynetdicom3/DULprovider.py", line 487, in run
    if self.CheckNetwork():
  File "./pynetdicom3/DULprovider.py", line 387, in CheckNetwork
    return self.is_transport_connection_event()
  File "./pynetdicom3/DULprovider.py", line 456, in is_transport_connection_event
    self.CheckIncomingPDU()
  File "./pynetdicom3/DULprovider.py", line 329, in CheckIncomingPDU
    self.pdu = Socket2PDU(bytestream, self)
  File "./pynetdicom3/DULprovider.py", line 582, in Socket2PDU
    acse = dul.association.acse
AttributeError: 'Association' object has no attribute 'acse'

I've only seen it during Travis builds, weirdly.

Seems to occur due to the DUL being created and started before Association.acse is set, but DUL.Socket2PDU shouldn't be called unless there's network activity on the socket.


Document Proguard rules

Hi,
This library has been very useful to us to make it easy to support webp on our Desktop/JVM application. The only issue I found was when I enabled Proguard to shrink the app.
These Proguard rules are required to keep the names used by the Service Provider:
-keep class javax.imageio.spi.ImageReaderSpi { *; }
-keep class com.luciad.imageio.webp.WebPImageWriterSpi { *; }
-keep class javax.imageio.spi.ImageReaderSpi { *; }
-keep class com.luciad.imageio.webp.WebPImageReaderSpi { *; }

Could that be added to README/documentation?
Thanks!

Thanks for letting me know!
I managed to reproduce this on my end, and came up with the following rules: https://github.com/usefulness/webp-imageio/blob/8408fbbd9bf3cad6b829e5d61b2236f2dc77fc58/webp-imageio/src/main/resources/META-INF/proguard/web-imageio.pro. They should be bundled and loaded automatically, so no documentation should be needed.
I'm not sure I've got why you needed to keep javax.imageio.spi.ImageReaderSpi, here's R8 output when you attempt to keep the class:

If you want, you can give the snapshot version a try. I'll wait a bit for a confirmation everything works on your end and publish a regular release :)

Thank you for the quick reply!
On javax.imageio.spi.ImageReaderSpi - actually that was response to some strange warnings from my Desktop/compose proguard build that it considered javax.imagio a program class instead of a library class. It definitely shouldn't be needed in the proguard for webp-imageio.
I haven't seen rules being loaded automatically on JVM as happens on Android. I think most of the JVM world is still on Proguard (Jetpack Compose/Desktop is one of them), and don't load the rules automatically. I think it would be good to document it.

Oh, interesting. I thought it became a standard already (since it is supported out-of-the-box by R8), but now I've found out for Proguard this is a standard, but only for Android builds: https://github.com/Guardsquare/proguard/issues/337 😮


[cli-kit] Refactor store.ts

WHAT is this pull request doing?

Refactor store.ts
Moved the configuration storage logic to each domain:

App: Created conf.ts with its own schema
Theme: Move the logic to theme-store.ts (just one operation, get/set theme store)
Cli-kit: kept the logic for storing session info when keychain is not available.

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

Agree on the namings, i'll update it, thanks for the review @gonzaloriestra


[client-go] Generate from outside GOPATH

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Make client-go generate work from outside GOROOT and a reference to k8s.io/code-generator in go.mod
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/cc @tenzen-y

NOTE: Even if using the main branch, I could generate the client-go code if I put the kueue repository the under GOPATH.

The scope is not to move the code in GOROOT.

I meant I could generate codes in GOPATH without this improvement.

The scope is not to move the code in GOROOT.

I meant I could generate codes in GOPATH without this improvement.

I know, I need it to work outside GOPATH.

The scope is not to move the code in GOROOT.

I meant I could generate codes in GOPATH without this improvement.

I know, I need it to work outside GOPATH.

I'm a bit confused. Which do you mean GOROOT or GOPATH?

GOPATH, sorry for the confusion. (It's been some time since I needed to use this term (before  go 1.11))

I'm ok with this change, if we decide that we will move all tools to use the same approach as this PR, instead of go install

I'm ok with this change, if we decide that we will move all tools to use the same approach as this PR, instead of go install

+1
Because we should use consistent ways to manage tools.

The go install step cannot be removed, but we can have the same way of managing the versions.(via go.mod)

Leaving LGTM to @tenzen-y

/lgtm


[Feature]: Filters for hackathon

Is your feature request related to a problem? Please describe.
Implement filters like platform (devfolio, unstop etc), duration, city, month etc.
Describe the solution you'd like
.
Alternatives
No response
Additional Context
No response
Are you interested in contributing?

[ ] I'd like to work on this issue

Code of Conduct

[X] I have used the search function to check if an issue already exists
[X] I agree to follow this project's Code of Conduct

i have some basic experience with firebase but im proficient, in mern stack. Can you assign this issue to me?

Hey @Shreyash0368, did you setup the project locally?
If you're facing any issue - feel free to discuss on discord.
You won't need firebase for this issue!
Check the implementation of contests, we need similar for hackathons.

@pranshugupta54 If no update then I would like work

@pranshugupta54 there is no data about city in database

@Latish705, skip the city part for now

@pranshugupta54
https://github.com/digitomize/digitomize/assets/104522651/06496819-5649-4b8c-b86b-0778e589d53b
the filter feature like this

@pranshugupta54 can explain a little more about sorting

LIke start date/time is nearest or farthest

@pranshugupta54
https://github.com/digitomize/digitomize/assets/104522651/f32708b9-76a8-4a91-94ea-492fef174df7
I have build the filter like this tell me if any changes needed
working on the sorting

@pranshugupta54 what up with this? Should I raise pr for this or any other changes do you need?

Add labels on this also


Add path policy support to showpaths and scmp tool

scion showpaths and traceroute have support for path sequences via the --sequence argument. This covers the usecases we want to cover for now. Closing the issue.


update flink to 1.17.2

Bump to flink 1.17.2 required to resolve version incompatibility between flink-connector-kafka 1.14.3 and kafka-clients 3.2.3 when feeding flink metrics to datadog.
Error while reporting metrics java.lang.NoSuchMethodError: 'double org.apache.kafka.common.Metric.value()'

Hi @fieldera-da,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla

@sebastian-alfers @franciscolopezsancho Are you able to help progress this PR? The FOSSA checks are failing because they need a new API KEY.

Hi @fieldera-da, I removed fossa from the CI jobs according to our deprecation notice. Feel free to rebase your PR if you think that it helps to move it forward.

@sebastian-alfers Thank you very much. CI is now green. Would you be able to approve this PR and help us kick off an new RC release?

Thanks @ennru . Any chance you can help create a release based on the tag v0.2.1-RC35 ? I the lack entitlements to progress further.

That's great. Thank you very much.
On Tue, 23 Jan 2024 at 08:09, Enno Runne @.***> wrote:

We released

https://github.com/lightbend/cloudflow-contrib/releases/tag/v0.2.1

—
Reply to this email directly, view it on GitHub
https://github.com/lightbend/cloudflow-contrib/pull/171#issuecomment-1905495169,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVQRBJ6IIGLMY52GCHMHAV3YP5V4JAVCNFSM6AAAAABA3SYA7GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBVGQ4TKMJWHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
This message, and any attachments, is for the intended recipient(s) only,
may contain information that is privileged, confidential and/or proprietary
and subject to important terms and conditions available at
http://www.digitalasset.com/emaildisclaimer.html
http://www.digitalasset.com/emaildisclaimer.html. If you are not the
intended recipient, please delete this message.


Make CLI exit with error code if dapr or app run fail

Signed-off-by: Shubham Sharma<EMAIL_ADDRESS>Description
This PR looks out for errors from Dapr command and app command, and bubbles them to the Dapr CLI.
Scenario 1
Taken from the original issue, run Dapr without installing it.
Before
$ dapr run test
❌  stat /home/shubham1172/.dapr/components: no such file or directory
$ echo $>
0

Now
$ dapr run test
❌  stat /home/shubham1172/.dapr/components: no such file or directory
$ echo $>
1

Scenario 2
Run an app that exits with a error code.
Say an example script:
#!/usr/bin/env bash
exit 1

Before
CLI logs
dapr run --log-level debug ./test.sh
ℹ  Starting Dapr with id Browstream-Fancier. HTTP Port: 35199. gRPC Port: 35617
ℹ  Checking if Dapr sidecar is listening on HTTP port 35199
INFO[0000] starting Dapr Runtime -- version 1.6.0 -- commit 4bb25fab444c4f1a1bf0ffd74293dbd4fdcea580  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] log level set to: info                        app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] metrics server started on :41729/             app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.metrics type=log ver=1.6.0
INFO[0000] standalone mode configured                    app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] app id: Browstream-Fancier                    app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] mTLS is disabled. Skipping certificate request and tls validation  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] local service entry announced: Browstream-Fancier -> <IP_ADDRESS>:36935  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.contrib type=log ver=1.6.0
INFO[0000] Initialized name resolution to mdns           app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] loading components                            app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] component loaded. name: pubsub, type: pubsub.redis/v1  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] waiting for all outstanding components to be processed  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] detected actor state store: statestore        app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] component loaded. name: statestore, type: state.redis/v1  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] all outstanding components processed          app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled gRPC tracing middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.api type=log ver=1.6.0
INFO[0000] enabled gRPC metrics middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.api type=log ver=1.6.0
INFO[0000] API gRPC server is running on port 35617      app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled metrics http middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.http type=log ver=1.6.0
INFO[0000] enabled tracing http middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.http type=log ver=1.6.0
INFO[0000] http server is running on port 35199          app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] The request body size parameter is: 4         app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled gRPC tracing middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.internal type=log ver=1.6.0
INFO[0000] enabled gRPC metrics middleware               app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.internal type=log ver=1.6.0
INFO[0000] internal gRPC server is running on port 36935  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
WARN[0000] app channel is not initialized. did you make sure to configure an app-port?  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] actor runtime started. actor idle timeout: 1h0m0s. actor scan interval: 30s  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor type=log ver=1.6.0
WARN[0000] app channel not initialized, make sure -app-port is specified if pubsub subscription is required  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
WARN[0000] failed to read from bindings: app channel not initialized   app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] dapr initialized. Status: Running. Init Elapsed 8.2562ms  app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ
 scope=dapr.runtime type=log ver=1.6.0
INFO[0000] placement tables updated, version: 0          app_id=Browstream-Fancier instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
ℹ  Checking if Dapr sidecar is listening on GRPC port 35617
ℹ  Dapr sidecar is up and running.
❌  The App process exited with error code: exit status 1
ℹ  Updating metadata for app command: ./test.sh
✅  You're up and running! Both Dapr and your app logs will appear here.

ℹ
terminated signal received: shutting down
✅  Exited Dapr successfully

echo $?
0

Now
CLI logs
dapr run --log-level debug ./test.sh
ℹ  Starting Dapr with id Racerindigo-Guardian. HTTP Port: 43825. gRPC Port: 39355
ℹ  Checking if Dapr sidecar is listening on HTTP port 43825
INFO[0000] starting Dapr Runtime -- version 1.6.0 -- commit 4bb25fab444c4f1a1bf0ffd74293dbd4fdcea580  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] log level set to: debug                       app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] metrics server started on :39307/             app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.metrics type=log ver=1.6.0
INFO[0000] standalone mode configured                    app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] app id: Racerindigo-Guardian                  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] mTLS is disabled. Skipping certificate request and tls validation  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] local service entry announced: Racerindigo-Guardian -> <IP_ADDRESS>:38227  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.contrib type=log ver=1.6.0
INFO[0000] Initialized name resolution to mdns           app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] loading components                            app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] found component. name: pubsub, type: pubsub.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] found component. name: statestore, type: state.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] loading component. name: pubsub, type: pubsub.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] component loaded. name: pubsub, type: pubsub.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] loading component. name: statestore, type: state.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] waiting for all outstanding components to be processed  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] detected actor state store: statestore        app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] component loaded. name: statestore, type: state.redis/v1  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] all outstanding components processed          app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled gRPC tracing middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.api type=log ver=1.6.0
INFO[0000] enabled gRPC metrics middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.api type=log ver=1.6.0
INFO[0000] API gRPC server is running on port 39355      app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled metrics http middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.http type=log ver=1.6.0
INFO[0000] enabled tracing http middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.http type=log ver=1.6.0
INFO[0000] http server is running on port 43825          app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] The request body size parameter is: 4         app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] enabled gRPC tracing middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.internal type=log ver=1.6.0
INFO[0000] enabled gRPC metrics middleware               app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.grpc.internal type=log ver=1.6.0
INFO[0000] internal gRPC server is running on port 38227  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
WARN[0000] app channel is not initialized. did you make sure to configure an app-port?  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] actor runtime started. actor idle timeout: 1h0m0s. actor scan interval: 30s  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor type=log ver=1.6.0
WARN[0000] app channel not initialized, make sure -app-port is specified if pubsub subscription is required  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] try to connect to placement service: dns:///localhost:50005  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
WARN[0000] failed to read from bindings: app channel not initialized   app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
INFO[0000] dapr initialized. Status: Running. Init Elapsed 5.9643999999999995ms  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime type=log ver=1.6.0
DEBU[0000] established connection to placement service at dns:///localhost:50005  app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
DEBU[0000] placement order received: lock                app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
DEBU[0000] placement order received: update              app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
INFO[0000] placement tables updated, version: 0          app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
DEBU[0000] placement order received: unlock              app_id=Racerindigo-Guardian instance=LAPTOP-G7VJUBHJ scope=dapr.runtime.actor.internal.placement type=log ver=1.6.0
ℹ  Checking if Dapr sidecar is listening on GRPC port 39355
ℹ  Dapr sidecar is up and running.
❌  The App process exited with error code: exit status 1
ℹ  Updating metadata for app command: ./test.sh
✅  You're up and running! Both Dapr and your app logs will appear here.

ℹ
terminated signal received: shutting down
✅  Exited Dapr successfully
❌  Error exiting App: exit status 1

echo $?
1

Issue reference
Please reference the issue this PR will close: #684
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[ ] Extended the documentation

@mukundansundar I have added os.Exit to two flows.

Errors thrown after validating configuration and commands - it used to simply return earlier, and now it exits with error code. Here, no other processes have been spun up yet.
Whenever we get an event in sigCh. The flow itself is unaltered and we only check at the end if any error was thrown, and exit with error code. This only happens at the end when resources have already been cleaned up.

No premature exits have been added in place.

I think we can add exit here also - https://github.com/dapr/cli/blob/34353a27e2681cc6aaf99a6160f9afabc1975fe7/cmd/invoke.go#L86

@mukundansundar nice, let me add it too. Thanks for the suggestion!

@pravinpushkar nice, let me add it too. Thanks for the suggestion!

Added the changes. /cc @mukundansundar @pravinpushkar can you please review it?


Suggest uploading picture to Commons in notification bar

When a user takes a picture with geotagging on and we can find a nearby category for it, we could show a notification suggesting that they upload it to Commons? Clicking the notification could take them directly to the title/desc screen. Of course, this function should be optional and can be disabled if the user doesn't want it.
Pros:

Easier use: Instead of having to go to the app, go to gallery, select picture.... they just have to make one tap.
Reminds them that they can upload the pic to Commons

Cons:

Would probably need more permissions than we currently have
Not sure how to implement, would need to overhaul how and when categories are found, would also need to listen constantly, might drain battery?

Just a thought. :)

All camera apps have a "Share" button that allows to send to our app, isn't
it enough?
On Mar 9, 2016 1:46 PM, "Josephine Lim"<EMAIL_ADDRESS>wrote:

When a user takes a picture with geotagging on and we can find a nearby
category for it, we could show a notification suggesting that they upload
it to Commons? Clicking the notification could take them directly to the
title/desc screen. Of course, this function should be optional and can be
disabled if the user doesn't want it.
Pros:

Easier use: Instead of having to go to the app, go to gallery,
select picture.... they just have to make one tap.
Reminds them that they can upload the pic to Commons

Cons:

Would probably need more permissions than we currently have
Not sure how to implement, would need to overhaul how and when
categories are found, would also need to listen constantly, might drain
battery?

Just a thought. :)
—
Reply to this email directly or view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/issues/84.

Hm, I can't seem to find that option in my camera - does it work for stock apps like Samsung's inbuilt one as well?

It is probably in the viewing part. Do you have an easy way to see the
picture that you just took? Usually a small thumbnail of the last picture.
On Wed, Mar 9, 2016 at 2:25 PM, Josephine Lim<EMAIL_ADDRESS>wrote:

Hm, I can't seem to find that option in my camera - does it work for stock
apps like Samsung's inbuilt one as well?
—
Reply to this email directly or view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/issues/84#issuecomment-194118310
.

Oh, that! It's pretty far down the 'Share' list, hahah. But yes it's there. :) Maybe we don't need this then.

The apps you often share to come to the top.
UploadToCommons is currently at the top for me :-) followed by Gmail and a
few social network apps
On Wed, Mar 9, 2016 at 2:32 PM, Josephine Lim<EMAIL_ADDRESS>wrote:

Oh, that! It's pretty far down the 'Share' list, hahah. But yes it's
there. :) Maybe we don't need this then.
—
Reply to this email directly or view it on GitHub
https://github.com/nicolas-raoul/apps-android-commons/issues/84#issuecomment-194121051
.

Gotcha, thanks! Easier to use that. :)


Link to uxn-ng is broken

The link to the UXN assembler "uxn-ng" is broken. It appears that the user "Tenshi" isn't on Sourcehut anymore. I tried to look for a mirror but I could not find it.

Thanks for the head's up :) removed.


JSPB ByteString <-> base64 conversion does not work for negative bytes

bytestring.js uses encodeByteArray of goog.crypt.base64 which expects numbers in range 0...255, but Java bytes are signed. As a result, the conversion gives wrong output. For example, ByteString.copyFrom(new byte[] {-1,-1,-1}) serializes to / instead of correct ////.
Similarly, after decoding it's possible to have Java bytes with values 128...255, which is also a bug.

Thanks for the feedback.
I'm looking into if the problem is more widespread and touching all unsigned types or more localized to ByteString.

There is a problem on unsigneds (https://github.com/google/j2cl-protobuf/commit/bbc38653649c563578bb8a295b5fdf746377a659) but that is ortogonal.
We need to update ByteString to accept/return Int8Array and construct the byte[] from that.
I don't have the bandwidth to fix this at the moment though.

This issue should be fixed now.