refactor: rename channelStorageHashes and friends

This PR

Introduces a slightly more gas efficient way of packing ChannelData into a storage slot. Currently, we store finalizesAt and turnNumRecord directly in the slot, as well as including them in the preimage of the hashed-part of the slot. This means the abi encoder and keccak256 are doing more work than they strictly need to, as well as the implementation being potentially confusing.

Overhauls the terminology with the following changes:

channelStorageHash -> fingerprint
fingerprint -> thumbprint
hashChannelStorage -> generateFingerprint
getChannelStorage -> unpackFingerprint

I appreciate this is a large changeset: I've done my best to highlight the main thrust of the changes. The remainder are mostly follow-on changes resulting from the rename.
Fixes #34

My two cents:
Fingerprint and thumbprint are so close in meaning that it might add some confusion. Why is it not the other way around, for instance? It seems a bit cryptic.
Both fingerprint and thumbprint seem too generic to be used as an API term. Suppose we want to change them in the future. A global search and replace across multiple packages is more tedious with fingerprint. It is less tedious with eg. the case sensitive channelFingerprint.
Off the top of my head, maybe the name should depends on the context: what is the data we're storing?

from the wallet's point of view, "adjudicator state" seems accurate
from the adjudicator's view, "channel state" seems accurate, except state is then overloaded. But "finalization state" seems accurate and unambiguous

Maybe, then, something like finalizationState is a good name for the externally facing lookup table?
Thoughts?

My two cents:
Fingerprint and thumbprint are so close in meaning that it might add some confusion. Why is it not the other way around, for instance? It seems a bit cryptic.
Both fingerprint and thumbprint seem too generic to be used as an API term. Suppose we want to change them in the future. A global search and replace across multiple packages is more tedious with fingerprint. It is less tedious with eg. the case sensitive channelFingerprint.
Off the top of my head, maybe the name should depends on the context: what is the data we're storing?

from the wallet's point of view, "adjudicator state" seems accurate
from the adjudicator's view, "channel state" seems accurate, except state is then overloaded. But "finalization state" seems accurate and unambiguous

Maybe, then, something like finalizationState is a good name for the externally facing lookup table?
Thoughts?

My two cents:
Fingerprint and thumbprint are so close in meaning that it might add some confusion. Why is it not the other way around, for instance? It seems a bit cryptic.

Yeah I guess with both words I am opting for vague terms intentionally. They are vague enough that you aren't going to guess what they mean with visiting the implementation or the documentation. They are by no means perfect names, but I think possibly an improvement on calling something a hash which is actually not a hash (current behaviour). Fingerprint is obviously an established concept, at least: that's the reason I elevated it to being the main public-facing term. The thumbprint is more of an implementation detail, so I think it matters a bit less what we name it.

Both fingerprint and thumbprint seem too generic to be used as an API term. Suppose we want to change them in the future. A global search and replace across multiple packages is more tedious with fingerprint. It is less tedious with eg. the case sensitive channelFingerprint.

Off the top of my head, maybe the name should depends on the context: what is the data we're storing?

from the wallet's point of view, "adjudicator state" seems accurate
from the adjudicator's view, "channel state" seems accurate, except state is then overloaded. But "finalization state" seems accurate and unambiguous

Maybe, then, something like finalizationState is a good name for the externally facing lookup table?

For me, both adjudicator and channel are implied because client code will do NitroAdjudicator.<public-mapping-name>[channelId].
I like the idea of getting "finalization" in there. But I'm not so keen on using 'state". How about one of the following?
i) finalizationFingerprints
ii) channelDataFingerprints
iii) channelModeFingerprints

My two cents:
Fingerprint and thumbprint are so close in meaning that it might add some confusion. Why is it not the other way around, for instance? It seems a bit cryptic.

Yeah I guess with both words I am opting for vague terms intentionally. They are vague enough that you aren't going to guess what they mean with visiting the implementation or the documentation. They are by no means perfect names, but I think possibly an improvement on calling something a hash which is actually not a hash (current behaviour). Fingerprint is obviously an established concept, at least: that's the reason I elevated it to being the main public-facing term. The thumbprint is more of an implementation detail, so I think it matters a bit less what we name it.

Both fingerprint and thumbprint seem too generic to be used as an API term. Suppose we want to change them in the future. A global search and replace across multiple packages is more tedious with fingerprint. It is less tedious with eg. the case sensitive channelFingerprint.

Off the top of my head, maybe the name should depends on the context: what is the data we're storing?

from the wallet's point of view, "adjudicator state" seems accurate
from the adjudicator's view, "channel state" seems accurate, except state is then overloaded. But "finalization state" seems accurate and unambiguous

Maybe, then, something like finalizationState is a good name for the externally facing lookup table?

For me, both adjudicator and channel are implied because client code will do NitroAdjudicator.<public-mapping-name>[channelId].
I like the idea of getting "finalization" in there. But I'm not so keen on using 'state". How about one of the following?
 Why is it not the other way around, for instance? It seems a bit cryptic.

Yeah I guess with both words I am opting for vague terms intentionally. They are vague enough that you aren't going to guess what they mean with visiting the implementation or the documentation. They are by no means perfect names, but I think possibly an improvement on calling something a hash which is actually not a hash (current behaviour).

Let's agree that hash is not a good name.

Fingerprint is obviously an established concept, at least: that's the reason I elevated it to being the main public-facing term. The thumbprint is more of an implementation detail, so I think it matters a bit less what we name it.

Going from https://en.wikipedia.org/wiki/Fingerprint_(computing):

a fingerprinting algorithm is a procedure that maps an arbitrarily large data item (such as a computer file) to a much shorter bit string

I find the term fingerprint to be confusing for something that exposes information. I certainly find it confusing to be used alongside the term thumbprint.

For me, both adjudicator and channel are implied because client code will do NitroAdjudicator.<public-mapping-name>[channelId].

👍

I like the idea of getting "finalization" in there. But I'm not so keen on using 'state". How about one of the following?
i) finalizationFingerprints
ii) channelDataFingerprints
iii) channelModeFingerprints

From this list, I would prefer finalizationFingerprint for the external mapping from this list.
But, it is proposed that the wallet store a AdjudicatorStatus in https://github.com/statechannels/statechannels/pull/3134.) Thus to keep terminology consistent, what about

status for the externally facing channelId => bytes32 mapping
fingerprint for the "fingerprint" of the challenge state.

Let's ask @lalexgap 😛

My two cents:
Fingerprint and thumbprint are so close in meaning that it might add some confusion. Why is it not the other way around, for instance? It seems a bit cryptic.

Yeah I guess with both words I am opting for vague terms intentionally. They are vague enough that you aren't going to guess what they mean with visiting the implementation or the documentation. They are by no means perfect names, but I think possibly an improvement on calling something a hash which is actually not a hash (current behaviour).

Let's agree that hash is not a good name.

Fingerprint is obviously an established concept, at least: that's the reason I elevated it to being the main public-facing term. The thumbprint is more of an implementation detail, so I think it matters a bit less what we name it.

Going from https://en.wikipedia.org/wiki/Fingerprint_(computing):

a fingerprinting algorithm is a procedure that maps an arbitrarily large data item (such as a computer file) to a much shorter bit string

I find the term fingerprint to be confusing for something that exposes information. I certainly find it confusing to be used alongside the term thumbprint.

For me, both adjudicator and channel are implied because client code will do NitroAdjudicator.<public-mapping-name>[channelId].

👍

I like the idea of getting "finalization" in there. But I'm not so keen on using 'state". How about one of the following?
i) finalizationFingerprints
ii) channelDataFingerprints
iii) channelModeFingerprints

From this list, I would prefer finalizationFingerprint for the external mapping from this list.
But, it is proposed that the wallet store a AdjudicatorStatus in https://github.com/statechannels/statechannels/pull/3134.) Thus to keep terminology consistent, what about

status for the externally facing channelId => bytes32 mapping
fingerprint for the "fingerprint" of the challenge state.

Let's ask @lalexgap 😛

a fingerprinting algorithm is a procedure that maps an arbitrarily large data item (such as a computer file) to a much shorter bit string

I find the term fingerprint to be confusing for something that exposes information. I certainly find it confusing to be used alongside the term thumbprint.

On "fingerprint" -- if it's confusing, that is bad. But I don't see any contradiction in a fingerprint exposing information -- it's consistent with the wikipedia definition.
On "thumbprint" -- it's essentially just another fingerprint, but of a different kind (using a different fingerprinting algorithm). It  needs a different name, hence the one I came up with.
I'd rather that this not turn into a drawn out discussion since it's largely a matter of taste. In the spirit of getting this PR merged quickly, I went ahead with aed32dd, which is essentially your latest suggestion:
mapping(bytes32 => bytes32) public statusOf;

<snip>
    function _generateStatus(ChannelData memory channelData)
        internal
        pure
        returns (bytes32 status)
    {
      result = <snip>
        // logical or with the last 160 bits of the hash the remaining channelData fields
        // (we call this the fingerprint)
        result |= uint256(
            uint160(
                uint256(
                    keccak256(
                        abi.encode(
                            channelData.stateHash,
                            channelData.challengerAddress,
                            channelData.outcomeHash
                        )
                    )
                )
            )
        );
    }

I used statusOf rather than status to avoid the solidity compiler generating warnings when shadowing the variable (e.g. in _generateStatus().

a fingerprinting algorithm is a procedure that maps an arbitrarily large data item (such as a computer file) to a much shorter bit string

I find the term fingerprint to be confusing for something that exposes information. I certainly find it confusing to be used alongside the term thumbprint.

On "fingerprint" -- if it's confusing, that is bad. But I don't see any contradiction in a fingerprint exposing information -- it's consistent with the wikipedia definition.
On "thumbprint" -- it's essentially just another fingerprint, but of a different kind (using a different fingerprinting algorithm). It  needs a different name, hence the one I came up with.
I'd rather that this not turn into a drawn out discussion since it's largely a matter of taste. In the spirit of getting this PR merged quickly, I went ahead with aed32dd, which is essentially your latest suggestion:
mapping(bytes32 => bytes32) public statusOf;

<snip>
    function _generateStatus(ChannelData memory channelData)
        internal
        pure
        returns (bytes32 status)
    {
      result = <snip>
        // logical or with the last 160 bits of the hash the remaining channelData fields
        // (we call this the fingerprint)
        result |= uint256(
            uint160(
                uint256(
                    keccak256(
                        abi.encode(
                            channelData.stateHash,
                            channelData.challengerAddress,
                            channelData.outcomeHash
                        )
                    )
                )
            )
        );
    }

I used statusOf rather than status to avoid the solidity compiler generating warnings when shadowing the variable (e.g. in _generateStatus().


Unknown values management

I need to display values on Y axis along date. But for some date no value exists. Does SwiftCharts handle this?

Yes, you have full control over what you want to display. You can create a ChartAxisValue (or ChartAxisValueDate) subclass and implement accordingly.

The axis just has to represent a range. You basically only need 2 axis values to create an axis. What you want to display inside of the range - how many values, in which intervals, and the text you show for each of them is as said up to you.

I think there is a misunderstanding. What I need is to display a discontinued line: in other words: if for a given date there is no values, the line is then cut and is therefore made of 2 segments.

Ok, some ideas:

Quick and dirty: You can show an overlay in front of the axis line, where you want it to be divided, i.e. add a subview of the chart view, that has the same color as the background. To determine the position and size of the overlay you can use screenLocForScalar(_ scalar: Double)

You can make the axis line invisible and show the segments basically as chart points, using ChartPointsViewsLayer (you can see this layer in use e.g. in HelloWorld example). ChartPointsViewsLayer is used to show any kind of UIViews on the chart, so you can use it to show these lines too. You'd create 2 chart points with model coordinates corresponding to the location of your "gap", and then in the view generator using the computed screen locations of these points generate rectangular views that resemble the segmented line.

You can create a subclass of the axis layer you want to be segmented, and override either generateLineDrawer(offset: CGFloat) to return also a subclass of ChartLineDrawer which draws the line in the way you want. You can submit a PR to make generateLineDrawer(offset: CGFloat) public (it's internal now so you'd not be able to override it), and also note that ChartLineDrawer works only with screen coordinates so you probably would have to map first the model coordinates from where the gap should be to screen coordinates, e.g. using the axis layer as in method 1.

I could imagine more advanced ways to implement this, which would require non trivial changes in the library, like allowing to control the generated line based on model coordinates. But this is probably an overkill.
I personally would try 2. It's handy improvisation and not a hack - ChartPointsViewsLayer exists essentially to add subviews to the chart based on model coordinates, so this would be a legitime use. The chart also doesn't clip the contents.


Better way to compare two faces?

Hey, i need to compare two faces (without storing them, both in base64) and display the similarity level of them. What's the better way to do it? And how i can increase the precision level?
Here is my code now:
    public async Task<double> CompareFaces(string sourceImageBase, string targetImageBase)
        {
            string directory = "C:\\models";

            using (FaceRecognition fr = FaceRecognition.Create(directory))
            {
                var bitmapData = GetImageBytes(FixBase64ForImage(sourceImageBase));
                var targetBitmapData = GetImageBytes(FixBase64ForImage(targetImageBase));

                await using (MemoryStream streamTargetBitmap = new MemoryStream(targetBitmapData))
                {
                    using (Bitmap bitTargetImage = new Bitmap(streamTargetBitmap))
                    {
                        await using (MemoryStream streamSourceBitmap = new MemoryStream(bitmapData))
                        {
                            using (Bitmap bitSourceImage = new Bitmap(streamSourceBitmap))
                            {
                                using (var imageA = FaceRecognition.LoadImage(bitSourceImage))
                                {
                                    using (var imageB = FaceRecognition.LoadImage(bitTargetImage))
                                    {
                                        IEnumerable<Location> locationsA = fr.FaceLocations(imageA);
                                        IEnumerable<Location> locationsB = fr.FaceLocations(imageB);

                                        var encodingA = fr.FaceEncodings(imageA, locationsA);
                                        IEnumerable<FaceEncoding> encodingB = fr.FaceEncodings(imageB, locationsB);

                                        return FaceRecognition.FaceDistance(encodingA.First(), encodingB.First());
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

Thanks!

To increase accuracy

Use large image
Use front face image

What's the better way to do it?

And you need not to re-create FaceRecognition object.
You can share it on 1-thread.
If you want to use multithread, you must create N FaceRecognition object for N threads.

I've tried with 100x100 grayscale face cut out image and with normal images in 520x360 with same results, and it's bad. it can't identify the same person... btw, how the distance is calculated? it's from 0 to 100?

@takuya-takeuchi How can i contact you?

100x100 grayscale

You mean that you compare with encoding from grayscale and encoding from rgb image, right?
It could be no matter but I'm not sure.

btw, how the distance is calculated? it's from 0 to 100?

dittance is from 0 to 1.0.

How can i contact you?

No. I am very very busy and I can not contribute to my projects.

Btw, there's any way to improve the recognition speed?

use gpu or intel MKL


Reduce the resolution from 64x to 32x

Use the available textures and reduce the resolution from 64 to 32
10
11
14
15
16
18
19
20

92efafe8c66b76292e3b1772f10e18137088a6aa


GitHub action.yml fix output

Description
This PR adds fixes to the go program output and github action output. Demo of a github Action is added to a separate branch as discussed during the project meetings: #21
Type of change

Bug fix (Setting Go script output as GitHub Actions outputs)

Issues
Not created

Approved in weekly meeting 29/7


Classes are in the wrong namespace

Currently some of the classes are in the wrong(old) namespace EmberEngine
FIx:

They should be moved to Ember namespace

Issue resolved


Buggy spinner animation on mobile device

Mine is running on an Android 4.4.2 phone with mobile Chrome
The spinner animation is buggy, will produce a little stop after rotating
But the material spinner used in Google image search does not occurs this problem

Hi @nodegin, thanks for the bug report!
I'm having trouble reproducing this issue, so I'm assuming there's something hardware-specific going on there. Any chance you could share your Chrome version and device specs (processor, RAM, etc.)?
Also, could you test this page and see if the spinners there have the same issue? https://elements.polymer-project.org/elements/paper-spinner?view=demo:demo/index.html

I made a recording, my phone is Sharp Aquos Crystal 305sh
https://www.dropbox.com/s/ez2jixcl2hwrnyo/bug2.mp4
If I toggle it the animation will ran normally

Sorry, can't reproduce the issue :-/


[NV-GO-1] API 🚀: Validate MX Record Setup for Inbound Parse Functionality

What does this PR do?

Adds Inbound Parser functionality for validating mx records
Fixes issue #8

How should this be tested manually?

Run the following:

package main

import (
	"context"
	"fmt"
	novu "github.com/novuhq/go-novu/lib"
	"log"
)

func main() {
	apiKey := "<REPLACE_WITH_YOUR_API_KEY>"
        ctx := context.Background()

        novuClient := novu.NewAPIClient(apiKey, &novu.Config{})
        resp, err := novuClient.InboundParser.Get(ctx)
        if err != nil {
		log.Fatal("novu error", err.Error())
		return
	}

	fmt.Println(resp.Data.MxRecordConfigured)

	}

Any Background Context?

N/A

@unicodeveloper and @prajjwaldimri please here is my contribution, I appreciate any feedback

@unicodeveloper and @prajjwaldimri please here is my contribution, I appreciate any feedback

Thanks for your contribution. Merging this in now. @NonsoAmadi10

@NonsoAmadi10 I had to revert this https://github.com/novuhq/go-novu/pull/27
Please check the code & test again, there is a nil pointer dereference error. See here for reference https://github.com/novuhq/go-novu/actions/runs/6080648872/job/16494937616

Hello @unicodeveloper , thank you very much for the feedback. I will implement it and circle back to you.

@NonsoAmadi10 Please any update here?

@NonsoAmadi10 Please any update here?

Yes please, I have raised a new PR for this issue here #29


autopep8 formatting doesn't do anything in colorize-fixtures/test.py

Testing #19885
Trying to format this, I don't know exactly how it's supposed to look but it seems by formatting the example file in #19885, there should at least be 2 spaces between classes/defs at the top level? There's zero feedback on format.
https://github.com/microsoft/vscode/blob/d31d71d8cc480313088a384ebb2c9e4f682601ae/extensions/python/test/colorize-fixtures/test.py#L21

In output:
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("x=", x, ", x=", y)?

[Warn  - 8:06:37 AM] Skipping non python code: c:\Github\microsoft\vscode\extensions\python\test\colorize-fixtures\test.py
C:\Users\Daniel\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe -m autopep8 -
CWD Server: c:\Github\microsoft\vscode
[Error - 8:07:03 AM] Syntax error in code: Traceback (most recent call last):
  File "c:\Users\Daniel\.vscode-insiders\extensions\ms-python.autopep8-2022.1.3130828015-dev\bundled\tool\server.py", line 83, in is_python
    ast.parse(code)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\ast.py", line 50, in parse
    return compile(source, filename, mode, flags,
  File "<unknown>", line 49
    print "x=", x, ", x=", y


enable static build

Minimal changes to enable a new build parameter AS_STATIC to build warp-transducer as a static library.

Draft moved to vincentqb/warp-transducer#2


Reduce & Reduce-window Testing

TF functions still causing problems:

reduce_euclidean_norm
reduce_logsumexp
reduce_min
reduce_prod
avg_pool

Lingering issues:

logsumexp needs a plaidml isFinite op or equivalent
TF generates bad hlo module for euclidean_norm


The --pre version reports ERROR

Describe the bug

I created a new conda environment with python 3.10
I installed the pre version using python -m pip install langflow --pre --force-reinstall
Launch the langflow using langflow run
And I got the following error messages:

(langflow) :~$ langflow run
Starting Langflow v1.0.0a22...
[04/16/24 22:13:33] ERROR    2024-04-16 22:13:33 - ERROR    - service -          service.py:171
                             AutogenerateDiffsDetected: New upgrade operations
                             detected: [[('modify_type', None, 'apikey',
                             'created_at', {'existing_nullable': True,
                             'existing_server_default':
                             DefaultClause(<sqlalchemy.sql.elements.TextClause
                             object at 0x7f3e13347520>, for_update=False),
                             'existing_comment': None}, TIMESTAMP(),
                             DateTime(timezone=True)), ('modify_nullable', None,
                             'apikey', 'created_at', {'existing_type':
                             TIMESTAMP(), 'existing_server_default':
                             DefaultClause(<sqlalchemy.sql.elements.TextClause
                             object at 0x7f3e13347520>, for_update=False),
                             'existing_comment': None}, True, False)]]
                    ERROR    2024-04-16 22:13:33 - ERROR    - utils - Something     utils.py:51
                             went wrong running migrations. Please, run `langflow
                             migration --fix`
Shutting down Langflow...
                    ERROR    2024-04-16 22:13:33 - ERROR    - on - Traceback (most    on.py:121
                             recent call last):
                               File
                             "/opt/anaconda3/envs/langflow/lib/python3.10/site-packag
                             es/starlette/routing.py", line 732, in lifespan
                                 async with self.lifespan_context(app) as
                             maybe_state:
                               File
                             "/opt/anaconda3/envs/langflow/lib/python3.10/contextlib.
                             py", line 201, in __aenter__
                                 raise RuntimeError("generator didn't yield") from
                             None
                             RuntimeError: generator didn't yield

                    ERROR    2024-04-16 22:13:33 - ERROR    - on - Application startup on.py:59
                             failed. Exiting.
[04/16/24 22:13:33] ERROR    2024-04-16 22:13:33 - ERROR    - glogging - Worker glogging.py:272
                             (pid:557394) exited with code 3
                    ERROR    2024-04-16 22:13:33 - ERROR    - glogging -        glogging.py:272
                             Shutting down: Master
                    ERROR    2024-04-16 22:13:33 - ERROR    - glogging -        glogging.py:272
                             Reason: Worker failed to boot.

And I did run langflow migration --fix, but it did not help.
Browser and Version
not reached to browser step
To Reproduce
Steps to reproduce the behavior: Just follow the 3 steps described above.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hey @captainst
How are you?
We've just released a new version. Do you mind seeing if it works for you?

@ogabrielluiz Thank you for you help!
I tried the above steps with a new created Anaconda environment. I did notice the new Langflow version (Starting Langflow v1.0.0a23...). But the error persisted (with the same reported line numbers).

Could you head over to your cache folder and find the langflow folder and rename the langflow.db file to something else?
Should be ~/.cache/langflow on Linux and ~/Library/Caches/langflow on Mac.

@ogabrielluiz Magic! That seems the key. At least I see the web frontend now. I'll try to test some components to see if my setup works. For the moment, I'll close this issue as solved.
Thank you very much !


Splitting namespace on multiple files with TS2.0 and vscode

I am building a client framework, and would like to split my code among multiple files. I would also like that each file can participate in the same namespace to export different things (classes, interfaces, functions, vars, ...)
TypeScript Version:  2.0.3
Code
comon.ts
export namespace akala
{
    export var $$injector={register:function(name:string, item:any){}};
}

clientify.ts
///<reference path='./common.ts' />

akala.$$injector.register('$router', 'toto');
akala.$$injector.register('$location', 'tutu');

I tried ///reference and import, but the compiler is always complaining that akala in clientify.ts does not exists.
Expected behavior:
The best solution to me would be to do an import with side effects (`import './common.ts') so that the namespace is declared as designed in the imported file, and that the definition generated can be reused without having to maintain one manually in parallel.
Actual behavior:
src/clientify.ts(5,1): error TS2304: Cannot find name 'akala'.

The top-level export. in export namespace akala turns this file into a module. modules have their own scope and do not participate in the global namespace. modules need to be imported using import statements.
Please see http://www.typescriptlang.org/docs/handbook/modules.html for more details
if you do not intend to use modules, and you only use namespace in the global scope consider setting --module none and this export would be reported as an error.

I actually also tried without the export on the namespace, with no luck. Even setting module none in the tsconfig file, did not help. Any other idea ?

c:\test\11879>type comon.ts
namespace akala
{
    export var $$injector={register:function(name:string, item:any){}};
}

c:\test\11879>type clientify.ts
akala.$$injector.register('$router', 'toto');
akala.$$injector.register('$location', 'tutu');

c:\test\11879>tsc --v
Version 2.0.6

c:\test\11879>tsc clientify.ts comon.ts

c:\test\11879>echo %ERRORLEVEL%
0

Indeed, I may have simplified too much my sample. My common.ts is having an import to another node modules, and I cannot use module none.

Then it is a module and you need to import it.

ok, but then, how can I extend my namespace across multiple files ?


Configurar Github Action

Crear la carpeta .github/workflows/ y el fichero maven.yml con la siguiente información:
name: Java CI with Maven

on:
  push:
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
    - uses: actions/checkout@v3

    - name: Set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'temurin'
        cache: 'maven'

    - name: Compile with Maven
      run: mvn -B compile --file pom.xml

    - name: Test
      run: mvn -B test --file pom.xml

Además, agregar la configuración de deepsource para que se suba el reporte de cobertura de los test.

Agregar la dependencia para generar el reporte: https://deepsource.io/docs/analyzer/test-coverage/#java
Agregar la configuración de deepsource: https://deepsource.io/docs/analyzer/test-coverage/#with-github-actions-3

La variable de entorno DEEPSOURCE_DSN ya esta creada.

Hello @nmarulo . Can I work on this ?

Hello @chinmaym07
Yes, of course.
Now, about your question, there is no new file to create, it would be on the same maven.yml file.
And about the url (https://deepsource.io/docs/analyzer/test-coverage/#with-github-actions-3), there are 3 steps, but steps 1 and 2 are already done, you only need to configure step 3 to maven.yml but for this you need the library that generates the report, for example jacoco which is mentioned in the above url https://deepsource.io/docs/analyzer/test-coverage/#java.


Revisit the participant_id mechanism

The current system saves a participant_id to Django's session data. This may be unnecessary, as - as far as I can tell - all the frontend needs is a CSRF token to send with POST requests, which will be saved as a browser cookie.
The current mechanism raises another issue: requests to experiment/get and participant/get are fired off simultaneously, but may lead to different results based on the order of resolution, if they both write to the session data.

Probably not relevant anymore.


sprig editor doesn't persist data to the database when in multiplayer room

Steps to reproduce

Open the beta sprig editor and create a new multiplayer room
Share the room link with a peer and have them join
Perform some edits, the editor says the changes have been saved
All peers leave the room
Re-open the game in the sprig editor and notice the game's code hasn't updated

is this still the case for you?

For reference, this is only true for Josias' network as far as we know, and probably his region


How to make subscription dynamic?

As the example below we could realise subscription via annotations. But topic and pubsubName is static, which means we cannot decide which topic to subscribe at runtime. What is more，If there are multiple topics to subscribe there will be a lot of duplicate code. Is there any more elegant subscription implementation via HTTP？
@RestController
public class CheckoutServiceController {

    private static final Logger log = LoggerFactory.getLogger(CheckoutServiceController.class);
     //Subscribe to a topic

    @Topic(name = "orders", pubsubName = "order-pub-sub")
    @PostMapping(path = "/checkout")
    public Mono<Void> getCheckout(@RequestBody(required = false) CloudEvent<String> cloudEvent) {
        return Mono.fromRunnable(() -> {
            try {
                log.info("Subscriber received: " + cloudEvent.getData());
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        });
    }
}

@MregXN Have you already explored content based routing for your scenario - https://docs.dapr.io/developing-applications/building-blocks/pubsub/howto-route-messages/

Thanks!


Cookie-based and basic auth with password to be deprecated on Jira cloud APIs - start using API tokens

See: https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-basic-auth-and-cookie-based-auth/
As of March 15, 2018, in accordance to the Atlassian REST API Policy, support for cookie-based authentication and passwords in HTTP basic auth requests will no longer be supported on or after September 15, 2018.
Instead of passwords, you should start using API tokens.

Thanks for the heads-up, I will try to update the project soon.

This should work now. I have updated the docs for how to use api-tokens:
https://github.com/Netflix-Skunkworks/go-jira#authentication

released: https://github.com/Netflix-Skunkworks/go-jira/releases/tag/v1.0.15


json in xml//examples/generated/Environment folder

There seems to be some faulty example data generation. The data in this folder is json instead of xml.
https://github.com/admin-shell-io/aas-specs/tree/ee3cdf493601f0f7f4b8c258285d324701a8c0eb/schemas/xml/examples/generated/Environment

I think this is fixed by now and this issue can be closed. Please reopen if still valid. Thank you for reporting!


Updating Product name to Azure Arc-enabled

Updating product name of Azure Arc enabled PostgreSQL Hyperscale to Azure Arc-enabled PostgreSQL Hyperscale.
(Not including .lcl and .xlf files)

Pull Request Test Coverage Report for Build 957748088

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 42.977%

Totals

Change from base Build 952972918:
0.002%

Covered Lines:
26329

Relevant Lines:
55635

💛  - Coveralls


build(devcontainer.json): add VS Code Live Share

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #393

Thank you for adding the live-share setting @lloydchang.  I didn't know this was possible in Codespaces!


[WIP] - Referenceable Object Swift PropertyWrapper - @FirestoreObjectReference

Discussion
This PR proposes a Swift property wrapper (@FirestoreObjectReference) to store object (non-scalar) properties (vars) by reference in Firestore instead with the document blob. It automates storing the object in a specified location and saves the reference id in the parent document instead of the actual object. This is useful for scenarios where a common object must be used / referenced across multiple parent objects.
When reading/loading the parent document (object) from Firestore, the propertyWrapper provides a way to load the referenced object via the projected value of the wrapper. The loadReference() call on the projected value is async.
For objects to participate in the propertyWrapper, they must implement the ReferenceableObject Protocol.
Here is a sample data model and how the propertyWrapper is used.
We have three structs representing a simplified UserProfile model -
UserProfile
Employer - an employer who the UserProfile works for
WorkLocation - representing a generic location.
Since multiple Users can work for an Employer, it makes sense to have only one instance of an Employer that is referred to
by multiple Users. Similarly multiple users can be in a WorkLocation. Additionally, an Employer can also be located
in a WorkLocation (e.g. headquarters of an Employer). We can mark WorkLocation and Employer as a ReferenceableObjects.
struct UserProfile: ReferenceableObject {
    var username: String

    @FirestoreObjectReference
    var employer: Employer?

Provide an example app. Have to clean up what I have
Unit Tests

@peterfriese
Thanks for the detailed review. I've addressed the comments except

Not sure whats the right way to describe the "inline storage" vs "by reference"
Will do the sample app in a separate commit.

Please close, merge, or comment. We plan to close stale PRs on November 28, 2023.

Going to close this for now as I haven't made progress on sample app. Will reopen later.


Add RegEx result match for DynDNS Custom v6

I created a new function to match a IPv6 DynDNS update result with RegEx.
Also change SelfHost Test to 22.01.2022.
Usage:

Enter RegEx Like (Example for Selfhost) in Result Match Field:
/status=200|status=204\r?\nupdateip=.+/
Tick "Use RegEx to match the result" Field

best check the new ddclient plugin dyndns is tagged for future removal (https://github.com/opnsense/plugins/commit/6ed716ea25c4ee57caaa2072ee284aa20cd80c79)

How can I get os-ddclient in 21.7.7 to test?

@Marvo2011 easiest option is to checkout the plugins repository in /usr and make upgrade in /usr/plugins/dns/ddclient/ as there's no package available at the moment.

@AdSchellevis Thanks, I looked at the ddclient. At the moment it does not support the difference in ipv4 and ipv6, and it ignores Multi-WAN interfaces. I think the option "use" should be on "account" level. I tested to compile the ddclient master in FreeBSD 12.1 to support usev4 / usev6 which breaks on IPv6. ( https://github.com/ddclient/ddclient/issues/386 )
When it's ok, I will make a PR in ddclient for a custom config.


More explanation on creating custom type event

I think it would be better to have more explanation to build custom type event on creating an event
For example, if I want to make a Transfer event Transfer(AccountId, Price):
Specify what name will be used in the event,
in cryptokitties.rs,
pub trait Trait: balances::Trait {
    type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>;
    type Price;
}

Implement the type of the name.
lib.rs
impl cryptokitties::Trait for Runtime {
	type Event = Event;
	type Trial = u64;
}

@hskang9 I guess I am a little confused exactly what you mean here. Is your goal to create an event which contains a custom defined type?
Or are you trying to figure out how exactly you can modify the Event type for some other purpose? If so, what is that purpose?
What is Trial?

My bad for confusion. I was figuring out how to modify event, because I wanted to put more information in the events than given types(e.g. Balance, AccountId). After watching the event code, I found out that it does not require modifyingEvent type, but I wonder if there is given types for basic types such as string, byte array, etc.
Trial was the variable to figure out.

@hskang9 Do you think you could make a quick/rough draft of what kind of content you think should be included?
I am still a little disconnected from exactly what you are looking for. Would it be sufficient to show the example in your comment somewhere in the docs showing that it works?
decl_event!(
    pub enum Event<T>
    where
        <T as system::Trait>::AccountId,
    {
       Transfer(AccountId, u128, String)
    }
);

I was thinking it would be better if the developer can create their own event for breeding a kitty without using only designated type from built-in traits(e.g. Hash, Balance). There can also be String output for event to describe the kitty, or u64 for notifying the kitty's generation, which is important for the kitty's valuation. Otherwise, the client will have to throttle to look up the kitty's information after it is created while the runtime can just tell the client after the process.
I have tested creating rust built-in type events on  substrate here, and I would like to know if there is a way to declare a custom event trait just as other given trait does.
For the draft on the content to be included, instead of Created(AccountId, Hash) event, I will try to submit PR with the instruction on how to add your own rust built-in type or named event trait so that the event can express more information on the substrate.


Ignore MQTT test flake

I think this is right.  Although if it's wrong then I bet it's the one time the flake doesn't whomp us.

Didn't work!

Of course now it hits two different flakes...!

😂 😭

Do we know why this is flaky? Are we tracking the flakiness anywhere?

We don't know, and yes, I should raise an issue.  We can look into the Postgres tests while we're at it!


Plantcv clowder extractor

Description
This pull request adds/updates a script that will be run by a Clowder extractor. The script will analyze images that are stored in Clowder from the Danforth Center LemnaTec system using PlantCV. Results per image are posted back to Clowder as metadata. A summary traits file (CSV) is also posted back to Clowder.
Motivation and Context
With an appropriate Clowder extractor, the code in this pull request will enable us to automate PlantCV analysis. This does not completely close, but is related to issues #31, #33, #36, and #68.
How Has This Been Tested?
I have tested the code manually on individual Clowder Datasets. More testing will need to be done to integrate the code with an extractor.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@max-zilla can you please review this pull request and either provide feedback or merge?

@nfahlgren took a look and things generally look good. good news is, extractor should simplify things a bit. I think I see two or maybe three extractors here,

Extractor for adding image metadata to a file based on filename (PlantcvClowderUploader.py) unless this is deprecated
Extractor for adding image file metadata fro PlantCV to individual files (PlantcvClowderIndoorAnalysis)
Extractor for adding traits.CSV table to a dataset based on those PlantCV file extractions (PlantcvClowderIndoorAnalysis)

2 and 3 could be one single dataset extractor or two separate extractors (one file, one dataset) depending on how we want to use them - we can discuss.
PlantcvClowderIndoorAnalysis.py

main() fetches a list of files for a dataset, and calls get_metadata().
get_metadata() will fetch metadata for each file and create an aggregate metadata object for the dataset. You referred to "deprecatedapi" but this is an artifact that will go away in production (we will use JSON-LD to properly identify each extractor - I can show you how)
once ds metadata is generated a traits CSV is created based on image type and that CSV is uploaded into Clowder. This step involves PlantCV for side- and top-view images.
in an extractor context the extractor can listen on "*.dataset.added" for new files. when the extractor is triggered you'll have access to the list of files in the dataset - you can fetch their metadata and create the new dataset metadata in essentially the same way as before.

PlantcvClowderUploader.py

main() reads a SnapshotInfo.csv file to get a list of snapshots, creates a dataset based on the snapshot ID, and uploads the listed files to that dataset with metadata extracted based on filename parsing.
in an extractor context, your extractor can listen on image files and you really only need metadata_to_json(). the extractor will be notified when a new image file is uploaded and you'd basically just call this function on the filename (the extractor won't even need to download the file).

In both cases, we can use PyClowder to remove the need for you to implement your own utility functions (e.g. upload_file_to_clowder). This would mean if the Clowder API changes we can update PyClowder and you won't need to update your code each time. That can be a later change though.
I will merge this pull request after we briefly discuss on the call today, but the only other piece we might want to add is to use some of the hooks I've added to PyClowder to check whether a file/dataset already has metadata from this extractor and either replace or don't repeat the extraction data if so (rather than potentially ending up with duplicates of metadata). This is particularly useful for dataset extractors that are triggered whenever a file is added to a dataset.

@max-zilla I think that all sounds good, let's definitely discuss. For PlantcvClowderUploader.py, I was not thinking about running it as an extractor because it's something I would run at Danforth Center to transfer data from the LemnaTec system here to UIUC. But, alternatively we could set up a Globus transfer like the MAC transfer and run this as an extractor.

After looking a bit closer, I want to check my understanding:

this appears to get JSON-LD metadata from the list of files and create a json object that is then used to feed the images into PlantCV. The PlantCV outputs for each file are added to the file metadata, as well as used to create a traits.CSV file for the dataset.
where does the JSON-LD metadata come from that is fetched in get_metadata()? is this the result of your ClowderUploader script? I ask because there may be a timing issue here - we'll need to make sure that metadata is present before running this extractor. Based on what I'm about to propose we can account for this - we just make sure to add the metadata before adding the new file to a dataset (thus triggering the extractor)

Assuming the required metadata exists the extractor logic I propose is:

listen on dataset.files added
new event comes in, we get a list of files in the dataset
for each image file, does it already have PlantCV metadata? if not, run the process_xx_images() functions to generate plantCV metadata. if it does, fetch metadata from Clowder. either way, add the PlantCV metadata to the overall dataset traits list
if all the files already have PlantCV metadata AND the dataset already has an entry for this extractor, we don't need to do anything. there's no new information. if any images DON'T have PlantCV metadata however, we should remove current traits.CSV from dataset and replace with an updated copy that includes the new image metadata.
when all files are done, use the dataset traits list to generate traits.CSV and add it to the dataset. since the extractor will only check for metadata in the images, in most cases this will trigger the extractor but it wont find any new stuff to generate so it will just quickly exit.

I think this puts us in good shape and should guarantee:

adding new file to a dataset will result in an updated traits.CSV file for the dataset if appropriate
adding new file that is unrelated (e.g. a text file) will not replicate unnecessary work
each of the image files will have the filename metadata you generate before submission, as well as PlantCV extracted metadata that we create based on the filename metadata.
by creating the file + adding metadata BEFORE adding it to the dataset, we control when the dataset extraction event fires and ensure we can add the filename metadata first.

What do you think?

Right, so PlantcvClowderUploader.py reads datasets (snapshots) from the Danforth Center system. It has all the files and experimental metadata associated with the dataset and files. It creates a Collection and adds it to a Space. It creates a Dataset for each snapshot and adds it to the Collection. It uploads each file from a snapshot to the Dataset and sends experimental metadata along with the file upload.
It will definitely be key to set up a mechanism where the extractor will only run once the full set of files and metadata is present in the dataset. We had discussed having the PlantcvClowderUploader.py script provide a metadata entry at the Dataset level that would specify the number of images that should be present for the Dataset to be complete.

I'm going to merge this and create a new issue around converting Noah's code here to an extracto:
https://github.com/terraref/computing-pipeline/issues/119

@max-zilla okay for me to delete this feature branch?

@nfahlgren ok to delete if you want.


bug: navigation broken on small screen

If you go on this page on mobile:
https://snapshotx.xyz/#/gor:0x2b5e7ac0e76dcb41d3e506d58c9997d42d133e07
Then click on the logo to get back to homepage you'll get this and break navigation:

I included the fix in https://github.com/snapshot-labs/sx-ui/pull/637 as it has most of the refactoring done for it.


Reddit: restrict nsfw subreddit(s)

closes #1153
Changes made to Reddit Cog:

Check if the subreddit is NSFW or similar by using the over_18 boolean value got with the API response.

if True, then send an error message.

if False, the fetched data is sent to the user.

A small change to the return format of the fetch_posts() method, instead of returning an empty list in case of an error, it now returns a list, with a dict containing the error message. This is done in order to distinguish between the NSFW restriction error message and network/connection/failed to connect to API error.

Pending

Unfortunately, I cannot test this as my account is restricted to view any NSFW subreddits due to age and country (whenever I send a request to an NSFW subreddit, I get a 451 status code - Unavailable For Legal Reasons).
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/451
If anyone above 18 years of age, having a  Reddit account, and living in a country that allows users to view NSFW content on Reddit, can test this feature, it will be helpful!

Edit: this should be working.

I believe filtering posts and only sending the NSFW error message when no posts pass the filter would be a better option here, currently if the first fetched post happens to be NSFW while none of the others are, the user will get no output.

I think a better approach will be to check if any 1 of the posts does not pass the filter, then send nothing.
This is because, if we query for NSFW subreddit posts from the bot, then we don't want to send any posts, even tho is post is not entirely NSFW, we want to block the subreddit.

Since this is somewhat critical I decided to merge it even with an unresolved comment from @Numerlor. It only applies to code style and can be addressed separately if necessary. Feel free to continue the conversation.


refactor!: rewrite components

Summary
Depends on #133
Closes #117
PR Type

[x] This PR improves the code (speed/style improvements or refactoring).
[ ] This PR fixes an issue.
[x] This PR makes an addition to the library (new file, class, method, parameters, etc.).
[x] This PR makes a breaking change (renaming/removing parameters, methods, etc.).
[ ] This PR doesn't make any code changes to the library (documentation, examples).

Checklist

[x] I have searched all pull requests for duplicates.
[ ] I have tested the changes made.

[ ] I have properly changed the docs to reflect the changes made.

[ ] If 'type: ignore' comments were used, a comment is left to explain why it is needed.

I'm going to make a new PR for this once #127 is merged.


[Ubuntu] remove unnecessary quotes from skel path.

Description
Bug fixing
Currently, we added some paths using skel .bashrc file, but it does not work since we use quotes in the PATH variable.
So, it is required to change such approach:
echo 'export XDG_CONFIG_HOME="$HOME/.config"' | tee -a /etc/skel/.bashrc
and unnecessary quotes:
echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc
Related issue:
https://github.com/actions/virtual-environments/issues/2455
Check list

[+] Related issue / work item is attached
[-] Tests are written (if applicable)

I'd recommend using interactive rebase when pulling latest changes from upstream to your branch instead of merge, then you can just git push --force your branch and it will not bloat commit history.
git config pull.rebase interactive
git config pull.ff only
If you would like to just fix your history, I think that rebasing branch on commit before first merge and using fixup option on those merge commits should do the trick.

I'd recommend using interactive rebase when pulling latest changes from upstream to your branch instead of merge, then you can just git push --force your branch and it will not bloat commit history.
git config pull.rebase interactive
git config pull.ff only
If you would like to just fix your history, I think that rebasing branch on commit before first merge and using fixup option on those merge commits should do the trick.

Thank you @catthehacker, I'll definitely fix this

New fix has been provdied.
https://github.com/actions/virtual-environments/pull/2826


Customize presenter mode

Allow us to create a vue template under layouts/_presenter.vue by default that has 3 <slots> for the current, next and notes panels so we can lay them out in any way. And let us provide <style> in that vue template where we can write css to style the generated html only in the notes panel. This will make any customization possible for presenter mode.

I really like this proposal. I just recorded a conference talk and I needed my speaker notes moved for better access. I found myself going into the DOM, deleting elements, and changing classes to get the speaker notes right up at the top and center, below my camera. I didn't need the preview for the next slide or even the current slide at all, but I can also see personalizing their placement. Ideally I'd be able to reposition and resize elements from the presenter view rather than using CSS or editing a template, but that would have been fine too.

For people who find this issue, here is a solution: https://github.com/slidevjs/slidev/issues/1095#issuecomment-2061108714


chore: make the field more understandable

Coverage remained the same at 75.604% when pulling 159a8215b63a33b8d982386b07df5561c5ef993d on brianbinbin:chore/examples into 6a505fd6553d5b165c919e5e162d4535b7cb35cf on emqx:main.


[move-prover][documentation] Framework specification overview.

See here for the rendered form.
Motivation
Finalize documentation for release.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
NA
Related PRs
NA

/land


[Improve] Use pnpm and modify README

pnpm/action-setup@v4 is not allowed to be used in apache/incubator-streampark-website. Actions in this workflow must be: within a repository owned by apache, created by GitHub, verified in the GitHub Marketplace, or matching the following: /@[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]+, AdoptOpenJDK/install-jdk@, JamesIves/github-pages-deploy-action@5dc1d5a192aeb5ab5b7d5a77b7d36aea4a7f5c92, TobKed/label-when-approved-action@, actions-cool/issues-helper@, actions-rs/, al-cheb/configure-pagefile-action@, amannn/action-semantic-pull-request@, apache/, burrunan/gradle-cache-action@, bytedeco/javacpp-presets/.github/actions/, chromaui/action@, codecov/codecov-action@, conda-incubator/setup-miniconda@, container-tools/kind-action@, container-tools/microshift-action@, dawidd6/action-download-artifact@, delaguardo/setup-graalvm@, docker://jekyll/jekyll:, docker://pandoc/core:2.9, eps1lon/actions-label-merge-conflict@, gaurav-nelson/github-action-markdown-lin...

Need a whitelist. I'll file the INFRA ticket


FastaReader::parse_file: reference file cannot be opened

Hi, pangenie group,
I met a problem when I run the pangenie with singularity, it seems that it cannot open the reference fasta file, which I can read. The error is listed below. In addition, I'd like to ask how to select an appropriate reference fasta file, is it also a part of our pan-genome?
singularity exec /share/apps/gene/pangenie-1.0.1/pangenie-new-gcc.sif cat /metadata/jellyfish.lib.version
libjellyfish-2.0-2:amd64 2.3.0-4build1 libjellyfish-2.0-dev:amd64 2.3.0-4build1

singularity exec /share/apps/gene/pangenie-1.0.1/pangenie-new-gcc.sif cat /metadata/pangenie.git.version
6e0da25

singularity exec /share/apps/gene/pangenie-1.0.1/pangenie-new-gcc.sif PanGenie -i $input.fastq -r $reference.fa -v $graph.vcf -o test

program: PanGenie - genotyping and phasing based on kmer-counting and known haplotype sequences.
author: Jana Ebler

Files and parameters used:
-c	0
-d	0
-e<PHONE_NUMBER>
-g	1
-i	$input.fastq
-j	1
-k	31
-o	test
-p	0
-r	$reference.fa
-s	sample
-t	1
-u	0
-v	$graph.vcf
Determine allele sequences ...
terminate called after throwing an instance of 'std::runtime_error'
  what():  FastaReader::parse_file: reference file cannot be opened.
Aborted

Seems like it cannot find the reference file and this might be a singlularity related issue. If the FASTA is not in your current directory, you have to run singularity with the additional option --bind: singularity exec --bind /:/folder container-main.sif PanGenie ... and then  add /folder/ in front of the paths to reference, reads and VCF.


Update all async_schedule_update_ha_state calls to their non-async counterpart

This fixes the integration in Home Assistant 2024.5.  Without it, these kinds of errors are thrown, and state is not correctly communicated to HA. https://community.home-assistant.io/t/how-to-fix-custom-integration-brematic-calls-async-write-ha-state/722238/3

Still having the issue whereby more commits are shown than is correct...  But there only is 1 "real" commit in this PR.

Thank you Luca :)


Should we add more tags and revise descriptions?

Gradle plugin portal declares that a forked repository can be rejected.
Since the original repository was not being maintained and our case seems to be an exception case, how about setting different description and tags?
For example,

adding 'git' to the tags
Write about git-related functionality on the description

Original : Applies a header to files, typically a license
Revised : Applies a header to files, typically a license. This plugin supports git based configurations.

Yeah, let's add the tag and fix the description.
We also need to change the website and vcsurl:
https://github.com/line/license-gradle-plugin-git/blob/main/build.gradle#L116-L117


Fix build on other Linux architectures

Merge from upstream:
https://github.com/kubernetes-sigs/kubefed/pull/1039
https://github.com/kubernetes-sigs/kubefed/commit/6370d758172836c6501fe33764f0c9f6e37aa3bb
We will need this in 4.2 and later branches.

/retest

@yselkowitz Thanks for filing this PR. It looks like we're planning to fast-forward our master branch to upstream v0.1.0-rc4 release which includes your change as well so I'm closing this PR to avoid any duplicate work.

@sohankunkerkar will 4.2 and 4.3 branches also be fast-forwarded?  We need those fixed as well.

@yselkowitz yes, those will get forwarded from the downstream master.


WW-5009 EmptyStackException in JSON plugin due to concurrency

@yasserzamani I know that you've assigned that issue to yourself, but I think it is the most simple solution that we can merge in 2.5.x branch. Can you take a look.

Coverage increased (+0.003%) to 46.985% when pulling 7242a8716553781a31a93818c888bc455c6e5854 on aleksandr-m:feature/WW-5009 into 71267a9b4b99ad05f20a376478b165c0b3f2b74a on apache:struts-2-5-x.

Hello @aleksandr-m .
Your solution appears to be cool/elegant for sure!  :)
Replicating it locally there were no failures when using the manual reproducer test (for me anyway).
Good work!

@yasserzamani

By the way, do you have any objection to import same one into 2.6?

Sure. #329
@JCgH4164838Gh792C124B5

Replicating it locally there were no failures when using the manual reproducer test (for me anyway).

Thanks for testing this.


UI demonstration

fuzzy finder and tags

notification

fuzzy finding using LeaderF

notification

Cursor jump via vim-sneak
Go to a string starting with se

Git add, commit and push via fugitive.vim

Writing git commit with the help of committia

command-line autocompletion with wilder.nvim

cool

code folding with nvim-ufo and statuscol.nvim


Callouts understanding

Hi, I'm trying to understand how to access the vehicle property of a callout i created in the material in the lua scripting (like callout.vehicle or somthing like that).

From vague memory you can't - as the vehicle might take a while to appear on the map (it doesn't always appear immediately). If you've got a specific type of vehicle associated with your callout, you could potentially just keep scanning for vehicles until you spot the vehicle of specific type? I've not played or modded PA for ages so don't know if they've added a better way by now (I very much doubt it).

There is nothing for you to directly access callouts, but you can always get vehicles as normal objects.
Use Object.GetNearbyObjects(target, Vehicle_Name, 9999) to scan for vehicles.
PS:
This answer is simple. However, you need to know much before you can get things done right.
Scripting PA is very hard. Prepare to be frustrated.

Thank you for answering, antyhor question: I created a remote door - it works ok, the problem is that a guard can open the door with keys and I want to prevent that like the normal remote door.
As I saw in the settings the door it self isn't a wired object but the servo that connects to it.
I don't see any reference about it - not here and not in the lua guide on steam.
Thanks anyway.


AWS Toolkit erased the content of the credentials file

Describe the bug
Recently, AWS Toolkit was updated to version <IP_ADDRESS>. I got the yellow banner in Visual Studio that suggest I configure the extension using "Extensions > AWS Toolkit > Getting Started" menu option. I did that, selected "AWS Explorer", and then clicked "Edit credentials file directly...", because I already have the required profiles configured.
AWS Toolkit, replaced the content of the credentials file with the following text:
# AWS credentials file used by AWS CLI, SDKs, and tools.
# Created by AWS Toolkit for Visual Studio. https://aws.amazon.com/visualstudio/
#
# Each [section] in this file declares a named "profile", which can be selected
# in tools like AWS Toolkit to choose which credentials you want to use.
#
# See also:
#   https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
#   https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html

This all happens without any warning and before even configuring and saving anything.
To Reproduce

Expected behavior
AWS Toolkit leave the credentials file unchanged, unless the user configures something. In such case, AWS Toolkit must append to the file, not replace it.
Screenshots
N/A
Toolkit Logs
N/A
Development System (please complete the following information):

Windows Version: Windows 10 22H2
Visual Studio Version: 17.10.4
AWS Toolkit for Visual Studio Version: <IP_ADDRESS>

Additional context
I have no addition context to add, but I would like to express my frustration. Any "destructive" action must not happen without the user's knowledge. It does not make sense to assume that the file does not exist or its content do not matter.

Hi @TheBlueSky,
Can you provide details about a few things for us to investigate this further?

Were your previous profiles saved in credentials file in this default location : %USERPROFILE%\.aws\config %USERPROFILE%.aws\credential? If not, did you specify an alternate path using the guidelines here ?
Before upgrading to v<IP_ADDRESS> did you use a different version of the toolkit to visualize your AWS resources in the AWS Explorer?
Before following the instructions from Getting Started, did the AWS Explorer show up in the IDE with a list of credential profiles you had already configured to choose from?

Hi @shruti0085,
The answers to your questions are:

Yes, my previous credentials file was in the default location and I did not specify an alternative path.
If you mean seeing the resources in AWS Explorer, then yes, I did. AWS Explorer used my then-existing credentials file to show the resources that are specific to the selected profile.
If you mean the Credentials dropdown list of AWS Explorer, then yes. See the answer to the previous question. I used the dropdown menu to switch profiles and see the resources that are specific to the selected profile.

@TheBlueSky thanks for confirming the above.
We have released v<IP_ADDRESS> of the toolkit which contains some improvements and logging related to the Edit Credentials option. Can you please install that version and try again? To avoid any risk of losing your credentials file, please keep a copy of it in a separate location before you try again.
If you continue to see the issue, please attach your logs as they may offer us some additional insights.

I am on v<IP_ADDRESS>, and it does not erase the credentials file any more.
However, it still adds the following text to the file, directly after the last character in the file, whether this text already in the file of not:
# AWS credentials file used by AWS CLI, SDKs, and tools.
# Created by AWS Toolkit for Visual Studio. https://aws.amazon.com/visualstudio/
#
# Each [section] in this file declares a named "profile", which can be selected
# in tools like AWS Toolkit to choose which credentials you want to use.
#
# See also:
#   https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
#   https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html

This can make the credentials in the file invalid. For example, if the last line in my file is (without line break):
aws_session_token=someaccesstoken

It becomes:
aws_session_token=someaccesstoken# AWS credentials file used by AWS CLI, SDKs, and tools.

It will be helpful, instead of appending the text to the file "blindly", to:

Check if the text already exists.
If it is necessary to add the text, add it to the top, instead.
If there is a reason to append it to the end, make sure that there is a line break between the last line in the file and this text.
Find a better home for this text, instead of polluting the credentials file.


Add abs and sign functions for vec types and fix neg operator

Description
This pull request proposes the following changes that I personally needed:

Implementation of the abs and sign functions for vec types
Fix for a bug with the neg operator

Changes Made

vec.h → Added abs and sign functions for vec types
builtins.py → Added built-in abs and sign functions for vec types
types.py → Corrected the neg operator, which was expecting an extra y parameter.

Testing
I didn't change any test because I don't understand the following issues

For the abs and sign functions, tests will probably be similar to those for min and max. However, min and max tests are not run due to slow compile time.
While the test for the neg operator appeared to pass, an error was encountered when the operator was used.

Thanks for this proposal and the accompanying code changes!
We're going to need a different license and have contributors sign an agreement, before we can merge public MRs. We're working towards that but it might take a while.
Also, the proposed functionality in this MR all sounds very useful, but we have to balance it against the run-time compilation impact of larger headers. I'm currently working on changes that should give us more headroom for that (using pre-compiled headers), and we'll put benchmarks in place to ensure the tradeoffs are well balanced.
Thanks for your patience. Note that in the meantime you could use @func to write your own helper functions that implement this functionality, instead of making them part of the wp.* builtins.

Hi @kmarchais, this is just to let you know that the abs() and sign() built-ins for vectors have been merged into the main branch, and the issue with the neg operator was fixed a while ago already. Thanks for your pull request!


P518 Indentation is wrong and extra closing });

There are two } on the same line and the second one (});') and the next 8 lines needs to be two spaces to the left. Also there is one extra });` and the end.

I cannot locate this problem. Could you let me know which section it is in?

Nevermind - found it! Thanks.


Added a simple build command based on instructions in README.md and .circleci/config.yml

Add build.sh command
Combined instructions in the README.md and .circleci/config.yml files.
Motivation
Make it easy to build locally.
Additional Notes
Only works on MacOS
Describe your test plan
Verified that agent can be built successfully.

Submitted by mistake.


How to use it

Any details about how how to use this BSP?

Please refer to this repo：https://github.com/Neutree/c_cpp_project_framework


Use of the term "Commodity"

We have historically used "crop" and "commodity" to differentiate the thing planted vs. the thing harvested.
However, commodity has the primary definition of being an undifferentiated good.  For clarity, I propose we replace the several usages "Harvested Commodity" with "Harvested Produce" or "Harvested Product" to clarify that Adapt is not modeling whether or not the harvested product is commoditized.

Agreement on "Harvest Product" in 13 December 2023 meeting.


ionic google map is showing white screen

ionic google map is showing white screen ...

[ ] do i upload the code
[ ] i already install typings install googlemaps --global --save
[ ] and added a plugin

**i am facing this problem in ionic frame work
homt.html is :
<ion-header>
  <ion-navbar>
 <ion-title> Pick Me Up</ion-title>
  </ion-navbar>
</ion-header>

<ion-content class="home">

 <map></map>

  <ion-row>
   <ion-col width-50>

   <button block light>

    <ion-icon name="card">

    </ion-icon>
    Visa **34
    </button>

   </ion-col>

   <ion-col width-50>
   <button block light>
    <ion-icon name="cash">
    cash
    </ion-icon>

    </button>

   </ion-col>

  </ion-row>

</ion-content>

home.ts
.home {
        position: relative;

         .map-wrapper{
            width: 100%;
            height: 100%;
        }
        .bottom{
                position: absolute;
                bottom: 0;
                width: 100%;
        }

}

map.html

map.ts
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'map',
  templateUrl: 'map.html'
})
export class MapDirective implements OnInit {

public map;

  constructor() {
    }

  ngOnInit(){
  this.map = this.createMap();
  }

  createMap(location = new google.maps.LatLng(40.712784, -74.005941)) {
  let mapOption = {

  center: location,
  zoom:15,
  mapTypeId: google.maps.MapTypeID.ROADMAP,
  disableDefaultUI: true
  }

  let mapEl = document.getElementById('map');
  let map = new google.maps.Map (mapEl, mapOptions);

  return map;
  }

}

Please share your project files on GitHub. Do not paste your code here

ping

Since there is no response, I close this thread.

where should i upload my files

i uploaded my 6 files please check home.html home.scss home.ts map.html map.scss map.ts

i uploaded all the fils
On Mon, Jun 4, 2018 at 9:02 PM, Masashi Katsumata<EMAIL_ADDRESS>wrote:

Closed #2302
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2302.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/2302#event-1661682604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APP6RZz6NhG8BH4h-rxQqOCkFieSHgeiks5t5VoSgaJpZM4UWPoy
.

is there any way i can email you my src zip folder

No. I decline any souce code by email.
If you want to receive private support, please donate $100 USD.
https://raw.githubusercontent.com/mapsplugin/cordova-plugin-googlemaps/master/.github/ISSUE_TEMPLATE.md

@aqibrana I saw your code, and it is not this plugin code. That is Google Maps JavaScript API v3, not this plugin.
https://github.com/aqibrana/cordova-plugin-googlemaps/commit/4bcc221d04961339347be2702ecf438b3830c4d6

i added Google API key

I said you don't use this plugin.

new google.maps.Map (mapEl, mapOptions); is not this plugin code.

please read the last section index.html in that file i use --google Api key--
is there is an diff b/w plugin and api key please let me know


[Snyk] Security upgrade express from 4.17.1 to 4.17.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

768/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5
Prototype Pollution SNYK-JS-QS-3153490
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: express
    The new version differs by 117 commits.

3d7fce5 4.17.3
f906371 build: update example dependencies
6381bc6 deps<EMAIL_ADDRESS>a007863 deps<EMAIL_ADDRESS>e98f584 Revert "build: use<EMAIL_ADDRESS>for Node.js < 4"
a659137 tests: use strict mode
a39e409 tests: prevent leaking changes to NODE_ENV
82de4de examples: fix path traversal in downloads example
12310c5 build: use nyc for test coverage
884657d examples: remove bitwise syntax for includes check
7511d08 build: use<EMAIL_ADDRESS>for Node.js < 4
2585f20 tests: fix test missing assertion
9d09762 build<EMAIL_ADDRESS>43cc56e build: clean up gitignore
1c7bbcc build<EMAIL_ADDRESS>9cbbc8a deps<EMAIL_ADDRESS>6fbc269 pref: remove unnecessary regexp for trust proxy
2bc734a deps<EMAIL_ADDRESS>89bb531 docs: fix typo in res.download jsdoc
744564f tests: add test for multiple ips in "trust proxy"
da6cb0e tests: add range tests to res.download
00ad5be tests: add more tests for app.request & app.response
141914e tests: fix tests that did not bubble errors
bd4fdfe tests: remove global dependency on should

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Prototype Pollution

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 34.667%

Totals

Change from base Build 931502307:
0.0%

Covered Lines:
182

Relevant Lines:
418

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 34.667%

Totals

Change from base Build 931502307:
0.0%

Covered Lines:
182

Relevant Lines:
418

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 34.667%

Totals

Change from base Build 931502307:
0.0%

Covered Lines:
182

Relevant Lines:
418

💛  - Coveralls


chore: bdd-nh-import-1586294642 to 0.0.1

chore: Promote bdd-nh-import-1586294642 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


LITE-26286: reconnect if connection lost in cqrs_sync command

btw, I tested manually by closing connection while running and it worked ok (with mysql and postgresql).


feat: add cpu optimization options

Description
Added cpu_core_count & cpu_threads_per_core options for the aws_instance resource.
Motivation and Context
This allows to create cpu optimized instances. Also covers one of the use cases which was missing from the module.
Fixes #168 .
Breaking Changes
N/A
How Has This Been Tested?
Tried to create an ec2 instance with a basic example (also added in the examples/basic).

hi @karancode - would you mind updating your branch with the latest changes from master please?


Failed to parse source map from '*/angular-fetch.ts' file: Error: ENOENT: no such file or directory, open '//angular-fetch.ts'

The source maps starting from version 4.0.0 are broken.
What I have in the logs:
`
WARNING in ../../node_modules/flagsmith/index.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/vik.buchinski/Documents/github/utils/angular-fetch.ts' file: Error: ENOENT: no such file or directory, open '/Users/vik.buchinski/Documents/github/utils/angular-fetch.ts'
WARNING in ../../node_modules/flagsmith/index.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/vik.buchinski/Documents/github/utils/async-storage.ts' file: Error: ENOENT: no such file or directory, open '/Users/vik.buchinski/Documents/github/utils/async-storage.ts'
WARNING in ../../node_modules/flagsmith/index.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/vik.buchinski/Documents/github/utils/get-changes.ts' file: Error: ENOENT: no such file or directory, open '/Users/vik.buchinski/Documents/github/utils/get-changes.ts'
WARNING in ../../node_modules/flagsmith/index.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/vik.buchinski/Documents/github/utils/set-dynatrace-value.ts' file: Error: ENOENT: no such file or directory, open '/Users/vik.buchinski/Documents/github/utils/set-dynatrace-value.ts'
WARNING in ../../node_modules/flagsmith/react.js
Module Warning (from ../../node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '/Users/vik.buchinski/Documents/github/utils/emitter.ts' file: Error: ENOENT: no such file or directory, open '/Users/vik.buchinski/Documents/github/utils/emitter.ts'
webpack compiled with 5 warnings (ee8a793b344e9aca)
`

Hi @vik-buchinski, please can you provide some more information here? Can you confirm exactly what steps you're taking to see these errors, and how they manifest? It seems like they are just warnings at the moment rather than errors so I'm interested to know what effect this is having.

@matthewelwell TBH, I didn't test the flagsmith after I saw these warnings. I just reverted to version 3 and warnings disappeared.
But anyway, there is some issue with sourcemaps in the flagsmith library version 4, it can't point from 1 file to another correctly, and instead goes to 2-3 levels higher than the root of the project to look for the .ts files that are located in the node-modules.

Ok, thanks @vik-buchinski - we'll take a look into it.

Ok, thanks for this @abadi-avela, we'll take a look into it this week.

Apologies for the late reply, there is now a PR linked that fixes this. In the meantime, I've published<EMAIL_ADDRESS>which resolves that issue.

This is now released under version 8.0.1 🚀


lua debug error!

dap.adpters.nlua is undefined.

can you try adding this to https://github.com/abzcoding/lvim/blob/52875bad29b13e2f4a356fbccdaa04c2c66dfbcd/lua/user/dap.lua#L37
dap.adapters.nlua = function(callback, config)
  callback({ type = 'server', host = config.host or "<IP_ADDRESS>", port = config.port or 8086 })
end

and see if that fixes your issue?

its crazy that you even knew what he meant :D

its crazy that you even knew what he meant :D

I'm not even sure that's what he meant 😅

Abz is built different.


Switch Nearby to Wikidata Query

Fixes #289 partially - not a full migration but a first step. Wikidata-based results seem to be less accurate - it sometimes suggests articles with images on Wikipedia pages (but without an image on Wikidata). I think further filtering is necessary.
This may fix #485 too. (It works for me, but please test.)

The getFromWikiNeedsPictures() option works well for me and solves the problem. :) The getFromWikidataQuery() option crashes with the log below (I guess this is why you set the preference by default to use getFromWikiNeedsPictures())? Regardless, I'm good with merging if @nicolas-raoul is.
04-14 00:46:13.717: E/AndroidRuntime(26643): FATAL EXCEPTION: AsyncTask #2
04-14 00:46:13.717: E/AndroidRuntime(26643): Process: fr.free.nrw.commons, PID: 26643
04-14 00:46:13.717: E/AndroidRuntime(26643): java.lang.RuntimeException: An error occurred while executing doInBackground()
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at android.os.AsyncTask$3.done(AsyncTask.java:318)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.FutureTask.run(FutureTask.java:242)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.lang.Thread.run(Thread.java:762)
04-14 00:46:13.717: E/AndroidRuntime(26643): Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: https://query.wikidata.org/sparql?query=SELECT%0A++%28SAMPLE%28%3Flocation%29+as+%3Flocation%29%0A++%3Fitem%0A++%28SAMPLE%28COALESCE%28%3Fitem_label_preferred_language%2C+%3Fitem_label_any_language%29%29+as+%3Flabel%29%0A++%28SAMPLE%28%3FclassId%29+as+%3Fclass%29%0A++%28SAMPLE%28COALESCE%28%3Fclass_label_preferred_language%2C+%3Fclass_label_any_language%2C+%22%3F%22%29%29+as+%3Fclass_label%29%0A++%28SAMPLE%28COALESCE%28%3Ficon0%2C+%3Ficon1%29%29+as+%3Ficon%29%0A++%28SAMPLE%28COALESCE%28%3Femoji0%2C+%3Femoji1%29%29+as+%3Femoji%29%0AWHERE+%7B%0A++%23+Around+given+location...%0A++SERVICE+wikibase%3Aaround+%7B%0A++++%3Fitem+wdt%3AP625+%3Flocation.%0A++++bd%3AserviceParam+wikibase%3Acenter+%22Point%28153.0403590974966+-27.453153960089494%29%22%5E%5Egeo%3AwktLiteral.+%0A++++bd%3AserviceParam+wikibase%3Aradius+%221093.5%22+.+%23+Radius+in+kilometers.%0A++%7D%0A++%0A++%23+...+and+without+an+image.%0A++MINUS+%7B%3Fitem+wdt%3AP18+%5B%5D%7D%0A++%0A++%23+Get+the+label+in+the+preferred+language+of+the+user%2C+or+any+other+language+if+no+label+is+available+in+that+language.%0A++OPTIONAL+%7B%3Fitem+rdfs%3Alabel+%3Fitem_label_preferred_language.+FILTER+%28lang%28%3Fitem_label_preferred_language%29+%3D+%22en%22%29%7D%0A++OPTIONAL+%7B%3Fitem+rdfs%3Alabel+%3Fitem_label_any_language%7D%0A++%0A++%23+Get+the+class+label+in+the+preferred+language+of+the+user%2C+or+any+other+language+if+no+label+is+available+in+that+language.%0A++OPTIONAL+%7B%0A++++%3Fitem+p%3AP31%2Fps%3AP31+%3FclassId.%0A++++OPTIONAL+%7B%3FclassId+rdfs%3Alabel+%3Fclass_label_preferred_language.+FILTER+%28lang%28%3Fclass_label_preferred_language%29+%3D+%22en%22%29%7D%0A++++OPTIONAL+%7B%3FclassId+rdfs%3Alabel+%3Fclass_label_any_language%7D%0A%0A++++%23+Get+icon%0A++++OPTIONAL+%7B+%3FclassId+wdt%3AP2910+%3Ficon0.+%7D%0A++++OPTIONAL+%7B+%3FclassId+wdt%3AP279*%2Fwdt%3AP2910+%3Ficon1.+%7D%0A++++%23+Get+emoji%0A++++OPTIONAL+%7B+%3FclassId+wdt%3AP487+%3Femoji0.+%7D%0A++++OPTIONAL+%7B+%3FclassId+wdt%3AP279*%2Fwdt%3AP487+%3Femoji1.+%7D%0A++%7D%0A%7D%0AGROUP+BY+%3Fitem%0A
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyPlaces.getFromWikidataQuery(NearbyPlaces.java:149)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyPlaces.getFromWikidataQuery(NearbyPlaces.java:79)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyListFragment.loadAttractionsFromLocation(NearbyListFragment.java:199)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyListFragment.access$200(NearbyListFragment.java:32)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyListFragment$NearbyAsyncTask.doInBackground(NearbyListFragment.java:148)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at fr.free.nrw.commons.nearby.NearbyListFragment$NearbyAsyncTask.doInBackground(NearbyListFragment.java:126)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at android.os.AsyncTask$2.call(AsyncTask.java:304)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
04-14 00:46:13.717: E/AndroidRuntime(26643): 	... 4 more

That's strange, the Wikdata-based one should work. I'm investigating it.

I believe the radius got too large: The query found in @misaochan's log times out when I try it.
3.0 is a very extreme radius multiplier, as the number of results statistically grows with the square of the radius. How about 1.5 instead?

I found that the reason not working for @misaochan was that I didn't take into account negative latitude values. (I blame my own northern hemisphere point of view. ;))
Nothing was found while the radius kept increasing.

Ah okay, that makes sense haha. BTW, when this is fixed, how do we want to handle the results from both methods? Should we default to Wikidata and give the user an option to switch to WNP (via an icon on the action bar maybe?).

I don't have a good suggestion about it yet. The option to choose Wikidata/WNP was meant to be a temporary one - to allow people to compare the two results and hopefully come up with an idea to combine the two (and maybe other tools like the PageImages API).

I would strongly suggest enabling Wikidata and disabling WNP, by default. Because it uses less data.
Our users in Bangladesh/etc will be surprised to get all of their monthly mobile data eaten by this feature.
I recently went to Morocco (which is a very advanced country) but even there most people use mobile data, with small data plans. Even in city centers people having access to landline-backed WiFi are a minority. Most households have a WiFi router on which they plug a mobile dongle.

Yeah, let me know when the bug is fixed and I'll test it again. :)
For handling the results, maybe we could keep the current temporary fix of having the option to choose in Settings, but make Wikidata the default instead? Then in Settings we can explain a bit to users and warn them that choosing to use WNP might drain their mobile data. Most users will probably not bother to try WNP in that case, but those who want to help us test it might be able to, which could be helpful for the initial few months.

Thanks, I'm convinced. Actually the latest commit here already incorporates the suggestion of making Wikidata default. The crash should have been fixed too.  Please try again!

Works brilliantly now, thanks @whym ! Will release to beta ASAP.


Support import of category type in DB Engine

For following script
import pandas as pd
import pyarrow as pa
import sys
sys.setdlopenflags( 1|256 )    # RTLD_LAZY+RTLD_GLOBAL
from dbe import PyDbEngine as PDE

pdb = PDE("data", 8874)
data = {
        "id1": ["id1", "id2", "id3", "id1", "id2", "id3", "id1", "id2", "id3", "id1"],
    }
df = pd.DataFrame(data)
df["id1"] = df["id1"].astype("category")
a = pa.Table.from_pandas(df)
pdb.consumeArrowTable('testtable', a)

we currently have
terminate called after throwing an instance of 'std::runtime_error'
  what():  dictionary<values=string, indices=int8, ordered=0> is not yet supported.
Aborted (core dumped)

this is h2o case, reproducible on https://github.com/intel-go/omniscidb/commits/consuming_arrow_table

We need encoded text in terms of Omnisci since h2o benchmarks contain group by those text columns

It seems, like we need to remap category type in python from arrow::dictionary to arrow::utf8, because FSI does not support arrow dictionary and arrow creates separate dictionaries for each chunk.

For now in case of import with arrow we can just omit conversion to category since FSI treats strings as encoded dictionary anyway

Waiting for Arrow2.0 enhancements to check import of category

Waiting for Arrow2.0 enhancements to check import of category

NotImplementedError: unsupported type conversion error appear for:
df.astype("category")

@Garra1980 What are the advances in supporting categories?

@anmyachev we are waiting a small fix from omnisci team. See https://github.com/modin-project/modin/issues/2747.

@Garra1980 reproducer is outdated.
Note: Currently the astype call works but defaults to pandas.
If we need native support for categories (for HDK), maybe it makes sense to make a new issue and close this one?

HDK engine is deprecated and will be removed in a future version.


Keybase: Bad folder (Mac OS X)

An OS X Notification consistently reports this message when starting the Keybase.app:
/keybase/System is not a Keybase folder. All folders begin with /keybase/private or /keybase/public.
This is likely being triggered by something I have installed that's looking for mounted disks. Based on what I'm seeing with "opensnoop", I would guess Carbon Copy Cloner. Maybe I'll hack up pathopens.d later to find out for sure.
In general, notifications like this are pretty much out of the user's control, especially when it's third party software triggering it. If you can only notify when it is initiated by a user initiated operation (tty linked execution) as opposed to a LaunchAgent/LaunchDaemon, that would be better.
my log id: cd5c1d799ce79bb59c6b2f1c

Interesting, it looks like other exceptions are already in the code.
Adding "System" to "var noErrorNames = map[string]bool{" in "kbfs/libkbfs/reporter_kbpki.go" would likely fix this.


suppress note for PlatformDependent

That rule suppess following message:

Note: rx.internal.util.PlatformDependent accesses a field 'SDK_INT' dynamically
Maybe this is library field 'android.os.Build$VERSION { int SDK_INT; }'

Thanks! Will release soon.

Released!


fix: mangled globals for IIFE bundle

fixes #252

This seems reasonable to me, but I think this does bring up whether we should be making the elements accessible this way on window.
Potentially, we should have all the elements be available from the main import or if they want the element, users can always get it from the customElements registry? Most probably would be using it directly in the HTML and never need these references.


Fix "Other usages of the library" section in docs

In the "Other usages of the library" section, the people mentions should be links to their profile, because anyone who sees them on websites like e.g. npm should be able to get to their profiles. Also, the section should be a header level 1 or 2.

Resolved in #80


[WIP] [BEAM-3645] support multi processes for Python FnApiRunner with EmbeddedGrpcWorkerHandler

Support multi processes for Python FnApiRunner with EmbeddedGrpcWorkerHandler

This PR is working on multiplexing part only. ParallelBundleManager part will be worked on a separate PR or added to current PR later.

Thank you for your contribution!

R: @robertwb , @aaltay , @pabloem @lukecwik
I created a working version (not final). I tested  with simple pipelines and confirmed that tasks and data are multiplexed to multi processes. Can we do a short review to make sure I am good to move in this direction?
Thanks,
Hannah

Please rebase your changes on top of apache/master @ HEAD.

Here I add some explanation to make it easier to understand what I am doing.
Assumption/Precondition:

Since it is a local runner, Workers are not added or removed dynamically during a job and we have fixed number of workers. Instead of reading signals from workers to dynamically change worker list, we create a fixed list of workers. A worker is added to the list when it is started and its life status is not monitored.

Since it is a local runner, number of workers are not big (would be <=32). I used a dict to count current work load for each worker.

Load balancing algorithm:
A <worker_id : task_count> map is used to record current work load for each worker. When a new task is added to a worker's queue, increase load by 1 and when receive response
of a task, decrease load by 1. A new process_bundle request will be assigned to a worker who has minimum work load. At the end, task_count of all workers should be 0.
Task multiplexing:
A GRPC server with 1 control server, 1 data server, 1 state server and 1 logging server is used for communication between a runner and workers.  A control handler is multiplexing tasks to workers. A <worker_id, task_queue> is maintained to store tasks.  Runner identifies work_id from GRPC context and yield from the worker's task queue. A <instruction_id : worker_id> mapping is maintained
for multiplexing data and other tasks (process_bundle_progress, process_bundle_split).
Data multiplexing:
A server side round robin data channel is implemented for multiplexing. Data is stored for each worker and sent to the worker when it asks for data.  It's a quite similar implementation as task multiplexing. No change with client side data channel, because we have one runner as it is.

I listed many reviewers, it's unclear who I am exactly asking for review. @robertwb is it possible to do a short review for me? Thank you.

Close this PR because it is working on at #8872 and https://github.com/apache/beam/pull/8979


OCPP 1.6 Security White Paper Ed 2

Add support for the Security OCPP messages of the 2nd Edition of the white paper
JSON_schemas.zip
OCPP 1.6 security whitepaper edition 2.pdf

Does the attached JSON_schemas.zip contain official json schema files from Open Charge Alliance? I was searching for them but they weren't included in ocpp 1.6 specification bundle.

Here they are:
Uploading JSON_schemas.zip…


SWARM-600 and SWARM-599 - Remote JMX over (management/http/remoting)

Previous fix for SWARM-599 transitively brought in org.wildfly.swarm:management,
which then consistently opens port 9990, which is too eager.
Now, bringing in JMX only brings in the remoting subsystem, which by
default does not open any additional ports.
The remoting subsystem will/can use either the management or standard
interfaces for performing remoting over http for things such as
remote-jmx.
Therefore, to use remote-jmx, and if you desire to do it over the
management or HTTP interfaces, you must additionally specify the
dependency of org.wildfly.swarm:management or at least org.wildfly.swarm:undertow.
In the event you have an extremely lightweight application that has
no requirement for :management nor :undertow, and you have enabled
remote JMX, then the legacy remoting port, defined by the configuration
property of swarm.remoting.port, and defaults to 4777 will be opened.
In the event all of the above are available within your application,
no remote JMX will occur at all unless you enable the remote connector
on the JMXFraction.
If you generically enable it, it will prefer management port, falling
back to undertow, falling back to the legacy remoting port.
If you specifically enable it to use the management interface, and
management is not available, it will disable the remote connector for
JMX and will not fall back to either undertow or the legacy remoting
port, because you were explicit in asking for management interface.

ok to test

This could be good food for the doc (I can take a look because I think there's not much about JMX). Anyway thanks for explanation.


Server-sent events, long polling and output buffering

@mikecao
Hi, is it possible to use Flight to handle routes for long-polling? It seems that Flight is affecting output buffering and preventing the flushing of contents. Perhaps it's because the route handler never returns. The following works okay without Flight, but not with:
// long polling endpoint for server sent events
Flight::route('GET /chats/@session', function($session) {
  header('Content-Type: text/event-stream');
  header('Cache-Control: no-cache');
  header('X-Accel-Buffering: no');

  function sendMsg($id , $msg) {
    echo "id: $id" . PHP_EOL;
    echo "data: {\n";
    echo "data: \"msg\": \"$msg\", \n";
    echo "data: \"id\": $id\n";
    echo "data: }\n";
    echo PHP_EOL;
    ob_flush();
    flush();
  }

  $startedAt = time();

  do {
    sendMsg($startedAt , time());
    sleep(1);
  } while(true);
});

apparently adding ob_end_clean(); after setting the headers fixed the issue.