[PROPOSAL] [RFC] Streaming action output and other intermediate results

Multiple people have asked for this in our community so I'm bring this proposal back to life (I'm actually moving it from a private repo to a public one so other community members can participate as well).
Keep in mind that this proposal is almost 11 months old and a lot has change then. The biggest change which can affect this proposal is that now we have a /stream endpoint and mechanism for streaming data.
I will explain differences between my original proposed approach and utilizing stream for that in a new comment. In short, each approach has it's own advantages and disadvantages, but I personally think the original proposal is still better since it provides intermediate result (if we go with stream, user will only be able to receive new output / data, but if we go with my proposal, API endpoint will return everything which has been buffered so far).
Problem
Currently if you run a long-running action or an action which consists of multiple steps (action-chain or a work-flow), you only know if an action is scheduled, running or finished, but you have no visibility into what is going on with the running action until it completes (either succeeds or fails).
Good examples of a long-running actions include building and compiling stuff,d running tests, etc.
Use cases

Long running shell or python actions: replacing Jenkins - action is a build, produces long output, a minute, user wants to see chunks of the output, rather than wait for full completion.
Long running workflow - ActionChain, especially Mistral. The "workflow" action execution should show workflow progress and the tasks as they change state (new tasks scheuduled, running, complete...).
Short tasks - majority of the cases - don't bother to do intermediate output, wait till complete.

For this purpose, define:  short < 5 sec < Long.
Goals
The goal is to increase the visibility into running actions and stream output of the running actions and other intermediate results. Additionaly, we want to support better integration with Mistral.
With "output" I'm referring to the action's stdout and stderr.  With "other intermediate results" I'm referring to ActionExecution and potentially other intermediate objects (@enykeev is already working on the second part).
I separated those two because I think they are two different things. Output is opaque to us and we have no idea how it looks so we should treat it as such. This means streaming it as soon as it us available. For performance and conveniece reasons we should probably still buffer it. For line-delimited stuff we could simply send a line as soon as it's available.
And as far as "other intermediate results" go - here we know the structure and what is an atomic unit which means we can stream those things as a whole as new line delimited JSON (one JSON serialized object per line).
Implementation Proposal
Inside the runners, we should intercept the action output and write it in a temporary document in a special collection. To avoid MongoDB lock contention issues, we should buffer the output a bit and not write it character by character since this is expensive (dunno, it's been a while, I need to research again, maybe newer versions of MongoDB finally have more granular write locking). To avoid lock contention, we might also want to use a separate database.
API user (client, web ui) should be able to consume this output with a special task specific streaming endpoint - e.g. /v1/actionexecutions/<id>/output.
Internally, this streaming endpoint would consume the endpoint from the temporary collection for old data and from the message bus for new data.
As noted above, this document would be temporary so if a user visits this URL after the action has completed, we would simply read the whole output from the action execution collection.
@enykeev proposed using server-sent events and the same endpoint as we use for streaming action execution and other objects.
This would potentially work as well, but I like a separate endpoint more since it's more granular and we can avoid server-sent events metadata overhead. On top of that, /output endpoint would include no metadata and markers which makes 3rd party integration easier (simply read data from the connection when available and display).
Caveats
A lot of programming languages buffer output (stdout and stderr) by default. This could become a minor problem and annoyance for non-Python runner actions.
I personally don't think this is a big issue. We consider Python runner actions as first-class citizens, so if a user is worried about the output buffering and not receiving output as soon as it's available, they can rewrite an action using Python runner.

This would potentially work as well, but I like a separate endpoint more since it's more granular and we can avoid server-sent events metadata overhead.

I would need to check whether we can actually consume a raw stream in browser. If not, we would have to add some metadata in form of eventsource format (potentially, with additional query parameter like ?raw=false). But you're right, this should be separate endpoint since otherwise we're risking to flood our clients with the traffic they don't actually need at the moment and it would be very hard to filter it server side.

Overall +1 to the proposal. I think we need this now.
The details matter in terms of how this really fit into our result storage strategy in general. I hope we can speculate what our long term plan of result storage is and also what historical result storage looks like so that we can potentially make all this work well together. (This is like a pipe dream)

If not, we would have to add some metadata in form of eventsource format

I suspect we will quickly move into filters on streams sorta appraoch. The client pretty much define what data it is interested in when connecting to the streams endpoint and client only receive those results. This is great idea in theory until it actually becomes extremely expensive to compute filters on the server. Often it might be better to take the http://graphql.org/ approach rather than build ad-hoc APIs.

As far as technical / implementation and storage side goes - I was planning to create a new table / collection which would store output (stdout and stderr) which has been collected and buffered so far.
Every time a client would hit /v1/actionexecutions/<id>/output or similar we would return raw data from this table which has been process so far (there would be no processing so it's a simple read).
Once the execution has completed, we would simply delete an entry in this table / collection and if user requests the same endpoint, we would simply read from action executions collection.
It's also worth pointing out that this collection will be quite write heavy, that's why we should at least start with a separate collection, or maybe even a separate MongoDB database (this way it's easier for use to just move this single table to a different MongoDB server if performance issues shows up).
Having said that, yes, it would be better if we could use a more appropriate database for this use case (write-heavy, something like Cassandra should work great). When we start to work on migrating to a different datastore, we could start with a simple migration like this - start with only migrating output data to a new datastore.

Once the execution has completed, we would simply delete an entry in this table / collection and if user requests the same endpoint, we would simply read from action executions collection.

I actually have started to think that result should not be stored in the main actionexecution table. We also, should not be passing around these massive result objects through StackStorm. Only when the result is required it can be read from the back-end - this applies to usage in rules, workflow engines etc. I suspect that is easier said than done. Anyway, since I do not want to derail this conversation any further I think we can move forward with the approach you describe above for the time being.

Yeah, I agree. Storing results somewhere else is a good idea since in a lot of cases, we just need the execution metadata and not the result itself and vice versa.
But yeah, even though it's slightly related, lets move this task / improvement to a different issue (maybe it's also a good candidate for initial DB migration task :)).

I suspect we will quickly move into filters on streams approach. I translate the requirement to the client pretty much defines what data it is interested in when connecting to the streams endpoint and client only receive those results.

The problem here is that client connects to the stream once and this is one way channel. We can track what execution the specific client got last, but that's a huge mess as we would need to store the state and there's whole bunch of situations it might go wrong. Having a separate streaming endpoint for every execution really is a better way unless client wants to receive results data on dozens executions at once. I can't figure out a use case for that at the moment.

+1

+1

+1

+1

+1 for python streaming/realtime stdout

Related discussion: https://github.com/StackStorm/discussions/issues/230

First release of this in v2.5.0, published today!! Maybe we can close this issue at last?


Dialogues: Fly-in letters not working correctly

Depending on the key stroke timing the behaviour is different:

The behaviour should be like the following:

Player press E -> Dialogue starts with normal fly-in speed

Player holds down E again -> fly-in speed up (while press -> released)

Player still holding E from opening -> after a hold timer timeout -> instant display the text

Player shall be required to release E and press E again to press the button, maybe remove focus and reclaim focus after all text  ist displayed

I don't think I get what you mean but I've made some changes include the timer to the dialog, hope you are happy with that


Design Doc Changes

These are fixed to made to the Design Doc (Admin: @AliShahidGit)
General

Make sure everything is constant and clear

This is what implementation should be based off of so it should be easy to understand and follow

Fix Images
Heidi SQL

Not an actual Database but a tool, (Admin: @prayritkhanna)

updateEventsList()

Specify that the conversion will be from meters to kilometers

UML (Admin: @pranavyp)

Android Package

Link to API documentation

Event

Description is misspelled

Main activity & Event Activity

Need to be cleaned up (make sure everything is consistent, object name then object type)

Front End (Admin: @Relmy)

Font

How will we make sure that everyone has access to the font?
Is the font free?
Can the font be loaded into all browsers?

There is also a missing class, on the analysis, there is a Host class but this isn't reflecting in the Design.

The method refresh() is listed (and linked) at the top of the design document, but doesn't have a definition in the "Detailed Design" section with the others.
This is present both in older versions and Julius Fan's current version of the design, so I'm guessing it should be removed.

Will do a proper look over later, but from the notes I had made on Mr. Brown's feedback:

Address is misspelled in the Event constructor

The Event class has double attributes for latitude/longitude, instead of using a Location object that also has latitude/longitude as attributes

Ensure consistent capitalization; in the Marker class, we have setTag(event: Event), and in EventActivity we have setEvent(Event: event)


ingest_unmanaged_parquet litters /tmp with .parquet files

For debugging purposes, I can see why one might want to have a parquet file in /tmp to examine, but none of the utils files clean up WORKDIR after operation, leading to lots of litter collecting in /tmp.  I think we need a better garbage collector than "just go into the shell and remove all the dead .parquet files in /tmp".

closing this - see #14


List URL in HTTP download failures

Hopefully will help diagnose issues like #5924

@bors: r=dwijnand

:pushpin: Commit 4e62fc84b5d7fbb1069c4edfad436b757f9e40b3 has been approved by dwijnand

:hourglass: Testing commit 4e62fc84b5d7fbb1069c4edfad436b757f9e40b3 with merge 1ee1ef0ea7ab47d657ca675e3b1bd2fcd68b5aab...

:sunny: Test successful - status-appveyor, status-travis
Approved by: dwijnand
Pushing 1ee1ef0ea7ab47d657ca675e3b1bd2fcd68b5aab to master...


Rename MongoDbAdapter to MongoDbSnapshotAdapter

see: https://github.com/prooph/snapshot-mongodb-adapter/issues/4

ping @codeliner


Make offsetParent of nullable type

See #101

Thanks! I'll wait t release this until I get another PR though, but shouldn't be long


Uploading doesn't work

Hey, your CMS looks VERY nice and it's impressing how less of space it needs.
But at mine the "Upload" Button for Media in the upper right corner doesn't work... I can click as often as i want to, nothing happens... Did I forget anything? Or does anyone know how I can fix that issue?
Thank you very much :)
Furouco
(Not english, i'm sorry for the possibility of bad spelling)

Also, I can't delete any pages i created :( even if the full cosmo folder has complete access to itself (777)

I've let @James-Dunn know, he should be letting you know of anything that needs to be done in order for it to work properly.

I'm unable to duplicate it. Hopefully we'll be releasing v5 soon. Maybe that will fix it.

Sometimes the uploader is not working with some CMS systems because of AdsBlocker browser plugins. I had the same issue with a other CMS. Maybe its worth to check if it is because of a AdsBlocker.


Flatten and addresses after deploy

Deploy version 4 update the addresses, small fixes on the update scripts

Coverage remained the same at 96.48% when pulling d8da72de22f14f6827fb7cd2c0106f9c57e132cb on deployment into 069b55572e41b765729e875de2d561a9e00211ad on nftbridge-rebased.


policy laplace dpsu

python implementation and unit tests for Policy Laplace DPSU: https://arxiv.org/pdf/2002.09745.pdf

I should note that this mechanism (as with the current implementation of mechanisms.rand) relies on random floating-point numbers.  As Mironov (2012, "On Significance of the Least Significant Bits For Differential Privacy"), there can be security risks involved with random floating-point numbers that are not present with random fixed-point numbers or integers, and Mironov demonstrates this in the case of Laplacian noise.

I should note that this mechanism (as with the current implementation of mechanisms.rand) relies on random floating-point numbers. As Mironov (2012, "On Significance of the Least Significant Bits For Differential Privacy") shows in the case of Laplacian noise, there can be security risks involved with random floating-point numbers that are not present with random fixed-point numbers or integers.

Good point.  The intent is to replace these mechanisms with the implementations from core, and I believe Christian has implemented the clamping mechanism for that Laplace implementation.  Python bindings are available again as of this week, so we will make a GitHub issue to make sure we take care of this.


[AUDIT] SPARK-43885: Support for RewriteMergeIntoTable for Delta tables

https://github.com/apache/spark/pull/41448
SPARK-43885 adds support for RewriteMergeIntoTable on Delta tables. We might have to add support for this operation in the plugin as well, for Delta tables.

Oops. This was raised by mistake.
This change was already evaluated during audit. Closing now.


How do we use the in-band DTMF - rfc2833 in sipjs

hi list
we made called out to PSTN and send DTMF to PSTN but PSTN only support in-band signaling how do we make it work in sipjs
refer from issue: https://github.com/onsip/SIP.js/issues/307
sipjs only support SIP INFO dtmf
thank you

It looks like you answered your own question. SIPjs only supports SIP INFO. You would need to use a gateway such as FreeSWITCH to convert it to RFC2833. If you have questions about that please follow up with FreeSWITCH.


Update doc with gRPC JSON transcoding

gRPC JSON transcoding is coming in .NET 7 preview 4. This updates the doc with the right package name and makes various other updates.

I'd like this to be publish to live sometime after preview 4 is released. Apologies for the short notice.

@JamesNK it looks like this already got published on the public doc page.
Given that json transcoding is only a net7 feature, is it possible to have the previous net5/net6 docs alongside this?

I think those pieces were deleted as part of this PR, so 'not really' is the answer without another PR that re-introduces that content.

Right -- I guess my overall comment is more of a request for both to exist simultaneously.
I should probably field that request through proper support channels rather than this closed PR. Let me file a new issue for this discussion.

Use the This page feedback button+form at the bottom of the English-US topic.


[URGENT] Store private info server-side after moving to a hosting site

Relies on https://github.com/ShaneBonkowski/ShanesGames/issues/138 since I need to have a host site first.

[ ] Set up Google FireBase database(s) so that I can store sensitive and non-sensitive data such as API keys encrypted for my use
[ ] Put private info such as the google analytics key on here so that I can access it to configure and turn on / off google analytics. More info here: https://github.com/ShaneBonkowski/ShanesGames/issues/88

TODO:
Automate pushing functions to firebase by running the push command only if the functions folder has changes when merging into main. Essentially add something similar to the following to the .yml file I use to push the website to firebase:
name: Deploy Firebase Functions

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Install Firebase CLI
        run: npm install -g firebase-tools

      - name: Login to Firebase
        run: firebase login:ci --no-localhost --token ${{ secrets.FIREBASE_TOKEN }}

      - name: Check for changes in functions directory
        id: check_changes
        run: |
          if git diff --quiet HEAD^ HEAD -- functions; then
            echo "No changes in functions directory. Skipping deployment."
            exit 1
          fi

      - name: Deploy Firebase Functions
        if: steps.check_changes.outcome == 'success'
        run: firebase deploy --only functions

Closing since https://github.com/ShaneBonkowski/ShanesGames/issues/211 is the new ticket


mj-social-element[href] documented as defaulting to [[SHORT_PERMALINK]] but renders undefined

The readme for V4 indicates that the href for social links will default to [[SHORT_PERMALINK]] is it did it previous versions, but currently it renders as undefined

Hi @themightychris thanks for reporting this, this defaultAttribute was indeed missing.
This will be fixed in one of the next releases


Symfony example

This snippet will work perfectly well in a Symfony controller too.

👍Yeah, Laravel is base on Symfony. Thank you.


add timecode support

https://developer.mozilla.org/de/docs/Web/HTML/Using_HTML5_audio_and_video#Seeking_through_media

https://www.gatsbyjs.org/packages/gatsby-remark-component/?=markd

consider making timecodes url friendly


Missing files in sdist

It appears that the manifest is missing at least one file necessary to build from the sdist for version 1.1.0. You're in good company, about 5% of other projects updated in the last year are also missing files.
+ /tmp/venv/bin/pip3 wheel --no-binary zipcodes -w /tmp/ext zipcodes==1.1.0
Looking in indexes: http://<IP_ADDRESS>:9191/root/pypi/+simple/
Collecting zipcodes==1.1.0
  Downloading http://<IP_ADDRESS>:9191/root/pypi/%2Bf/ed3/fa4e01acd5c00/zipcodes-1.1.0.tar.gz (718 kB)
    ERROR: Command errored out with exit status 1:
     command: /tmp/venv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-mqwpiu1l/zipcodes/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-mqwpiu1l/zipcodes/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-wheel-mqwpiu1l/zipcodes/pip-egg-info
         cwd: /tmp/pip-wheel-mqwpiu1l/zipcodes/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-wheel-mqwpiu1l/zipcodes/setup.py", line 7, in <module>
        with open("VERSION.txt") as f:
    FileNotFoundError: [Errno 2] No such file or directory: 'VERSION.txt'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Hi Sean, any chance you can accept thatch's PR? This is an issue for me too. Thanks!

Thanks for the help and your code contribution!


[Feature Request]: Center align lyrics to the right half side of the screen

Choose the extension for feature request.
Full Screen Mode
📝 Provide a description of the new feature
Hi there, just realised the lyrics-plus integrated lyrics display at the right side of the screen and it alignt to the right side of the window/monitor/display, I think it would look better if we have the ability to make the lyrics be centered within the right half side of the window just like how the song info+controls are centered at the left half side of the window in default mode.
➕ Additional Information
No response

It's already there, you can open settings by right clicking on empty area and manage this setting and many more! :)

Hi there, I have already looked at the options pages, it seems there is only alignment settings for the text itself and not the whole lyrics+ display alignment relative to the right half side of the window.

There is only text in the lyrics, so that can be aligned, it would help if you could elaborate more on what you mean ideally with pictures.
Check this image lyrics are aligned to the center relative to the right side of the window.

Settings which can be changed for lyrics.

When the lyrics are in a lower font size they fix themselves to the edge of the screen like the image provided shows. The only solution I have to this is to make the font bigger.

Should be fixed in v2.2.0


Mods update

Hi,
i think there is a mod update probleme since the merge
got cronjob using --update-mods every 25 min
but since the update i've got no more logs into workshop_log.txt
i don't think it checks mods update anymore
a mod juste update and nothing happened for at list 1 hour now
i've run an
steam@arkfrancegaming:/root$ arkmanager useconfig pve update --update-mods --warn
Running command 'update' for instance 'pve'
Downloading mod 519536568/usr/local/bin/arkmanager: ligne 415: /dev/fd/5: Aucun fichier ou dossier de ce type
Mod 519536568 was not successfully downloaded
steam@arkfrancegaming:/root$ arkmanager useconfig pve installmod 680798000
Running command 'installmod' for instance 'pve'
Downloading mod 680798000/usr/local/bin/arkmanager: ligne 415: /dev/fd/5: Aucun fichier ou dossier de ce type
Mod 680798000 was not successfully downloaded
steam@arkfrancegaming:/root$

Just to let you know either that when you update the tools there is no more arkserverroot="" in the old arkmanager.cfg and it the new one :)

Same problem for mods update
steam@arkfrancegaming:/root$ arkmanager useconfig pve update --update-mods
Running command 'update' for instance 'pve'
Downloading mod 519536568/usr/local/bin/arkmanager: ligne 415: /dev/fd/5: Permis                         sion non accordée
Mod 519536568 was not successfully downloaded
Your server is already up to date! The most recent version is 1139842.

Duplication stop --warn
Running command 'stop' for instance 'val'
Le serveur va redemarrer dans 5 minutes pour une mise a jour de la machine, il y en a pour 25 min en tout
Le serveur va redemarrer dans 5 minutes pour une mise a jour de la machine, il y en a pour 25 min en tout
Command processed
There are 4 players connected

Does the 1.6-dev.unstable branch fix these issues?

@klightspeed nope i'm already using this branch

What is the output of arkmanager --version?

root@arkfrancegaming:~# arkmanager --version
Version: 1.6
Channel: 1.6-dev.unstable
Commit: 6ae8a44
Blob SHA: bef413fea402cae9f013262afc42e5d55a9750f9
root@arkfrancegaming:~#

/usr/local/bin/arkmanager: ligne 415: /dev/fd/5: Permission non accordée

2b16008 should fix this.

Duplication stop --warn
Running command 'stop' for instance 'val'
Le serveur va redemarrer dans 5 minutes pour une mise a jour de la machine, il y en a pour 25 min en tout
Le serveur va redemarrer dans 5 minutes pour une mise a jour de la machine, il y en a pour 25 min en tout
Command processed
There are 4 players connected

Not sure what's happening here, especially since there is no intervening Command processed between the two warnings.

ok i'm trying that
also when there is an update it always remove those lines
arkserverroot=""
ark_Port=""
ark_QueryPort=""
ark_RCONPort=""

Please ensure those lines are in the instance configs - they should not be in arkmanager.cfg, as ARK instances should not share these settings.

i'm not using the instance configs, i don't know really what does mean

by the way mods are working again

i'm not using the instance configs, i don't know really what does mean

Running command 'stop' for instance 'val'

Running command 'update' for instance 'pve'

Those instance 'val' and instance 'pve' are separate instances, and use separate config files.  The options arkserverroot, ark_RCONPort, ark_Port and ark_QueryPort belong in those config files, and not in arkmanager.cfg.

okey thanks for the info :)

[2016-05-30 11:30:04] [AppID 346110] Loaded workshop items in "/home/steam/steamapps/workshop" (21 installed, 28 needed)
[2016-05-30 11:30:04] [AppID 346110] Starting Workshop download job
[2016-05-30 11:30:04] [AppID 346110] Loaded workshop items in "/home/steam/steamapps/workshop" (21 installed, 28 needed)
[2016-05-30 11:30:05] [AppID 346110] Starting Workshop download job
[2016-05-30 11:31:11] Update workshop job for app 346110 canceled: Failed to move file /home/steam/steamapps/workshop/content/346110/485826143/LinuxNoEditor/DinoBP/Drone/DroneBPs/Drone_Mk2_PhysicsAsset.uasset.z.uncompressed_size (Corrupt game files)
[2016-05-30 11:31:11] [AppID 346110] Download item 558079412 result : Failure
[2016-05-30 11:31:11] [AppID 346110] Finished Workshop download job : Corrupt game files
[2016-05-30 11:31:11] [AppID 346110] Updating workshop item details failed with Failure
sult : Failure
[2016-05-30 11:31:09] [AppID 346110] Finished Workshop download job : Corrupt game files
[2016-05-30 11:31:09] [AppID 346110] Updating workshop item details failed with Failure[2016-05-30 11:30:04] [AppID 346110] Loaded workshop items in "/home/steam/steamapps/workshop" (21 installed, 28 needed)
[2016-05-30 11:30:04] [AppID 346110] Starting Workshop download job
[2016-05-30 11:30:04] [AppID 346110] Loaded workshop items in "/home/steam/steamapps/workshop" (21 installed, 28 needed)
[2016-05-30 11:30:05] [AppID 346110] Starting Workshop download job
[2016-05-30 11:31:11] Update workshop job for app 346110 canceled: Failed to move file /home/steam/steamapps/workshop/content/346110/485826143/LinuxNoEditor/DinoBP/Drone/DroneBPs/Drone_Mk2_PhysicsAsset.uasset.z.uncompressed_size (Corrupt game files)
[2016-05-30 11:31:11] [AppID 346110] Download item 558079412 result : Failure
[2016-05-30 11:31:11] [AppID 346110] Finished Workshop download job : Corrupt game files
[2016-05-30 11:31:11] [AppID 346110] Updating workshop item details failed with Failure
sult : Failure
[2016-05-30 11:31:09] [AppID 346110] Finished Workshop download job : Corrupt game files
[2016-05-30 11:31:09] [AppID 346110] Updating workshop item details failed with Failure
is that normal ?

[2016-05-30 11:45:04] [AppID 346110] Loaded workshop items in "/home/steam/steamapps/workshop" (21 installed, 28 needed)
[2016-05-30 11:45:04] [AppID 346110] Starting Workshop download job
[2016-05-30 11:45:06] Update workshop job for app 346110 canceled: File commit failed: staging file was missing "/home/steam/s[2016-05-30 11:45:06] Update workshop job for app 346110 canceled: File commit failed: staging file was missing "/home/steam/steamapps/workshop/downloads/346110/485826143/LinuxNoEditor/AlphaDINOS[2016-05-30 11:46:13] Update workshop job for app 346110 canceled: Failed to move file /home/steam/steamapps/workshop/content/346110/485826143/LinuxNoEditor/DinoBP/Drone/DroneBPs/Drone_Mk2_PhysicsAsset.uasset.z.uncompressed_size (Corrupt game files)
[2016-05-30 11:46:13] [AppID 346110] Download item 558079412 result : Failure
[2016-05-30 11:46:13] [AppID 346110] Finished Workshop download job : Corrupt game files
[2016-05-30 11:46:13] [AppID 346110] Updating workshop item details failed with Failure
Do i have to remove all the mods into /home/steam/steamapps/workshop/content/346110
The workshop keep updating mods that i don't use anymore

06e1c19 adds the remove-mods command.  Supply it with a comma-delimited list of mods you want to remove from the workshop directory.
e.g.:
arkmanager remove-mods 485826143,558079412

root@ns3013274:~# arkmanager remove-mods 485826143
arkmanager v1.6: no command specified
Usage: arkmanager [Commands]

e8de382 should fix this.

removing those folders won't change anything in game right ?

It only removes the mods from the steamcmd workshop directory.

steam@ns3013274:/root$ arkmanager arkmanager remove-mods 682394267
No instances supplied for command arkmanager
Do you wish to run this command for all instances?y
Running command 'arkmanager' for instance 'centpve'
arkmanager v1.6: unknown command 'arkmanager' specifiedUsage: arkmanager [Comman                                            ds]

Don't double the arkmanager command.

my bad i just saw it after posted it, another problem the server doesn't ask for a mod update
steam@ns3013274:/root$ arkmanager useconfig centpve update --update-mods --warn
Running command 'update' for instance 'centpve'
Update already in progress (PID: 10167)
there is no broadcast warn etc

after an arkmanager remove-mods 682394267
the workshop auto re install the mod in the folder

steam@ns3013274:/root$ arkmanager useconfig centpve update --update-mods --warn
Running command 'update' for instance 'centpve'
Update already in progress (PID: 10167)

That means that there is another update process running.  Did you still have your automatic update cronjob running?

after an arkmanager remove-mods 682394267
the workshop auto re install the mod in the folder

Could this be related to the above automatic update?

yep i've a auto cronjob for that, but it seems to work now, i will test on other servers to test it more

I'm coming back for you but when you remove the mods, it auto download it a few minute later when you workshop is searching for update even if the mod doesn't existe in my cfg and the my mod folder, weird


Yoakke parser rewrite

222/239

232/239

Full report (first line - now, second one - how it was)
Method                Mean
ParseEasy             6,815,103 ns
ParseEasy                38,910 ns

ParseHard             88,204,656 ns
ParseHard              4,391,397 ns

SimplifyEasy          180,776 ns
SimplifyEasy           70,517 ns

SimplifyHard          4,622,871,968 ns
SimplifyHard          4,880,437,739 ns

Derivate              107,337 ns
Derivate               48,712 ns

SolveEasy             34,736,589 ns
SolveEasy             34,993,516 ns

SolveEasyMedium       212,730 ns
SolveEasyMedium        83,940 ns

SolveMedium           7,643,240 ns
SolveMedium           2,560,370 ns

SolveMediumHard       370,657,437 ns
SolveMediumHard       378,002,345 ns

SolveHard             3,267,480,539 ns
SolveHard             3,408,514,454 ns

EvalEasy              775 ns
EvalEasy                9 ns

CompileEasy           521,392 ns
CompileEasy           384,260 ns

CompileHard           1,189,803 ns
CompileHard             966,155 ns

RunEasy               38 ns
RunEasy               33 ns

RunMedium             338 ns
RunMedium             299 ns

RunHard               4,059 ns
RunHard                 641 ns

(huge performance regression 😢 )

We need to make Yoakke orders of magnitude more performant. Work happens here: https://github.com/LanguageDev/Yoakke/pull/149.
Also I might need to optimize the transformers themselves.


Fixed documentation error

Removed unnecessary annotation about return value.
Initial annotation was added in [ecf03e4216001e6844026770414f1e78cedf9dff]

Looks good to me! Thanks for opening this pull request, @kav137!


fix: preserve backward compatibility with Twilio Existing API

What kind of change does this PR introduce?
Twilio has come back with clarification that Legacy WhatsApp Template can contain compliant authentication template

The compliant authentication template format is supported in Content API, Content Editor and Legacy WhatsApp Templates.

Legacy Templates: Support for basic authentication message only.

This means that we'd have to preserve support for messages which don't include ContentSid/ContentVariables
Full article: https://support.twilio.com/hc/en-us/articles/15596541039771-New-WhatsApp-Authentication-Template-Requirements-May-2023
For internal folks, ticket reply is on Twilio Support page.
I'm not too sure what's an example of a legacy template which is compliant though - it looks like the basic authentication message doesn't have a copy button either.
Left as draft until we get further clarification (and also until this is tested)

Not needed, looks like Twilio will throw an error if dev is using the old template(Body) instead of the new format (ContentSid/ContentTemplate)

Going to merge but will test before deploying


Support named schema only on yamltodb

When I pull from a database using dbtoyaml I can limit the output to a single schema using --schema=example_schema.
However, if  want to use the resulting yaml file to recreate that schema in an existing database, there is no corresponding option in yamltodb
Consequently, yamltodb tries to drop all the other schemas in the database.
Please can you add
Usage: yamltodb [options] dbname yamlspec

Options:
  -n SCHEMA, --schema=SCHEMA
                        only for named schema (default none)

This would allow me to use Pyrseas to maintain the schema I am responsible for in a shared database, without affecting other schemas.

Another approach would be
Usage: yamltodb [options] dbname yamlspec

Options:
  -i, --ignore-other-schemas
                        Ignore (i.e. don't DROP) schemas that are not in yamlspec

This issue requests the same change as what ended up being done for issue #6.  Fixed in 033f247.


Unable to Upload PDFs in LangFlow Playground

Description:
I am currently working on a project that involves uploading and processing PDF files using LangFlow Playground. However, I have encountered an issue where the system does not allow me to upload PDF files. This functionality is crucial for my project's requirements.
Steps to Reproduce:
Go to LangFlow Playground.
Attempt to upload a PDF file using the provided upload feature.
Observe the behavior and the error message (if any).
Expected Behavior:
The PDF file should be successfully uploaded and processed by LangFlow Playground.
Actual Behavior:
The system does not allow the upload of PDF files. System provides the following error;
Log: Error uploading file
Please ensure your file has one of the following extensions:
png, jpg, jpeg
Environment:
Operating System: Mac OS
Browser: Arc Browser
LangFlow Version: Langflow version 1.0
Additional Context:
This issue is blocking the progress of my project, which involves a Retrieval-Augmented Generation (RAG) system that ingests PDF files to generate tailored responses. Your prompt assistance in resolving this issue would be greatly appreciated.

Hey @jjboy55
To use a PDF, you can use the File component located in the Data tab on the sidebar.

Please let me know if it works.

And how do I do it in the online version of LangFlow, so that it allows me to attach PDFs in the playground?

@mazierovictor did you try jut drag and drop on the playground?

@mazierovictorrn o playground aceita apenas imagens, pdfs podem ser carregados usando o componente de arquivo

@anovazzi1 Does this mean that it is impossible to create a chatbot that interacts with PDF files? For each pdf file, will I have to open the langflow stream and change the file?

@mazierovictor , it is not, you can update you flow or use tweaks to send you file path to your chatbot

@anovazzi1 What I need is to create a PDF chat where I upload a PDF file and ask him questions. Given this and what you told me, would you have any suggestions?

@mazierovictor do you need to have your own Ui or you plan to use langflow playground

during the usage of the playground using a file component to upload the pdf is the way to go, when using your own ui just upload the file using the restAPI

@anovazzi1 I'm trying to upload using RestAPI, but it keeps giving the error { "message": "'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte" }, I'm using python to create the script, But when I attach this error, this error persists. Any suggestions?


Core Refactor #1 & black

moves basic querying to its own class
adds a clear exception for dealing with bad queries
PSF black throughout repo

LG after some testing; merging.


LoadBalancer struct missing enabled field

Expected behavior
Add an Enabled bool field so that load balancers can be enabled or disabled.
Current behavior
There is no Enabled field so it's impossible to find out if the load balancer is enabled or to set the enabled state.
Possible solution
load_balancing.go
type LoadBalancer struct {
        ID             string              `json:"id,omitempty"`
...
        Proxied        bool                `json:"proxied"`
+       Enabled        bool                `json:"enabled"`
        Persistence    string              `json:"session_affinity,omitempty"`
        PersistenceTTL int                 `json:"session_affinity_ttl,omitempty"`

Although I'm not sure if this will break any existing code.  Using omitemtpy doesn't seem like a good idea as I suspect any bool false values would be omitted.
Context
Trying to implement the enabled parameter in the terraform cloudflare provider.

Fix merged. Thanks.


Made 'Finish all possible' as default failure-option

This is a specific use case in conditional flows (https://azkaban.readthedocs.io/en/latest/conditionalFlow.html). If we consider the following flow, the user wants to run JobC regardless of failure in any node. Currently, when jobX fails, the remaining nodes get canceled.
JobX
|
JobA
|
JobB -> all_success (default)
|
JobC -> conditioned all_done
Current behaviour: if a node fails, we decide to run subsequent nodes based on the flag "failure option". The default value of this is finish currently running nodes (attached screenshot).
Expected behaviour: In the case of conditional flows, we should evaluate all nodes ideally as the condition can be placed on any node and the condition influence the nodes to run regardless of any previous nodes' failure or success.
Fix: Modifying the default failure option to "finish all" will make sure that all nodes will run for conditional flows. This will not affect any existing schedules. The non-conditional flows shouldn't have any functional problem because of this. cc: @ypadron-in
Testing: Tested this change by starting an ad-hoc flow/scheduling a flow in a local machine.

The description for the PR (and the included URL https://jira01.corp.linkedin.com:8443/browse/LIHADOOP-57817) will be visible externally.
However, the URL itself will not be accessible to everyone. Let's pull in the required information and make the description self contained.

Thanks for pointing that out @anish-mal. Updated the description.

I agree that resource consumption will be more (although not significant imo) and the percentage of the conditional flow would be low in the overall flows we run. More than anything else, I do agree that it will change the default behaviour for the majority of the users, and we will only help a small percentage of users who use conditional flows. I will update the document accordingly. closing this PR. Thank you for your input @ypadron-in .


Input blinking on iOS

Hi,
What does <input class="selectric-input" readonly="readonly" tabindex="0"> actually do ?
On iOS when you have the following options: disableOnMobile: false and nativeOnMobile: false, the input shows a blinking icon when you open the nav.
This can be fixed by display: none, on the element, but what does it actually do ?
Thanks,
Tom

AFAIK is the input mentioned used to enable the "word search" feature. Could you provide a fiddle which outlines your blinking icon?

@CHEWX You should not use display: none. This has a negative impact on keyboard navigation since display: none means the input is ignored. Instead, I found this css that seems to work:
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important;
  /**
  * Selectric creates an empty input and focuses on it,
  * then removes it. This causes issues with iOS.
  * Make the text transparent so the blinking cursor
  * is transparent, and make the text at least
  * 16px to avoid auto-zoom.
  *
  **/
  color: transparent;
  font-size: 16px;
}

@tj-shapeways I want the input to be ignore if @gearsdigital is correct. As I do not want the word search feature.
Seems a huge hack to do that when I do not actually want the input...

Using color: transparent is a trick for hiding the blinking cursor.
I have confirmed that display: none on the input causes issues with keyboard navigation, as the up/down keys will make the page scroll instead of selecting the options in the dropdown. Check out the fiddle.

I'll close this issue for now. Feel free to reopen if needed.


Install of CurseForge modpack silently terminates

I didn't find any obvious exit points that would cause the quiet container termination, so I thought I would try recreating your scenario. Can you provide the manifest.json that you're using?

Originally posted by @itzg in https://github.com/itzg/docker-minecraft-server/issues/404#issuecomment-545915612

@obsessionwithfire do you mind opening a new issue? Yours is definitely in the general realm of FTB/CurseForge challenges, but seems to be different since the startup logic is quietly failing at the point:
Looking for Feed-The-Beast / CurseForge server modpack.

I probably have some missing error checking around there.
Originally posted by @itzg in https://github.com/itzg/docker-minecraft-server/issues/392#issuecomment-545444716

I have done some debugging and this is the line where it is silently failing:
curl -Ls -o /dev/null -w %{url_effective} $MANIFEST

My MANIFEST variable is equal to /data/FeedTheBeast/manifest.json but when I run that curl command inside your image/container, it exits with an error code 3.
To reproduce, run this command at the shell inside your container:
curl -Ls -o /dev/null -w %{url_effective} /data/FeedTheBeast/manifest.json
echo $?

My output is:
/data/FeedTheBeast/manifest.json
3

And it is failing at that point because set -e is turned on in the script.
I thought about submitting a pull request to fix but I wasn't sure how you would want to handle it.  I've seen you reference this in a couple of other tickets (listed above) so I thought I'd submit an issue with the research.

Great research @hannah98 . A PR would be fantastic. As you might have seen, there's logic nearby that makes use of the isURL utility function and I could see a solution using that to conditionally skip the downloading of the manifest.json.


ColDefs serialization fix & refactoring.

General description
Fixed:

serialization of ColDef.MRenderFunction property in DataTableConfigVm.cs (now it's possible to use any JavaScript expression in its value);
reference to EmbeddedResourceVirtualPathProvider in Mvc.JQuery.Datatables.Example.csproj.

Refactored DataTableConfigVm.ConvertColumnDefsToJson to simplify adding serialization of new ColDef properties.
MRenderFunction property issue
According to DataTables documentation it's possible to specify function or string for rendering particular column. Before the fix when setting MRenderFunction like this:
var customColumn = new ColDef(){
  MRenderFunction = "'MyComplexProperty.NestedValue'"
}

You'll get something like:
{"mRender":\u0027MyComplexProperty.NestedValue\u0027,"aTargets":[5]}

Similar thing with double qoutes.
This behavior is caused by usage of JavaScriptSerializer & tricky double quotes trimming.

People can still use named functions for MRender, right?

Yes.
If someone write (C#):
col.MRenderFunction = "myCustomRender"

he or she would get (JavaScript):
{"mRender":myCustomRender, ...}

in rendered view

Coolio :)
On 8 December 2015 at 13:05, Tymur Baksheyev<EMAIL_ADDRESS>wrote:

Yes.
If someone write (C#):
col.MRenderFunction = "myCustomRender"
he or she would get (JavaScript):
{"mRender":myCustomRender, ...}
in rendered view
—
Reply to this email directly or view it on GitHub
https://github.com/mcintyre321/mvc.jquery.datatables/pull/138#issuecomment-162874573
.


ENH: Add plugin feature

This Vite config modification allows node_modules names nimbus_plugin_XXX to override components in the application.
Also split UserMenu.vue into two components for an easier replacement.

Looks good! My only comment is that after you log in, this profile popup remains open on the right hand side:

Looks good! My only comment is that after you log in, this profile popup remains open on the right hand side:

My bad, I thought this was the normal behavior of the app...
It should be fixed

Perfect, thanks!


Debug QA Fuel Explorer Deployment

issues with the QA Deployment

https://github.com/FuelLabs/fuel-deployment/pull/190 - finished


It is impossible to find  current line and column number when using a screen reader.

VSCode Version: 1.36.3
OS Version: Windows 10 insider

Steps to Reproduce:

Open any file in the edotor.

Does this issue occur when all extensions are disabled?: yes
It is impossible to get the current line and column number when using screen reading software. This is a particular issue when editing files where indentation matters such as YAML. For example
item1:
  item2:
    - value
    item3:
      - value
  item2a

To know that item2a is at the same level as item2 I need to arrow over from the beginning of the text and count spaces until I encounter a new line. The deeper the indentation level gets the more difficult this is to do.

I will add here that the go to line dialog will tell you your current line. However, a quick way to query the current column is indeed missing, at least to my knowledge.

Hm, I think this is only an issue if not using the NVDA screen reader, since it has excellent facilities for reporting indentation comparable to the way a sighted person would see it, such that this functionality isn't needed, even for the largest of YAML documents.
This could be an issue if using jaws though.

We could change the Go to Line command, such that it also announces the current column.
"Current Line: 26, Column: 12. Type a line number..."
Let me know what you think about that and we can easily add it.
Code pointer
https://github.com/Microsoft/vscode/blob/7c5e0803df31f485243eb5e6629862d873e9540f/src/vs/workbench/contrib/quickopen/browser/gotoLineHandler.ts#L104

Thank you for looking into this. My response: opening a dialog to get this information is to slow. I'd prefer the cursor location be printed on the status line. My understanding is VSCode does do this when not in accessibility/screen reader mode. At present, VSCode shows "screen reader mode" message on the status line when in accessibility mode. This message is not useful. Yes when I am using a screen reader I am absolutely aware I am using one. Screen readers have commands to read the status line of editors already built in, so if this information is present it can be efficiently accessed. Note: at present JAWS is not reading the status line effectively, which may be another issue. VSCode's status line area may need a role=status assigned, and then JAWS may need a script added, but if the information is displayed we have a much better chance of getting screen readers to access it.
JAWS has another column and line orientation checking command: alt+numpad del. This command does return the column of the cursor, and appears to be accurate although this should be tested more. However the line number is always 1. This is true in other Electron apps too, so this may be something between Electron, UIAutomation and JAWS. But is another possible solution. Although I'm guessing fixing the status line is easier, and will be supported by more screen readers. NVDA is quite popular. However, JAWS is still a dominant force in the professional/employed ranks of screen reader users.

I like the idea of having go to line announce column number as a short term fix. Ideally it would be possible to heavily customize the way information is announced, for example regardless of screen reader announce the current column number. I realize people's opinions on how things should be announced will very quite a bit. This is why I would like to see
https://github.com/microsoft/vscode/issues/66091
get implemented. It would then be possible to create an extension that could provide information to screen readers such as line and column number with out requiring a dialog to open.

@isidorn Do you want me to create a pull request for this? I've been able to get line and column announced by changing the getAriaLabel method.

@jareds a PR is welcome. Though I think we can just change the text fully, not only the aria label. So that all users see the column. I provided the code pointer in my comment from above.

I have added the colum information to the Go To Line command.
Verifier: trigger Go To Line command and make sure the Column is seen and read out by the screen reader.


Favicon

Allow staff to upload a favicon

for now we'll just use the site logo rather than adding configuration


RKObjectPaginator.h should have visibility Public

Hi. I'm brand new to RestKit, so please pardon me if I'm doing it wrong.
I followed the tutorial here to install RestKit. The only difference is that I checked out the developer branch. In order to get my project to compile, I had to change the visibility of RKObjectPaginator.h in RestKitFramework from Project to Public.

Thanks for the head's up. Fixed


Add curated content and link to Udacity: Software Testing Tutorial: How to Make Software Fail

I will link to this url: https://www.udacity.com/course/software-testing--cs258

Elaine, it is already in.  Please see  	SwTestingUdacity.md.
Review and improvements would certainly be welcome.
On 5/10/2017 2:24 PM, Elaine Raybourn wrote:

I will link to this url:
https://www.udacity.com/course/software-testing--cs258
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/betterscientificsoftware/betterscientificsoftware.github.io/issues/126,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAaBqcTvUGWS30fCAJDe-Jt6B5O3Nmznks5r4gDqgaJpZM4NXC64.

Thanks, David.

Already published at https://bssw.io/items/understanding-software-testing-and-how-to-make-software-fail


Applying project to plugin fails

Apply this plugin to various projects on Gradle 7.1.1, 6.8, 7.2 and JDK 11, 14 and on Gradle and Kotlin build scripts all results in a failure.
An exception occurred applying plugin request [id: 'me.champeau.includegit', version: '0.1.1']
> Failed to apply plugin 'me.champeau.includegit'.
   > class org.gradle.api.internal.project.DefaultProject_Decorated cannot be cast to class org.gradle.api.initialization.Settings (org.gradle.api.internal.project.DefaultProject_Decorated and org.gradle.api.initialization.Settings are in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @4e515669)

Thanks for trying out this plugin! As mentioned in the docs, it's a settings plugin, not a project one, so it must be applied to the settings.gradle file.
https://melix.github.io/includegit-gradle-plugin/0.1.1/index.html#_configuration


Customise cilium IPAM

What would you like to be added:
Please include the functionality to kustomize how cilium provides IP addresses to pods. Our underlying infrastructure is running on VRF configuration and cilium has an IPAM configuration that supports the underlying VRF. However with EKS, it's impossible to implement as of now. For example: https://docs.cilium.io/en/v1.12/concepts/networking/ipam/kubernetes/
Why is this needed:
We want out pods to be in the same CIDR as underlying nodes (nodes use VRF for IP assignment)

For now, if I specify the same CIDR as the VRF, the healthcheck fails for worker nodes and they never come up healthy. Here's is the error message from the kubelet service inside the worker
cni plugin not initialized

@Paulius0112 what virtualization provider are you using? vsphere? or none with bare metal?

We are only using bare metal

@Paulius0112 What's the motivation for having Pods reside on the same subnet as nodes as opposed to using Services?


[Bug] Can't search source screen

Device information

Tachiyomi version: 1.3.1
Android version: 10
Device: Essential PH-1

Steps to reproduce

First step - Turn on Replace latest button in browse settings
Second step - Go into Manganelo and you should see browse bar and latest bar
Third step - search for random manga
There should be no effect whatsoever

Expected behavior
This should happen.
Actual behavior
This happened instead.
Other details
Additional details and attachments.

This is fixed in the preview builds


feat: Oracle db docs

Adds docs for new Oracle datasource integration.
Resolves #1188

@jnikhila @danciaclara Would you be able to help with the size of the Oracle logo svg on the /datasources page? I'm not sure why it's so dang large; it looks like it's implemented just the same as any of the other .svg files (like the one for Snowflake).
I didn't want to mess with any of the CSS files before asking, in case there was just something I was missing 🙃


Please add Twitch support for the YouTube Ambilight addon

I hope this message finds you well. First of all, I would like to express my appreciation for your great work on the YouTube Ambilight addon. It's really impressive how it enhances the visual experience when watching videos on YouTube.
I'm an avid user of your addon and wanted to let you know that it's a real game changer for me and I'm sure many other users. The atmosphere it creates is truly unique and adds significantly to the immersion during video streaming.
I can imagine that the integration of this addon with Twitch would be a revolutionary development. Many of us not only spend time on YouTube, but also on Twitch to watch live streams from our favorite creators. The ability to enjoy the Ambilight experience on Twitch would undoubtedly appeal to a wider and more enthusiastic user base.

Duplicate of #211


Stdlib Development Guidelines

This document describes general guidelines for our user-friendly data science API. In the DO/DON'T examples below we either show client code to describe the code users should/shouldn't have to write, or library code to describe the code we, as library developers, need to write to achieve readable client code. We'll continuously update this document as we find new categories of usability issues.
Prefer named functions over overloaded operators
The names can better convey the intention of the programmer and enable better auto-completion.
✔ DO (client code):
table.keep_columns("name", "age")

❌ DON'T (client code):
table[["name", "age"]]

Related issues:

lars-reimann/ast22.2-pipelines#20

Prefer methods over global functions
This aids discoverability and again enables better auto-completion. It also supports polymorphism.
✔ DO (client code):
model.fit(training_data)

❌ DON'T (client code):
fit(model, training_data)

Prefer separate functions over functions with a flag parameter
Some flag parameters drastically alter the semantics of a function. This can lead to confusion, and, if the parameter is optional, to errors if the default value is kept unknowingly. In such cases having two separate functions is preferable.
✔ DO (client code):
table.drop_columns("name")

❌ DON'T (client code):
table.drop("name", axis="columns")

Related issues:

lars-reimann/ast22.2-pipelines#18
lars-reimann/ast22.2-pipelines#22

Avoid uncommon abbreviations
Write full words rather than abbreviations. The increased verbosity is offset by better readability, better functioning auto-completion, and a reduced need to consult the documentation when writing code. Common abbreviations like CSV or HTML are fine though, since they rarely require explanation.
✔ DO (client code):
figure.set_color_scheme(ColorScheme.AUTUMN)

❌ DON'T (client code):
figure.scs(CS.AUT)

Related issues:

lars-reimann/ast22.2-pipelines#10
lars-reimann/ast22.2-pipelines#21

Specify types of parameters and results
Use type hints to describe the types of parameters and results of functions. This enables static type checking of client code.
✔ DO (library code):
def add_ints(a: int, b: int) -> int:
    return a + b

❌ DON'T (library code):
def add_ints(a, b):
    return a + b

Use narrow data types
Use data types that can accurately model the legal values of a declaration. This improves static detection of wrong client code.
✔ DO (client code):
SupportVectorMachine(kernel=Kernel.LINEAR) # (enum)

❌ DON'T (client code):
SupportVectorMachine(kernel="linear") # (string)

Related issues:

lars-reimann/ast22.2-pipelines#71

Check preconditions of functions and fail early
Not all preconditions of functions can be described with type hints but must instead be checked at runtime. This should be done as early as possible, usually right at the top of the body of a function.  If the preconditions fail, execution of the function should halt and either a sensible value be returned (if possible) or an exception with a descriptive message be raised.
✔ DO (library code):
def nth_prime(n: int) -> int:
    if n <= 0:
        raise ValueError(f"n must be at least 1 but was {n}.")

    # compute nth prime

❌ DON'T (library code):
def nth_prime(n: int) -> int:
    # compute nth prime

Raise either Python exceptions or custom exceptions
The user should not have to deal with exceptions that are defined in the wrapper libraries. So, any exceptions that may be raised when a third-party function is called should be caught and a core Python exception or a custom exception should be raised instead. The exception to this rule is when we call a callable created by the user: In this case, we just pass any exceptions thrown by this callable along.
✔ DO (library code):
def read_csv(path: str) -> Table:
    try:
        return pd.read_csv(path) # May raise a pd.ParserError
    except pd.ParserError as e:
        raise FileFormatException("The loaded file is not a CSV file.") from e

❌ DON'T (library code):
def read_csv(path: str) -> Table:
    return pd.read_csv(path) # May raise a pd.ParserError

Group API elements by task
Packages should correspond to a specific task like classification or imputation. This eases discovery and makes it easy to switch between different solutions for the same task.
✔ DO (client code):
from sklearn.classification import SupportVectorMachine

❌ DON'T (client code):
from sklearn.svm import SupportVectorMachine

Group values that are used together into an object
Passing values that are commonly used together around separately is tedious, verbose, and error prone.
✔ DO (client code):
training_data, validation_data = split(full_data)

❌ DON'T (client code):
training_feature_vectors, validation_feature_vectors, training_target_values, validation_target_values = split(feature_vectors, target_values)

Related issues:

lars-reimann/ast22.2-pipelines#19
lars-reimann/ast22.2-pipelines#31

Test non-trivial functions
If a function contains more code than just the getting or setting of a value, automated test should be added to the tests folder. The file structure in the tests folder should mirror the file structure of the implementation of the package.
Document API elements
All classes should have

a short description,
examples that show how to use them correctly,
a description of their attributes.

All functions should have

a short description,
examples that show how to use them correctly,
a description of their parameters,
a description of their results,
a description of any exceptions that are raised.

The documentation should follow the numpydoc format.
Prefer a usable API over simple implementation
It's more important to provide a user-friendly API to many people than to save some of our time when implementing the functionality.

@lars-reimann Turn this into a documentation page.

:tada: This issue has been resolved in version 0.3.0 :tada:
The release is available on:

v0.3.0
GitHub release

Your semantic-release bot :package::rocket:


Automated cherry pick of #3660: fix: check password complexity even if password length is zero

Cherry pick of #3660 on release/2.13.
#3660: fix: check password complexity even if password length is zero

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@8909d8d). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #3662   +/-   ##
==============================================
  Coverage                ?   6.96%
==============================================
  Files                   ?     500
  Lines                   ?   83843
  Branches                ?       0
==============================================
  Hits                    ?    5838
  Misses                  ?   77509
  Partials                ?     496

Flag
Coverage Δ

#aFlag
6.96% <0%> (?)

Impacted Files
Coverage Δ

pkg/keystone/models/passwords.go
11.53% <0%> (ø)

pkg/keystone/models/users.go
1.78% <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 8909d8d...2df33ed. Read the comment docs.

/lgtm
/approve


Move HyphenateHttpHeadersRule from .zalando to .zally package

Moved as discussed in #607.
We could change the id 131 to ZallyRuleSet style (M131??) but that would break any existing "ignore" configurations. I've left it alone for now but am happy to be directed otherwise.

Codecov Report

Merging #618 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master     #618   +/-   ##
=========================================
  Coverage     83.99%   83.99%
  Complexity      883      883
=========================================
  Files           146      146
  Lines          2280     2280
  Branches        307      307
=========================================
  Hits           1915     1915
  Misses          228      228
  Partials        137      137

Impacted Files
Coverage Δ
Complexity Δ

...lando/zally/rule/zally/HyphenateHttpHeadersRule.kt
71.42% <100%> (ø)
6 <1> (?)

...a/de/zalando/zally/rule/zalando/HttpHeadersRule.kt
94.11% <100%> (ø)
13 <1> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

I think we can ignore "ignore configurations"
:+1:

:+1:

👍


Add web UI to keymaster

Develop a keymaster service that uses the keymaster SDK (like gatekeeper service uses the gatekeeper SDK), and exposes a keymaster REST API, and serves a modern web UI (e.g. react or vue) that uses the REST API.
It should cover all the same features as the CLI commands.

Yes - I believe the MDIP Reference Implementation would greatly benefit from a minimalistic WebUI covering the Keymaster functionality. As a similar best-practice, I would look at how IPFS exposes a basic local interface that covers its core functions.
I believe this could line-up with the discussion we were having with Lou re: MDIP interfaces and integration.

Done in #137


WKTReader utility?

DotSpatial version: 1.9
Feature description
I see that there is a WkbReader, WkbWriter, and WktReader. Am I being dense it not being able to locate a WktReader? I have a polygon wkt string that I would like to convert to a polygon dotspatial object.
Thanks!

All Wkt and Wkb Readers and Writers are here.

@jany-tenaj  Hi,
Is there any 2 version? As I noticed the latest release is 1.9.

@am2222 Check the links section of the main page. This as well as the code in the master branch refers to DotSpatial 2.0.


Fix typo in 'hide-pipeline' description

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


Better Exception Handling for Operators

Description
Please see: https://cwiki.apache.org/confluence/display/MXNET/Improved+exception+handling+in+MXNet
Implements Exception Handling for Operators.
Fixes #7335 and related issues
Functional Testing

Tested multiple execution graphs with different dependencies to make sure able we are able to handle them seperately.
Tested multiple wait_to_reads and multiple waitall calls (Added to unittests)
Tested Gluon, Imperative and Symbolic modes (Added to unittests)
Tested CPU and GPU memory alloc failures.
Tested all the use cases pointed out by the community: #8835, #9131, #9567, #9380

Performance Testing
I did a small performance testing task with resnet50 model on cifar10 dataset to make sure that there is no performance degradation because of the additional overhead of OnStart callback in each ExecuteOprBlock. I don't see any change.
 I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[x] Exception handling for Operators, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@cjolivier01 @mli @piiswrong @madjam @asmushetzel @eric-haibin-lin @reminisce @rahul003 @KellenSunderland @eftiquar

This is going to be a big improvement for new users experimenting with the library.  Thanks for the great work @anirudh2290.

suppose and operator has three outputs x, y and z and it raises an exception.
then x.asnumpy() would raise an error.
Then y.asnumpy() would raise the same error again.
I think an error should only be raised once. After it's raised, it should be cleared from all arrays that is pointing to that error.
This can be achieved by setting the object referenced by exception_ptr to an invalid value

@piiswrong Trying to understand your comment.
Lets say we have some code snippet like the below:
try:
       x, y, z = op()
       x.asnumpy()
except:
       handle_exc()
y = op2(y)
y.asnumpy()

If we clear the exception_ptr corresponding to the var y when x.asnumpy() is executed, y may have some garbage value in it. op2 may end up executing fine, and after the last line  y.asnumpy() we have no exception thrown. Shouldn't all the vars and ops which are in the chain following a failed op also fail ? Not doing this, will lead to the vars in the dependency chain following a failed op having non-deterministic garbage values depending on how the failed op and the following ops behave.

@anirudh2290 Good idea to use an example.  From my perspective as a user I generally prefer that things fail as quickly as possible for me so that I don't have to track down root causes.  Following this logic, I'd tend to agree with you, but would actually prefer it if this line threw an exception:
try:
       x, y, z = op()
       x.asnumpy()
except:
       handle_exc()
y = op2(y)  # Runtime exception
y.asnumpy()

What I meant is, for example:
try:
       x, y, z = op()
       x.asnumpy()
except:
       handle_exc()
y.asnumpy()  # Fail

Currently y.asnumpy() will fail again with the same error as x.asnumpy().
But a single exception shouldn't be raised twice

try:
      x, y, z = op()
      x.asnumpy()
except:
      handle_exc()

'''
The below just pushes operation to the engine, no guarantee that op2 is executed (ExecuteOprBlock may not be called)
'''
y = op2(y)
y.asnumpy() # Guarantees that all the operations that are writing to y are executed

@KellenSunderland As you mentioned since it is a lazy operation, there is no guarantee that operation is executed, just that it is pushed to the engine. So, there is no guarantee that ExecuteOprBlock is called for the operator. On the other hand, it is guaranteed that all operations which write to a particular variable are executed when the blocking call on that variable is made. Therefore, I have rethrown exceptions in WaitForVar and WaitForAll. I understand that this may not be as intuitive to users as throwing on the y=op2(y) line itself, but I don't think it is possible to rethrow when it is pushed to engine.

try:
     x, y, z = op()
     x.asnumpy() #Throws exception, sets exception_ptr to nullptr
except:
     handle_exc()
y.asnumpy() #exception_ptr is nullptr, doesn't throw
y = op2(y)
y.asnumpy() # y may have garbage values, op2 may execute just fine, exception_ptr still nullptr, doesn't throw ?

@piiswrong As depicted in the example above, if we decide to invalidate exception_ptr for y by setting it to nullptr when we WaitToRead x (I am unsure how we will do this), then we won't be propagating exceptions down the chain. Therefore, the last line here will execute just fine instead of throwing an  exception, and user will end up with garbage values for y.
I understand your point that if an op has multiple write vars, and if we waited for one of the write vars and re-threw exception, we shouldn't throw it again for other vars. But, if we end up invalidating the exception_ptr, any continuing operators may or may not fail, and since the exception_ptr is invalidated we wouldn't be re-throwing the exception in any of the following WaitToReads.

After discussion with @piiswrong , we came to a conclusion that in an execution graph once an exception is thrown, the same exception should not be thrown again. For example:
x = None
y = None
try:
     x, y = op1() # Fails
     x.asnumpy() # Throw exception
except:
     handle_exc(x, y)
y.asnumpy() # Should execute fine
z = op2(x) # Should execute fine, expectation is that user modified the value of x from garbage, when handling exception

You can see that op1 throws an exception and it may end up writing garbage values to x and y.  The line x.asnumpy() throws exception. Once this is done, user may handle the exception or keep the garbage values as it is. Any consequent usage of x or op2 should not throw the same exception, since user is not expecting and it is already handled.
One challenge during the implementation was that dereferencing exception_ptr in C++ will cause undefined behavior. So there is no way to modify state of the exception_object that exception_ptr points to, just by using exception_ptr itself. To workaround this limitation, we are holding the exception_ptr itself in a shared_ptr object.
We decided to remove global_exception thrown in WaitForAll, since it adds unnecessary complexity and is not really used much except during benchmarking.

@piiswrong: Do you have additional suggestions ?


TransformContext: Track moving, set dragging to false on pointer up

Thanks @dimfeld.  I experimented with using $moving and $dragging within HitCanvas to help with performance.
$dragging works well, but $moving with a spring resolves after many seconds.  I tried refining precision, but it was either still too slow, or caused a lot of janky resolving (with values like 1).
https://github.com/techniq/layerchart/assets/177476/686e2f10-4251-4e16-a60d-0463ac5da612
I'm going to merge this as it's helpful to know the state, and we can always refine how it's used.  For now, I'm only going to update HitCanvas to not render when dragging, which is a good win in itself.

Yeah that’s what I saw as well. I think there are other good reasons to not hide the HitCanvas when moving too, such as clicking two countries in rapid succession in the animated globe example.


URL is incorrect in the "download from private PyPI" section

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug

Single quotes should be removed around the INDEX_URL. Otherwise it causes an exception to be raised when downloading.
📝 Steps to reproduce
N/A
💻 Which operating system are you using?
Windows
🐍 Which Python version are you using?
3.10
📦 Installed packages
N/A

Thanks for opening this, @MaxJPRey.


Provide a way to specify the relative URL for the resource (to be used by the dashboard)

Is there an existing issue for this?

[x] I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.
I am using Aspire 9 RC2.
The dashboard always shows the root address like 'https://localhost:4321/'.
Anyway, the http/https entry-points for the resource may be different than the root.
While I can change it in my own projects, this is not possible for standard container images.
Describe the solution you'd like
When I use AddContainer to add a local instance of the Qdrant container, I want the dashboard showing the link for the dashboard which is http://localhost:6333/dashboard instead of just http://localhost:6333/ as I obtain now with WithEndpoint.
Example:
var vectordb = builder.AddContainer("vectorDB", "qdrant/qdrant")
    .WithEndpoint(6333, 6333, "http", "dashboard")
    .WithEndpoint(6334, 6334)
    .WithBindMount(...);

Additional context
No response

What shows up under +1? @raffaeler

Just the other endpoint that I added  to make grpc available (BTW I marked it as "tcp")

Related to https://github.com/dotnet/aspire/issues/5209


[stable/eventrouter] Fix minor typo in README

Is this a new chart
No.
What this PR does / why we need it:
Fix minor typo.
Which issue this PR fixes
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @gianrubio

/ok-to-test


Respect message rate limiting (send quotas)

MQTT requires that the client and server respect the "Receive Maximum" for each other by establishing a "send quota" for each network connection. We should track and manage this send quota properly to not violate the receive maximum.

Fixed in https://github.com/quartiq/minimq/pull/130


Huge Update! moved to djs v13

Added :

New command handler (better)
Event handler
MongoDB support
Custom prefixes
Better file system

@aviatorCodes Can review it

thank you and great pull


Update tests_and_coverage.yml

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

Project coverage is 47.46%. Comparing base (f7b800e) to head (217b195).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #303      +/-   ##
==========================================
- Coverage   51.97%   47.46%   -4.52%
==========================================
  Files         232      232
  Lines        3492     3032     -460
  Branches     1493     1493
==========================================
- Hits         1815     1439     -376
+ Misses        495      411      -84
  Partials     1182     1182

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


Opening files automatically registers a change

When you open any file with editorconfig enabled, Atom registers a change to the file instantly. As well as being quite annoying, it makes it difficult to track what you have and haven't made changes to, When asked if I want to save my changes, I'm not always sure that I have changed anything, or if it's just editorconfig.

This shouldn't be happening, are you absolutely sure editorconfig isn't actually making a change? Most likely it is fixing something that you may not be showing, such as line endings.

See https://github.com/editorconfig/editorconfig/issues/248

@glen-84 You're right. This is a duplicate of #248

Hi @simon-ls - thanks for reporting! :candy:
Unfortunately the current implementation is faulty in a sense where it let Atom behave unexpected (changing files, breaking the behavior of other plugins). It is difficult to fix it because we have to exactly examine how Atom behaves on buffer-changes behind the curtain (like replacing line-endings).
We will try to figure out how to fix that - i beg for patience.

This issue is caused by https://github.com/sindresorhus/atom-editorconfig/blob/master/index.js#L45 which always reformats the line endings if the corresponding config-setting exists.
I guess this change marks the buffer always as changed, even if no line endings were replaced.
To avoid this we should check first, if there are any wrong line endings in the document.

@florianb I would rather argue it's an Atom bug. It shouldn't mark the buffer as changed if nothing changed.

Would it be difficult to change this entirely, and have the transformations applied on file save instead (as it should be)?

Good point @sindresorhus, i guess i would try to expose this issue to the Atom-team. I then would implement the check as a quick-fix, since i expect that it will at least take some time to get that feature into Atom. (As far as i can oversee the upcoming changes i expect some other Atom-API-changes, too, in order to make Atom truly editorconfig-ready).

@florianb Yup. I'm good with that.
Cross-link any Atom issue you open for future reference.

@glen-84 interesting, where did you get it should be applied on file saving? As far as i understood editorconfig until now - i expected it would set my editor-configuration properly and would not change any files directly.
Unfortunately editorconfig seems to be not very strict. And since its currently implemeted that way, i guess we stick with it for the beginning, to avoid unexpected behavior for current users.

@florianb I linked to it earlier: Should settings be applied when you open a file (or when you save it)?
IMHO, the current behaviour is unexpected – just because I open a file, doesn't mean that I want to make any changes to it.

I treat the current handling of line endings as temporary workaround since the API of Atom lacks of proper config-possibilities. This workaround will hopefully be fixed in the future.
However - i treat changing something in the document at file saving as even worse than at the beginning, since this may introduce unexpected behavior in the whole technology stack. As developer i expect to leave a file as it is when i save it.

:memo: linendnings should probably be set via (yet undocumented functions) set/getPreferredLineEndings: https://github.com/atom/text-buffer/blob/v8.2.1/src/text-buffer.coffee#L418

Okay in first tests i could not verify the described behavior. I would like to ask you @simon-ls to give me some more information:

[ ] is the issue still present?
[ ] which OS do you use?
[ ] which version of Atom & editorconfig do you use?
[ ] does the issue pop up on every file-activity?
[ ] please post the involved .editorconfig, as well as the directory-structure of the suspected files.

Thank you very much! :beer:
However - du to the current examination i found out, that the whole line_endings-treatment may be improved. I will file that as enhancement, being handled in a different issue.

Hey @florianb

Yes
Windows 10
Atom 1.6.2 with editorconfig 1.2.4
The issue occurs upon opening a file. Say I open a file, I make no changes, then decide to close it, Atom asks if I'd like to save changes, despite the fact that I haven't changed a single line or character.
I'm using default editorconfig settings

@simon-ls - thank you very much! This is very helpful and makes it more complicated. I beg for more patience.. :smiley_cat:

Hmm - i will try to reproduce that behavior. I have the strong feeling that the file you are opening has different line_endings than the editorconfig-settings dictate. :thought_balloon:

@florianb,
I was just about to suggest the same thing. I've seen the same thing before, and in fact it's the reason why I initially posted that question to the EditorConfig repo.

As developer i expect to leave a file as it is when i save it.

As a developer I expect to be able to open and browse files without any changes being made. Actually, in this case, the extension should not be changing the whole file at all – it should only be changing a setting (the EOL setting). I have no idea whether or not the Atom APIs support this though.

Ha! I was able to track it down, it's like i assumed. You may expect a patch soon.


Compiling issues with arduino-esp32

Hi Patrick,
Thank you for taking the time to develop and maintain this library, it's very useful to me.
I'm using it with the Arduino framework and an esp32 (arduino-esp32 v. 3.0.1).
I see that in the latest release, 1.4.0, you've added support for some remaining BER types, including TYPE_IPADDRESS.
This kinda breaks compilation as the esp32 IPAddress constructor expects one of ip_addr_t*, char*, uint8_t*, or uint32_t, whereas SequenceBER::decode initializes an IPAddressBER with nullptr, resulting in the following error:
/home/cydanil/Arduino/libraries/SNMP/src/BER.cpp: In member function 'virtual const uint32_t SNMP::SequenceBER::decode(unsigned char*)':
/home/cydanil/Arduino/libraries/SNMP/src/BER.cpp:422:44: error: conversion from 'int' to 'IPAddress' is ambiguous
  422 |                     ber = new IPAddressBER(0);
      |                                            ^
In file included from /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/cores/esp32/Arduino.h:196,
                 from /home/cydanil/Arduino/libraries/SNMP/src/BER.h:4,
                 from /home/cydanil/Arduino/libraries/SNMP/src/BER.cpp:1:
/home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/cores/esp32/IPAddress.h:115:3: note: candidate: 'IPAddress::IPAddress(const ip_addr_t*)'
  115 |   IPAddress(const ip_addr_t *addr);
      |   ^~~~~~~~~
/home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/cores/esp32/IPAddress.h:72:3: note: candidate: 'IPAddress::IPAddress(const char*)'
   72 |   IPAddress(const char *address);
      |   ^~~~~~~~~
/home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/cores/esp32/IPAddress.h:69:3: note: candidate: 'IPAddress::IPAddress(const uint8_t*)'
   69 |   IPAddress(const uint8_t *address);
      |   ^~~~~~~~~
/home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/cores/esp32/IPAddress.h:67:3: note: candidate: 'IPAddress::IPAddress(uint32_t)'
   67 |   IPAddress(uint32_t address);
      |   ^~~~~~~~~
/home/cydanil/Arduino/libraries/SNMP/src/BER.h:435:28: note:   initializing argument 1 of 'SNMP::IPAddressBER::IPAddressBER(IPAddress)'
  435 |     IPAddressBER(IPAddress value);
      |                  ~~~~~~~~~~^~~~~

Used library Version Path
Ethernet     2.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/Ethernet
Networking   1.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/Network
SPI          2.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/SPI
WiFi         2.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/WiFi
WebServer    2.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/WebServer
FS           2.0.0   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1/libraries/FS
SNMP         1.4.0   /home/cydanil/Arduino/libraries/SNMP

Used platform Version Path
esp32:esp32   3.0.1   /home/cydanil/.arduino15/packages/esp32/hardware/esp32/3.0.1

An easy fix for me is to modify BER.cpp, line 422 with something like: ber = new IPAddressBER((uint32_t) 0);
I appreciate that this may not be the target platform, but I'm happy to contribute a solution if you give me some guidance :slightly_smiling_face:
Thanks,
Cyril

Hello Cyril,
Thank you for reporting the issue.
This problem appeared with ESP32 3.0.x cores, but this is non sense to pass a null pointer as an IPAddress object.
Nevertheless, I prefer this solution:
ber = new IPAddressBER(IPAddress());

It compiles on all the platforms (AVR, ESP32 and STM32).
Feel free to test it and if it works well for you, you can create a pull request if you want.
Regards,
Patrick

I indeed noticed the issue following upgrades of the arduino-esp toolchain to 3+.
I tested that with both ESP32 and STM32 hardware on my test setup, and it works as expected.
I'll create an MR with the change.
Thanks for your time,
Cyril

PR #10 merged.
I let you close this issue.
Best regards,
Patrick

Sweet, thanks @patricklaf !


add some maps in readme

map for remove is f6 not f5

It looks like it was merged without my grammar corrections.


Make Caching Time For Celestial API Modules Configurable

The time that objects are stored in cache for modules of the Celestial API should be configurable via the config file.

Object caching has been updated. Last step is to make these settings configurable via the UI.


WIP: Please ignore this PR

I'm just checking something. Thank you.

Codecov Report

Merging #7961 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7961   +/-   ##
=======================================
  Coverage   41.48%   41.48%
=======================================
  Files         479      479
  Lines       63964    63964
=======================================
  Hits        26534    26534
  Misses      33975    33975
  Partials     3455     3455

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 f83db07...00f7cc1. Read the comment docs.


Can't connect to RDS suddenly

I use Navicat to manage the various RDS databases...suddenly this afternoon, I can't connect to any of the machines, and I checked the endpoint address of stage (for example), and it's correct (Navicat stores connection info so I connect easily every day as long as that doesn't change).
My IP (I think it's the same, but it may not be because TW keeps disconnecting me every morning for the past two.)
XX.XX.XX.XX (edited out), and actually, that does look a bit different.
I can still connect to the Lightsail based mySQL instance I created, and the admin panel shows the RDS instances are up and available.  What gives?

@lhorne-gavant
Nevermind...I was able to fix it by editing the security group.  It was the my IP address which had changed (beyond my control).  Easier than I would have thought!


CASMNET-2042 |  ex2500 cabinet in shasta management network

Description
Adds instructions of how ex2500 cabinet should be connected.

Checklist

[x] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

Style check is failing. Why in earth do we have some arbitrary length restrictions on paragraphs?


Ethernet TCP Client Issue description with iperf/zperf

Bug description:
The board STM32 used are: Nucleo_F767zi and Nucleo_F429zi
Performance bug at high speed
Potential bug on all board with high speed
We used Iperf ( samples\net\zperf)  when Zephyr is in  TCP client and when we try to upload frame we have the following issue into the Zephyr console:
 net_pkt: Data buffer (68) allocation failed.

How to  Reproduce
On the host side  (Windows PC) in cmd windows  type :
iperf -s -p 5001 -B <IP_ADDRESS>

On the Zephyr console  type :
zperf tcp upload2 v4 10 1024 100M

Expected behavior
No error when we the client TCP test is  performed
Impact
may be all the board due to the memory allocation failed in TCP client
Logs and console output
I made many test With iperf (samples\net\zperf)
At the beginning the goal was to compare the Ethernet performance in STM32 when  the switch  ETH_STM32_HW_CHECKSUM is Activated
All test results can be seen in the attached excel file
The board used are: Nucleo_F767zi and Nucleo_F429zi
With these test one issue have been found in TCP client Zephir.
See the result file in excel format
iperf test ETH_STM32_HW_CHECKSUM_Issue.xlsx
Ethernet TCP Client Zephyr Issue.docx

@Desvauxm-st I don't think the issue you see should be considered a bug, it looks more like a misconfiguration for the specific board you use. My guess here is that TCP might be generating too much traffic for your boards to swallow, hence the allocation errors (given poor TCP performance, TCP retransmissions take place, so the buffers may be hogged at the TCP level).
Try decreasing the TX window value so that TCP stack generates less traffic (by setting CONFIG_NET_TCP_MAX_SEND_WINDOW_SIZE in prj.conf file). Unless you've modified the default configuration of the sample, the default value for TX window should be 14000 bytes, please try lowering it with the config I've mentioned and see if it helps.

@rlubos
I change the value of CONFIG_NET_PKT_RX_COUNT, CONFIG_NET_PKT_TX_COUNT, CONFIG_NET_BUF_RX_COUNT
CONFIG_NET_BUF_TX_COUNT and when I increase all the values it works better
Thanks you for your help.

@Desvauxm-st can we close the issue then?

@rlubos
Yes

I change the value of CONFIG_NET_PKT_RX_COUNT, CONFIG_NET_PKT_TX_COUNT, CONFIG_NET_BUF_RX_COUNT
CONFIG_NET_BUF_TX_COUNT and when I increase all the values it works better.


"ProgramW6432" environment variable is missing on 32-bit systems

On 32-bit systems use:
dotnet msbuild WebApplication1.csproj -t:publish /p:PublishProfile=IISProfile
Output error:
C:\Program Files\dotnet\sdk\6.0.300\Sdks\Microsoft.Net.Sdk.Publish\targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(171,5): error MSB6004: The specified task executable location "%ProgramW6432%\IIS\Microsoft Web Deploy V3\msdeploy.exe" is invalid.
The system has installed 32-bit WebDeploy, and the publish can be successful only after I manually set the "ProgramW6432" environment variable. Is this a bug of dotnet or msbuild?

Tracking at https://github.com/dotnet/sdk/issues/25895.


HBASE-27201 Clean up error-prone findings in hbase-backup

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 44s
Docker mode activated.

Rebase. Address review feedback.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 41s
Docker mode activated.

Rebase. More review feedback. Fix test.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 37s
Docker mode activated.

_ Prechecks _

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

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

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

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 51s
master passed

+1 :green_heart:
compile
0m 37s
master passed

+1 :green_heart:
checkstyle
0m 14s
master passed

+1 :green_heart:
spotless
1m  0s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 39s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 21s
the patch passed

+1 :green_heart:
compile
0m 38s
the patch passed

+1 :green_heart:
javac
0m 38s
hbase-backup generated 0 new + 0 unchanged - 52 fixed = 0 total (was 52)

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

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

+1 :green_heart:
hadoopcheck
18m 47s
Patch does not cause any errors with Hadoop 3.1.2 3.2.2 3.3.1.

+1 :green_heart:
spotless
1m 10s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 54s
the patch passed

_ Other Tests _

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

42m 13s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4643/4/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4643

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux bc3f333f8e74 5.4.0-1081-aws #88~18.04.1-Ubuntu SMP Thu Jun 23 16:29:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 486d19e99f

Default Java
AdoptOpenJDK-1.8.0_282-b08

Max. process+thread count
64 (vs. ulimit of 30000)

modules
C: hbase-backup U: hbase-backup

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4643/4/console

versions
git=2.17.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.


all images are broken on rarible

we did have this working at one point , but now all the images are broken.
are we sending the wrong IPFS link?

OH cool, the very most recent ones do seem to work.
only the WORDS are listed, which i think is also what we want?


Additional sensors

As stated in #2, I could not get the humidity/speed sensor to work so I removed them and implemented additional sensors such as the co2, temperature and flow sensors of the HRU which are reported inside the status message.
Feel free to try them out and adept it to your own coding style.
I'm not so sure about the update interval of the HRU/Co2 Remote so I will monitor if this is sufficient to reliably use these sensor values.

Hey, that's awesome. thanks for sharing!
I'll test this out in the coming days to see if it works for my unit as well.
Out of curiosity, how did you find the location of these sensors values? Did you find any useable documentation on these messages? Or just trial an error?
If the "timer" value in the status message is 16bit, does that mean that the time in TimerMessage.cpp should be 16 bit as well? I don't really get the reasoning (of the manufacturer) behind multi-day timers...

The Co2 is easy to find out by comparing with another sensor in the same room. The others were also easy to find out since my HRU unit has a small display that shows flow and temperatures.
I'm not too sure about that timer value, I just assume it is 16 bit. Could try to make the settime 16 bit and check the response.
Also I'm suspecting that the Co2 sensor communicates it's Co2 value with the HRU using a different message. Only manual actions on the remote get's that value to update... How else could it regulate Co2?

Attached an interesting log file:
The first byte form my remote is 0x1C however, the HRU seems to use 0x3C as first byte. What is also interesting is that 0x18 is used. Could this be a broadcast message? Perhaps my spider thermostat sync the ventilation state to this broadcast message.
Is your system using 0x3C as first byte for response? Have to check if the incoming packet is filtered on this first-byte. Maybe skipping or adding 0x3C as first-byte will improve the receiving part of the remote.
logs_mk-wtw-co2-itho_logs.txt

At first, I thought that that first byte was device specific. But later I learned that the protocol is based for a great part on the "RAMSES II RF" protocol.
This is some interesting documentation on what that first byte normally means:
https://github.com/ghoti57/evofw3/wiki/Message-Body
Based on that, the first bytes denotes the type of packet:
0x0*: Request
0x1*: Write
0x2*: Information
0x3*: Response
It's a bit weird though, that there doesn't seam any 0x0* packet in your log that the device is responding to...

At first, I thought that that first byte was device specific. But later I learned that the protocol is based for a great part on the "RAMSES II RF" protocol.
This is some interesting documentation on what that first byte normally means: https://github.com/ghoti57/evofw3/wiki/Message-Body
Based on that, the first bytes denotes the type of packet: 0x0*: Request 0x1*: Write 0x2*: Information 0x3*: Response
It's a bit weird though, that there doesn't seam any 0x0* packet in your log that the device is responding to...

Well, If I understand the Message-Body correctly:
0x1C (0b0001 1100) is a write and includes addr0 + addr1
0x3C (0b0011 1100) is a response and includes addr0 + addr1
The remote is not sending a request but a write and the HRU replies with a response.
I fixed the status message response parsing in commit fddb3dc
Not sure if switch -> button change is wanted. I guess I'll leave that up to you.
Last action from my side is to verify the flow rates. The values seems a bit off now.

Thanks. I'm verifying the implementation with my unit, but seems like we have very different fields available:

Seems more or less logical, since my unit is just ventilation box, and it seems like you have a heat recovery ventilation or heat pump, right? Can you report the model of your central unit?
Mine is an CVE-S ECO SE by the way

The unit that I have is a HRU ECO 300. It seems that your payload is constructed differently than mine. Perhaps this message is not 1/1 over different models.


UserPrefs are now created automatically for new users

So that admin can create a user and preset UserPref clearance
Partially fixes a bug where new users had to refresh twice before seeing galleries

Worth noting that a bug still exists that new users have to refresh once after first login to see galleries.  Looking at the HTTP requests, though, I think that might be on the client side, as I don't see SiteConfig and such requested until after the manual refresh.
In my testing, this does take it down from two refreshes to one, though.