function cannot be called in log phase (only in: rewrite, access, response, header_filter)

Summary
Getting the following intermittently in the Kong error log after upgrading to 2.4.0 (from 2.1.4):
2021/04/20 16:34:11 [error] 2356#0: *4061 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/kong/pdk/private/phases.lua:90: function cannot be called in log phase (only in: rewrite, access, response, header_filter)
stack traceback:
coroutine 0:
        [C]: in function 'error'
        /usr/local/share/lua/5.1/kong/pdk/private/phases.lua:90: in function 'check_phase'
        /usr/local/share/lua/5.1/kong/pdk/response.lua:794: in function 'exit'
        /usr/local/share/lua/5.1/kong/init.lua:319: in function 'access'
        access_by_lua(nginx-kong.conf:95):2: in main chunk, client: x.x.x.x, server: kong, request: "GET /some/api HTTP/2.0", host: "api.example.com", referrer: "https://example.com/"

Responses to HTTP requests have a HTTP 500 with the following body:
{
  "message":"An unexpected error occurred"
}

Most requests seem fine (even to the same API) so I'm not sure what triggers it to occur for some requests and not others.
Due to the overly generic nature of the error message I'm not sure where to start looking for additional information.
Additional Details & Logs

Kong version ($ kong version)
Kong debug-level startup logs 2.4.0
Kong error logs:

2021/04/20 16:28:41 [notice] 1843#0: using the "epoll" event method
2021/04/20 16:28:41 [notice] 1843#0: openresty/<IP_ADDRESS>
2021/04/20 16:28:41 [notice] 1843#0: built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
2021/04/20 16:28:41 [notice] 1843#0: OS: Linux 3.10.0-1160.21.1.el7.x86_64
2021/04/20 16:28:41 [notice] 1843#0: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2021/04/20 16:28:41 [notice] 1843#0: start worker processes
2021/04/20 16:28:41 [notice] 1843#0: start worker process 2355
2021/04/20 16:28:41 [notice] 1843#0: start worker process 2356
2021/04/20 16:28:41 [notice] 2355#0: *1 [lua] init.lua:260: purge(): [DB cache] purging (local) cache, context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2355#0: *1 [lua] init.lua:260: purge(): [DB cache] purging (local) cache, context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.001 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.002 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.004 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.008 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.016 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.032 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2356#0: *2 [lua] globalpatches.lua:55: sleep(): executing a blocking 'sleep' (0.064 seconds), context: init_worker_by_lua*
2021/04/20 16:28:41 [notice] 2355#0: *1 [kong] init.lua:371 declarative config loaded from /etc/kong/kong.yaml, context: init_worker_by_lua*
2021/04/20 16:28:42 [notice] 2356#0: *2 [kong] init.lua:214 only worker #0 can manage, context: init_worker_by_lua*

Kong configuration (the output of a GET request to Kong's Admin port - see
https://docs.konghq.com/latest/admin-api/#retrieve-node-information)
Operating system
RedHat 7 x64

I noticed it also occurs with a slightly different stack trace too:
2021/04/20 15:04:28 [error] 30091#0: *10116106 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/kong/pdk/private/phases.lua:90: function cannot be called in log phase (only in: rewrite, access, response, header_filter)
stack traceback:
coroutine 0:
        [C]: in function 'error'
        /usr/local/share/lua/5.1/kong/pdk/private/phases.lua:90: in function 'check_phase'
        /usr/local/share/lua/5.1/kong/pdk/response.lua:794: in function 'after'
        /usr/local/share/lua/5.1/kong/init.lua:780: in function 'access'
        access_by_lua(nginx-kong.conf:95):2: in main chunk

I'm rather confused as it seems to be being called from within the access_by_lua directive, which says to me that the phase is access, so the error is rather confusing saying it cannot be called in the log phase?

Reverting to 2.3.3 seems to have resolved the issue, so looks like a regression in 2.4.0 specifically not any of the other interim versions between 2.1.4 which was running previously.

Do you have any plugins that implement response phase?

This looks wrong though:
https://github.com/Kong/kong/blob/master/kong/pdk/response.lua#L794

It should include response phase. But the error is interesting too function cannot be called in log phase.

Also do you use Websockets?

This looks wrong though:
https://github.com/Kong/kong/blob/master/kong/pdk/response.lua#L794
It should include response phase. But the error is interesting too function cannot be called in log phase.

The error does specifically mention it includes the response phase at the very end (only in: rewrite, access, response, header_filter) (gotta scroll across in GitHub) so I think that line is right, but somehow it's getting confused about what phase it's in thinking it's log when it should be access (the very top of the call chain is Kong.access, which is called by access_by_lua so my understanding is the phase should be access not response at that point? Both access and response are well before log though).
The definition of that rewrite_access_header is here https://github.com/Kong/kong/blob/911385466571e4f72999fa43419daafae08159d0/kong/pdk/response.lua#L51-L56 and includes response.

Do you have any plugins that implement response phase or calls kong.service.request.enable_buffering()?

I use the following plugins:

response-transformer
request-transformer
request-termination (only to reject some requests, wouldn't have been triggered in the requests where this issue was encountered)
udp-log
prometheus
correlation-id
key-auth
basic-auth

I imagine the response-transformer plugin would use the response phase (I use the add and remove headers directives to add stuff like HSTS headers to every response), perhaps correlation-id too (not sure if this adds it to the response too off hand or only the request).
Not sure about enable_buffering calls, looking at the error.log some requests do result in buffering due to large request or more often large response sizes. The requests causing this issue were quite small though (GET requests, no request body data) so shouldn't have triggered buffering, and looking at the backend API logs I don't think the request made it to the backend, so there would have been no response from the backend to trigger buffering to disk either though (at any rate those specific calls weren't expected to return bulk data anyway, only some tiny JSON bodies).

Also do you use Websockets?

Not at all. I do use HTTP/2 though as most of my stack is pretty modern (clients are either Golang or web browsers, both of which happily do HTTP/2).

Hello @nvx, while I was not able to reproduce your exact issue locally, I have detected some problems with the phase checker (the code that usually provides a warning when a function is used out-of-place in the PDK, providing a safe runtime error) which are quite probably related with your issue in #7109.
The plan is merging the fix into the next bugfix version of Kong, which should be coming soon. Thank you for your patience.

It seemed to occur fairly frequently for me even in test environments, so will be pretty easy to check if that fixes it once the new version is cut and go from there.

I notice 2.4.1 is out now. I've updated a couple of test hosts, will monitor it over the next few days to see if the issue reoccurs, although so far a few hours in I haven't seen any occurrences while on 2.4.0 I saw it within minutes so it's looking positive that #7109 has fixed the issue so far.

Still no reoccurrence, so I'll close this off as it seems to be fixed in 2.4.1. Cheers @kikito!


Error with OPENAI API

error while translating "Looking" using gpt-3.5-turbo. Assigned "--" instead of exit from cli.
I installed the api user key and it still doesn't work. How to solve the problem? Is it possible to trace the cause?

Hi @phederal, did you set the api key?

I am closing this issue @phederal.
Please, feel free to open it back if the issue still happening


Repeated info messages

Description
There's a considerable number of repeated messages coming from the mbedls module during greentea testing.
Here's an example:
[1549383037.57][mbedls.platform_database]Duplicate platform ids found: daplink.2042, ignoring the definitions from C:\Users\campesc\AppData\Local\mbedls\mbedls\platforms.json
[1549383039.14][mbedls.lstools_base]No valid file found to update JLink device details
[1549383039.65][mbedls.platform_database]Duplicate platform ids found: daplink.2042, ignoring the definitions from C:\Users\campesc\AppData\Local\mbedls\mbedls\platforms.json
[1549383041.30][mbedls.lstools_base]No valid file found to update JLink device details
[1549383041.80][mbedls.platform_database]Duplicate platform ids found: daplink.2042, ignoring the definitions from C:\Users\campesc\AppData\Local\mbedls\mbedls\platforms.json
[1549383043.51][mbedls.lstools_base]No valid file found to update JLink device details
[1549383044.01][mbedls.platform_database]Duplicate platform ids found: daplink.2042, ignoring the definitions from C:\Users\campesc\AppData\Local\mbedls\mbedls\platforms.json
[1549383044.93][mbedls.lstools_base]No valid file found to update JLink device details
[1549383045.44][mbedls.platform_database]Duplicate platform ids found: daplink.2042, ignoring the definitions from C:\Users\campesc\AppData\Local\mbedls\mbedls\platforms.json
[1549383047.14][mbedls.lstools_base]No valid file found to update JLink device details

Perhaps these should be shown once as a warning, rather than repeated messages.

Issue request type

[ ] Question
[X] Enhancement
[ ] Bug

Yikes that's not helpful, this can be improved.

Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-865

Thank you for raising this issue. Please note we have updated our policies and
now only defects should be raised directly in GitHub. Going forward questions and
enhancements will be considered in our forums, https://forums.mbed.com/ . If this
issue is still relevant please re-raise it there.
This GitHub issue will now be closed.


Add util.Settings to load configuration from file and update samples

Add Settings class to load configuration from file.
Update samples.
Rename samples following dotnet style.

I will probably merge this (with some review fixes) however we are soon to merge upstream (probably today), so dont want to take any additions at the moment, and will either apply your changes for you when we are merged, or get you to resubmit on the upstream project


How to use TLS?

Hi there,
Apologies for the more general question, but could someone kindly explain how/where I obtain a TLS certificate & how I use it with Mqttnet?
I want to make Mqtt transactions more secure but have no experience with encryption/TLS.
Thank you!

@SeppPenner Do we have a sample somewhere? I remember that there was something which also includes command line stuff etc. in order to generate the certificate but I was not able to find it quickly.

I guess, you were searching for this: https://github.com/chkr1011/MQTTnet/wiki/Server#using-a-certificate.
At least, if we talk about a self-signed certificate.
I have done that with the openssl library somehow like that
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in cert.pem

The first line generates a key and a certificate where the certificate is valid for 365 days.
The second line exports the certificate as *.pfx format.
Another note: This is still a self-signed certificate which is not validated by any certificate authority, so you will most probably need to set some certificate checks to ignore.
var options = new MqttClientOptionsBuilder()
    .WithClientId("ClientId")
    .WithTcpServer("mybroker.com", 8883)
    .WithCredentials("Username", "Password")
    .WithTls(new MqttClientOptionsBuilderTlsParameters()
    {
        UseTls = true,
        SslProtocol = SslProtocols.Tls12,
        AllowUntrustedCertificates = true,
        IgnoreCertificateChainErrors = true,
        IgnoreCertificateRevocationErrors = true
    })
    .WithCleanSession()
    .Build();
var factory = new MqttFactory();
var mqttClient = factory.CreateMqttClient();
await mqttClient.ConnectAsync(options);

In the example, I'm talking about AllowUntrustedCertificates, IgnoreCertificateChainErrors and IgnoreCertificateRevocationErrors. Probably, it's sufficient to use AllowUntrustedCertificates = true.

I'll give this a whirl.
Thank you for the info. Very much appreciated.


Allow Users to Configure Retry Policy for Credentials through ClientFactory

Resolves #39049

Adds support for retry section, the same name used by ClientOptions.Retry, for the following credential types:

ClientCertificateCredential
ClientSecretCredential
DefaultAzureCredential
ManagedIdentityCredential
WorkloadIdentityCredential

Update WorkloadIdentityCredential creation to optionally set AdditionallyAllowedTenants through the configuration

API change check
API changes are not detected in this pull request.


Chown

Please, provide us a chown commmand !
Thank you.
Max

Hmm... @nfischer: Thoughts?

It seems like a reasonable request. I'm not sure what support Node has for chown-like operations. Also, I have no clue what cross-platform support there is, and I'd only want to do it if it runs (somewhat) well on Windows.

Looks like Node has some support for this (https://nodejs.org/api/fs.html#fs_fs_chownsync_path_uid_gid). If someone wants to take up a PR, I'll gladly review.

Closing this due to inactivity. If there's interest for this, it should be fairly easy to implement as a ShellJS lugin.
Please feel free to ping this thread if there any questions about implementing the plugin :smile:


161 1

Job gh:artipie/rpm-adapter#165 is not assigned, can't get performer

Pull request #165 was not merged, no payment for ARC, see §28


Manta

⭐ Lemonparty
🎁 Rewards : 50,000 CITRUS (For All User)
Register : https://lemonparty.finance/?ref=7kdyl12g

Register With Email
Verify
Complete Task
GO Dashboard
Chek Balance
LFG? Before Down

Pada Min, 14 Jan 2024 18.31, Frank @.***> menulis:

Closed #4206 https://github.com/polkadot-js/phishing/issues/4206 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/polkadot-js/phishing/issues/4206#event-11480938699,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ2HL7SI7UCJZZ5A7IR6IM3YOO6YVAVCNFSM6AAAAABBZ2JMKSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGQ4DAOJTHA3DSOI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Examples

A few more examples, and on the wiki would be helpful.

Starting on it. Just added the test scripts I've been using in Dev to the wiki.

List of Examples Suggested for Additions:

[ ] I would like to make a spreading sand block in the style of grass where it desertifies the grass and decays into normal sand. Simiarly a spreading form of mossy bricks or cobble.
[ ] I would like a magma variant which breaks into lava.
[ ] I would like an ore which drops different things based on time it's broken.
[ ] I would like a block which cures over time into a different block.
[ ] I would like a block which emits a redstone signal when passed through.


Serialization error when calling get_client

When attempting to retrieve a client that has access keys the serialization error fails on
 @validate_arguments
    def get_client(self, client_id : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The unique identifier for the client.")], **kwargs) -> Client:  # noqa: E501
        """Retrieve service client  # noqa: E501

        Returns all information related to client except for the private access keys.  # noqa: E501
        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_client(client_id, async_req=True)
        >>> result = thread.get()

        :param client_id: The unique identifier for the client. (required)
        :type client_id: str
        :param async_req: Whether to execute the request asynchronously.
        :type async_req: bool, optional
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :return: Returns the result object.
                 If the method is called asynchronously,
                 returns the request thread.
        :rtype: Client
        """
        kwargs['_return_http_data_only'] = True
        if '_preload_content' in kwargs:
            raise ValueError("Error! Please call the get_client_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data")
        return self.get_client_with_http_info(client_id, **kwargs)  # noqa: E501

The call works fine if the service client does not have any access keys.
authress version: 3.0.85

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Adding timeout feature

Hi,
I'm using this cache for a quite serious symfony 2 project. Are you interested in a staled data feature ?
It starts like this
/**
 * @param int $capacity the max number of elements the cache allows
 * @param int $timeout time before data is staled ; timeout <0 will disable timeout; -1 by default;
 * @param boolean $enabled enable/disable the cache ; will always return null is disabled
 */
public function __construct($capacity=10, $timeout=-1, $enabled=true) {
    $this->capacity = $capacity;
    $this->timeout = $timeout;
    $this->enabled = $enabled;

    $this->hashmap = array();
    ...
}

Closing due to inactivity.


Groupping

Is it compatible with sourceGroupping like IsSourceGrouped attribute?

No...I think.
We didn't build the group APIs.


Release 2.3.0 version

Feature request
Hi Team, I'm waiting for next version to be released. Could you let us know when are you guys planning to next version?
Motivation
There are couple of features that multiple people are waiting to be released. For example - loading multiple local LORA adapters
Your contribution
None

Related Issue:

https://github.com/huggingface/text-generation-inference/issues/2143
https://github.com/huggingface/text-generation-inference/issues/2253
https://github.com/huggingface/text-generation-inference/issues/2400

Hi @imran3180 👋
I think we currently don't know the exact date of the next release.
In the meantime there's a docker build that's based on main if you have a more urgent need to get the new features/fixes: https://github.com/huggingface/text-generation-inference/pkgs/container/text-generation-inference
Would that be a solution in your case?

Yes, I was able to unblock myself using docker container build.

Awesome, glad to hear 🙌
I'll close the issue, feel free to reopen if you're blocked again 👍


fix(interactive): Completely remove crossbeam dependency from groot

As titled

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (64ebe09) 40.90% compared to head (b91033f) 40.90%.
Report is 1 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #3464   +/-   ##
=======================================
  Coverage   40.90%   40.90%
=======================================
  Files         109      109
  Lines       11343    11343
=======================================
  Hits         4640     4640
  Misses       6703     6703

Continue to review full report in Codecov by Sentry.

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


Integration with launch4j

Use launch4j to provide cross-platform executables
http://launch4j.sourceforge.net

Not relevant since we have a Docker image


Search popup cannot be positioned

When search input is on the right side of the window, then the right part of popup is hidden
Semantic UI 2.3.1

Can you create a JSFiddle  to replicate the issue?

Here is the example
When wide is small, then popup is partially hidden, and I cannot to possible to change that


Gulp sample files

The gulp sample files aren't valid JSON format. The files affected are:

gulp-config.json.sample
gulp-extensions.json.sample

Fixed in https://github.com/phproberto/joomla-gulp/pull/13
Thanks @venomDeved


Profile Page Upload Button Stuck in Endless Process for Images Larger Than 1MB

Describe the bug
In the Profile page if I upload an image with a size greater than 1 MB upload button processes endlessly.
To Reproduce
Steps to reproduce the behavior:

Go to '/user/profile'
Click on 'upload image'
upload  image with size greater than 1mb
See error

Expected behavior
Upload button should stop processing or modal should closed
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Chrome
Version  130.0.6723.70

Hey Team Can you please assign this issue to me.

Closing as addressed in PR#8897


Ensure that KIC is ready for upcoming Gateway API beta APIs

Problem Statement
Version v0.5.0 (expected to release the week of 2022-06-14) includes v1beta1 releases of the following three APIs:

GatewayClass
Gateway
HTTPRoute

We need to ensure support for these is present in the KIC.
Acceptance Criteria

[ ] our integration and e2e testing environments now deploy the Gateway API webhook, to ensure validation & v1alpha2 to v1beta1 conversions
[ ] v1beta1.GatewayClass resources are supported and reconciled by the KIC in addition to v1alpha2
[ ] v1beta1.Gateway resources are supported and reconciled by the KIC in addition to v1alpha2
[ ] v1beta1.HTTPRoute resources are supported and reconciled by the KIC in addition to v1alpha2

For our purposes we can most likely drop support for the v1alpha2 versions of these APIs entirely as a part of this effort.


CarryOn Dupe Bug

the CarryOn mod allows to pickup tiles in claims which keeps the tile in the claim but also adds it to the player hands.
I tried to fix this issue myself but I'm unable to as the GP api doesn't provide a way to check if the claim is set to break deny or allow.
griefprevention-1.12.2-<IP_ADDRESS>3
CarryOn MC1.12.2 v1.8

The mod should be firing Forge's BlockEvent.Break before attempting to pickup a tile. The issue is on the mod end as it ignores protection mods/plugins entirely.
Create a ticket on the tracker here
https://github.com/Tschipp/CarryOn/issues


Bug fixes to Json format of explain

Removed java type information from values as its redundant.
Fixed printing all sub partition column bug.
Replaced individual ranges with single span of range.

Closing this since it's very old. Opened an issue here: https://github.com/facebook/presto/issues/2755


Handle hard fork

This includes:

Allow a way to configure hard fork: next_fork_version, next_fork_epoch ...
At epoch boundary we update the state.fork accordingly
Unsubscribe to gossip topics, calculate and subscribe to new gossip topics due to fork_digest changed. Same thing for attestation subnet subscription.
Update ENR

Item 1), 2), 4) are implemented in #843 , 3rd should be done in #824


drivers: gpio: gpio_mcux_lpc: Use arbitrary amount of IRQ

Zephyr implementation is limited to 4 IRQ per GPIO bank when up to 8 is
theoritically possible.
It is now possible to use until 8 IRQ per GPIO bank. This can be
achieved with minimal effort in a device tree overlay:
&gpio0 {
interrupts = <4 2>,<5 2>,<6 2>,<7 2>,<32 2>,<33 2>;
};
&gpio1 {
interrupts = <34 2>,<35 2>;
};

This change was handled via #37148


This tool depends on VRChat Package Resolver Tool but it is not in the dependency list

Maybe remove the VRChat Package Resolver Tool reference?

Should be fixed in latest release!


Use safe casts in fd_readdir on unix.

Unsafe casts were introduced in #64.

I think you meant path_filestat_set_times rather than fd_readdir :-)

Yeah :) fixed


Storybook adds { and } to my objects.

Issue details
withInfo or Storybook wraps { } to all my values and objects.
storiesOf('Dropdown (2)', module).add('Dropdown', withInfo({
    text: 'Dropdown with example entries.',
})(() => <Dropdown items={[
    {key: 1, label: 'Peter Ustinov'},
    {key: 2, label: 'Pablo Escobar'},
    {key: 3, label: 'Maria Victoria Henao'}
]} />));

Will be shown as Storybook Source:
<Dropdown items={[{{key: {1}, label: "Peter Ustinov"}}, {{key: {2}, label: "Pablo Escobar"}}, {{key: {3}, label: "Maria Victoria Henao"}}]} />

Steps to reproduce
Pass an object as component probs.
  "devDependencies": {
    "@storybook/addon-info": "^3.2.17",
    "@storybook/cli": "^3.2.17",
    "@storybook/react": "^3.2.17",
    "@types/storybook__react": "^3.0.5",
    ...
  },

I also have a datePicker component that receives a date object.
storiesOf('DatePicker', module).add('DatePicker with dateFormat and selectedDay', withInfo({
    text: 'Date',
})(() => <DatePicker dateFormat="DD.MM.YYYY" selectedDay={new Date()} />));

But the Story Source does not show the new Date() call:
<DatePicker
  dateFormat="DD.MM.YYYY"
  selectedDay={{}}
  onChange={dateChanged()}
  readOnly
/>

@frankred Could you create a fork of storybook, and try reproduce this issue in the examples/cra-kitchen-sink


Update cloud-cost-management-faqs.md

Updated the FAQ for Budgets and Anomalies section based on recent questions asked on internal channels and CFD's
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screenshots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


BUG (Front camera doesn't open/ rear does it instead)

this condition is the main issue, in some devices, it works and then opens the front camera when I use CameraPreview.start({ position: 'front' }), but in another devices, for example my personal smartphone ( Xiaomi MI A2 Lite ), it doesn't, the rear camera is started instead.
I changed both results of this ternary if to Camera.CameraInfo.CAMERA_FACING_FRONT as a 'semi-workaround' and then opens the front camera in my phone, but the position argument on the .start function is useless, I'd appreciate some help.
Some fixes that would also be great:
1* After you take the picture, it gets a minimum zoom on the image display, since im doing a facial recognition thats a struggle
2* On most android/chrome devices, the picture you show on screen gets mirrorred, I use scaleX(-1) ot fix it, but could be a nice 'feature'

I've been reading the code, looks like defaultCamera is set to "back" by a Fragment, but nothing listen the argument  to change to '"front" on the .start call

Ok, I'll see that problem

Can you please give me Android version?

@Yoshimatsup , I just fix the problem regarding to start with front or rear camera, the other issues, please separate in different issues and close this please.

Thanks for your help, i'll separate the issues and close this one.
Thanks again!


Custom SVG option no longer includes box with NE-pointing arrow by default

Where did it go?

I may have been incorrect here. Seems to be working correctly.


New package: iMobieInc.AnyDrive version <IP_ADDRESS>

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Should this be a portable package?

This package doesn't seem to modify the system, is that expected?

This package doesn't seem to modify the system, is that expected?

No


StatusInfo 0.3.8

This is conflicting now... (insert sweat_smile emoji here).  Likely this is from the prior PR.  Try and sort this out with a merge so it doesn't keep happening if you can.  I'll do my best to get it in today if you can resolve the conflicts ASAP.


placeholder not working with ajax option

I've tried two ways of doing this, the first one, described in the following fiddle, with a select input with an empty option:
http://jsfiddle.net/aqrzL2sd/2/
And the second one, with a hidden input as suggested in select2 github issues (see browser console for this):
http://jsfiddle.net/t89ddnuo/1/
But no one works, the placeholder is not showing. What am I doing wrong?

It seems like the templateSelection function overrides the placeholder
http://jsfiddle.net/aqrzL2sd/3/

It seems like the templateSelection function overrides the placeholder

Correct, the placeholder is templated. This is why you should always include a fallback to item.text, because most other Select2-displayed messages are also templated.


Moderator changes, restores user counts in sidebar, schedule change

Closes #196

Moderators now have both '[Moderator] ' before their username and are highlighted in a high-contrast way versus normal users

This is also reflected in Code of Conduct text.

Closes #213

Restore user counts on sidebar

Also updated the schedule to not be that of the preview - but will need to be fixed again when we determine speaker order

Oh yeah, also fixes #208.


Integrate the data loaders into the staging environment

The journal loader, grant loader, and nihms loader should be run periodically.

My initial thoughts on data loader job deployments:
Definitely should run jobs in some kind of server-less environment.  We should avoid using EC2 instances if possible so we don't incur overhead of maintaining the EC2 instance.  Jobs should be packaged as docker containers, then we can look at the different options.
Scheduled ECS Fargate tasks

Each data loader as docker image
Push docker images to ERS
Task definition
EventBridge cron schedule for starting each data loader task as needed
Caveat: There is currently no task timeout, so we would need to write something to stop jobs after defined timeout, or add a check in job start to ensure another task doesn't start if job is already running

AWS Batch

More advanced than we need possibly, but apparently has ability to timeout/not run overlapping jobs
Runs jobs as Fargate, need docker image and ERS push like ECS
Need job definition instead of task definition
Caveat: Job definition can only contain 1 image, ok for now, but may limit.  Using ECS doesn't have this limit and seems simpler.  Also, I have a concern using AWS Batch may be "using a sledgehammer to crack a nut".  However, I will spend some time experimenting with AWS batch to get a better understanding of any complications.

Any data loader jobs that require state in between job runs would have to store data in S3 or AWS EFS volumes.

I spent a few hours experimenting with AWS Batch.  My conclusion is that is seems like a good option for deploying our data loaders.  There is not too much configuration needed in order to run/schedule a batch job.  It also has the needed built in features to support our data loader requirements in a stable way.
Here is the required configuration that I know of now.  There will probably be some additional config discovered when implementing the config, but this should be most of it:
AWS Batch

Define a Batch compute environment using the Fargate environment (minimal config)
Define a Batch job queue (minimal config)
Define a job definition for each data loader.  Most of these will be the same, but we will set data loader docker image URL, appropriate execution timeout values per data loader.
Configure AWS batch EFS volume that can be used for any files that are needed between batch job runs.  When a Fargate task runs, it gets 20GB of ephemeral disk space.  However, for some data loaders, files are used between batch runs, so persistent disk is needed.  AWS batch EFS does a pretty nice job of automating EFS mount to the Fargate batch job task.

AWS EventBridge

Create a Rule schedule to run each AWS batch job on appropriate schedule.
Configure an SNS topic and event rule to receive batch job notifications and send emails for success and failure.

I also propose we use Terraform when configuring the above infrastructure in AWS.  There may be extra time needed to setup our AWS environment to support using terraform, but it would be worth it IMO.

I'm taking no additional comments as all are ok with trying this deployment approach for the data loaders.
I'll put this ticket in Blocked until stage is available.

All data loaders have been configured in stage.  There are a few pending issues related, but they are captured in tickets.
I have created this document describing all AWS resources created for this ticket (plus a few extra things done before this ticket): https://docs.google.com/document/d/12BW2HiY-GeCju2hHRwYeCsgYbYQPOlVZIu-jIxupz-c/edit#heading=h.v3ab2z9s16r2
I completed the configurations using the AWS console.  I'm going to create another ticket to create terraform scripts for the configuration at some point in the, hopefully near, future.


ChoiceList is not work with component library mode

When import ChoiceList as a component like the example bellow:
<script lang="ts" setup>
import { ChoiceList } from '@ownego/polaris-vue'
</script>

<template>
<ChoiceList>...</ChoiceList>
</template>

nothing happen.
But it work when use as a plugin.
Can you pls take sometime on this?

Hi @nguyenvanduocit ,
I created a new project and used the import ChoiceList as component, and it worked without any issues. Can you please provide more details about your code or share the error log from your console if it exists? I'd be happy to take a look and help you troubleshoot.

<script setup>
import { ref } from 'vue';
import { ChoiceList, TextField } from '@ownego/polaris-vue';

const selected = ref(['hidden']);
</script>

<template>
    <ChoiceList
      title="Visibility"
      :choices="[
        {label: 'Hidden', value: 'hidden'},
        {label: 'Optional', value: 'optional'},
        {label: 'Required', value: 'required'},
      ]"
      v-model="selected"
    />
    <TextField
      v-model = "selected"
    >
    </TextField>
</template>

Hi, this issue has been resolved in version v2.1.11

thanks


Upgraded to PF2.5 = ERR_SSL_KEY_USAGE_INCOMPATIBLE

I can't find any logs that would provide relevant/helpful into.
I backed up the /usr/local/Unifi directory and did a fresh install from this repo's script, which allows me to access the new install on port 8080, but when I restore using a backup, it reverts to the behavior of redirecting 8080->8443 which throws this error(ERR_SSL_KEY_USAGE_INCOMPATIBLE) on all browsers.
Googling around a bit points to the need to adjust  'KeyUsage' stanzas, but I'm not sure how that could be done with this setup.
Is this perhaps an SSL lib issue with Java?  Note* I did have to run through some of the newer troubleshooting steps with pkg unlock/remove.  Or perhaps this is an issue requiring a new keypair to be generated?

Any help would be immensely appreciated!

I figured it out, using sockstat to trace what is bound to the ports, lighthttp was sitting on 8443, inspecting the config file pointed to pfBlockerNG package I installed and wasn't using, I remove that package and now I can access the Unifi controller.  Updating this issue in case it helps someone else debug port/process conflicts.
`
<EMAIL_ADDRESS>sockstat -l|grep -i 8080
root     java       42796 145 tcp46 *:8080                :
<EMAIL_ADDRESS>sockstat -l | grep -i 8443
root     lighttpd_p 8470  6  tcp4   *:8443                :
<EMAIL_ADDRESS>ps -aux |grep -i light
root    8470   0.0  0.1   17968   5724  -  S    Fri11       0:11.17 /usr/local/sbin/lighttpd_pfb -f /var/unbound/pfb_dnsbl_lighty.conf
root   74683   0.0  0.1   11204   2212  0  S+   10:00       0:00.01 grep -i light
<EMAIL_ADDRESS>cat /var/unbound/pfb_dnsbl_lighty.conf

#pfBlockerNG Lighttpd DNSBL configuration file

server.bind			= "<IP_ADDRESS>"
server.port			= "8081"
server.event-handler		= "freebsd-kqueue"
server.network-backend		= "freebsd-sendfile"
server.dir-listing		= "disable"
server.document-root		= "/usr/local/www/pfblockerng/www/"
server.errorlog			= "/var/log/pfblockerng/dnsbl_error.log"
server.pid-file			= "/var/run/dnsbl.pid"
server.modules			= ( "mod_access", "mod_fastcgi", "mod_rewrite" )
index-file.names		= ( "index.php" )
mimetype.assign			= ( ".html" => "text/html", ".gif" => "image/gif" )
url.access-deny			= ( "~", ".inc" )
fastcgi.server			= ( ".php" => ( "localhost" => ( "socket" => "/var/run/php-fpm.socket", "broken-scriptfilename" => "enable" ) ) )
debug.log-condition-handling	= "enable"
$HTTP["host"] =~ "." {
url.rewrite-once = ( "." => "/index.php" )
}
$SERVER["socket"] == "<IP_ADDRESS>:8443" {
ssl.engine		= "enable"
ssl.pemfile		= "/var/unbound/dnsbl_cert.pem"
ssl.use-sslv2		= "disable"
ssl.use-sslv3		= "disable"
ssl.honor-cipher-order	= "enable"
ssl.cipher-list		= "AES128+EECDH:AES256+EECDH:AES128+EDH:AES256+EDH:AES128-SHA:AES256-SHA:!aNULL:!eNULL:!DSS"
$HTTP["host"] =~ ".*" {
	url.rewrite-once = ( ".*" => "/index.php" )
}

}
`

no more updates, closing for now


Feature/testing

Add test to ⬇

[x] Header component 🐱
[x] Mission component 🐱
[x] Rocket component 🐱

Hi @Bishoy-Samwel @MrBrN197 👋,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


FMOC removal results in two identical products instead of one unique product

Configuration:

RDKit Version:
Operating system: 2020.09.1
Python version (if relevant): 3.6.7
Are you using conda?: Nope

Description:

In enumerating virtual libraries, I need to deprotect amines by removing a FMOC group. I expected one product but RunReactans() is return two identical products. I suspect the issue is due to FMOC having symmetry and is being matched twice. I can limit the number of products by specifying maxProducts=1 in RunReactants(), but that breaks cases where a reactant contains two FMOCs protecting different amines in the same molecule.

# FMOC has 2D symmetry and it causes RunReactants to generate two products
# when the expected number is one
FMOC_smirks = '[#6:2][N:1]C(=O)OCC1c2ccccc2-c2ccccc12>>[#6:2][N:1]'
fmoc_rxn = AllChem.ReactionFromSmarts(FMOC_smirks)
reactant = Chem.MolFromSmiles('CNC(=O)OCC1C2=C(C=CC=C2)C2=C1C=CC=C2')
products = fmoc_rxn.RunReactants((reactant,))
print(f'Number of products: {len(products)}')
mols = [fmoc_rxn.GetReactantTemplate(0), reactant, products[0][0], products[1][0]]
Draw.MolsToGridImage(mols, molsPerRow=5 )

# We can limit the number of products by setting maxProducts=1
products = fmoc_rxn.RunReactants((reactant,), maxProducts=1)
print(f'Number of products: {len(products)}')
mols = [fmoc_rxn.GetReactantTemplate(0), reactant, products[0][0]]
Draw.MolsToGridImage(mols, molsPerRow=5 )

# what if I do want 2+ products? Setting maxProducts=1 would break this use case.
reactant = Chem.MolFromSmiles('CC(C)C(CCCNC(=O)OCC1c2ccccc2-c2ccccc12)NC(=O)OCC1C2=C(C=CC=C2)C2=C1C=CC=C2')
products = fmoc_rxn.RunReactants((reactant,),)
print(f'Number of products: {len(products)}')
mols = [fmoc_rxn.GetReactantTemplate(0), reactant, products[0][0], products[1][0], products[2][0], products[3][0]]
Draw.MolsToGridImage(mols, molsPerRow=5 )

# If we break the 2D symmetry, then we get one product as expected
N_FMOC_smirks = '[#6:2][N:1]C(=O)OCC1c2ccccc2-c2cnccc12>>[#6:2][N:1]'
n_fmoc_rxn = AllChem.ReactionFromSmarts(N_FMOC_smirks)
reactant = Chem.MolFromSmiles('CNC(=O)OCC1C2=C(C=CC=C2)C2=C1C=CN=C2')
products = n_fmoc_rxn.RunReactants((reactant,))
print(f'Number of products: {len(products)}')
mols = [n_fmoc_rxn.GetReactantTemplate(0), reactant, products[0][0]]

Draw.MolsToGridImage(mols, molsPerRow=5 )

# Another example that breaks 2D symmetry. Get one product as expected
Me_FMOC_smirks = '[#6:2][N:1]C(=O)OCC1c2ccccc2-c2cccc(C)c12>>[#6:2][N:1]'
me_fmoc_rxn = AllChem.ReactionFromSmarts(Me_FMOC_smirks)
reactant = Chem.MolFromSmiles('CNC(=O)OCC1c2ccccc2-c2cccc(C)c12')
products = me_fmoc_rxn.RunReactants((reactant,))
print(f'Number of products: {len(products)}')
mols = [me_fmoc_rxn.GetReactantTemplate(0), reactant, products[0][0]]

Draw.MolsToGridImage(mols, molsPerRow=5 )

Hi @jw-feng hw are you doing?  We recently added an Deprotect module that does a lot of this for you.
>>> from rdkit import Chem
>>> from rdkit.Chem import rdDeprotect
>>> m = rdDeprotect.Deprotect(Chem.MolFromSmiles('CNC(=O)OCC1C2=C(C=CC=C2)C2=C1C=CC=C2'))
>>> Chem.MolToSmiles(m)
'CN'

I can walk you through the logic, or you can simply use this as is.  (rdkit 2019.09.01)


Project with path ':react-native-vector-icons' could not be found in project ':app'.

Tried rnpm link , still getting this error.
gradlew.bat installDebug

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\react\intuitThings\android\app\build.gradle' line: 196

* What went wrong:
A problem occurred evaluating project ':app'.
> Project with path ':react-native-vector-icons' could not be found in project ':app'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 20.874 secs

Experiencing exactly the same, any updates @patwaswapnil ?

Same. Any pointers? Thanks!

I had a similar issue with a different library.
Try adding to your settings.gradle (yourProject/android/settings.gradle)
include ':react-native-vector-icons'
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/:react-native-vector-icons/android')

just above include ':app'

This worked but I needed to get rid of the : in '../node_modules/:react-native-vector-icons/android'

Or you can erase compile project(':react-native-vector-icons') and type react-native link react-native-vector-icons at terminal

Suspect this is no longer an issue with auto linking


Jasmine-reporters 2 is not in npm

I can't figure out why jasmine-reporters2 is not in npm. On npm it is still on 1.0.1. If I want to use this package properly I need it to be on npm.
https://www.npmjs.com/package/jasmine-reporters

2.x is, and always has been, on npm. However, because both a 1.x and 2.x branch are maintained within the same jasmine-reporters npm package, npmjs.com shows the latest published release as the "latest"  and that is also what gets used if you just say npm install jasmine-reporters. A patch on the 1.x branch was made recently, so it was published to npm and became the "latest" version. I just published a couple minor changes to the 2.x branch so 2.0.4 now appears as the latest on npm.
You can always view the complete list of available versions by running npm info jasmine-reporters, and you can install a specific version by running npm install<EMAIL_ADDRESS>etc.


Image Carousel or Static image for home page

Checklist

[X] I have read and accepted the contributing guidelines.

Is your feature request related to a problem? Please describe
I am trying to add static image to main page, i have to modify home.html layout for this
Describe the solution you'd like
it's common feature that anyone can use it's better to add this to config file
additionally if we can automatically choose images based on light / dark theme, that would be just perfect
Describe alternatives you've considered
i did this modification on my html page and added image path on index.html
{% if page.image %}
{% capture src %}src="{{ page.image.path | default: page.image }}"{% endcapture %}
{% capture class %}class="preview-img{% if page.image.no_bg %}{{ ' no-bg' }}{% endif %}"{% endcapture %}
{% capture alt %}alt="{{ page.image.alt | xml_escape | default: "Preview Image" }}"{% endcapture %}

{% if page.image.lqip %}
{%- capture lqip -%}lqip="{{ page.image.lqip }}"{%- endcapture -%}
{% endif %}

    {%- if page.image.alt -%}

{{ page.image.alt }}

    {%- endif -%}

{% endif %}

Additional context
No response

I think we cannot say that this is an essential feature that many people will find useful. Also, there is no single solution that will suit everyone, for example, some people prefer to place the background image at the bottom of the page like grass, others at the top like clouds, a third option is to make a repeatable background. It's better to keep it custom, which gives you as much room for creativity as you need, while keeping only the core and necessary features in the codebase, as every feature has its maintenance costs. Moreover, this does not even require you to change the code, as this change can be achieved by adding an extra CSS rule, I believe.


Rename group id to io.awspring.cloud.

Rename Maven group ids and packages to io.awspring.cloud.

Replaced by https://github.com/awspring/spring-cloud-aws/pull/2


fix: update glee in template

Description
This PR is updating the version of glee in the template for create-glee-app.
https://github.com/asyncapi/glee/pull/582#issuecomment-1822944201

/rtm


Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.1.15.

Receiving invalid kotlin versions
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.1.15.
React : 0.69.0
jetified-kotlin-stdlib-1.6.10.jar!/kotlin/Unit.class
e: /Users/rao/Desktop/trignofy/bb-update/bellesboard-mobile-v2/node_modules/react-native-webview/android/src/main/java/com/reactnativecommunity/webview/events/TopShouldStartLoadWithRequestEvent.kt: (28, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.1.15.

Fix: Update  ReactNativeWebView_kotlinVersion=1.6.0

add
buildscript {
    ext {
      kotlinVersion = "1.6.0"
     ...
    }
  ...
}

in android/build.gradle

add
buildscript {
    ext {
      kotlinVersion = "1.6.0"
     ...
    }
  ...
}

in android/build.gradle

This solved my problem, thanks

I've got the same issue too:
> Task :react-native-webview:compileDebugKotlin FAILED
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    C:/Users/LJ/.gradle/caches/transforms-3/8d4b2b3bf878949ebb0dcdeaf1145afb/transformed/jetified-kotlin-stdlib-jdk8-1.4.10.jar (version 1.4)
    C:/Users/LJ/.gradle/caches/transforms-3/e49ff03ad7eade9ef547aab0326f2bbe/transformed/jetified-kotlin-stdlib-jdk7-1.4.10.jar (version 1.4)
    C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar (version 1.6)
    C:/Users/LJ/.gradle/caches/transforms-3/37e0e3c0ed8f1399e70ec0ff1e249658/transformed/jetified-kotlin-stdlib-common-1.6.0.jar (version 1.6)
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.3.3/userguide/command_line_interface.html#sec:command_line_warnings
46 actionable tasks: 14 executed, 32 up-to-date
e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
e: C:/Users/LJ/.gradle/caches/transforms-3/37e0e3c0ed8f1399e70ec0ff1e249658/transformed/jetified-kotlin-stdlib-common-1.6.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
e: C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\RNCWebViewPackage.kt: (8, 77): Unresolved reference: listOf
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\RNCWebViewPackage.kt: (12, 76): Unresolved reference: listOf
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopHttpErrorEvent.kt: (23, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopLoadingErrorEvent.kt: (23, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopLoadingFinishEvent.kt: (23, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopLoadingProgressEvent.kt: (23, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopLoadingStartEvent.kt: (23, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopMessageEvent.kt: (22, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopRenderProcessGoneEvent.kt: (24, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopShouldStartLoadWithRequestEvent.kt: (16, 11): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopShouldStartLoadWithRequestEvent.kt: (18, 11): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class
e: E:\TestWebView\node_modules\react-native-webview\android\src\main\java\com\reactnativecommunity\webview\events\TopShouldStartLoadWithRequestEvent.kt: (28, 21): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/LJ/.gradle/caches/transforms-3/a7fcf88a6a347bcc001af6c4b15a73b1/transformed/jetified-kotlin-stdlib-1.6.0.jar!/kotlin/Unit.class

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-webview:compileDebugKotlin'.
> Compilation error. See log for more details

My setup:
"react": "17.0.2",       "react-native": "0.68.3",       "react-native-navigation": "7.29.0",       "react-native-webview": "^11.23.1"
Unfortunately, explicitly specifying kotlinVersion = "1.6.0" in android/build.gradle
makes no change for me.
Can you, please, advice some other solution to handle it?
A test project can be found at https://u.pcloud.link/publink/show?code=XZxzebVZ32pFfWsCyjmUDyAa4rI3nSjiPJAX

Hello I am having the same problem but now I don't have this "kotlinVersion = "1.6.0"" inside my buildscript
Here is my buildscript
buildscript {
ext {
compose_version = '1.1.0-beta01'
}
}

Just put it inside. Bcs it will take one as a default

add
buildscript {
    ext {
      kotlinVersion = "1.6.0"
     ...
    }
  ...
}

in android/build.gradle

this solved

add
buildscript {
    ext {
      kotlinVersion = "1.6.0"
     ...
    }
  ...
}

in android/build.gradle

i have 2 project same issue, but just 1 project is work

add this in to /android/build.gradle
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

allprojects {

//...

configurations.all {
    resolutionStrategy {
        // Remove this override in 0.65+, as a proper fix is included in react-native itself.
        force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
    }
    }

}

If you also came here to solve a Kotlin incompatibility issue: this solved the problem for me: https://github.com/facebook/react-native/issues/35210

@iqqmuT That post solved my issue :)

If you also came here to solve a Kotlin incompatibility issue: this solved the problem for me: facebook/react-native#35210

That is the solution 🍻

Same error here. Last time I compiled my project it worked perfectly fine, and now all of a sudden getting this error... No idea what changed except the Kotlin plugin in AS. Is it the root cause of the issue?

I fixed the same by updating my compose ui version from 1.1.1 to 1.6.0 in the project-level gradle
Add this :)
buildscript {
ext {
compose_ui_version = '1.6.0'
}
}

add
buildscript {
    ext {
      kotlinVersion = "1.6.0"
     ...
    }
  ...
}

in android/build.gradle

i have 2 project same issue, but just 1 project is work

Working perfect

[Android Studio corrupt installation or Missing essential plugin please install android studio from scratch Error in Android Studio 4.2
Do the Following If you disabled kotlin  via android studio -> setings->plugins->kotlin (uncheckd) you will get missing essential error to install fromscratch.
SOLUTION

on windows search bar enter %Appdata%
Go to roaming
Google
Androidtudio folder
Edit file  disabled_plugins
You will see the com.jetbrains.kotlin   delete it and save the file
Restart Android studio


Requirements

Coverage remained the same at 99.062% when pulling ea22ef3939ecd25e64021b82eb128f5189d7be76 on requirements into 673d5dff3fdbe6bf7a3d690da41718e59ea64b27 on master.


Migrate "Introduction to Hyperledger Iroha" from EdX to Markdown

As part of our effort to create a second revision of the LFS171x EdX course, migrate the chapter "Introduction to Hyperledger Iroha" to a markdown file located at ./LFS171x/docs/introduction-to-hyperledger-iroha.md in the import-edx-content branch.

Created Pull Request #71 to address this issue.

Review feedback addressed and pushed to branch used in pull request #71.  Thanks for reviewing, Tracy!

Should be resolved by PR #71 .  Please close this issue.


Adding tabs to the editor

Part of #1989
Resolves #1987

can we add some spacing between the query tabs and the sidebar tabs since the sidebar tabs are not closable / behave slightly differently?

can we add some spacing between the query tabs and the sidebar tabs since the sidebar tabs are not closable / behave slightly differently?

like this?

Yeah, that looks a lot better to me :)

like this?

yes!

I would also say adding the border to all the tabs (it is hard to see the division when there are a lot of tabs) and the selected tab colored in like the sidebar instead of having the border as it is now, what do you think?

I would also say adding the border to all the tabs (it is hard to see the division when there are a lot of tabs) and the selected tab colored in like the sidebar instead of having the border as it is now, what do you think?

new style attempt:

Ok now it is, final update

Ok now it is, final update

Is there a mouseover highlighting of the tabs?

Ok now it is, final update

Is there a mouseover highlighting of the tabs?

yes!


Failed to initialize SparkIntegration

How do you use Sentry?
Sentry Saas (sentry.io)
Version
2.5.1
Steps to Reproduce
Hello,
I've encountered an issue when using SparkIntegration with my PySpark application. I was following the guide specified at Spark Driver Integration Documentation and experienced the following AttributeError:
sc._jsc.sc().addSparkListener(listener)
E   AttributeError: 'SparkContext' object has no attribute '_jsc'

Upon investigating, it seems that the issue may stem from the code at sentry-python/spark_driver.py#L50. The sc._jsc attribute is set after the SparkContext is initialized, as seen in apache/spark/pyspark/context.py#L296.
Consequently, _start_sentry_listener and _set_app_properties referenced at spark_driver.py#L62-L63 should ideally be invoked after spark_context_init is executed.
I have tested this modification using both local and yarn Spark masters, and fixed version in my repo appears to be functioning correctly.
this is my test code
def test_initialize_spark_integration(sentry_init):
    # fail with the code: https://github.com/getsentry/sentry-python/blob/2.5.1/sentry_sdk/integrations/spark/spark_driver.py#L53
    # success with the code: https://github.com/seyoon-lim/sentry-python/blob/fix-spark-driver-integration/sentry_sdk/integrations/spark/spark_driver.py#L53
    sentry_init(integrations=[SparkIntegration()])
    SparkContext.getOrCreate()

Looking forward to your feedback and suggestions for addressing this issue.
Thank you!
Expected Result
from pyspark.sql import SparkSession
import sentry_sdk
from sentry_sdk.integrations.spark import SparkIntegration

if __name__ == "__main__":
    sentry_sdk.init(
        dsn=matrix_dsn,
        integrations=[SparkIntegration()],
    )

    spark = SparkSession.builder.getOrCreate()
    ...

Actual Result
Traceback (most recent call last):
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/entrypoint.py", line 17, in <module>
    spark = SparkSession.builder.getOrCreate()
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/pyspark/sql/session.py", line 477, in getOrCreate
    sc = SparkContext.getOrCreate(sparkConf)
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/pyspark/context.py", line 514, in getOrCreate
    SparkContext(conf=conf or SparkConf())
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/pyspark/context.py", line 201, in __init__
    self._do_init(
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/sentry_sdk/utils.py", line 1710, in runner
    return sentry_patched_function(*args, **kwargs)
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/sentry_sdk/integrations/spark/spark_driver.py", line 69, in _sentry_patched_spark_context_init
    _start_sentry_listener(self)
  File "/Users/kakao/Desktop/shaun/workplace/my-repos/du-batch/venv/lib/python3.9/site-packages/sentry_sdk/integrations/spark/spark_driver.py", line 55, in _start_sentry_listener
    sc._jsc.sc().addSparkListener(listener)
AttributeError: 'SparkContext' object has no attribute '_jsc'

Thanks for all the research you put into this @seyoon-lim and for the PR! We will take a look.


x/pkgsite: Custom license file review based on MICROSOFT REFERENCE SOURCE LICENSE (MS-RSL)

Request to review custom license based on MICROSOFT REFERENCE SOURCE LICENSE (MS-RSL)
I cannot see our custom license at https://pkg.go.dev/github.com/apimatic/core-lib-go due to which our package's documentation is being blocked.
With this request I would like to bring to your attention that our custom license is because of our business need which grants the right to review and study the code which includes the right to document it as well.
I would highly appreciate the consideration.

Thanks for filing the issue @bismapervaiz
The MS-RSL explicitly excludes the right to distribute. Unless there is clear evidence that some other permissive license (https://pkg.go.dev/license-policy) allowing distribution applies to package documentation, pkgsite does not redistibute the documentation.

Thanks @hyangah


Added documentation on how to debug Holodeck on Linux

I think we're trying to phase out the docs/ directory - in face we should probably just delete what's in there since its an outdated version of the readthedocs site.
Normally we put this kind of stuff in the Wiki -> https://github.com/BYU-PCCL/holodeck-engine/wiki


[OpenCL] Skip opencl memory operations on empty tensors

cc @masahi @tmoreau89

Since this is not a opencl specific problem, ideally we should think about how to handle this case in all backends. For now I think we should have the same change for cuda, rocm, and vk as well.

I don't think cuda has this issue, I this cudamalloc does this under the hood, as does standard C malloc. I agree, though, it looks like we need it for rocm and vulkan.

Can the runtime attempt to free a buffer that was allocated that is of size 0? Could that trigger a segfault?

Feasibly. I didn't see such an issue with opencl, but indeed memory freeing doesn't pass in size, so I can't do the same check:
https://github.com/apache/tvm/blob/e697f03539acce7a6ed78eb7757c207398dd6b72/src/runtime/opencl/opencl_device_api.cc#L129-L136

But it would be easy to check for null before freeing

Maybe we can implement all book keeping stuff in DeviceAPI base class? After we make sure size is valid, we forward calls to derived class.

It's messy, but we could write a default method that checks for these things and then calls a helper function. We then mark the default function as final and change ALL of the device classes to override the helper functions.

Closing in favor of #7691


Fix/ footer setting path And URL redirection

Before:

After:

Which change I done ?

I have resolve FooterPage setting path so that It's working Perfect !!

Fixes :#2029
Please Checkout My PR If have any issue let me know .

@Chalarangelo  Can you please add hacktoberfest-accepted label If It's possible.

30 seconds of code is not participating in Hacktoberfest and no labels, topics or other similar things will be added for any reason.

@Chalarangelo  Thanks For replay My comment No problem


Add bswap support for LoongArch

Description of PR
This PR adds bswap support for LoongArch.
The LoongArch architecture (LoongArch) is an Instruction Set Architecture (ISA) that has a RISC style.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
47m 19s

trunk passed

+1 :green_heart:
compile
0m 54s

trunk passed

+1 :green_heart:
mvnsite
0m 29s

trunk passed

+1 :green_heart:
shadedclient
73m 50s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 25s

the patch passed

+1 :green_heart:
compile
0m 47s

the patch passed

+1 :green_heart:
cc
0m 47s

the patch passed

+1 :green_heart:
golang
0m 47s

the patch passed

+1 :green_heart:
javac
0m 47s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
mvnsite
0m 20s

the patch passed

+1 :green_heart:
shadedclient
25m 24s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
2m 42s

hadoop-mapreduce-client-nativetask in the patch passed.

+1 :green_heart:
asflicense
0m 35s

The patch does not generate ASF License warnings.

149m 28s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5357/1/artifact/out/Dockerfile

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

Optional Tests
dupname asflicense compile cc mvnsite javac unit codespell detsecrets golang

uname
Linux 381e8fc25580 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 7a254b781432484628d00476b6b330f4d65f3d88

Default Java
Red Hat, Inc.-1.8.0_362-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5357/1/testReport/

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

modules
C: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask U: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5357/1/console

versions
git=2.9.5 maven=3.6.3

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

This message was automatically generated.

@zhaixiaojuan Thanks for your works. Please follow this guide to submit new PR. https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute

@Hexiaoqiao
Hi xiaoqiao, When I send a jira application to<EMAIL_ADDRESS>the email keeps getting bounced, and my local firewall has been closed. And I tried to send it multiple times, but it was returned.

When I send a jira application to<EMAIL_ADDRESS>the email keeps getting bounced, and my local firewall has been closed. And I tried to send it multiple times, but it was returned.
Sorry, I am sure the mail address was mistake, just update at wiki, and you should send information(as wiki mentioned) to private#hadoop.apache.org (Please replace '#' to '@' here).


put-file should work with same HTTP authentication types curl/wget do

What is the goal / desired outcome?
As a data scientist, when using put-file to put data into pachyderm from urls, I would like to embed HTTP authentication tokens in the request so that I can use backends that require authentication to get data.
If there is a way to accomplish this today via workaround, what does that require?
I can use curl or wget to stage the data to my machine first.  This creates a security and privacy risk.  I would rather the data were transferred directly into pachyderm from the storage url.
(Optional) What is your proposal for a feature to solve this?
Good
Allow put-file to use the same authentication syntax as curl or wget (-u or --user <username: password>) and work with standard HTTP authentication mechanisms.
Better
Allow for the addition of headers to the outgoing HTTP requests for custom authentication schemes, as in curl's "-H" flag (as in curl -H "X-Auth-User: superman" -H "X-Auth-Key: superman")
Best
Prompt for authentication to the end user if the response from the resource demands it, caching credentials as needed.

@gabrielgrant that's correct, I think #2868 is the simplest thing we could do that would satisfy the use case.  However there's still probably some need for http authentication. I'm not sure quite how deep we want to go on this functionality. Recreating all of curls auth flags is probably overdoing it a bit, at a certain point it probably makes sense for people to just run:
curl ... | pachctl put-file ...

From a pod within the cluster, that way you have complete freedom to do whatever you want and the performance should be pretty close to equivalent.

@gabrielgrant exactly, it would work wherever those style of urls are used. This is in reference a comment on #2868 for those wondering where s3api came from.

I'm a fan of just piping from curl for any type of authentication. It feels more unix-ey, provides better separation of concerns, doesn't carry a massive performance tax, and doesn't have a security/privacy risk since the contents aren't persisted to disk.


[BUG]

Describe the bug
Operators work when executed alone, but fails with monai.deploy.exceptions.ItemNotExistsError: '/operators/d3de6feb-9315-4f65-8536-8d6b6e716636/0/output/' does not exist. when run consecutively. Checking .monai_workdir reveils that the folder does in fact exits.
Steps/Code to reproduce bug
Consider the following minimal app:
@md.input("", DataPath, IOType.DISK)
@md.output("", DataPath, IOType.DISK)
class CopyOP(Operator):
    def __init__(self):
        super().__init__()

    def compute(self, op_input: InputContext, op_output: OutputContext, context: ExecutionContext):
        in_path = op_input.get().path
        out_path = op_output.get().path
        for f in os.listdir(in_path):
            shutil.copy2(os.path.join(in_path, f), out_path)

class App(Application):
    def compose(self):
        logging.info("started")
        copy1 = CopyOP()
        copy2 = CopyOP()

        self.add_flow(copy1, copy2)

if __name__ == "__main__":
    App(do_run=True)

If I try to run a single CopyOP() with self.add_operator(copy1), it works. Adding them consecutively yields the following exception:
Traceback (most recent call last):
  File "/home/mathis/projects/docker_images/inference_server/model_repository/models/simplemonai/app.py", line 29, in <module>
    App(do_run=True)
  File "/home/mathis/anaconda3/envs/pydicom/lib/python3.9/site-packages/monai/deploy/core/application.py", line 129, in __init__
    self.run(log_level=args.log_level)
  File "/home/mathis/anaconda3/envs/pydicom/lib/python3.9/site-packages/monai/deploy/core/application.py", line 429, in run
    executor_obj.run()
  File "/home/mathis/anaconda3/envs/pydicom/lib/python3.9/site-packages/monai/deploy/core/executors/single_process_executor.py", line 125, in run
    op.compute(op_exec_context.input_context, op_exec_context.output_context, op_exec_context)
  File "/home/mathis/projects/docker_images/inference_server/model_repository/models/simplemonai/app.py", line 16, in compute
    out_path = op_output.get().path
  File "/home/mathis/anaconda3/envs/pydicom/lib/python3.9/site-packages/monai/deploy/core/io_context.py", line 85, in get
    raise ItemNotExistsError(f"'{key}' does not exist.")
monai.deploy.exceptions.ItemNotExistsError: '/operators/d3de6feb-9315-4f65-8536-8d6b6e716636/0/output/' does not exist.

Expected behavior
Expected operators to run consecutively
Environment details (please complete the following information)

OS/Platform: Ubuntu 20.04
Python Version: 3.9.7
Method of MONAI Deploy App SDK install: pip in a conda env
SDK Version: 0.2.1

Thanks in advance

@mathiser Thank you for reporting this issue, which is reproducible. This behavior, or limitation, is by design, and I'd explain below.
Only the last operator's op_output can be a DISK type, and mapped to the application's output. I actually at times had the needs to output files from an "inside operator",  and after discussion with @gigony , we decided on this keep this limitation for the following reasons:

to the consumers of the application, there should be on input (dir) and one output (dir)
for performance reasons, it is best to have memory objects passed between operators
for non-leaf operators, the context: ExecutionContext argument has the property output, which is the application's output (dir), and any operator can get the path of it, and write folder/files to it
if there is a need to save files as the output of a non-leaf operator and pass the files as input to another operator, the non-leaf operator can save the files in the application's output folder, then wrap the path in (str) object as output with IOType_IN_MEMORY, and then link the output as input to the next operator as IOType.IN_MEMORY. This makes the edge/linkage both dynamic and deterministic
For applications with multiple leaf operators, then each leaf operator's op_output can be mapped to the application's output (dir). I am actually extending the ai_spleen_seg_app to have two leaf operators, one being the DICOM Seg writer, the other a 3D  surface mesh writer, snippet below.

Hope you see these as good reasons, too, to have this known limitation.
    def compose(self):
        """Creates the app specific operators and chain them up in the processing DAG."""

        self._logger.debug(f"Begin {self.compose.__name__}")

        # Creates the custom operator(s) as well as SDK built-in operator(s).
        study_loader_op = DICOMDataLoaderOperator()
        series_selector_op = DICOMSeriesSelectorOperator(Sample_Rules_Text)
        series_to_vol_op = DICOMSeriesToVolumeOperator()
        # Model specific inference operator, supporting MONAI transforms.
        spleen_seg_op = SpleenSegOperator()
        # Creates DICOM Seg writer with segment label name in a string list
        dicom_seg_writer = DICOMSegmentationWriterOperator(seg_labels=["Spleen"])

        mesh_conversion_op = MeshConvertionOperator(output_file="test.stl")

        # Create the processing pipeline, by specifying the upstream and downstream operators, and
        # ensuring the output from the former matches the input of the latter, in both name and type.
        self.add_flow(study_loader_op, series_selector_op, {"dicom_study_list": "dicom_study_list"})
        self.add_flow(
            series_selector_op, series_to_vol_op, {"study_selected_series_list": "study_selected_series_list"}
        )
        self.add_flow(series_to_vol_op, spleen_seg_op, {"image": "image"})
        # Note below the dicom_seg_writer requires two inputs, each coming from a upstream operator.
        self.add_flow(
            series_selector_op, dicom_seg_writer, {"study_selected_series_list": "study_selected_series_list"}
        )
        self.add_flow(spleen_seg_op, dicom_seg_writer, {"seg_image": "seg_image"})

        self.add_flow(spleen_seg_op, mesh_conversion_op, {"seg_image": "image"})

        self._logger.debug(f"End {self.compose.__name__}")

@MMelQin, Thank you for elaborating this for me. It drove me insane yesterday, as I could not find any documentation about the situation.
I think the reasons you state are very sensible - the only thing that bothers be is that it (at least to me) makes debugging/developing of long and complex workflows more painful, as visual inspection of intermittent steps will be somewhat more cumbersome.
Thanks again - I think we can close this then.

Thanks again. I've created a new issue for improving the doc.


UpdateQueue should require the user to have a queue-specific permission

Right now, all a user needs in order to update a queue is permissions.CreateQueue:
https://github.com/G-Research/armada/blob/1476c18bec337b77434c038ec8dea6458ba253ff/internal/armada/server/submit.go#L158-L172
This seems wrong. If I can update a queue, I can change who owns it and who has what permissions, or its resource limits so it can't do useful work. All that seems well beyond the scope of a permission called CreateQueue, which I'd say should allow you only to create queues, not to mess with existing queues.
I propose:

adding a queue-specific queue.PermissionVerb called queue.PermissionVerbUpdate
renaming global permission permissions.DeleteQueue to permissions.ModifyQueue
changing submit.UpdateQueue() to require both queue.PermissionVerbUpdate and permissions.ModifyQueue (but not permissions.CreateQueue

┆Issue is synchronized with this Jira Task by Unito

I think this sounds good but should we also keep permissions for deleting.

Closing, no activity.


Add (perhaps autogenerated) toString-Methods

For debugging, it might be good to add toString-Methods for every request and response. Perhaps just create data class so that the toString-Method is autogenerated

Will be already part of the logging enhancement - see already existing branch. Therefore closing this one.


Increment and decrement numbers like in Vim

Check for existing issues

[X] Completed

Is your feature request related to a problem?
I want better vim mode!
Describe the solution you'd like
In Vim mode I would like to see ability to

increment next number on the current line with Ctrl + A
decrement next number on the current line with Ctrl + X
with cursor moving to the last digit of that number.

If applicable, add mockups / screenshots to help present your vision of the feature
No response

This is implemented in v0.107 (currently in preview).


verify ensure time entry duration / times

please validate/ensure following for data sent into API:

[x] start time is not sub second precise (round/truncate it to seconds only part).
[x]  stop time is not sub second precise (round/truncate it to seconds only part).
[x] duration is non-decimal number of full seconds between start and stop for stopped time
entries.
[x] duration field for running time entries encodes  same moment of time  as start field.

We use time_t that takes seconds precision. Also duration is set as "-start time" on timer start and stop time is calculated from duration seconds when timer stops.
When creating JSON for post we use ISO8601_FORMAT for start and stop fields.
Should be all good.


Codecov upload is broken

the codecov upload job in CI is failing
{'detail': ErrorDetail(string='Could not find a repository, try using upload token', code='not_found')}
404
==> Uploading to Codecov
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 12383  100<PHONE_NUMBER>0    528  62974 --:--:-- --:--:-- --:--:-- 63502
    {'detail': ErrorDetail(string='Could not find a repository, try using upload token', code='not_found')}

possible the repo is simply not registered on codecov?
i've tried updating the action in #173 but that doesn't help
should probably update the action anyway though, since the old version has a security issue.

Oh, this is probably because I've renamed the organization to a different name... I will take care of it 👍🏻

Oh, this is probably because I've renamed the organization to a different name... I will take care of it 👍🏻

i think i've got some rebasing to do on the open pull requests. do you want to ping me when the codecov is working again? I'll hold off on that before updating the PRs

It's working now, closing it ✌🏻


remove: updated to match with core repo

Fixes #1490

dvc remove description updated according to implementation (see https://github.com/iterative/dvc/issues/4094 for context)

--outs description updated according to implementation.

.gitignore described in examples.

Removed extra params: -p, -f.

Removed shorthand for --outs (i.e. -o).

Updated command description.

@jorgeorpinel I've applied most of your changes except command text and --outs description. I've tried to keep text identical to core repo. I don't know where they should be applied first: here or the core repo.

Thanks @nik123!
We only try to keep code blocks identical between core dvc command outputs and cmd ref. Not all of the text! So we can safely apply those 2 suggestions.
Do you have any ideas for https://github.com/iterative/dvc.org/pull/1497#pullrequestreview-437182032 ? Again, it's beyond the scope of the PR so no need to do it now, I can do it later. Just lmk please.

Do you have any ideas for #1497 (review) ? Again, it's beyond the scope of the PR so no need to do it now, I can do it later. Just lmk please.

As far as understand, there were 2 issues with examples in original code. So I'll try address them both:
1. Example with dvc-files is too complex
I've updated example and now it doesn't require reader to know about linux pipes or wc -l command. I'm not sure it became better though so please, check it out. May be we'll have to fall back to previous version.
2. We need "remove stage" example with dvc.yaml file
Right now I can't come up with nice, short and simple example for dvc.yaml. If you have an idea for one or think that dvc.yaml example shouldn't necessarily be addressed in this PR, I'm totally fine with it.

No worries, I'll address #2.


[WIP] Add health endpoint

Closes #15
Signed-off-by: Shishir Halaharvi<EMAIL_ADDRESS>

Combining this with the API PR.


Fly Trap

http://woofjs.com/full.html#froggy
I'm hoping this can be a one-star game. No clones are involved, but dealing with how the frog's tongue (a line) catches the fly is tricky as touching & distanceTo only work from the line's center.

Go great! Yes, .touching with lines is strange. This would be much easier after we solve https://github.com/stevekrouse/WoofJS/issues/221


Order exercises by visible difficulty and then name?

https://github.com/exercism/red/commit/8160b4dcb922124f6ccee885baad8ea9eb217bbe seems to be sorting exercises by listed difficulty. However, this might be confusing to students because the website bins difficulty levels 1 - 3 as easy, 4 - 7 as medium, and 8 - 10 as hard. So exercises within each bin would appear out of order. Therefore, I propose we sort exercises by binned difficulty and then name. We want to sort by name not slug because the slug pop-count is commonly named "Eliud's Eggs". I recently adopted this sorting behavior on the Vim script track and I'm about to push it to the Racket track as well.

Closed by #135


not work

script does not work

can confirm, stopped working yesterday

aw did it seriously stop working a week before I needed to use it?

outdated now, hit me up on DM on how i can help,

Me too. there is a download button but nothing happens.
I thought it was about updating tampermonkey, but it still does not work with its old versions.

Fixed @2021/03/29


Make woosh repond faster

I hear a delay with the next question sound. Maybe trim the audio file in the beginning and end?

Finished


Error loading bookmarks

hi mhinz
my vimrc config for vim-startify is below
" vim-startify {{{
let g:startify_list_order = [
\ ['   Bookmarks:'],
\ 'bookmarks',
\ ['   MRU:'],
\ 'files' ,
\ ['   MRU (dir):'],
\ 'dir',
\ ['   Sessions:'],
\ 'sessions',
\ ]
let g:fortune_vimtips_auto_display = 0
let g:startify_change_to_vcs_root = 1
let g:startify_change_to_dir = 0
let g:startify_files_number = 8
let g:startify_session_dir = "~/.vim/sessions"
let g:startify_bookmarks = ['/home/byaruhaf/code/erlang/otto/apps/otto/src/fact.erl','/home/byaruhaf/code/erlang/otto/apps/otto/src/powers.erl']
i get the following error when i try to open the Bookmarks
Error detected while processing function startify#open_buffers..startify#open_buffers:
line   11:
E716: Key not present in Dictionary: 0
E15: Invalid expression: s:entries[markers.original_index]
Press ENTER or type command to continue

Argh, sorry for the inconvenience. Before the weekend I refactored the code so that almost everything gets opened through startify#open_buffers().. but I forgot to include bookmarks.
Thanks for reporting!

Thanks its now working :100:


Wrapping EthernetInterface

Hi,
I'm trying to wrap smoltcp::iface::EthernetInterface like so:
extern crate smoltcp;
use std::fs::File;
use std::io::{self, Read, Write};

struct Device {
    network: File,
}

struct TxBuffer {
    buffer: Vec<u8>,
    network: File,
}

impl AsRef<[u8]> for TxBuffer {
    fn as_ref(&self) -> &[u8] { self.buffer.as_ref() }
}

impl AsMut<[u8]> for TxBuffer {
    fn as_mut(&mut self) -> &mut [u8] { self.buffer.as_mut() }
}

impl Drop for TxBuffer {
    fn drop(&mut self) { self.network.write(&mut self.buffer[..]).unwrap(); }
}

impl smoltcp::phy::Device for Device {
    type RxBuffer = Vec<u8>;
    type TxBuffer = TxBuffer;

    fn mtu(&self) -> usize { 1536 }

    fn receive(&mut self) -> Result<Self::RxBuffer, smoltcp::Error> {
        let mut buffer = vec![0; self.mtu()];
        let size = self.network.read(&mut buffer[..])?;
        buffer.resize(size, 0);
        Ok(buffer)
    }

    fn transmit(&mut self, length: usize) -> Result<Self::TxBuffer, smoltcp::Error> {
        Ok(TxBuffer {
            network:  self.network.try_clone()?,
            buffer: vec![0; length]
        })
    }
}

pub struct EthernetDevice<'a, 'b, 'c>(smoltcp::iface::EthernetInterface<'a, 'b, 'c, Device>);

impl<'a, 'b, 'c> EthernetDevice <'a, 'b, 'c> {
    pub fn new(network: File) -> Self {
        let device = Box::new(Device { network: network });
        let arp_cache = Box::new(smoltcp::iface::SliceArpCache::new(vec![Default::default(); 8])) as Box<smoltcp::iface::ArpCache>;
        let hardware_addr = smoltcp::wire::EthernetAddress([0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
        let ip_addresses = [smoltcp::wire::IpAddress::v4(192, 168, 0, 2)];
        EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
    }
    // more stuff
}

This does not work:
error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'b` due to conflicting requirements
  --> new.rs:56:9
   |
56 |         EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
   |         ^^^^^^^^^^^^^^
   |
note: first, the lifetime cannot outlive the lifetime 'b as defined on the body at 51:38...
  --> new.rs:51:39
   |
51 |       pub fn new(network: File) -> Self {
   |  _______________________________________^ starting here...
52 | |         let device = Box::new(Device { network: network });
53 | |         let arp_cache = Box::new(smoltcp::iface::SliceArpCache::new(vec![Default::default(); 8])) as Box<smoltcp::iface::ArpCache>;
54 | |         let hardware_addr = smoltcp::wire::EthernetAddress([0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
55 | |         let ip_addresses = [smoltcp::wire::IpAddress::v4(192, 168, 0, 2)];
56 | |         EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
57 | |     }
   | |_____^ ...ending here
note: ...so that expression is assignable (expected EthernetDevice<'a, 'b, 'c>, found EthernetDevice<'_, '_, '_>)
  --> new.rs:56:9
   |
56 |         EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: but, the lifetime must be valid for the static lifetime...
note: ...so that the type `smoltcp::iface::Cache` will meet its required lifetime bounds
  --> new.rs:56:24
   |
56 |         EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
   |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I know this is not a smoltcp issue, but I have really don't know how to make the compiler happy here, so I was hoping you would be able to suggest something? Or am I trying to do something fundamentally wrong?

Given that you use Box and Vec everywhere, replace 'a 'b 'c with 'static.

Ahh thanks, it makes sense. This compiles fine:
pub struct EthernetDevice(smoltcp::iface::EthernetInterface<'static, 'static, 'static, Device>);

impl EthernetDevice {
    pub fn new(network: File) -> Self {
        let device = Box::new(Device { network: network });
        let arp_cache = Box::new(smoltcp::iface::SliceArpCache::new(vec![Default::default(); 8])) as Box<smoltcp::iface::ArpCache>;
        let hardware_addr = smoltcp::wire::EthernetAddress([0x0, 0x0, 0x0, 0x0, 0x0, 0x0]);
        let ip_addresses = [smoltcp::wire::IpAddress::v4(192, 168, 0, 2)];
        EthernetDevice(smoltcp::iface::EthernetInterface::new(device, arp_cache, hardware_addr, ip_addresses))
    }
}


Detect lies in Workers

Workers can be corrupt just like frames. Below is an unfinished concept showing the worker scope can be poisoned through the window scope.
Defensive mesures:

[x] detect prototype lies
[x] find inconsistent userAgentData
[ ] flag inconsistent platform/ua system (partially added - needs revisit)

[x] match ua system to system fonts
[x] match platform to ua system

~catch language lies~ [comment]
[ ] canvas pixel trap

Worker Poison
This does not work for blob URLs that are revoked. This can also support direct path scripts if we check the script location.
//
Worker = class extends Worker {
  constructor(scriptURL) {
    console.log(scriptURL)
    const fn = scriptURL => {
      Object.defineProperty(Object.getPrototypeOf(navigator), 'platform', {
        get: function platform() {
          return 'fake'
        }
      })
      console.log(self.navigator)
      return importScripts(scriptURL)
    }
    const response = `(${''+fn})('${''+scriptURL}')`
    const blobURL = URL.createObjectURL(new Blob(
      [response], {
        type: 'application/javascript'
      }
    ))
    super(blobURL)
    URL.revokeObjectURL(blobURL)
  }
}
newWorker = fn => {
  const response = `(${''+fn})()`
  try {
    const blobURL = URL.createObjectURL(new Blob(
      [response], {
        type: 'application/javascript'
      }
    ))

    const workerInstance = new Worker(blobURL)
    //URL.revokeObjectURL(blobURL) // does not work if this is revoked
    return workerInstance
  } catch (error) {
    return console.error(error)
  }
}
start = performance.now()
newWorker(async () => {
  const {
    platform
  } = self.navigator || {}

  postMessage({
    platform
  })
  close()
}).addEventListener('message', async event => {
  const {
    data
  } = event
  console.log(performance.now() - start)
  return console.log(data)
})

// returns
{
  platform: "fake"
}

The implemented language lies introduce an issue. To reproduce:

Set the system local to e.g. English US
Set the Chrome language to Dutch
Now CreepJS will detect a lie because the primary locale and worker locale seem to mismatch (worker takes the system locale it seems).

Thank you for catching that. I'm torn on whether or not this locale mismatch should be counted as a lie. I can see it being used for accessibility and development in which case the mismatch should be given respect. I think what I can do is remove the lie, and then remove the worker's engine locale from the stable fingerprint. If there is any switching the engine language monkey business, the score will slowly fall, but the fingerprint should remain stable with the system locale.

The change is now live on the dev site. It should go live this weekend or late Aug - maybe late Aug since this and recent updates will renew most fingerprints.

@Niek Another interesting thing in workers is 'toLocaleString' does not mirror the locale override but resolvedOptions does.
For example, this renders the system locale in currencyDisplay:
(1).toLocaleString(undefined, {
    style: 'currency',
    currency: 'USD',
    currencyDisplay: 'name',
    minimumFractionDigits: 0,
    maximumFractionDigits: 0
})

And, this gets the engine locale:
Intl.DateTimeFormat().resolvedOptions().locale

@abrahamjuliot looks like a Chrome bug to me. It's also unclear to me where the system locale it gathered from, in Linux setting LC_ALL and LANGUAGE doesn't affect the setting - I assume it's getting it from some other place. I thought it was hardcoded to en-US first, but that doesn't appear to be the case.