Setup a basic Netty MQTT server

In this PR:

MqttServer:

Class responsible for starting the Socket Channel using ChannelInitializer from Netty framework:
- Defines the MqttDecoder, Encoder and relies on custom MqttServerHandler to handle the communication.
Two methods:
- start(): starts the Future channel, uses the server bootstrap to bind the port and sync.
- stop(): shutdown the server gracefully.

MqttServerHandler:

Inherits the SimpleChannelInboundHandler from Netty framework.
Listens to active client connections(channel)
Listens to incoming messages and check if they are MQTT type messages:
- If message is CONNECT, then send an ConnAckMessage to the client.
- if message is PUBLISH, tells MqttKafkaMapper to start the mapping of the incoming MQTT message.

MqttKafkaMapper:

Concurrently, try to perform the mapping operation using a combination of threads and runnable.
Right now it is just printing whatever the message and the topic are to the console.

Screenshots:
I am running the server normally on my local machine

For testing, I am using MQTT Explorer to connect to the server.

Once the client is connected

We are getting two SUBSCRIBE messages because the MQTT explorer try to subscribe to default topics($SYS/broker/clients/connected and  $SYS/broker/messages/sent topics) to retrieve info about the broker(yes, it assumes that it just connect to brokers).
Clients can now publish messages to the server

Result

I also tested the server using my phone(through my local network).
How to run
Start the server by executing Main.java
Run python3 test_script.py

@ppatierno @kyguy

@antonio-pedro99 I see you requested review again (which is anyway not needed to do every time because we get notifications from GitHub when you change something) but anyway I still see some comments not addressed yet.

till now, I think only the Logging and project folder refactor is missing, am I wrong?

@antonio-pedro99 yes ... well more or less ... I have something I am thinking more about and will update the PR soon.
Anyway, I think that logging and removing the mqtt-bridge folder are must have for this PR.
About logging it should be pretty easy, just adding a log4j2 and slf4j dependencies, a log4j2.properties configuration (in resources) and using it :-) Take a look at what you need in the Strimzi HTTP Kafka bridge.

Yes, I was already doing that xD, somehow it was not logging anything so I left it for a while. I am working on it now.

Sure! Meanwhile, all the changes requested have been solved.
This was supposed to be the system design improvement :)

@ppatierno Regarding the Mapper using threads.
The mapper will be doing heavy work → mapping, which might take some computation time. Something I am sure is that this mapping should be done concurrently.
I used threads because it was the easiest thing I could think about for this PR, as I said, I was just playing with Netty during the weekend :). But I am happy to take a look further a look for better alternatives, maybe using the Netty utilities for concurrency and async tasks is a good start.
Regarding it being a singleton, I think it is trivial, and we do not need to create multiple instance of it. By trivial, I mean, creating an instance of the mapper inside the MqttServerHandler.java would do the work.

I think the question is how the Netty thread model works. It needs further investigation. It depends how each channel handler is executed in its own thread or not and if Netty has a thread pool. In that case we could not need a new thread doing all the work for requests coming from channel handlers (for multiple connections). One thing you could do is about logging the message in the handlePublishMessage directly (no mapper usage) and print the Thread name as well. Then writing a script (bash? python?) which open multiple MQTT connections and publish messages and see how the server reacts and how many threads are used by Netty.

@ppatierno  sure. Investigating how netty threads works is what exactly I am doing now.
I am following the procedure suggested by you and might get you back in few hours.

I have edited the description of this PR with the instructions to test the server using a python script.

execute the server
open the terminal in the root folder
run python3 test_script.py

@antonio-pedro99 we need a license header at the top of all the .java files. Would you mind to add the following one on all of them, please?
/*
 * Copyright Strimzi authors.
 * License: Apache License 2.0 (see the file LICENSE or http://apache.org/licenses/LICENSE-2.0.html).
 */

@ppatierno @kyguy thanks 😊


Add Staker Space to the registry

Polkadot:https://polkadot.subscan.io/extrinsic/0x731678295d448a91bd541bfdd05f86f25aed6d28721c3110b613db7ff586a7ac
Kusama:https://kusama.subscan.io/extrinsic/0x153e15012b3fec04d2f751d0ab4a0292c684fc91febe7f8cb5bd2ef3e7f17b75

Hello @ilhanu, thank you for request!
We have tested your data and this is how it will looks like in the app:

Spoiler!

hi @stepanLav  it looks absolutely stunning!!
I've resolved the issues. Let us know if we can do anything else.


Performant way to compare OpenXmlElement

When comparing OpenXmlElement objects, there isn't an obvious performant way to do it.
The current top solution from StackOverflow does:
return font.OuterXml.Equals(existingFont.OuterXml);

Performance wise this performs very poorly, due to two reasons:

Lots of temporary allocations:
1.1. StringWriter
1.2. XmlDomTextWriter (which allocates a 6000 char buffer)
1.3 Final string
String comparison instead of comparing primitive types.

Is your feature request related to a problem? Please describe.
Due to the amount of allocations, we are seeing tons of garbage collection happening when creating Excel sheets in our service.
When creating the sheets we have attach styles for the sheet, but to avoid re-adding styles, we compare them to previously added styles.
Describe the solution you'd like
Would be nice if OpenXmlElement implemented IEquatable.
However, due to potential wishes for controlling ordering behaviour I could imagine someone wanting a more complex API, but I'm okay with any of them.
Describe alternatives you've considered
Tried to implement a faster comparison based on writing to a stream and comparing the underlying bytes instead.
using (var ms0 = new MemoryStream(256))
using (var ms1 = new MemoryStream(256))
using (XmlWriter writer = XmlWriter.Create(ms0, xwSettings))
using (XmlWriter writer2 = XmlWriter.Create(ms0, xwSettings))
{
    font.WriteTo(writer);
    font.WriteTo(writer2);

    writer.Flush();
    writer2.Flush();

    if (ms0.Position == ms1.Position)
    {
        byte[] buf1 = ms0.GetBuffer();
        byte[] buf2 = ms1.GetBuffer();

        buf1.AsSpan(0, (int)ms0.Position).SequenceEqual(ms1.GetBuffer().AsSpan(0, (int)ms1.Position));
    }
}

I have also tried to do the above, but reusing the XmlWriter and MemoryStream, which reduces the allocations and time significantly. However StackOverflow warns of reuse.
However a slightly naive attempt to recurse the children and attributes show there is more to gain. It could be even faster if the GetAttributes didn't allocate a new list.
Additional context
Benchmarks:
BenchmarkDotNet=v0.13.5, OS=Windows 10 (10.0.19045.3086/22H2/2022Update)
AMD Ryzen 7 5800X, 1 CPU, 16 logical and 8 physical cores
.NET SDK=7.0.304
  [Host] : .NET 6.0.18 (6.0.1823.26907), X64 RyuJIT AVX2

Server=True

|          Method | N |       Mean |     Error |   StdDev |   Gen0 |   Gen1 | Allocated |
|---------------- |-- |-----------:|----------:|---------:|-------:|-------:|----------:|
|              MS | 1 | 4,455.6 ns |  57.62 ns | 51.08 ns | 0.9537 | 0.0381 |   16024 B |
|           Reuse | 1 | 2,732.4 ns |  12.43 ns | 11.02 ns | 0.0076 |      - |     144 B |
|        OuterXML | 1 | 5,784.4 ns | 100.72 ns | 98.92 ns | 1.7548 | 0.0839 |   29424 B |
| RecursiveManual | 1 |   974.1 ns |   3.62 ns |  3.21 ns | 0.0648 |      - |    1104 B |

Fixed by #1476


Deal with :flaky tests.

Tests marked :flaky either need to be fixed, or removed from the test suite ( commented out to be addressed later ).

Failing tests marked as :flaky should be currently be rerunning - both locally and on Travis, so I see no reason to remove them, really.
I chose these values: https://github.com/celluloid/celluloid/blob/master/spec/spec_helper.rb#L57 because the tests should work "most of the time" and fail only "occasionally". If a test fails "more often" it's better to put a small sleep() here an there (as much as I see them as pure code smells) and get it "working most of the time" again.
Flaky tests are actually a side-effect of not using isolated tests (e.g. with mocking). Ideally, Celluloid itself shouldn't be using Threads (or Fibers on JRuby) at all.
I'm just saying that the "flakyness" of tests is a symptom of much bigger problems.
Other than that - Celluloid needs an overhaul on the "testing support" side. I'm thinking of things like CELLULOID_DEBUG, CELLULOID_MONITORING, mocking task classes, Travis environment variables for task class (and refactor out the RSpec shared examples).
It's too easy to scapegoat "flaky tests" - and disregard actual, genuine race conditions in Celluloid (or even bugs in  JRuby).
I think each "flaky" test should have it's own issue (or grouped at least if they are related).

Some tests just need to marked as flaky, e.g. if this build today failed because this test if flaky - then this test simply needs to be marked as such (it isn't as of master):
https://travis-ci.org/celluloid/celluloid/jobs/56532489#L643

I wholeheartedly agree @e2. I'd be interested in cleaning these up with you if you're willing.
On March 31, 2015 3:57:03 AM PDT, Cezary Baginski<EMAIL_ADDRESS>wrote:

Failing tests marked as :flaky should be currently be rerunning -
both locally and on Travis, so I see no reason to remove them, really.
I chose these values:
https://github.com/celluloid/celluloid/blob/master/spec/spec_helper.rb#L57
because the tests should work "most of the time" and fail only
"occasionally". If a test fails "more often" it's better to put a small
sleep() here an there (as much as I see them as pure code smells) and
get it "working most of the time" again.
Flaky tests are actually a side-effect of not using isolated tests
(e.g. with mocking). Ideally, Celluloid itself shouldn't be using
Threads (or Fibers on JRuby) at all.
I'm just saying that the "flakyness" of tests is a symptom of much
bigger problems.
Other than that - Celluloid needs an overhaul on the "testing support"
side. I'm thinking of things like CELLULOID_DEBUG,
CELLULOID_MONITORING, mocking task classes, Travis environment
variables for task class (and refactor out the RSpec shared examples).
It's too easy to scapegoat "flaky tests" - and disregard actual,
genuine race conditions in Celluloid (or even bugs in  JRuby).
I think each "flaky" test should have it's own issue (or grouped at
least if they are related).

Reply to this email directly or view it on GitHub:
https://github.com/celluloid/celluloid/issues/524#issuecomment-88041801

In dealing with :flaky tests, it seems one issue is killing Threads between tests, which under jRuby means killing Fibers also, which causes a melt down.
But then when you avoid the meltdown, the tests start failing intermittently, because now there are undead Threads/Fibers wandering around.

A recent search through the codebase(s) shows no :flaky tests. It seems we can remove the evidence of there ever having been, then this is done.

@digitalextremist - this can be closed. If there are flaky tests, those should be individually opened as new issues.

We just need the metadata checks and environment variables allowing then removed.

@digitalextremist - already done on my experimental branch


Bug: Missing particle property update for CustomParticleProperty?

The "AgeDecay" particle property doesn't seem to be updated correctly.
I suspect that the error is in the ParticleGroupManager class, line 192
    for name, i in si.class_roles.particle_properties.items():
        **if isinstance(i, ManuallyUpdatedParticleProperty):** <- This should be CustomParticleProperty?
            i.start_update_timer()
            i.update(n_time_step, time_sec, active)
            i.stop_update_timer()
    si.block_timer('Update particle properties',t0)

fixed

Hi
Thanks chief bug fixer!  Romain is coming a close second.  Have fixed both, one of which I am sure I fixed before! Have closed bug issue on github as a test
From: Laurin Steidle @.>
Sent: Thursday, 21 November 2024 06:24
To: oceantracker/oceantracker @.>
Cc: Subscribed @.***>
Subject: [oceantracker/oceantracker] Bug: Missing particle property update for CustomParticleProperty? (Issue #9)
The "AgeDecay" particle property doesn't seem to be updated correctly.
I suspect that the error is in the ParticleGroupManager class, line 192
for name, i in si.class_roles.particle_properties.items():

    **if isinstance(i, ManuallyUpdatedParticleProperty):** <- This should be CustomParticleProperty?

        i.start_update_timer()

        i.update(n_time_step, time_sec, active)

        i.stop_update_timer()

si.block_timer('Update particle properties',t0)

Reply to this email directly, view it on GitHubhttps://github.com/oceantracker/oceantracker/issues/9, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A2FA46M6POEA5RPNLCUPBB32BTASZAVCNFSM6AAAAABSFDEHWOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY3TMNRRGQZDQMA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
Attention:
This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. Cawthron reserves the right to monitor all e-mail communications through its networks. Any opinions expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorised to make that statement.


Update undici dependency version

UNTESTED PR
This change would fix Deprecated Undici dependency #611.
I suspect this change should not break anything based on the GH discussion screen shot shown in that issue.
Nonetheless, I have not tested the changes in this PR to ensure that they work correctly.

I've updated undici to the latest v5 version. I can't use v6 since slash-create isn't in ESM, and would need to be rewritten to do so.
https://github.com/Snazzah/slash-create/commit/f6bde8bcbf85d8d3e7c83238f49166db01f5fe97


errors while using Magic prompit

I am getting this error message while using Magic prompit :
AttributeError: 'NoneType' object has no attribute 'keys'
what i want to achieve for example if my prompit is like this { cat | dog | chicken } in the garden and are { happy | sad }
what i want to achieve is i get prompits like this
cat in the garden and are happy
cat in the garden and are sad
dog in the garden and are happy
dog in the garden and are sad
chicken in the garden and are happy
chicken in the garden and are sad
and the text file will be the same as the mentioned prompits and when it finish it stops , how can i achieve that ?

I'm not able to re-produce your error. Are you using v0.15.1?

yes i am using the latest version , i even updated to 0.16.0 but still same error

also there is another issue , what if i need to generate all possibilities but with batch size of 1 ? like getting this prompit and generate like mentioned above it would be awesome , because SD only allows 100 Batch size , what if i want to generate more than 100 ? that feature would replace the x/y plot scripts and would be even better than it .

@razorJhon regarding your question about increasing the batch count, see this comment: https://github.com/adieyal/sd-dynamic-prompts/issues/38#issuecomment-1306653323
I'll add this to the README for future users.

@adieyal yea the batch count works but does the script choose randomly from the prompit when i use the { | } command ? what if i want to generate it one by one , does it work either or is it only randomly ?

That's what Combinatorial generation is for, have a look here: https://github.com/adieyal/sd-dynamic-prompts/#combinatorial-generation

sorry for late response , yea its working but i found an issue in the random prompit {1-3$$op1|op2|op3} doesn't work it just generate the 3 of them instead of using only 1

Are you saying it doesn't work in random mode or combinatorial?
In random mode it would generate one of the following

op1
op2
op3
op1,op2
op1,op3
op2,op1
op2,op3
op3,op1
op3,op2
op1,op2,op3
op1,op3,op2
op2,op1,op3
op2,op3,op1
op3,op1,op2
op3,op2,op1

Range is not supported in combinatorial mode (yet)
so it would probably return
1-3$$op1
op2
op3
Glad you're enjoying the script - I have a lot of fun with it, especially using collections

yes it looks like this and it doesn't choose random generation from the prompit that was the prompit and results

that was the results

I'm closing this issue, but will open another one to enable ranges in combinatorial mode.


Fix crashes in Tek driver from assumption that all channels are scope channels

Need to validate AFG still works after these changes before merge.

Can we get some updates on this? Is this now fixed upstream or are you still working on this?

Closing as now fixed upstream separately


Missing dependency

The page-tag has a dependency on raptor-async:
https://github.com/lasso-js/lasso-marko-taglib/blob/7a6342733f93e4c82ba072af6e1c1fa685a3e864/taglib/page-tag.js#L5
However, that dependency is not listed in package.json:
https://github.com/lasso-js/lasso-marko-taglib/blob/7a6342733f93e4c82ba072af6e1c1fa685a3e864/package.json#L41-L45
This means @lassojs/marko-taglib does not work when using a package manager that does not create a flat node_modules directory, e.g. pnpm.

Thanks for pointing this out @jsumners. This is fixed in<EMAIL_ADDRESS>

Thank you.


Testing: make "failBecauseExpectedAssertionErrorWasNotThrown()" in test throw something else than AssertionError...

(and find a shorter name for it?)
The problem is that writing tests is rather unnatural compared to, for instance, the core API's "failBecauseExc..." Argh, can't say it. shouldHaveThrown().
Since it throws an AssertionError, if we write, in a test:
try {
    myAssertionHereWhichFails();
    failBecauseExpectedAssertionErrorWasNotThrown();
} catch (AssertionError e) {
    someVerifyCode();
}

even though the naturally expected result that the verification code was not hit, it is.
Instead one has to write this rather unwieldy code:
try {
    myAssertionHereWhichFails();
    return;
} catch (AssertionError e) {
    someVerifyCode();
    return;
}
failBecauseExpectedAssertionErrorWasNotThrown();

Why not make it throw a custom AssertionErrorExpectedException instead?
Also, why not an alternate name of wasExpectingAssertionError()?

Submitted a patch on my topic/jsr203 branch which does exactly what I suggested. Comments?


Some improvements

Major rework

Refactor
Remove custom logging lib
Update Dependencys
centralize config

I needed to create an main.py because otherwise I get some import issues with the local modules.

Great PR!
Can you please fix these things so i can merge it?
You are using "Anime-Name-Goes-Here" and "Name-Goes-Here", You removed the URL Value from start_app\setup_arguments but still pass it on which results in a error, You now need to start MAIN.py and not start_app.py (ReadMe.md) (You can also add yourself there under Special Thanks).
Could you also please remove -i https://pip... from requirments as its not needed anymore with the Logger Lib?

@lks-hrsch How are you testing your commits?
I just tested it and i immediately get the Error:
ERROR:root:Exception: local variable 'ddos_start_value' referenced before assignment
This is probably because you import ddos_start_timer and not ddos_start_value. (Maybe a typo?)
Also when i run it via cli it doesn't log anymore...
I don't see a change in the logging Process so this is very confusing. (Probably a issue on my end)
Another Question.
Is there any big benefit from using Relative Imports? I also read that you need the init.py for ever folder which has a PY file because of that.
In my eyes this can be done with normal imports and either a VENV or a clear Source Root.
Im not trying to say your Idea or code is wrong. Im just curios what the benefit of it is.


Hover and drop not being called when a DragLayer is used.

When I use the DragLayer HOC to customise the drag preview, hovering over a drop target doesn't work if the drag preview is placed directly under the mouse pointer. However if the drag preview is placed adjacent to the pointer everything works as expected.
So basically if I define a DragLayer like this...
const dragLayerConnector = monitor => ({
  isDragging: monitor.isDragging(),
  itemType: monitor.getItemType(),
  item: monitor.getItem(),
  currentOffset: monitor.getSourceClientOffset(),
  initialClientOffset: monitor.getInitialClientOffset(),
  initialSourceClientOffset: monitor.getInitialSourceClientOffset(),
});

class MyDragLayer extends Component {
  getStyles() {
    const { currentOffset } = this.props;

    if (!currentOffset) {
      return {
        display: 'none',
      };
    }
    const { x, y } = currentOffset;

    return {
      transform: `translate(${x}px, ${y}px)`,
      position: 'absolute',
      width: '200px',
    };
  }

  render() {
    const {
      isDragging,
      itemType,
      item,
      currentOffset,
      initialClientOffset,
      initialSourceClientOffset,
      ...other
    } = this.props;

    if (!isDragging) {
      return null;
    }

    if (itemType !== Types.MyItem) {
      return null;
    }

    if (!item) {
      return null;
    }

    const style = this.getStyles();

    return (
      <div style={style}>
        Preview test
      </div>
    );
  }
}

export default DragLayer(dragLayerConnector)(MyDragLayer);

..if my drag source is wider than 200px and I begin to drag from beyond the 200px that the drag layer draws, everything works as expected. However if I begin to drag from within the 200px width, where the draglayer preview is rendered, dragging is automatically stopped as soon as the drag layer renders the first time.
I've managed to work around this by leaving the preview drawn by the drag layer one pixel under my pointer, using the following solution inside getStyles, however it would be nice if this wasn't necessary:
getStyles() {
    const { currentOffset, initialClientOffset, initialSourceClientOffset } = this.props;

    if (!currentOffset || !initialClientOffset || !initialSourceClientOffset) {
      return {
        display: 'none',
      };
    }
    const { x, y } = currentOffset;
    const { y: yInitPointer } = initialClientOffset;
    const { y: yInitSource } = initialSourceClientOffset;

    return {
      transform: `translate(${x}px, ${y + (yInitPointer - yInitSource + 1)}px)`,
      position: 'absolute',
      width: '200px',
    };
  }

So I'll need to know what version of React-DnD you're using, as well as your current OS and Browser. Could you put this into a test case repository I could clone?

Thanks @darthtrevino.
React-Dnd: v. 3.0.2
OS: High Sierra (10.13.4)
Browser: Tried it on both Chrome 66 and Safari 11.1
I created a repo for reproducing the issue here: https://github.com/joaquindk/dnd-issue
There's also an explanatory video here: https://youtu.be/w672TAyaiIg
Thanks for the help!

Thanks for your quick feedback @darthtrevino . I see - let's hope it can get fixed. I can live with my little hack for now.

Hi, I am also facing the same issue. Here is the link to the codesandbox: https://codesandbox.io/s/awesome-currying-q646k?file=/src/components/Table.tsx
Steps to reproduce in the codesandbox:

Click on the button to enable custom drag layer
Try dragging the first column cell and drop - hover/drop is not getting called and hence the rows are not getting swapped.

For me the solution above is also not working. Can someone please help?

Adding pointer-events: none in the preview that is rendered in my DragLayer solved this issue.


Update request: pydantic 1.10.9 → 2.3.0

Package name: pydantic
Latest released version: 2.3.0

Current version on the unstable channel: 1.10.9
Current version on the stable/release channel: 1.10.7

[x] Checked the nixpkgs pull requests

Notify maintainers
@wd15

Note for maintainers: Please tag this issue in your PR.

Sorry, PR already exists, missed it
https://github.com/NixOS/nixpkgs/pull/244564


Inadequat Error Message in Cmake

Hello,
I have some strange error message where cmake both find the package but still ouput a message that he failed (installation still continue without problem).
my cmake is:
cmake -DCMAKE_INSTALL_PREFIX=~/.local/ -DPYTHON_LIBRARY=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DPYTHON_INCLUDE_DIRS=/usr/include/python3.6/ ../siconos-github/

scipy and pyhull are installed through pip3.
-- Found scipy: /scratch/arocca/.local/lib/python3.6/site-packages/scipy/__init__.py
-- Old version of scipy detected. Support for 64 bits int was added in 0.14.0, forcing 32 bits int for python bindings

Scipy installed version is scipy-1.2.1
===> Did it succeed and the message is spurious, or failed and it is indeed working in 32bits ?
-- Found pyhull: /scratch/arocca/.local/lib/python3.6/site-packages/pyhull/__init__.py
-- Warning, python pyhull package not found. Some examples may not run properly. Try pip install pyhull.

It does not appear here
-- The following OPTIONAL packages have not been found:

 * MlcpSimplex
 * GamsCApi
 * SuiteSparse
 * PathFerris
 * PathVI
 * LpSolve

but the package is not present in the summary either ...
============================================ Summary ============================================
-- siconos version 4.2.0 is now ready for compilation and installation.
-- To proceed run 'make' and 'make install' and optionaly 'make test'.
-- C++ Compiler : /usr/bin/c++ 7.3.0
-- C++ flags :
-- C Compiler : /usr/bin/cc 7.3.0
-- C flags :  -std=c99
-- Fortran Compiler : /usr/bin/gfortran 7.3.0
-- Fortran flags :  -fPIC
-- Compilation mode is : RELEASE
-- Code Sources are in : /scratch/arocca/Siconos/siconos-github
-- Blas is atlas.
    Blas libraries : /usr/lib/x86_64-linux-gnu/libcblas.so;/usr/lib/x86_64-linux-gnu/libatlas.so;/usr/lib/x86_64-linux-gnu/libf77blas.so.
    Blas headers : cblas.h in /usr/include/x86_64-linux-gnu.
-- Lapack is atlas.
    Lapack libraries : /usr/lib/x86_64-linux-gnu/liblapack_atlas.so;/usr/lib/x86_64-linux-gnu/atlas/liblapack.so;/usr/lib/x86_64-linux-gnu/libcblas.so;/usr/lib/x86_64-linux-gnu/libatlas.so;/usr/lib/x86_64-linux-gnu/libf77blas.so.
    Lapack headers : clapack.h in /usr/include/x86_64-linux-gnu.
-- CSparse headers : externals/SuiteSparse/CSparse
-- Python interpreter is /usr/bin/python3.6
-- Python libraries are
-- All linking libraries are : m.
-- All include directories are : /usr/include/x86_64-linux-gnu;/usr/include;/scratch/arocca/.local/lib/python3.6/site-packages/numpy/core/include.
-- The project will be installed in /scratch/arocca/.local
-- siconos python package will be installed in /scratch/arocca/.local/lib/python3.6/site-packages
-- To get more information about dependencies, config or else,
-- check CMakeCache.txt file or re-run cmake with -DPRINT_ENV=ON.
-- =================================================================================================

Thank you for your answers.
(putting my CmakeCache.txt in attached in case CMakeCache.txt )

Hi,

Le 10 avr. 2019 à 11:02, roccaa<EMAIL_ADDRESS>a écrit :
Hello,
I have some strange error message where cmake both find the package but still ouput a message that he failed (installation still continue without problem).
my cmake is:
cmake -DCMAKE_INSTALL_PREFIX=~/.local/ -DPYTHON_LIBRARY=/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6.so -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DPYTHON_INCLUDE_DIRS=/usr/include/python3.6/ ../siconos-github/
scipy and pyhull are installed through pip3.
-- Found scipy: /scratch/arocca/.local/lib/python3.6/site-packages/scipy/init.py
-- Old version of scipy detected. Support for 64 bits int was added in 0.14.0, forcing 32 bits int for python bindings
===> Did it succeed and the message is spurious, or failed and it is indeed working in 32bits ?
-- Found pyhull: /scratch/arocca/.local/lib/python3.6/site-packages/pyhull/init.py
-- Warning, python pyhull package not found. Some examples may not run properly. Try pip install pyhull.
It does not appear here

that’s just a misprinting, do not take this into account
Can you try to update your siconos repo and reconfigure your build without all the -DPYTHON… things ?
e.g.
cmake -DCMAKE_INSTALL_PREFIX=~/.local/  ../siconos-github/
With the last commits, python3 is supposed to be properly detected
Don’t forget to first remove everything in the build directory and tell me it works properly

-- The following OPTIONAL packages

have not been found:

MlcpSimplex
GamsCApi
SuiteSparse
PathFerris
PathVI
LpSolve
but the package is not present in the summary either ...

============================================ Summary ============================================
-- siconos version 4.2.0 is now ready for compilation and installation.
-- To proceed run 'make' and 'make install' and optionaly 'make test'.
-- C++ Compiler : /usr/bin/c++ 7.3.0
-- C++ flags :
-- C Compiler : /usr/bin/cc 7.3.0
-- C flags :  -std=c99
-- Fortran Compiler : /usr/bin/gfortran 7.3.0
-- Fortran flags :  -fPIC
-- Compilation mode is : RELEASE
-- Code Sources are in : /scratch/arocca/Siconos/siconos-github
-- Blas is atlas.
Blas libraries : /usr/lib/x86_64-linux-gnu/libcblas.so;/usr/lib/x86_64-linux-gnu/libatlas.so;/usr/lib/x86_64-linux-gnu/libf77blas.so.
Blas headers : cblas.h in /usr/include/x86_64-linux-gnu.
-- Lapack is atlas.
Lapack libraries : /usr/lib/x86_64-linux-gnu/liblapack_atlas.so;/usr/lib/x86_64-linux-gnu/atlas/liblapack.so;/usr/lib/x86_64-linux-gnu/libcblas.so;/usr/lib/x86_64-linux-gnu/libatlas.so;/usr/lib/x86_64-linux-gnu/libf77blas.so.
Lapack headers : clapack.h in /usr/include/x86_64-linux-gnu.
-- CSparse headers : externals/SuiteSparse/CSparse
-- Python interpreter is /usr/bin/python3.6
-- Python libraries are
-- All linking libraries are : m.
-- All include directories are : /usr/include/x86_64-linux-gnu;/usr/include;/scratch/arocca/.local/lib/python3.6/site-packages/numpy/core/include.
-- The project will be installed in /scratch/arocca/.local
-- siconos python package will be installed in /scratch/arocca/.local/lib/python3.6/site-packages
-- To get more information about dependencies, config or else,
-- check CMakeCache.txt file or re-run cmake with -DPRINT_ENV=ON.
-- =================================================================================================
Thank you for your answers.
(putting my CmakeCache.txt in attached in case CMakeCache.txt https://github.com/siconos/siconos/files/3062941/CMakeCache.txt )
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/292, or mute the thread https://github.com/notifications/unsubscribe-auth/AHbsU9uHolsKEctkpah8uKPl1iMmteeUks5vfaitgaJpZM4cmet6.

I updated the siconos repo, and re-run cmake with
 cmake -DCMAKE_INSTALL_PREFIX=~/.local/ ../siconos-github/

it still wrongly detects scipy and pyhull.
I do not have this problem on my other machine with ubuntu 18.04
I guess the pb comes from the method in the installation of python modules ... using pip (linked to python3)  or pip3, with/without --user, or using apt install or apt-get install (not the same installation right so maybe not the same place ?) .... do you recommend a particular way ?

For the scipy error, thanks for saying that it is confusing. It is successful, but it can't use 64 bits ints. So it needs to only use 32 bits (and I don't remember whether it forces it for siconos, or just the bindings).
Thanks for putting your scipy version, looks like the version check is buggy :/

Le 10 avr. 2019 à 16:29, roccaa<EMAIL_ADDRESS>a écrit :
I updated the siconos repo, and re-run cmake with
cmake -DCMAKE_INSTALL_PREFIX=~/.local/ ../siconos-github/
it still wrongly detects scipy and pyhull.

and the rest of the python install ?
Can you try
grep -i python CMakeCache.txt in your binary dir and send us the result ?

I do not have this problem on my other machine with ubuntu 18.04

what is your current system ?
Anyway  we don’t really need scipy in Siconos (I think ?) , only if fclib is on, so in your cas that may not be a problem

I guess the pb comes from the method in the installation of python modules ... using pip (linked to python3) or pip3, with/without --user, or using apt install or apt-get install (not the same installation right so maybe not the same place ?) .... do you recommend a particular way ?

I recommend python3, installed with apt or any other package manager
and pip for all extra packages (rather than apt install python-numpy for example).
Using python env or conda may also be a good idea.
What’s important, I think, is  to avoid to mix different ways to manage your python modules.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/292#issuecomment-481714771, or mute the thread https://github.com/notifications/unsubscribe-auth/AHbsU2Gb5OtBr0S9ZcLXfv8FJpY2GvNFks5vffVDgaJpZM4cmet6.

what is your current system ? Anyway we don’t really need scipy in Siconos (I think ?) , only if fclib is on, so in your cas that may not be a problem

Scipy is needed for the sparse matrix representation. It is a hard dependency of siconos in python.

Le 10 avr. 2019 à 18:47, Olivier Huber<EMAIL_ADDRESS>a écrit :
what is your current system ? Anyway we don’t really need scipy in Siconos (I think ?) , only if fclib is on, so in your cas that may not be a problem
Scipy is needed for the sparse matrix representation. It is a hard dependency of siconos in python.

ah ok, I had forgetten that
Anyway, this message, "Old version of scipy detected. Support for 64 bits int was added in 0.14.0, forcing 32 bits int for python bindings
"
occurs for scipy versions less than 0.14 which dates from 2014
Alexandre, can you try:
python3
import scipy
print(spicy.file)
print(scipy.version)
just to be sure that your version is not 0.14 and that the problem is in Siconos detection of scipy ?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/292#issuecomment-481770846, or mute the thread https://github.com/notifications/unsubscribe-auth/AHbsUwju6B2rlGu4XEwXpumfFtG7p2voks5vfhW3gaJpZM4cmet6.

I did a scipy_VERSION VERSION_LESS "0.14.0" check in cmake that doesn't do it job (1.2.1 >= 0.14.0). However, that piece of code was removed yesterday. And the requirement updated to 0.15. This should be documented in the various requirements.txt.
The warning for scipy version 0.14.0 was needed because I had servers using that version.

Le 12 avr. 2019 à 09:52, Olivier Huber<EMAIL_ADDRESS>a écrit :
I did a scipy_VERSION VERSION_LESS "0.14.0" check in cmake that doesn't do it job (1.2.1 >= 0.14.0)

yes I fixed that yesterday

. However, that piece of code was removed yesterday. And the requirement updated to 0.15. This should be documented in the various requirements.txt.

you can put  0.14 back
but it’s rather old, no ?
I’m not sure it will fit with python3 ?
Can’t you upgrade your servers to something more recent regarding scipy ?

The warning for scipy version 0.14.0 was needed because I had servers using that version.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/292#issuecomment-482476147, or mute the thread https://github.com/notifications/unsubscribe-auth/AHbsU6nxAktqu05quFMePYoFJEjvQZ1hks5vgDsugaJpZM4cmet6.

@vacary gave me a bit more installation rights on my computer as this may be the source of the problem (I will try to reinstall "everything") .
Please note I have a similar error in a faulty detection of pyhull... The problem may not necessarily come from the cmake but from my installation rights/location.
In case this does not work, I will try the travis script for installation.

if you’re on ubuntu, you can try the process described in Dockerfile, here ;
https://gricad-gitlab.univ-grenoble-alpes.fr/nonsmooth/siconos/tree/master/ci_gitlab/dockerfiles https://gricad-gitlab.univ-grenoble-alpes.fr/nonsmooth/siconos/tree/master/ci_gitlab/dockerfiles

Le 12 avr. 2019 à 10:14, roccaa<EMAIL_ADDRESS>a écrit :
@vacary https://github.com/vacary gave me a bit more installation rights on my computer as this may be the source of the problem (I will try to reinstall "everything") .
Please note I have a similar error in a faulty detection of pyhull... The problem may not necessarily come from the cmake but from my installation rights/location.
In case this does not work, I will try the travis script for installation.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/siconos/siconos/issues/292#issuecomment-482482767, or mute the thread https://github.com/notifications/unsubscribe-auth/AHbsU3HbMWJj3MnHsiL5Xu0oOz_mY5tPks5vgEBlgaJpZM4cmet6.

Ok so now it works, so either the changes from @xhub did the trick or re-installing pip3 and cmake with apt install instead of apt-get install was the solution (need more sudo rights).
I reverting to a bit older commit (few days) to confirm.

@fperignon committed a change. I just looked at my calendar code today.
On Fri, Apr 12, 2019, 10:26 AM roccaa<EMAIL_ADDRESS>wrote:

Ok so now it works, so either the changes from @xhub
https://github.com/xhub did the trick or re-installing pip3 and cmake
with apt install instead of apt-get install was the solution (need more
sudo rights).
I reverting to a bit older commit (few days) to confirm.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/siconos/siconos/issues/292#issuecomment-482486609,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABbPiB5U48vq9x3foBrDn_CMO068cxKzks5vgENTgaJpZM4cmet6
.

What 's up ?

Maybe we can also close this issue


Async

hooray?

great job working through this one. Sorry to have precipitated the decline with my 🗑 , 😀 we got it back.


feat: deploy on release branch by creating tags

Context

fixes #578

Changes

@rico191013  Thank you for Contributing to Interledger during Hacktoberfest. If you have valid accepted PRs, You can claim your Swag here. Last date to fill up the form is December 10th, 2023.


Instance aware

Add the "cloud_instance_host_name" returned by the eSTS in case of "instance_aware: true" passed as a QueryParameter to the idToken claims.
Tested with the sample.
Pending:
Documentation on the usage.

Merging now.


ServiceWorker failed to install

I run into this issue, even from your deployed version:
https://weather-pwa-sample.firebaseapp.com/step-08/

I tried to clear localstorage, but did not work.

I can cache elements and so does not work offline.
What could it be?

Hi!
Thanks for the feedback. I've rewritten the codelab from scratch and believe I have fixed this issue. The code has been updated, and the new guide is now live.
If you find any issues with the new codelab, please let us know!
Thanks!


Replace docopt.Parse with docopt.ParseArgs

docopt.Parse has been deprecated in
https://github.com/docopt/docopt.go/commit/943c2addfe613d2f08771caf67be9ead4e21029f
Not that anything would be broken before this change, but I was thiking it
might be useful contribution to the project. Feel free to close if you think
otherwise.

Ah perfect, thanks very much for the update! Much appreciated :)


future  annotations with typing.ClassVar

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When a base model with typing.ClassVar variables defined is imported from another module with a from __future__ import annotations header, the inheriting model raises an exception like this:
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "...\package\module_2.py", line 9, in <module>
    A()
  File ".\venv\Lib\site-packages\pydantic\main.py", line 171, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\venv\Lib\site-packages\pydantic\_internal\_mock_val_ser.py", line 47, in __getattr__
    raise PydanticUserError(self._error_message, code=self._code)
pydantic.errors.PydanticUserError: `A` is not fully defined; you should define `typing`, then call `A.model_rebuild()`.

but works fine with model fields.
Example Code
# module_1.py
from __future__ import annotations
import typing
from pydantic import BaseModel

class Base(BaseModel):
    CONST: typing.ClassVar[str] = "a"

# module_2.py
from .module_1 import Base

class A(Base):
    pass

if __name__ == "__main__":
    A()

Python, Pydantic & OS Version
pydantic version: 2.6.4
pydantic-core version: 2.16.3
pydantic-core build: profile=release pgo=true
python version: 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)]
platform: Windows-10-10.0.19045-SP0
related packages: typing_extensions-4.10.0

@gswifort,
Huh, thanks for reporting this. That's definitely odd. I think @alexmojaki might know what's going on here, let's see what he thinks!


August 2022 release

Description
August 2022 Release of ServiceBus SDK for Java
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

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


Must lock before reading table_->capacity.

There is a race condition in the export functions. You must lock the table before reading table_->capacity.

/blossom-ci


Docs: Partial Prometheus Metrics List

Docs: Add Prometheus Metrics, @bwplotka @yeya24 based on #12397.

Can you share how this list was obtained? Ideally we document that in this document somewhere near the footer.

Otherwise this is a great start! But we need to make this bit more maintainable.

Hello from the bug-scrub!
As noted in the discussion at https://github.com/prometheus/prometheus/issues/12397, we want to have a list which is maintained over time.
Personally I think it would be OK to merge this and then automate it later, but we cannot right now because CI threw an error.
If you want to, please update the branch and we'll see if CI passes.
@bwplotka do you want to wait until there is a full solution before merging?


LaTeXTransform: Better mimik notebook behavior

Allow a single $ inside math text and only remove them at the beginning or end.

Cool cool. May want to add tests for this before shipping out, if only just to test the regex.
My only counter is more of a Jupyter spec question which is what the latex mimetype is. We clearly aren't requiring \begin{document}

Currently we render all text/latex with mathjax.
In my understanding the notebook parses the latex output and renders math with MathJax and displays everything else as plain/text.
Maybe there is an option in MathJax to achieve this functionallity?

The notebook uses the tex2jax extension to achieve this behavior. I'll add this to mathjax-electron this evening.


[SP-4398] Backport of PDI-17340 - 8.0 Execute transformation fails wh…

…en sub-job name has .kjb extension - 6.1 Does Not (8.1 Suite)
@ricardosilva88 @cravobranco

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'ui' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  ui/src/main/java/org/pentaho/di/ui/trans/steps/jobexecutor/JobExecutorDialog.java
  ui/src/main/java/org/pentaho/di/ui/trans/steps/transexecutor/TransExecutorDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.salesforceinsert.SalesforceInsertMeta

Instruction Change: -0.1% :small_red_triangle_down:


Listener registry re-write.

This is a work in progress. I've opened this PR mostly for discussions and comments.
The basic idea is to simply use an atomic shared state to handle listeners, i.e. no message connector required and implicit shared state. This also allows the implementation to be "self-healing".
Also, I have removed the handling of the case where the provider also is subscribing. Instead I suggest that users should be directed to use a new helper method inside the provider when updating the matched record, e.g:
ds.record.set = function (name, ...args) {
  const record = this.getRecord(name)
  record.set(name, ...args)
  record.discard()
}

For the case where the user incorrect subscribes we could have the server reset the provider state for a specific record name every minute or so, recover from the problem and print a warning.
There is a lot that could be optimized here but I'm striving to keep it as simple and correct as possible. So that there is a fully stable baseline.

For the case where the user incorrect subscribes we could have the server reset the provider state for a specific record name every minute or so, recover from the problem and print a warning.

@yasserf: This is starting to be pretty solid in theory. Haven't run any test against it yet. If you have any comments or suggestion those would be appreciated before I take this further.

I'm going to need some updates to the distributed state registry in order to get this working with the current cluster implementation... in particular I need:
state.watch(table, key, (err, name, value) => { ... })
state.keys(table)
state.upsert(table, key, value => { ... }).then(([ prev, next ]) => { ... }).catch(err => { ... })

I have the distributed state registry connector up next on my list, hoping to be able to do the rewrite tomorrow!

In order to get this to work we will need weak records. I imagine that "weak" records are basically records that send a READ that does NOT subscribe to the record.
const record = ds.record.getRecord('foo')
const weakRecord = ds.record.getRecord('foo', { weak: true })

Another limitation (which I believe is already the case?) is that the same client CANNOT listen to the same pattern twice.

@yasserf: I'm putting further work on this on hold until your team gets involved or we start to get near to deploy in production. It's not urgent for us but we need listeners resolved before we go into production ourselves. Ping me.

Hey Ronag, given the amount of work required I'll be looking at this post 6th march. I have however made progress with the state registry, just need to figure how to reconcile on server crashes


optimize: batch delete GlobalSession locks for db mode when commit success

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1574 into develop will decrease coverage by 0.06%.
The diff coverage is 30%.

@@              Coverage Diff              @@
##             develop    #1574      +/-   ##
=============================================
- Coverage      46.42%   46.36%   -0.07%
  Complexity      1692     1692
=============================================
  Files            348      348
  Lines          12723    12736      +13
  Branches        1588     1592       +4
=============================================
- Hits            5907     5905       -2
- Misses          6177     6190      +13
- Partials         639      641       +2

Impacted Files
Coverage Δ
Complexity Δ

...in/java/io/seata/server/session/BranchSession.java
78.19% <ø> (ø)
41 <0> (ø)
:arrow_down:

.../java/io/seata/server/lock/DefaultLockManager.java
41.66% <0%> (-18.34%)
9 <0> (ø)

...java/io/seata/server/lock/memory/MemoryLocker.java
87.64% <100%> (+1.77%)
20 <0> (ø)
:arrow_down:

...in/java/io/seata/server/session/GlobalSession.java
83.56% <62.5%> (-1.05%)
67 <2> (ø)

...server/store/file/FileTransactionStoreManager.java
45.99% <0%> (-1.05%)
19% <0%> (ø)

Continue to review full report at Codecov.

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


Video not fit

Hi,
I using constraint with all safe area, but my video doesn't fit to full when Im changing iPhone X to iPhone 8 simulator.
How to fix this?

I have not had a chance to test iPhone X safe area constraints. If possible, could you show me via screenshots what you mean? I will take a look at it when I have a chance. Thanks!

Here's the screenshots

Ahh, I see. Are you using auto-layout? I believe this issue is similar to #1 . Please see my response to that issue (quoted below):

I have also run into this issue with a different project of mine (not related to SwiftVideoBackground) when using AutoLayout on a UIView (or UIView-based objects such as UIImageView). I don't think that the issue is with the background video, as it will fill the dimensions of the UIView. Rather, I think that autolayout is incorrectly setting the wrong constraints for the UIView, according to the size class selection you used (in your case, iPhone 4s). This seems to be due to the new size class options (and removal of Any,Any) in the interface builder in Xcode 8+.
A temporary solution is to select the proper phone version in the storyboard, as shown in the image you posted, and then building/running for that phone. (iPhone 4s -> iPhone 4s, or iPhone 7 -> iPhone 7).

See if that fixes your issue for you.

Yep its autolayout but when im Archive the projects the conflicts still not resolve.
Any solution else?

Hmm, in that case, I'm not sure what the issue might be. Do you have this issue with other UI elements? (ex: Can you create a random UIView with the same constraints and see if you have the same auto layout issues?)


Use sanitizedUrl.search to format search params

I was running into an issue with this while setting up a Vite frontend (React template) with the SWA cli.
The change of adding matchingRewriteRouteQueryString to the end results in this:
[swa] /src/logo.svgimport=

Notice the missing ? prefix.
I instead replaced it with this:
if (doesMatchingRewriteRouteHaveQueryStringParameters) {
-    matchingRewriteRoutePath = sanitizedUrl.pathname + matchingRewriteRouteQueryString; // => /src/logo.svgimport=
+    matchingRewriteRoutePath = sanitizedUrl.pathname + sanitizedUrl.search;  // => /src/logo.svg?import
    core_1.logger.silly(` - query: ${chalk_1.default.yellow(matchingRewriteRouteQueryString)}`);
}

The mapping is now correct.
[swa] /src/logo.svg?import

And it correctly appends the search params and lets the Vite React starter load correctly.

@manekinekko Would be great to add a test for this. Do we have Cypress tests that test a dev server and not static?

We don't. But we can update the static app to take into account fetching query params through JavaScript and making sure this implementation doesn't regress. cc @sgollapudi77 @Reshmi-Sriram

We don't. But we can update the static app to take into account fetching query params through JavaScript and making sure this implementation doesn't regress. cc @sgollapudi77 @Reshmi-Sriram

I can create an open issue for testing this feature to work on and merge this PR now.

I can create an open issue for testing this feature to work on and merge this PR now.

Great idea. Let’s get this merged and released soon. Let me know if I can help.

Fixes #350 #346


No files written to output directory & no API call

Hi! I'm trying to use GROBID to generate the .tei.xml file for some pdfs. I have installed GROBID according to the docs on my local machine using the following commands:
wget https://github.com/kermitt2/grobid/archive/0.6.0.zip
unzip 0.6.0.zip

and since I do not have many pdfs that I want to annotate I chose to use the public GROBID service http://cloud.science-miner.com/grobid/ and updated the config.json file accordingly. However when I run the commands below nothing is written to the OUTPUTS file and no API call is made either. I also checked the web service and when I tried to process a full text document there, I get a 503 error saying that the processFulltextDocument service is not available. None of the other services (processHeader, etc.) are available either.
xxx grobid-client-python % python3 grobid-client.py --input ~/Desktop/GROBID/test --output ~/Desktop/GROBID/OUTPUTS --config ~/Desktop/GROBID/grobid-client-python/config.json --force  processFulltextDocument
GROBID server is up and running
2 PDF files to process
/Users/samanthadalal/Desktop/GROBID/test/NeuralRegenRes12122021-5821355_161013.pdf
/Users/samanthadalal/Desktop/GROBID/test/nmc-59-213.pdf
runtime: 13.629 seconds
xxx grobid-client-python % cd ..
xxx GROBID % cd OUTPUTS
xxx OUTPUTS % ls
xxx OUTPUTS %

Could you please help me resolve this issue, I would very much appreciate it! Thank you :)

Hi @samanthadalal, the public Grobid service was overloaded. I restarted it to clean the queue, you can try now, but it might be saturated again because some people launched heavy batches on it. I should probably reduce the quotas. In any cases, if you want to process files with some safety, better to use a local install - it's not complicated, it works on low profile hardware.


[SPARK-11450][SQL] Add Unsafe Row processing to Expand

This PR enables the Expand operator to process and produce Unsafe Rows.

Can one of the admins verify this patch?

ok to test

Merged build triggered.

Merged build started.

Test build #45160 has started for PR 9414 at commit 43aeb0c.

Test build #45160 has finished for PR 9414 at commit 43aeb0c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45160/
Test PASSed.

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #45213 has started for PR 9414 at commit 26f6f7e.

Test build #45213 has finished for PR 9414 at commit 26f6f7e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * final class ShuffleSortDataFormat extends SortDataFormat<PackedRecordPointer, LongArray> \n  * final class UnsafeSortDataFormat extends SortDataFormat<RecordPointerAndKeyPrefix, LongArray> \n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45213/
Test PASSed.

Thanks!  Merging to master and 1.6.


Create an API to allow plugging other Docker providers

All the API classes are in org.redfrog404.mobycraft.api package. Needs further cleanup but this is a good start.

Fixed by https://github.com/AdityaGupta1/mobycraft/commit/06cf8f08012665417101e480bf6bbde756a9d3e3


Fix mention highlighting in unsubscribed streams

As noted here, mentions are not highlighted correctly in unsubscribed streams.

Correct rules:

Mentions should be their usual color (purple for personal mentions; green for other mentions).
Mention text should never be bold (even for, e.g., wildcard mentions, or personal mentions referring to the user).
Message background should never be highlighted with the mention color.

@prakhar1144 perhaps this would be easy for you to fix?


TestMessageResponseType should extend PayloadMessageResponseType

Currently TestMessageResponseType extends PayloadMessageType. This should be PayloadMessageResponseType

By the way, why doesn't a TestMessageResponse have a Result+RejectionReason? And it also doesn't reference the TestMessage.
Maybe that would be a better change than this. What do you think?

Lekker bezig Tom!

Hi @capacious
We really like your suggestion of adding a generic ReferenceMessageID attribute to PayloadMessageResponseType, to replace the specific *MessageID attributes. This will greatly simplify handling.
However indeed it will be a breaking change. Both the specification and XSDs have to be adjusted. So if we would consider semantic versioning this change would lead to a 4.x.x version of the specification and XSDs.

I was going through the various complexTypes that extend PayloadMessageResponseType.
And I ran into FlexSettlementType. It contains no "reference message ID". Does it even make sense it extends PayloadMessageResponseType or would it make more sense to extend PayloadMessageType?
Because there is also a FlexSettlementResponseType which extends PayloadMessageResponseType like I would expect.


Update vote calculation to support payment_v2

Requirements: Some voters are having trouble voting with their wallets held in multi-signature wallets. We'd like to enable these voters to vote by issuing micropayments instead of token burns.
Notes:

This is a common error by other voters but usually they realize that they need to burn instead of pay.
We do want to protect against arbitrary voting from exchange wallets. Some have been filtered. This list may need to be updated.
The logic stays the same, we just will recognize payments as well as token burns.
The token balance of the voter account at the time of the deadline will be still used for the final vote tally.
The live vote tally is the current balance of the voter account.
A subsequent burn (or payment) to one of the outcome addresses can be still used to change an older vote.

deferred to implementation in #57


ClusterLoader：need to suport get etcd mtrics by cert file

I have a v1.11.2 k8s cluster with an etcd cluster which enables auth by cert file.
When i run clusterloader2, EtcdMetrics measurement failed to get etcd metrics by http:
https://github.com/kubernetes/perf-tests/blob/f7ae8630a0d06f5ecd141d5d08d3bfdb9cec4e88/clusterloader2/pkg/measurement/common/etcd_metrics.go#L100
func getEtcdMetrics(provider, host string) ([]*model.Sample, error) {

	...
       cmd := "curl http://localhost:2379/metrics"
	...

}

so, i think maybe we need to suport get etcd mtrics by cert file.

/remove-lifecycle rotten

/remove-lifecycle stale
/lifecycle frozen

If you use kubeadm to build the cluster, the metric port may not 2379. In my machine, it's 2381. you can use  ps aux | grep -P '/etc[d] ' to get in detail( pay attention to the --listen-metrics-urls=)


Fix PaidServicesAllowed to type bool

The Cloud Controller API states that the PaidServicesAllowed field must not be null.
The field should be a boolean and not a *bool (pointer).
https://v3-apidocs.cloudfoundry.org/version/3.180.0/index.html#the-organization-quota-object
This way, the calling application can assume that it is not nil.
The other fields are designated as nullable or pointers and thus defined as unlimited.
This makes no sense for a boolean.
Other use cases also follow this pattern: pointer = nullable, otherwise value.
Therefore, I assume that this is a bug, which I fix with this PR.
Currently, the command make all throws lint warnings, which also happens to me in the main branch.

LGTM, I can merge it if you sign the CLA

as a little time has already passed, a short feedback.
We are currently clarifying internally why this has not yet happened or does not count.


[BE] Modify registerController so duplicates are automatically handled by errorMiddleware

Modify registerController:

rename to register plain, without 'Controller' which is redundant given the folder it belongs to.
the duplicate email or DNI should be detected by Prisma and handled by errorMiddleware, just like it is done with userPatch (see /controllers/users/patch).

Implement a system to detect which error Prisma throws and then produce a customized error message.


Add SPI-DMA support to spresense with gs2200m

Summary

Recently I noticed that GS2200M driver does not use SPI-DMA on Spresense.
This PR consists of 3 commits.
The first commit is regarding cxd56_spi.c and cxd56_dmac.c which I had to merge the latest ones from Spresense SDK1.5.1 to avoid SPI-DMA bug.
The second commit is to enable SPI-DMA in board specific file (i.e. cxd56_gs2200m.c). Because SPI-DMA is disabled by default even though it is enabled in defconfig. (NOTE: For STM32F4Discovery, we can enable SPI-DMA by defconfig only)
The final commit is to improve performance for gs2200m driver so that it can handle multiple incoming packet in work queue handler.

Impact

This PR affects GS2200M configurations such as (spresense:wifi, stm32f4discovery:wifi)

Testing

I tested this PR with spresense:wifi and stm32f4discovery:wifi

Hi @jerpelea ,
Please review this PR.

Hi @jerpelea ,
Please review this PR.

@jerpelea
I found a trouble in aging test.
So please do not merge.

I found a trouble in aging test.

Hmm, it might be a Wi-Fi access point issue.
My MacBook Pro had a trouble too.
Anyway, I'll continue to do aging test and reopen this PR later.

Hmm, it might be a Wi-Fi access point issue.
My MacBook Pro had a trouble too.
Anyway, I'll continue to do aging test and reopen this PR later.

Hi @jerpelea,
I've been testing this PR for the last 2 hours with heavy TCP traffic but I can not reproduce the network trouble so far. I think we can merge this PR. So please review it.


Mode 1332 ported CndSequencer to 3.x

updated Windows binary compatibility
fixed cache size when copying streams

Merged into the '3.x' branch. Note that I rebased before merging, so the commit IDs will be different.
Thanks, Horia.


That's not a recorded webinar session, nor a link you can register.

That's not a recorded webinar session, nor a link you can register.

@kfollis
Can you review the proposed changes? If it helps, you can sign off with the instruction for the PR reviewer to delete the nonworking content in this PR (lines 165-168) and then merge the PR. Alternatively, you could close this PR and fix the issue in the private repo.
IMPORTANT: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#please-close
@huiwenkong - thank you for the feedback. The changes you suggested are being made under a separate pull request.


[Bug Report] enable_cache leads to hang if run nanogpt model training

Describe the bug
If run nanogpt training https://github.com/tenstorrent/TT-Tron/blob/main/sources/examples/nano_gpt/main.cpp
It hangs after 2 training step if call device->enable_program_cache();
Currently device->enable_program_cache(); is called only in eval mode and it gives significant speedup. But we cannot use it during training. For other and smaller models like mnist it works fine.
To test it: please move this code out of eval check: https://github.com/tenstorrent/TT-Tron/blob/39c560b6e0e92f71f81669dfef4ad3be35a6275a/sources/examples/nano_gpt/main.cpp#L257C9-L257C40
To Reproduce

Run nanogpt training with cache enabled in the https://github.com/tenstorrent/tt-tron repo
Wait for the 2 training steps and it will hang just after the second step. Seems like it is deadlock inside of the CommanQueue.
If you reduce number of blocks:     uint32_t num_blocks = 6; in the https://github.com/tenstorrent/TT-Tron/blob/39c560b6e0e92f71f81669dfef4ad3be35a6275a/sources/examples/nano_gpt/main.cpp#L37
It will work or might hang later.

Expected behavior
caching should work.
Screenshots
Please complete the following environment information:

OS: [e.g. Ubuntu 20.04]
Version of software (eg. commit)

Additional context
enable caching gives significant performance boost so it is a P0 for us. Current training time is near 4 hours and it is hard to iterate.
Similar pytorch code on 3090 takes 3-4 minutes to converge.
If you have any issues with tt-tron code feel free to reach me or @rfurko-tt.

Hi @TT-BrianLiu  unfortunately we found that it is embedding_bw op.
For some reason if reuse it from cache it hangs the app.
Could you help us please?


product module

[ ] The model of Product (or ProductModel) and ProductObject is not completely clear.

integrated in #287


Move Style/EmptyLineAfterGuardClause cop to Layout department

see: https://github.com/rubocop-hq/rubocop/pull/5886
Style/EmptyLineAfterGuardClause has the wrong namespace - should be Layout

FYI: #56
I have not seen the changes of v0.53...v0.56.
How is your impression of using it in your project?

Hello
A new version of RuboCop has been released at 0.59.2.
rubocop-hq/rubocop#6235 has been merged in this version.
Do you plan to make changes in this project?
I'm sorry for my bad English
Have a good day.

How about this PR?

In rubocop v0.59.0, Layout/EmptyLineAfterGuardClause is enabled by default.
So remove the configuration. #58

Released no warning version as v<IP_ADDRESS>.
Have you solved the problem with this?

In rubocop v0.59.0, Layout/EmptyLineAfterGuardClause is enabled by default.
So remove the configuration. #58

Thanks.
I was solve the trouble.
Please close this PR at #57.


Access Token expired

After playing for a while it stopped updating with the following error spamming the console:
[19:12:33] [Thread-23/WARN] [mi.bl.sp.SpotifyHandler/]: Failed to poll: se.michaelthelin.spotify.exceptions.detailed.UnauthorizedException: The access token expired

Made a fix, currently testing whether it works. If it hasn't happened for a day I'll push it and upload an update


Quests question

Hello,
I am hoping you can help with a few questions about your plugin, Quests.

I have recently come into ownership of a server that already has this plugin installed and I want to upgrade.  I'm concerned there may be some incompatibilities though.  The server is still running MC 1.8.8.  If I upgrade to the current version will that cause any issues?  And what is the best way to upgrade?
Is it possible to only have a player able to do a quest once they've completed another quest?
Is it possible for players to be given specific permissions (from various plugins) as rewards for completing a quest?
How do you access the GUI?

I may have more questions.  So sorry.  We have been brainstorming some ideas but just can't seem to wrap our head around making this plugin work for them, altho theoretically it seems possible.  Alternatively, what would the cost be to come to my server and set up some quests?
Thank you!

@WanderingRaven To answer question 1, no, there should be no issues upgrading (unless you are coming from version 2.0.0 or below, in which case click here).
For all other questions, I feel it is best to link you to the English video tutorial - https://www.youtube.com/watch?v=0EZ6yv4MVBM

Thank you, I will attempt an upgrade soon.  I did watch that video tutorial as well as another one and I still can't seem to make heads or tails of it.  Do you have time for a paid project?

@FlyingPikachu Sorry to bother you again.  I rewatched those videos and still can't seem to figure out how to make a more advanced quest that requires some of the above settings.  Can you help via Discord or would you be willing (for a fee) to help me set some up?  Thanks!

@WanderingRaven Unfortunately I do not have the time for a paid project, but thanks for your offer. I encourage you to seek help building your server on the Spigot forums. Thanks!


Lost Huginn Web GUI Userid and Password

I've lost both the userid and password to my huginn installation web interface.  It continues to run fine, but I can no longer access it.  Any suggestions on retrieving this info directly from the database?  I'm running in docker with a mariadb:10.3 backend (also in docker).
Any help much appreciated.

That's a really good question.  I went through the output of bundle exec rake -AT and didn't find anything (surprisingly).  Anybody else?

If you can still login to the database you can find this in the table users, but the passwords are obviously encrypted.
(You could also try admin/password if you never disabled the default account…)
There is a password reset feature build in which will send you a reset link via email, it also writes this to the logs so you can intercept it their if email doesn't work.

If you can still login to the database you can find this in the table users, but the passwords are obviously encrypted.
(You could also try admin/password if you never disabled the default account…)
There is a password reset feature build in which will send you a reset link via email, it also writes this to the logs so you can intercept it there if email doesn't work.

Yes, this worked!  Thanks for your help. :)

If you can still login to the database you can find this in the table users, but the passwords are obviously encrypted.
(You could also try admin/password if you never disabled the default account…)
There is a password reset feature build in which will send you a reset link via email, it also writes this to the logs so you can intercept it there if email doesn't work.

I have the same problem. Email server isn't set up, so I need the log file. It runs inside docker. Which log file does it write it to?


Specify empty OIDC prefix

Ref: https://github.com/inventree/InvenTree/discussions/6273

Specifies explicitly empty prefix for OIDC providers to maintain backwards compatibility

@p-fruck thoughts on this?


[Draft] Support column alias for Table, Derived Table

Issue
#1054

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

88 of 90 (97.78%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.008%) to 98.509%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/src/executor/fetch.rs
23
25
92.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.008%

Covered Lines:
36996

Relevant Lines:
37556

💛  - Coveralls


download issue

hello, thank you for this work. Is there a way to publish the remove neck version of BFM data also on google drive? Is quite hard for me to download them from pan.baidu.
Thank you

Ok, I have updated the google drive download link here.  If you are interested, please star it : )

Due to the license in bfm2017, I will delete the no-neck version of BFM data soon.


Fixes to Csv import Exports

Part of the fixing of csv files for import and export

Merged all of the fixes into one patch now

If you fix the style error, I think they will pass the build tests

Done the changes to align the public static and remove two spaces after callsign  ’nullable’,

On 6 Sep 2021, at 21:27, B.Fatih KOZ @.***> wrote:
https://user-images.githubusercontent.com/74361521/132248926-f5b20dea-6206-42a1-a137-1d4d663ad5ec.png
If you fix the style error, I think they will pass the build tests
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/nabeelio/phpvms/pull/1299#issuecomment-913783681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFJ7CEDBUNYEDSMBJ5SUCZ3UAT2XBANCNFSM5DNNTTXQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You still have styling errors.

You still have styling errors.

I went to the edit file and aligned PUBLIC but do not understand where the style issue is now

Passed the styling at last I think

Yes, now the owner of the main repository ( phpvms / nabeel ) can allow other checks to be executed for this.
This needs manual input at the moment but when you reach to a level all will be automatically done and then the owner will just check and decide what to do (if your changes pass all checks of course).
Now you can safely close all those other "single file" pull requests, they are not needed anymore 'cause all is here ;)

Some tests are still failing, I can take a look in a little bit.

Yeah, flights_empty_fields.csv this one needs to updated too. It is causing the import test to fail.

There may be more files to edit though, just checked the tests/data folder. All files regarding aircraft / flights / subfleets needs to edited according to the new field requirements.

Ok I will look at these other csv files in the morning now I know how to AC filed to a pr
Sent from my iPad

On 7 Sep 2021, at 18:56, B.Fatih KOZ @.***> wrote:

There may be more files to edit though, just checked the tests/data folder. All files regarding aircraft / flights / subfleets needs to edited according to the new field requirements.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Yeah just add onto this PR

3 other csv files added to PR


Implement OpenTracing compatibility shim

👋 I'm your huckleberry.
Self link https://github.com/open-telemetry/opentelemetry-java/tree/master/opentracing_shim

The initial PR is #108 , however I don't believe @rdooley has time to continue with this and the PR likely needs significant updates to account for drift in the API. I've removed the assignment & opened this up to other folks who might like to help out.

Note also https://github.com/open-telemetry/opentelemetry-specification/pull/768 adds clarity around requirements here.

The initial PR is #108 , however I don't believe @rdooley has time to continue with this and the PR likely needs significant updates to account for drift in the API. I've removed the assignment & opened this up to other folks who might like to help out.

That is exactly correct. Thank you for removing my assignment.

Pushing this out until https://github.com/open-telemetry/opentelemetry-specification/pull/768 is approved.

@fbogsany What's the real-world justification for this? Who is only supporting OpenTracing but not OpenTelemetry?

A compatibility shim is required by the spec, although that requirement is implicit for now. There’s a tracking issue here: https://github.com/open-telemetry/opentelemetry-specification/issues/1174


Language clarification

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.

Coverage remained the same at 95.031% when pulling 411a0037149d09d2a59a3c8b472065f52de97e1c on SavenR:patch-6 into dc5b3c8a20d6efff99cff8809ef2769b74deed4c on hMatoba:master.


Added PersistenceVolume and used it in chatqna.yaml

Description
Currently the models data from Hugging Face are downloaded to local shared directory under /mnt/opea-models. However, this is not correct approach in production use, because the models will be downloaded to each kubernetes node separately, which will increase the amount of data required to be downloaded and increase the application startup time.
This change is replacing a local volume mount with Kubernetes Persistent Volume. The mount will still be from the local host path, however it enables the implementor to easily replace it with shared storages available across nodes, like NFS.
Similar change might be added to other example applications.
Issues
n/a
Type of change
List the type of change like below. Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would break existing design and interface)
[x] Others (enhancement, documentation, validation, etc.)

Dependencies
n/a
Tests
Run ChatQnA example use case and confirmed the models are downloaded to local path on the host.

@JakubLedworowski can you resolve the conflict?


link rot in assignment 2.1

Notebook: https://github.com/IBM/coursera/blob/master/coursera_ds/assignment2.1_spark2.3_python3.6.ipynb
The link: https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame is dead.
Possibly the intent is to point to here: https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/dataframe.html.

Thanks so much @jamesnordlund - fixed in bd563759b4cded81e01afca449791460fad98c6c


Can I set my PublicKey in "provider.get(RSA.PSS)" ?

val ecdsa = provider.get(ECDSA)
val keyPairGenerator = ecdsa.keyPairGenerator(EC.Curve.P521)
val keyPair: ECDSA.KeyPair = keyPairGenerator.generateKey()
I wasn't found setPublicKey()

Hey, Im not sure what do you mean by setPublicKey. What use case do you have? What are you trying to do?

I use asymmetric encryption which connect resful api. I get rsaPublicKey from api server (not need encryption).
After I need set publickKey with rsaPublicKey and key random from local to encrypt(k) call api.
Example:
fun encryptData(dataDes: String): String? {
return try {
val c = Cipher.getInstance(Algorithm.RSA_OAEP)
c.init(Cipher.ENCRYPT_MODE, Key.rsaPublicKey())
val encryptOut = c.doFinal(dataDes.toByteArray())
org.bouncycastle.util.encoders.Base64.toBase64String(encryptOut)
} catch (e: Exception) {
Log.d("error:", "error")
""
}
}

As far as I understand you need to decode key from binary representation and then use it. In this case you will need something like:
ECDSA:
val ecdsa = provider.get(ECDSA)
val publicKey = ecdsa.publicKeyDecoder(EC.Curve.P521).decodeFrom(EC.PublicKey.Format.RAW, keyByteArray) // or other format
// and then do anything with key verify or encrypt

Similar for RSA-OAEP:
val rsa = provider.get(RSA.OAEP)
val publicKey = rsa.publicKeyDecoder(SHA256).decodeFrom(RSA.PublicKey.Format.DER) // or other format
// and then do anything with key verify or encrypt

Does it helps?

val publicKey = rsa.publicKeyDecoder(SHA256).decodeFrom(RSA.PublicKey.Format.DER, myKey)
//Follow I understand, Can I set publicKey = "myKey" here?

Follow I understand, Can I set publicKey = "myKey" here?

 DER format is the same format which is used in JDK APIs by default for RSA keys.

fun encryptData(dataRandom: String): String? {
return try {
val c = Cipher.getInstance("RSA/ECB/OAEPPadding")
c.init(Cipher.ENCRYPT_MODE, loadPublicKey())
val encryptOut = c.doFinal(dataRandom.toByteArray())
org.bouncycastle.util.encoders.Base64.toBase64String(encryptOut)
} catch (e: Exception) {
Log.d("error:", "error")
""
}
}
  @Throws(GeneralSecurityException::class, IOException::class)
private fun loadPublicKey(): PublicKey? {
    val rsaPublicKey = runBlocking {
        LizAiDataStore.instance.getRsaPublicKey()?.publicKey
    }
    val data = Base64.decode(rsaPublicKey)
    val spec = X509EncodedKeySpec(data)
    val fact = KeyFactory.getInstance(Algorithm.RSA)
    return fact.generatePublic(spec)
}

Thanks you very much recommend you @whyoleg  , after 3 days thinking, learn about

from website, I still can't convert this code.

Thank you @whyoleg. I generated encryptOut. But my server not decrypt . My server use dot Net rsa oeap follow:
https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.rsacryptoserviceprovider?view=netcore-3.1
keySize: 2048

Looks like .NET is using RSA OAEP with SHA1 - hint on SO: https://stackoverflow.com/a/67793433
So you need to try publicKeyDecoder(SHA1) instead

Thanks you very much @whyoleg , it working. Special thanks.

Cool! I'm closing an issue! JDK to cryptography-kotlin guide will be tracked in #24


Implement support for defaults/examples in breadboard-cli

Schema Defaults do not get used when running a board programmatically. Given a schema:
  type: "string",
  title: "Story ID",
  default: "39788322",
  description: "HackerNews Story ID to extract"

The board does not use the default value of "39788322" when running the board programmatically without providing the storyID.
Originally posted by @jig925 in https://github.com/breadboard-ai/breadboard/discussions/1182#discussioncomment-8878411

@PaulKinlan

I'm assuming they're not all currently being driven by the schema package?

I'm assuming they're not all currently being driven by the schema package?

not sure I understand. Here's how I understand the bug:

currently, breadboard-web relies on schema, supplied by the inputs/outputs, to grab default values for the inputs
breadboard-cli does not support that
we need to teach breadboard-cli to understand input/output-supplied schema to populate the values.

Does that make sense?

I think I might be poorly differentiating an issue with the example values and an issue with the default values.
There's also the runner and harness. I only remembered after @jig925 mentioned.
I'll write up my scenarios for the default values and we file off another ticket for that.

CLI does understand input schemas and it does use default. I asked about this a while ago and the answer was default is only used on required ports.
Which it should handle. (obvs it's a bug if it doesn't - because it should)


Fix interplay of renaming and folding

If the user has folding enabled we need to open them at least that much,
that we can work on a proper word at the rename location (otherwise e.g.
ciw would change the whole fold).

Anything that needs to be done here before this could get merged? In the current master symbol renaming is completely broken with folding enabled as it will always work on the full fold containing the symbol (e.g. whole blocks of code might be removed).

Thank you for the fix. Apologies for late response.


AvoidPositionalParametersNoViolations.ps1 lacks an Space

Hi !
Currently i am developing an PowerShell prettifier / beautifier / refactoring Module
For this I am using the Rule Testing Files out of this Module.
So I am found a little Typo in the File named:
AvoidPositionalParametersNoViolations.ps1
https://github.com/PowerShell/PSScriptAnalyzer/blob/master/Tests/Rules/AvoidPositionalParametersNoViolations.ps1
The Typo is on line 6
get-service-computername localhost | where {($_.status -eq "Running") -and ($_.CanStop -eq $true)}

a space between get-service and -computername is missing.
Hope this helps.
My PowerShell prettifier / beautifier / refactoring Module is developed here:
Kriegel/BeautyOfPower

Hope this helps.

If you feel like opening a PR, that would be even more helpful

Hi @ rjmholt  Robert
I guess PR means Pull Request !? ??
Shame on me, even if I am developing on Github, I never used Pull Request, so I do not know the how to ...
In my further development I found, that ' Get-Service' has no '-ComputerName' Parameter on PS 6+7 anymore.
So line 6 is a deprecated candidate.

Hi @rjmholt Robert,
by the way ...
Do you really want that I fork a Repo and doing a Pull Request to correct a single Whitespace?
I think that is regulatory overkill.

Thanks @Kriegel for looking into this, totally understand where you are coming from about forking the repo but we try to keep our process in place as much as possible to set contributors up well for future pull requests, and to keep the repository in an easily maintainable state, that being said for a change like this you can also open the PR by creating a branch from the UI...No worries about not feeling like the right one to make the call around deprecation--that is the role of the maintainers to approve and manage those types of changes. I will go ahead and mark this as a bug and "Up for Grabs"--thanks

Do you really want that I fork a Repo and doing a Pull Request to correct a single Whitespace?

Indeed, you can do it all without leaving the browser:

I think that is regulatory overkill.

It's not a process thing, it's just the standard git workflow. We try not to create any excess process, and in this case there's no need for things like a tracking issue or discussion -- the code change, in the form of a PR, is sufficient.

@SydneyhSmith
Thank you all!
I have learned about online PRs and will do so in future.
Thank you for teaching me.
@rjmholt
I apologize if I sound to harsh, english is hard for me and is not my mother tounge.
Stay well!
Live long and prosper.


weird tag reading issue

idk what is causing this, but I have a few images where the tags aren't read properly. unfortunately I can't reproduce the behaviour on other files.
here is the file:
https://drive.google.com/file/d/1SiAlv4WatYo5KWhBC0NoH7PTqhO0NNUJ/view?usp=sharing
I will remove the access after you have downloaded it.
this is what I see in the metadata section in aves.

the metadata should be readable because digikam can still view it (even after rereading the metadata from the file)
I tried rewriting the metadata to the file via digikam, but that didn't work, so then I thought that syncthing corrupted the file somehow, so I redownloaded all files with syncthing, but it is still the same. I hashed the file and the pc version has the same sha512 hash as the phone version. so I am pretty sure, that the file is ok.
so what is happening here?

Thanks for the report. I have downloaded the file. I'll take a look.

That image is malformed, and that makes it trip some metadata reading libraries I'm using (specifically metadata-extractor and pixymeta). The fallback metadata you see in the Info page comes from another library (exifinterface), which is apparently less sensitive to malformed files.

So, looking into it further, one JPEG segment is declared with length 0, so the readers can't go further because it would mess all indices. metadata-extractor and pixymeta just throw an error and yield nothing, while exifinterface stops reading further and yields what it decoded until the malformed segment.
In any case, even I showed its metadata it's unsafe to deal with such a file. You couldn't safely edit it.
I'll close this issue, as the problem lies with the software that edited this file.

Thanks for the quick response!


Error when selecting a Druid datasource

I was able to add the plugin (v1.2.0) and create a Druid datasource, but as soon as I select it on a dashboard, I get an error:
An unexpected error happened
Details
Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

    at eval (https://myserver:4000/public/plugins/grafadruid-druid-datasource/module.js:2:780517)
    at t (https://myserver:4000/public/build/app.63a9c1d648180e457252.js:2:1910828)
    at t (https://myserver:4000/public/build/app.63a9c1d648180e457252.js:2:1911358)
    [...]

This is in Grafana v7.4.3.

Hello @rschindlauer
How did you install the plugin ?
Thank you!

Hello @rschindlauer
Is that issue still active ?

Hello @rschindlauer Is that issue still active ?

I haven't tried any further. You can close it.

Ok. Feel free to re-open if the need resurge


Run tests against Rails 5.0 (and fix them!)

add a second gemfile for Rails 5.0
use it on Travis, alongside 4.2
fix ActiveJob::Retry#check_adapter! -
ActiveJob::Base.queue_adapter returns an instance instead of a class
in 5.0+

Fixes #39

Released in 0.6.2


Store parachain bootnodes in relay chain DHT

Rendered

I've found a pretty big issue with this proposal, which is that the storageTrieRootHash value that can be queried can't be trusted, and thus that the genesis hash of the chain can't be trusted.
I initially just wanted to add a note in the RFC saying that the calculated genesis hash must not be used for purposes other than determining the networking protocol names.
Unfortunately, the JSON-RPC API has functions to query the genesis hash, and so if a light client connects to a parachain in a chain-spec-less way (through just a relay chain and para_id), it has no way to implement the JSON-RPC API properly.
We can maybe simply remove these JSON-RPC functions, except that when you submit a transaction you need to include the genesis hash in it.
I can see two ways of solving this problem, I'm not sure right now which way is best:

Give up for now on the idea of connecting to a parachain without a chain spec. Remove the stateTrieRootHash and forkId field from the new networking protocol, as they would be loaded from the chain spec. The RFC would simply make it possible to find the bootnodes of a parachain, but not to connect to said parachain without a chain spec.

Double down on the idea of connecting to a parachain without a chain spec, by remove the JSON-RPC functions that allow knowing the genesis hash, and instead JSON-RPC clients should read System::BlockHash[0] in order to know the genesis hash. Given that the runtime verifies the genesis hash when submitting a transaction, we know that this genesis hash is always available in storage and just needs to be queried in a way or the other.

I ended up going for the first option, but I have also opened https://github.com/paritytech/json-rpc-interface-spec/pull/61 in order to make it future-proof.

Give up for now on the idea of connecting to a parachain without a chain spec. Remove the stateTrieRootHash and forkId field from the new networking protocol, as they would be loaded from the chain spec. The RFC would simply make it possible to find the bootnodes of a parachain, but not to connect to said parachain without a chain spec.

It seems that light clients will always need some form of chain spec, but that it only needs a few piecse of information:

Para-ID
Genesis Hash
Fork ID

Given the weakly synchronous model it would also make sense for light clients to have additional information such as a recent (~1 month) finalized block hash, for maximum deterrence of long range attacks.

It seems that light clients will always need some form of chain spec, but that it only needs a few piecse of information:
Para-ID
Genesis Hash
Fork ID

For now, yes.
Also needed is the properties field (which PolkadotJS uses to know the token name and number of decimals (I've always thought that this should be moved on chain)).

Given the weakly synchronous model it would also make sense for light clients to have additional information such as a recent (~1 month) finalized block hash, for maximum deterrence of long range attacks.

I don't understand why? Isn't it enough to look into the relay chain which parablock is finalized?

Properties could definitely be placed in on-chain metadata.

Para ID could too, no?

The light client looks into the relay chain (and thus needs to know the para ID) in order to know which of the parachain blocks is canonical.
But if we put the para ID on chain, then in order to read the para ID from the storage, the light client first needs to known which parachain block is canonical.
In other words it's a chicken and egg problem.

I don't understand why? Isn't it enough to look into the relay chain which parablock is finalized?

Technically, validator sets can "go back in time" after their stake is withdrawn and create an alternative chain. This puts an expiration date on finality's trustworthiness, and is the case in all PoS blockchains.
Most of the time this is not a problem in practice, but in theory the correct thing to do is make sure that the node has some reference block for finality (which it either gets by synchronizing at least once every month, or has hardcoded in its chain spec).
Earlier I said it'd be a parachain block hash, but it could just as well be a relay chain block hash to use as a starting point for finality.

Earlier I said it'd be a parachain block hash, but it could just as well be a relay chain block hash to use as a starting point for finality.

That's what I'm currently going for in smoldot. It seems easier to me to update the relay chain specification with an up-to-date block from time to time, rather than update the chain specs of every parachains.
Substrate-connect hardcodes the 4 relay chains (Polkadot, Kusama, Westend, Rococo), and is meant to publish a new version at a regular interval containing an up-to-date chain spec for these four relay chains (although the publishing doesn't really happen in practice because it's a semi-manual process and nobody is doing it). On the other hand, the parachains aren't hardcoded. With this solution, dApps/uApps don't need to deal with this problem.

I suppose we can agree that light clients need some minimal chain spec?
* Para ID

* Genesis Hash

* Relay Chain Spec

* Properties (could be moved on-chain for later)

* Finalized relay-chain block hash (nice-to-have)

The finalized relay chain block hash would be contained the relay chain spec, and you're missing the forkId, but otherwise yes.

Could we not store the genesis_hash in the response as well? We only need it to connect to the networking protocols. The genesis_hash is case of FRAME is stored on chain and we can fetch it from there and ensure that it is the one we got in the initial response.

Could we not store the genesis_hash in the response as well? We only need it to connect to the networking protocols. The genesis_hash is case of FRAME is stored on chain and we can fetch it from there and ensure that it is the one we got in the initial response.

What you suggest is correct, but in practice it's very complicated to implement.
The problem is: what to do if multiple parachain bootnodes return multiple different genesis_hashes?
It is in principle possible to write code so that it uses a separate networking protocol name for each parachain bootnode, which avoids the problem, but that's pretty complicated.
The way I was going with this RFC is to start with a minimal version, and then maybe add the genesis_hash and fork_id to the response later, but I'm not super confident in that decision and we could indeed maybe just add them now.

Also, while the genesis_hash can be verified at some point, the fork_id can't.
This means that it's possible for multiple different parachain bootnodes to return multiple different fork_ids, and to all be successfully reachable through their own individual fork_id.
This complicates the code, but isn't a problem by itself. What is a problem, however, is which fork_id do you use when you discover the other parachain nodes through Kademlia? The answer is obviously to use the same fork_id as the node that was queried, but since the same node can be discovered multiple times, that means that the same node can have multiple different fork_ids, and it basically becomes a mess.

I've pushed another commit that adds back genesis_hash and fork_id, as the cost of adding them seems minimal to me, and adding them now removes the cost of going through another RFC and implementation+upgrade phase in the future (in particular, parachain builders can be pretty slow to upgrade their Substrate version).
I would like to submit this for voting, but there's still the unresolved question of what to do when it comes to obtaining randomness. Should we use the BabeApi_currentEpoch and BabeApi_nextEpoch runtime APIs, as the RFC proposes? Or should it be separate new functions?

I would 'aye' this in its current state

/rfc-propose

I can't seem to be able to create a referendum ("bad origin" error), most likely because I'm not in the fellowship.

I wouldn't mind some help or guidance with this administrative process

Just wanted to repeat that I can't find any proper documentation or explanation about how to proceed, and this PR will be stuck for as long as nobody helps me with this bureaucracy.

/rfc help

/rfc process 0x8bfe18c1c9c892515872a551b9f2f71216a522e2bc1a81e26a2d03e167208aa4

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

The on-chain referendum has approved the RFC, however I was not able to merge the PR automatically.

The bot seems to be missing permissions to merge the PR, although I cannot find out what exactly is missing and what needs to be changed. There were no changes to the bot since the last time it merged a PR.

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

/rfc process 0x56bfa1b49e69991617d8aed0c880101f5506e0595b06a6b97b9d5a6cc014b264

@tomaka, do you have an update on the status of this RFC?
Is somebody working on its implementation?
Thanks.

See https://github.com/paritytech/polkadot-sdk/issues/1825