links to tutorials aren't links

RAWGraphs Version

Web browser and version

Operating System

Steps to reproduce this

Project file

Additional context

Hi, yes code and tutorial links are not working yet. We are still working on them. As soon as they will be publish we will link them to the charts.
@iosonosempreio @uf0: shall we hide the link in the meanwhile?

I think that react can check if the link is set in the chart or not, so i agree it should be hided

I hope the broken link will be hidden. Did you know if there are some unofficial tutorials somewhere?
It takes a lot of time to guess what kind of data is needed in each section for each chart type.
Thank you.


docs: update participant contributions

Updating the README with participant contributions using all-contributors bot

@all-contributors please add @ninsch3000 for code,data,doc,design,eventOrganizing,mentoring,projectManagement,question,review,talk

@all-contributors please add @ninsch3000 for code, data, doc, design, eventOrganizing, mentoring, projectManagement, question, review, talk

approved it...so did you figure out the branching issue? How can I help?

Yeah, it was my mistake. We did the initial test as a comment on issue #71 but I tagged the bot on a few other issues before that test was merged. As a result, the bot thought it needed to create a rc file for each new request I made--because it didn't find one in main But it should be ok moving forward.

@all-contributors please add @EuancRNA for code, mentoring, question

@all-contributors please add @chelseaherdman for eventOrganizing, ideas, projectManagement, review, talk

Ok, third times the charm @EuancRNA
@all-contributors please add @EuancRNA for code, ideas, mentoring

@all-contributors please add @uniqueg for bug, code, doc, example, eventOrganizing, ideas, infra, maintenance, mentoring, projectManagement, question, review, talk

@all-contributors please add @yuukiiwa for bug, blog, code, data, doc, example, eventOrganizing, ideas, mentoring, projectManagement, question, test, tutorial

@all-contributors please add @BenNicolet for data, eventOrganization, ideas, projectManagement

@all-contributors please add @pjewell-biociphers maintenance

@all-contributors please add @mzavolan for data, doc, eventOrganizing, financial, findingFunding, ideas, mentoring, projectManagement, question, research, review, talk

@all-contributors please add @mfansler for bug, code, doc, eventOrganizing, ideas, mentoring, projectManagement, question, review

@all-contributors please add @mkatsanto for code, ideas, mentoring, question

@all-contributors please add @daneckaw for code, data, eventOrganizing, ideas, projectManagement, tutorial

@all-contributors please add @dominikburri for bug, code, data, doc, example, eventOrganizing, ideas, infra, mentoring, projectManagement, question

@all-contributors please add @mrgazzara for code, doc, data, eventOrganizing, ideas, infra, maintenance, projectManagement, mentoring, talk

@all-contributors please add @FitzsimmonsCM for docs, eventOrganizing, ideas, projectManagement, talk

@all-contributors please add @lschaerfen for code, ideas

@all-contributors please add @lschaerfen for code, ideas, talk

@all-contributors please add @chilampoon for code, ideas, question

@all-contributors please add @dseyres for code, docs, ideas

@all-contributors please add @plger for data, doc, eventOrganizing, ideas, projectManagement

@all-contributors please add @plger for data, doc, eventOrganizing, ideas, projectManagement

@all-contributors please add @plger for data, doc, eventOrganizing, ideas, projectManagement

@all-contributors please add @SamBryce-Smith for code, ideas

@all-contributors please add @dominikburri for test, tutorial

@all-contributors please add @pinjouwu9325 for code, ideas

@all-contributors please add @yoseopyoon for code, ideas

@all-contributors please add @SamBryce-Smith for bug, code, doc, ideas, maintenance, mentoring, projectManagement, question, review, tutorial, talk

@all-contributors please add @faricazjj for bug, code, doc, ideas, maintenance, projectManagement, question, review

@all-contributors please add @txellferret for code, example, ideas, infra, mentoring, question

@all-contributors please add @grexor for bug, code, ideas, maintenance, review

@all-contributors please add @jmfernandez for ideas, infra, mentoring


⚠ AtmoLive03 Server has degraded performance

In 354fd08, AtmoLive03 Server ($ATMOLIVE03) experienced degraded performance:

HTTP code: 500
Response time: 8048 ms

Resolved: AtmoLive03 Server performance has improved in 5b7e92c.


Add /trainings API and integrate with CLI

Background
#976 added a cog train command to the CLI pointed at the /predictions API, allowing the user to specify a value for train in cog.yaml specifying a path to a callable.
Overview
This PR adds a /trainings API to Cog containers and points the CLI to it. It additionally defines a base class Trainer that has an optional cancel method.
from cog import BaseTrainer

class Trainer(BaseTrainer):
    @abstractmethod
    def train(self, **kwargs: Any) -> Any:
        """
        Train a model.
        """

    def cancel(self) -> None:
        """
        An optional method to handle training cancellation to save model weights.
        """

The cancel method is run upon a cancellation request being received. This is an especially important use case for training, when one may want to save model weights or other state when, for example, a job is  running for considerably longer than expected, or when the user inspects the training logs and suspects the model is being over-trained.
Remarks

This PR doesn't solve the problem Ben notes in #976 about being able to run both predictions and trainings in a single container, since this would require loading and unloading the model a Predictor would load during set-up, making interleaving predictions and trainings complicated.
There's still work to do in the CLI to disentangle the train command from the predict package.

For the second revision I removed setup from the BaseTrainer class to keep the API surface small; setup logic can be put in train for now instead.


Add VES currency

Coverage remained the same at 81.771% when pulling 64a94d2c120c7eb42596aeca1ad68c69023a193a on ivelinahristova:master into a7ac987605cb60ba6ff4356ea7fb1b6d80ab3226 on mariusbalcytis:master.


Add matchers for collections and maps

For example:
expect(list).toContain("foo");
expect(map).toContainKey("foo");
expect(list).toBeEmpty();
...

Done in Merge Request #36 and d49ee6d119d622027f54a1f9fbb953741b129905


datasetID or Dataset ID

If you query ERDDAP using allDatasets,  dataset ID is returned as datasetID.
If you query ERDDAP using advanced search , dataset ID is returned as Dataset ID.
Is there a reason for this?
It's not a big deal, but it messed me up for a bit when writing my little ERDDAP time series explorer.
To pull the lon/lat values from the allDatasets table that matched the datasets returned from advanced search, I needed to do:
dfr = dfll[dfll['datasetID'].isin(dfa['Dataset ID'])]

https://github.com/reproducible-notebooks/ERDDAP_timeseries_explorer/blob/master/ERDDAP_timeseries_explorer.py#L214

In ERDDAP, for all of the actual data requests, the data variable (column)
names will be exactly the same for all types of response file types. There
can be some differences in the way the data is presented: notably, in the
.htmlTable response, a datum that is a URL will be presented as an
tag and possibly with a related viewer (e.g., for audio files).
In ERDDAP, for other requests (notably dataset listings), there may be a
slight difference between the column names in an .htmlTable response
(notably, capitalization, spaces, newlines, extra content/tooltips) vs. all
other file types (which will be identical). The column name cells will
often also have lots of other content, e.g.,  tags. Again, cells
which have URLs are presented differently in .htmlTable responses vs. all
other file types.
In general, the .htmlTable response is optimized for human consumption in a
browser. All other responses are much more consistent, but there are
quirks. E.g., Since ERDDAP still makes the older style Matlab files which
are limited to 32 (31?) character names -- so ERDDAP shortens and adds a
hash to longer variable names in Matlab files.
I hope that explains ERDDAP's behavior and sounds reasonable.
On Sun, Dec 3, 2017 at 11:01 AM, Rich Signell<EMAIL_ADDRESS>wrote:

If you query ERDDAP using allDatasets, dataset ID is returned as datasetID
.
If you query ERDDAP using advanced search , dataset ID is returned as Dataset
ID.
Is there a reason for this?
It's not a big deal, but it messed me up for a bit when writing my little
ERDDAP time series explorer.
To pull the lon/lat values from the allDatasets table that matched the
datasets returned from advanced search, I needed to do:
dfr = dfll[dfll['datasetID'].isin(dfa['Dataset ID'])]
https://github.com/reproducible-notebooks/ERDDAP_timeseries_explorer/blob/
master/ERDDAP_timeseries_explorer.py#L214
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BobSimons/erddap/issues/14, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABarOCbDP33Ml8ah6CoPW9fj3OzUZUMtks5s8vAQgaJpZM4Qz1wv
.

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER>            (New!)
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><

@BobSimons this all sounds reasonable, but I don't know if this explains why if you query ERDDAP using allDatasets, you get datasetID, and if you query ERDDAP using advanced search , you get Dataset ID.  Both are returned as csv.

allDatasets is a dataset (in the DAP sense). It behaves in the strict way
that all DAP requests respond.
Advanced search is not a dataset and is not a query of a dataset.
On Tue, Dec 5, 2017 at 9:35 AM, Rich Signell<EMAIL_ADDRESS>wrote:

@BobSimons https://github.com/bobsimons this all sounds reasonable, but
I don't know if this explains why if you query ERDDAP using allDatasets,
you get datasetID, and if you query ERDDAP using advanced search , you
get Dataset ID. Both are returned as csv.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/BobSimons/erddap/issues/14#issuecomment-349380205,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABarOED9x_EiHcnzqq3IBaM9pSs7y3rtks5s9X7YgaJpZM4Qz1wv
.

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER>            (New!)
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><

Ah, okay.  Now I get it.

I should have also said:
The goals of searching allDatasets and using Advanced Search are basically
the same: finding datasets which meet certain criteria.
But the way that they work, what you can do with them, and the nature of
the results table (e.g., column names) is very different.
It is unfortunate that Advanced Search has "Dataset ID" and allDatasets has
"datasetID".
allDatasets is stricter (as dataset queries are) and was written many years
after Advanced Search.
I am reluctant to change them significantly (e.g., column names) to make
them more consistent because external systems (like yours) are written to
work with them as they are.
On Tue, Dec 5, 2017 at 9:40 AM, Bob Simons - NOAA Federal <
<EMAIL_ADDRESS>wrote:

allDatasets is a dataset (in the DAP sense). It behaves in the strict way
that all DAP requests respond.
Advanced search is not a dataset and is not a query of a dataset.
On Tue, Dec 5, 2017 at 9:35 AM, Rich Signell<EMAIL_ADDRESS>wrote:

@BobSimons https://github.com/bobsimons this all sounds reasonable,
but I don't know if this explains why if you query ERDDAP using
allDatasets, you get datasetID, and if you query ERDDAP using advanced
search , you get Dataset ID. Both are returned as csv.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/BobSimons/erddap/issues/14#issuecomment-349380205,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABarOED9x_EiHcnzqq3IBaM9pSs7y3rtks5s9X7YgaJpZM4Qz1wv
.

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER> <(831)%20333-9878>            (New!)
Fax:<PHONE_NUMBER> <(831)%20648-8440>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><

--
Sincerely,
Bob Simons
IT Specialist
Environmental Research Division
NOAA Southwest Fisheries Science Center
99 Pacific St., Suite 255A      (New!)
Monterey, CA 93940               (New!)
Phone:<PHONE_NUMBER>            (New!)
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>The contents of this message are mine personally and
do not necessarily reflect any position of the
Government or the National Oceanic and Atmospheric Administration.
<>< <>< <>< <>< <>< <>< <>< <>< <><

I was actually expecting you to say this: better to have a minor imperfection than break people's code.


support dynamic size in ConvertMemRefAllocaOp

Anyone who's tried to use VMVX has encountered the dreadful error: failed to legalize operation 'memref.alloca'. Users have run into and reported it multiple times, e.g.  #10859, #10855.
I had been working under the assumption that there was some fundamental difficulty here between VMVX and memref.alloca; after all, I thought, it made sense that the VM wouldn't support that.
Apparently, I wasn't alone: https://github.com/iree-org/iree/issues/10859#issuecomment-1329840940 says

In this context, we allocate a stack buffer, which is not allowed in VMVX backend [...] There are couple ways to fix it. [...] a.) Tile dynamic dims with size 1, so we can always vectorize it.

The resulting fix #11323 has helpfully unblocked users since, but more recently, as ukernels have started to make VMVX performance a reasonable thing to look into, we have found (#12073) that the fix from #11323 is currently the main performance bottleneck on VMVX/ukernels so it makes sense to revisit now. The question became how can we revert #11323 without inviting back the dreaded alloca errors.
So today, I was chatting with @benvanik  about a "totally crazy" idea:

(bjacob) Actually have you considered implementing a lowering of memref.alloca to VM? That would make so many things smoother.
(benvanik) I thought it was at some point - memref.alloca has a pattern in MemRefToUtil
(bjacob) ooooh
(benvanik) Oh, it bails on dynamic shapes - are these memrefs dynamic?
(bjacob) yes, they are! is it very hard to support dynamic ?
(benvanik) Nope!

So here you go, this PR does that. And indeed, it does allow me to revert #11323 without the alloca errors coming back! Looking at the testcases in filed issues #10859, #10855, #12060, they all involve dynamic shapes, so everything seems to add up.
Lesson learned: don't assume, talk.
FYI @hanhanW @lundong

@MaheshRavishankar thanks for the comment - WDYT @benvanik ?
This looks orthogonal to this PR though, in that this PR merely allows for dynamic sizes what was already allowed for static sizes, so it was already possible to have unbounded allocas (by having an unbounded number of static size allocas), right? So, merging this now, but definitely interested in the answer here!

Dont we need to do the same thing on VMVX that we did on CPU backend? Hoist the allocas to the entry block and take a subview. I am assuming we want all the allocas bounded?

Agree that we should check if all the allocas are bounded on VMVX backend as well. (and agree that it's orthogonal to this PR..)


Clean up Ansible TM config options, remove unused peer_optimistic option

Remove references to unused peer_optimistic TM option and add the stat_polling and distributed_polling default options to the TM ansible role.

Which Traffic Control components are affected by this PR?

Traffic Monitor
Automation (ansible)

What is the best way to verify this PR?

Use the TM ansible role to install/upgrade TM, ensure that the new options show up with their corresponding defaults in the traffic_monitor.cfg file
PR submission checklist

[ ] This PR has tests
[ ] This PR has documentation
[ ] This PR has a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

LGTM - builds, tests pass, and code changes / clean up look complete.


unable to create a python function in function app

I was successfully able to create an "HTTP triggered function in Azure" using the instructions here:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python
I verified running the app using both local environment and the Azure portal. (Deploy the function app project to Azure)
I could not find any instructions on how to deploy the app when I make an update so I again tried:
func azure functionapp publish <APP_NAME>
I got the message the app was successfully deployed but when I go to Azure portal HttpTrigger is disappeared in the portal. Functions is empty.
Is this a known issue?

moved the issue to - Azure/azure-sdk-for-python

@mguglani thanks for the update.


Enable systemtests on Java 11

This issue is to add <subset>SE110</subset>  to the systemtest playlist.
Note: enabling systemtest on Java 11 is blocked by https://github.com/AdoptOpenJDK/stf/issues/44

jdk11 builds for system tests have been added at Adopt.


[ssh_client.py] UnicodeDecodeError: 'utf-8' codec can't decode byte

Action:
Try to catch response block from SSH connection with Verify Keyword

Observation:
UnicodeDecodeError error triggered if SSH response contains none utf-8 content

Log:
20220419 09:39:37.512 - DEBUG - Completed SSHClient.wait_4_trace()
20220419 09:39:37.512 - INFO - Exception in thread SSHClient-1:
Traceback (most recent call last):
File "threading.py", line 950, in _bootstrap_inner
File "threading.py", line 888, in run
File "C:\Program Files\RobotFramework\python39\Lib\site-packages\robotframework_qconnect_baselibrary-1.0.0-py3.9.egg\QConnectionLibrary\tcp\ssh\ssh_client.py", line 101, in _thrd_llrecv_from_connection_interface
data = data + recv.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 0: unexpected end of data
20220419 09:39:37.517 - FAIL - Unable to match the pattern after '15' seconds.
20220419 09:39:37.517 - DEBUG - Traceback (most recent call last):
File "C:\Program Files\RobotFramework\python39\Lib\site-packages\robotframework_qconnect_baselibrary-1.0.0-py3.9.egg\QConnectionLibrary\connection_manager.py", line 332, in verify
return self.verify_named_args(**kwargs)
File "C:\Program Files\RobotFramework\python39\Lib\site-packages\robotframework_qconnect_baselibrary-1.0.0-py3.9.egg\QConnectionLibrary\connection_manager.py", line 348, in verify_named_args
return self.verify_unnamed_args(params.conn_name,
File "C:\Program Files\RobotFramework\python39\Lib\site-packages\robotframework_qconnect_baselibrary-1.0.0-py3.9.egg\QConnectionLibrary\connection_manager.py", line 378, in verify_unnamed_args
raise AssertionError("Unable to match the pattern after '%s' seconds." % timeout)

Note:
Possible bugfix already successful tried out:
    added 'ignore' parameter to ssh_client.py:

        old:  Line 101: data = data + recv.decode(‘utf-8’)
        new: Line 101: data = data + recv.decode(‘utf-8’, ‘ignore’  )

Hi Cuong,
please look into this.
Thank you,
Thomas


All components need to be tested for instance injection and swapping

e.g.
import { _Mesh, _SpotLight, _PerspectiveCamera } from "svelthree"

const my_premade_mesh = new _Mesh(...)
const my_premade_spotlight = new _SpotLight(...)
const my_premade_camera = new _PerspectiveCamera(...)

...

<Mesh mesh={my_premade_mesh} />
<SpotLight light={my_premade_spotlight} />
<PerspectiveCamera camera={my_premade_camera} />

etc.
injection + swapping!

Tested:

[ ] Scene

[ ] Mesh

[ ] Points

[ ] AmbientLight

[ ] DirectionalLight

[ ] HemisphereLight

[ ] PointLight

[ ] RectAreaLight

[ ] SpotLight

[ ] OrthographicCamera

[ ] PerspectiveCamera

x CubeCamera -> #134
x Empty -> see #133
x LoadedGLTF -> see #124
x OrbitControls -> see #126

so far, so good.

We have new Object3D and Group components that need to be tested.

[ ] Object3D
[ ] Group

so far, so good.
x CubeCamera -> https://github.com/vatro/svelthree/issues/134
x LoadedGLTF -> see https://github.com/vatro/svelthree/issues/124
x OrbitControls -> see https://github.com/vatro/svelthree/issues/126


reapply_styles is available from screen directly

Very cool!

Squid.  To me it looks like you should also take care of existing instances in the PR.
yes?

yup totally forgot about the existing screens!  will update this evening.

all set @GantMan

you're on :fire:


Split up the e2e tests

Right now the e2e test is one long test that takes quite a bit of time (mine took longer than 60 seconds...). It would be smart to split it up, so it could run in parallel.

We could also improve by maybe registering the schema / cred def only once or something.


Location of package files?

Hi, where are the installation source files version 2.0?
The link on your website takes you here to download them, but there is only installation instruction files, and no packages?
Thanks for your help!

@ghaggart you could find them here https://github.com/epam/Indigo-ELN-v.-2.0/branches


Implementation of LCOM2 and LCOM3

LCOM -> Lack Of Cohesion Of Methods
Definitions used for LCOM2 and LCOM3

m = number of procedures (methods) in class
a = number of variables (attributes) in class
mA = number of methods that access a variable (attribute)
sum(mA) = sum of mA over attributes of a class

LCOM2 = 1 - sum(mA)/(m*a)
LCOM3 = (m - sum(mA)/a) / (m-1)
The metric definition as well as its implementation are available at:
Cohesion metrics
Design metrics

Solved by this commit


urbanjost/M_escape is no longer available

README.md:1967 references github.com/urbanjost/M_escape which is no longer available.
[M_escape](https://github.com/urbanjost/M_escape): using in-band signaling wih ANSI control (escape) sequences to control terminal color from Fortran, by urbanjost and brocolis

Thanks for these issues. I will work on them. Did you use a script to test all the links? I could use that in the future.

I do, as part of a Makefile that I use to get git subprojects for my collection of Fortran found in the wild.
Here's the section that screen-scrapes your curated list. I'm an ancient Unix guy, so it's just bash, sed and awk weirdness. (Ignore the second line of the comment below; that's mostly for when I'm pulling things from fortran-lang.org.
# Get new projects from github.com/Beliavsky/Fortran-code-on-GitHub.
# Only look at Git projects (not sourceforge or whatever).
beliavsky-new-projects:	beliavsky-projects.txt
	for P in `cat beliavsky-projects.txt`; do \
		case "$$P" in \
			git*) ;; \
			*) continue;; \
		esac; \
		D="$$(echo "$$P" | awk -F / '{ print $$3 "@" $$2 }')"; \
		if grep "^$$D:" exceptions.txt >/dev/null; then \
			echo "$$D is on the exception list."; \
		elif [[ -d $$D ]]; then \
			echo "$$D exists already"; \
		else \
		    if git submodule add "ssh://git@$$P" "$$D"; then \
			    echo "$$D new"; \
			    git submodule update --init "$$D"; \
		    else \
		        echo "$$D failed; probably no longer available"; \
		    fi; \
		fi; \
	done

BELIAVSKY_URL = https://github.com/Beliavsky/Fortran-code-on-GitHub
beliavsky-projects.txt:	FORCE
	curl -L --no-progress-meter "${BELIAVSKY_URL}" \
		| sed -n -e 's;^
"$@"

FORCE:


Update bibm 2023

Which conference does this PR update?

BIBM 2023

Related URL

https://bidma.cpsc.ucalgary.ca/IEEE-BIBM-2023/

please check the indent of the year line.


Loading images

Automated message from Dropbox CLA bot
@koziodigitalinc, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Hey @koziodigitalinc! Can you add some context around what issues this PR addresses?

@niftynei Basically this was in regards to this issue: https://github.com/zulip/zulip-android/issues/148
WHen I squash I'll link it. Sorry for not doing so when i first wrote it.

@koziodigitalinc what's the status of this PR?

@niftynei Not sure. The feature works in app, but it's a rather fragile approach considering we should have the ability to add attached image url's on the API response. Do you want me to squash and prepare for a merge?

@koziodigitalinc do you know what edge cases will break it?  i'm ok with fragile if it's better than broken.

@niftynei No clue in regards to edge cases. I don't so much think it would ever so much "break" but rather just misbehave. In cases where multiple image html assets would be in a message, to which, I don't know the rules of regarding the app.

I'm in favor of getting it merged then, and dealing with edge cases as they arise.  Though if you can think of cases that might break it, please by all means give them a try! :)

@niftynei  I'll update this branch against master when retrofit-base gets merged in.

@niftynei updated.

hey @koziodigitalinc I tried this out but wasn't able to see the image that i pasted up.
This is the raw message log:
09-20 17:58:41.789  8065  8138 D RAW MESSAGES: {"content_type":"text/html","avatar_url":"https://zulip-avatars.s3.amazonaws.com/e6cc5fb93da988ebf20271cda54c085912550425?x=x","timestamp":1474408651,"display_recipient":"ping testing","sender_id":9199,"sender_full_name":"Lisa Neigut","sender_domain":"hackerschool.com","content":"
testing a thing pasted image
\n

","gravatar_hash":"21a32be762184c7314f5926f94278c8f","recipient_id":50914,"flags":["read"],"client":"website","sender_email":"lisa+corp@recurse.com","subject_links":[],"subject":"testing","type":"stream","id":101331240,"sender_short_name":"lisa+corp"}

Here's the expected (from web client):

Here's the actual (from mobile client):

@niftynei It seems to be working fine here: https://puu.sh/rihQ4/70b71b0f6f.png  Not sure about the flow which you took to achieve this.

I think the two of you are testing different things -- the Zulip "file uploads" feature vs. pasting a link to an image?

My original tests were with file upload, these most recent are copy paste, even tried with markdown and it worked. :/

Oh, I think perhaps the file upload stuff might have been broken by the Retrofit refactor?

That's what i thought but the original's still pulled up and this new test works too:
https://puu.sh/riiPo/ef09a4f318.png

Superceded by #219


[Bug]: BG3 Mod Manager Shows Loading Icon but Never Opens

Operating System
Windows 11
BG3 Mod Manager Version
<IP_ADDRESS>
BG3 Game Version
Latest
Bug Summary
After not having played in 3 months, I decided to open the game as usual, using the Mod Manager. Note that I didn't apply any of the updates to the game. It didn't open. I never changed the location for the Mod Manager folder or anything else. I decided to update the game, and still nothing. I also downloaded the latest version of the Manager, extracted it into the same folder and made sure every file was there: nothing, same issue.
I tried moving the folder to another location, not in Program Files. Still nothing.
Not even reinstalling I can get it to work. I can launch the game from Steam, and even load the modded saves (although the main problem is that I don't have anything in my inventory, even after picking any item up, probably something to do with a weight limit mod).
All I tried was launching the Mod Manager, nothing different from the last time I had done it a few months ago, and it had always worked.
Links
No response

I had the same problem recently, I had moved the application to my desktop without the rest of the files in the download.
Just put bg3mm back in the file and then run from the file itself.
Hope this helps :)


Documentation

Line 41 -
When starting a React project, a simple HTML page with script tags might still be the best option. It only takes a minute to set up!
Removed the hyperlink from "a" as we're focusing on simple HTML page so a shouldn't be hyperlinked.

@arshita-kakkar thanks.


Remove node-runtime dependency from node-rpc.

The node-runtime dependency is not used and increases build times.

Please commit the Cargo.lock as well.

Commited Cargo.lock

bot merge

bot merge


What are the terms of use presented here?

The comments below were machine translated
@SteveDuchene commented on Sun Apr 12 2020
The terms of use and display of the Bing Search API are important to know from what I see. But it would be good to be clearer as to the nature and origin of these conditions: Are these legal or contractual conditions? If they are contractual, is this page an extract of the conditions of the contract between Microsoft and the people who subscribe to an Azure license? or Bing custom search license ...?

Détails du document
⚠ Ne pas modifier cette section. C’est obligatoire pour docs.microsoft.com ➟ Liaison des problèmes GitHub.

ID: f2942e81-02f8-5b66-49e9-2253a8326327
Version Independent ID: 365bc7c4-2b92-d063-2f50-be58fb27938d
Content: Conditions d’utilisation et d’affichage des API Recherche Bing - Azure Cognitive Services
Content Source: articles/cognitive-services/Bing-Web-Search/use-display-requirements.md
Service: cognitive-services
Sub-service: bing-web-search
GitHub Login: @aahill
Microsoft Alias: aahi

@srvbpigh commented on Sun Apr 12 2020
Hello, @SteveDuchene
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

Thank you for the detailed feedback. We are actively investigating and will get back to you soon.

@CeciAc Bing Search API use and display requirements is part of the Online Services Terms. The following also document provides relevant compliance and privacy information regarding Azure Cognitive Services. Hope this helps. Thanks.


Added generic functionality to WriteLineFormatted

Overloaded WriteLineFomratted to accept IEnumerable for more generic collections.
From Issue #48.

Thanks for the PR!!


event: Twitter bans CarpeDonktum

23 Jun 2020
His Locals post
ZeroHedge

https://github.com/steverusso/bigtech.fail/pull/106


Tiny problem with header hiding!

Sometimes it scrolls the page down the width of the header when going to a video. Not a big problem, just a small annoyance!
Thanks for implementing it fully!
Dev 473 and these settings: http://prntscr.com/61iwk5
Also, hope you add #396 !

+1
Happens 90% of the time.

The scrolling happens because YouTube Center modifies some elements on the page and that causes YouTube itself to scroll the page. I have tried to address this in an update, but it's not always successful.
I will try to figure out how to fix this issue.

I faced this issue when I was mocking up my previous script, it's a direct result of the header having a negative margin which YouTube tries to scroll to top, but since the element is positioned Y negative then the page is being scrolled upwards the same Y as the top of the header, which in this case is equal to the header height.
The two solutions I came up with were to either play with the max-height and overflow: hidden (but notifications' window would not be visible) or margin-top which seems to work better.


scheduler call a method automatically after all jobs finished

hi ,
quick question for u.
after all my jobs finished, i want  scheduler can call a method automatically, is there a method?
thank you

Hello,
this could do it:
require 'rufus-scheduler'

s = Rufus::Scheduler.new

over = false
s.every '1s' do
  if over == false && s.jobs.size <= 1
    puts "over!"
    over = true
  end
end

s.in '5s' do
  puts "and 5!"
end

s.join

It's not immediate. You could monkey patch the engine (or I could provide you a callback)...
Beware the corner cases.
Closing the issue, but not the conversation.

hi , it works fine . enough for me。
thanks


[server] Do not search in multiple top level views

Summary: In some cases selendroid ended up looking for elements in
multiple top level views. This resulted in cases where we would look up
an element by id, but the element was present in in a top level view
that was not a child of the current root view. The server happily
returns the element, but as soon as you try to interact with the
element, the known elements cache will check if the element is part of
the root level view and if that's not the case throw a
StaleElementReference without further information.
Instead of this confusing behavior, selendroid should search only in the
current top level view.
Test Plan:

Ran our internal e2e tests against selendroid with this patch.
unit tests

For more context see #800 which is fixed by this PR.

Note: I'm not too happy what's going on with the getTopLevelViews(), getRecentDecorView() etc stuff, but we also have a potential change coming up cleaning up the code that's responsible for searching for views etc. I'd like to defer cleaning these things up until that fix.

looks good to me, feel free to merge after travis comes back green

Green! :tada:


[solved] Can't connect to Browser Sync Server from network

I recently tried to test my Web App with Browser sync and everything worked just fine when I was accessing it on the same PC (localhost and the external IP worked both). But I also tried to access it from my phone connected to the same network. I just got a timeout message in Chrome Mobile and couldn't connect to it (No error in Bash). Running it natively on Windows worked and on an Ubuntu VM too.
I'm using Microsoft Windows [Version 10.0.15063.250]
Edit: It's still not working on new insider build 16184
Edit 2:
It's working after opening TCP Port 3000 in Windows Firewall :)

Hi @m4r1vs -- is there any chance that these connections are being blocked by your firewall configuration?  WSL currently doesn't always interact well with firewalls; even Windows Defender has some known limitations, and there are major bugs with older versions of some third-party firewalls.
(Other non-firewall-related networking issues have also been reported against WSL; I don't know their status.  But I figure it's worth double-checking about the firewall first.)

Thank you @aseering ,
It was the Windows Build in Firewall, I've deactivated both and it worked great. Do you know if there's anything planned to fix that in the future?

it helped. thank you:)

Had the same issue. I allowed the particular browsersync port in the firewall settings, in my case port number was 4000.

@aseering  thank you

Thank you so much it works for me too...I turn off all the firewall setting.
PC: Windows 10 Pro @aseering

change your network from public to private. this has fixed my problem


Feature/fix duplicate code

Description
Refactor code to address CodeFactor suggestion (duplicate values in Open Api specification)
Related Issues
Issue 165
How can it be tested?
no changes on the API specification page (/api#/Auth/post_api_auth_users_signup) but CodeFactor should resolve the suggestion
Impacted packages
Check the NPM packages that require a new publication or release:

[ ] manifest
[ ] @mnfst/sdk

Check list before submitting

[x] I have performed a self-review of my code (no debugs, no commented code, good naming, etc.)
[ ] I wrote the relative tests
[ ] I created a PR for the documentation if necessary and attached the link to this PR
[x] This PR is wrote in a clear language and correctly labeled

Thank you @vitalymatyushik !


Fix max tokens and add model options

1.max_tokens没有被正确传入，该版本传入了参数，使用了Math.min方法确保max_tokens始终合法
2.添加了一个额外的配置，专用于生成标题，设置了温度为0以得到稳定的标题
3.恢复了被注释掉的模型选项，因为不同模型的能力和速度的确有差异
你可以先在这里测试：https://redwinda.github.io/BetterChatGPT-origin/
English verion:

The parameter max_tokens was not correctly passed, but in this version it has been passed and the Math.min method has been used to ensure that max_tokens is always valid.
An additional configuration has been added specifically for generating titles, with a temperature of 0 set to obtain stable titles.
The commented-out model options have been restored because there are indeed differences in the capabilities and speed of different models.

You can test it here first: https://redwinda.github.io/BetterChatGPT-origin/

previously max tokens was implemented limiting model context, rather than the API max return token. As far as I know, this is intended by the author.
I chose to implement a separate max_tokens and max_context in my fork

OpenAI's API does not seem to support the parameter "max_context," and I did not see how you limit the size of the message sent based on "max_context" in your fork. Can you please explain in more detail how this parameter works?

previously max tokens was implemented limiting model context, rather than the API max return token. As far as I know, this is intended by the author. I chose to implement a separate max_tokens and max_context in my fork

In addition, the parameter functionality implemented in my pull request is consistent with the author's current description of the parameter (only controlling the length of the latest message), so I believe this is the functionality they currently want

@RedwindA they pass it through a function limitMessageTokens that iterates through the messages starting at the most recent and prunes it so that it shows the max amount of complete messages before its token count would hit the max_tokens value.
I agree that their description of the max_tokens parameter is not consistent with what they are actually doing.

Imo properly implementing this fix means having separate max tokens and max context config options.

damn, I didn't even notice the function limitMessageTokens, thank you for reminding me. They really did it in a confusing way, they shouldn't use a parameter with the same name as the official API parameter to perform a completely different function

@RedwindA they pass it through a function limitMessageTokens that iterates through the messages starting at the most recent and prunes it so that it shows the max amount of complete messages before its token count would hit the max_tokens value.
I agree that their description of the max_tokens parameter is not consistent with what they are actually doing.

I had a pretty lengthy discussion about it in https://github.com/jackschedel/KoalaClient/issues/34 that you might want to read.


Add support for running synapse

Hardly any of the tests work, but it's a start!

Looks great, thanks!


fix missing autoupdate for amendment change recommendations

resolves #2225

The problem within the PDF export does not seem to be related to a missing subscription. Therefore I would suggest opening another issue for that.

The problem within the PDF export does not seem to be related to a missing subscription. Therefore I would suggest opening another issue for that.

New issue created: https://github.com/OpenSlides/openslides-client/issues/2257


Provide guideline about how to customize the look&feel of Harbor UI

support customizing product name
support customizing logo
support customizing login background image
support customizing about text with different languages

Coverage decreased (-0.1%) to 64.413% when pulling 3804e311a653b1ac2d26e35f20d98fd7d291a0e0 on updte_skinnable_doc into 67ae79989d8cf6f986f78f3685ac7a48c2a1da8a on master.


chore(master): release 1.15.8

:robot: I have created a release beep boop
1.15.8 (2024-01-29)
Bug Fixes

deps: update dependency pnpm to v8.15.1 (4474886)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/docker-node/releases/tag/v1.15.8 :sunflower:


Provide fabs, fmax, fmin

The C++ standard provides fabs, fmax, and fmin, with the same meaning as abs, max, and min. It would be convenient to have these available for nsimd::pack as well.

I assume you need them for writing code that can work on both SIMD vectors and scalars? If this is correct it means that it is only a C++ matter concerning the advanced API. As a consequence I don't think that adding them as operators is good. Instead I will create a new header called cxx_adv_api_aliases.hpp that will contain the functions that can be found in C++ standard. This header will of course be included automatically by nsimd-all.hpp.

This sounds good.


[packages] local formatter and CI formatter differ for objc

When running the formatter locally with pub global activate flutter_plugin_tools && pub global run flutter_plugin_tools format
It creates:
@interface MockApi2Host : NSObject <Api2Host>

CI wants:
@interface MockApi2Host : NSObject<Api2Host>

example: https://cirrus-ci.com/task/5285068852690944
cc @stuartmorgan

I'm confident this is just an effect of https://github.com/flutter/flutter/issues/39767


Feature/jbury autocomplete as module

Critical Changes
Changes
Issues Closed

@njjc - this is the pull request that is switching the autocomplete over to the shared component.

@dospromptman I'm still unable to get a diff here. I checked out this branch in git and did
git fetch lightningcomponents
git diff HEAD...lightningcomponents/autocomplete/master

fatal: ambiguous argument 'HEAD...lightningcomponents/autocomplete/master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

So I then did
git diff HEAD...lightningcomponents/autocomplete

and the result was blank. Any ideas? Are there just no changes for this merge?

@njjc there were definitely changes - https://github.com/SalesforceFoundation/Cumulus/pull/2444/commits/f17c733df96fedce690228cfce3d44cef88e0ae9 (changes are on the left)

I'm sure that's the case, I just can't figure out how to see them in a diff, which I need to do before I can merge.

I can't detect a difference, either.  I'll need to investigate a bit more to see exactly what happened here, but as a quick test I did a comparison of the actual files in each branch using the diff tool (not the git diff tool).  This indicated no differences between the actual files of each branch:
$ cd /tmp
$ git clone git@github.com:SalesforceFoundation/Cumulus.git Cumulus_dev
Cloning into 'Cumulus_dev'...
remote: Counting objects: 47962, done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 47962 (delta 19), reused 0 (delta 0), pack-reused 47915
Receiving objects: 100% (47962/47962), 64.92 MiB | 962.00 KiB/s, done.
Resolving deltas: 100% (37407/37407), done.
Checking connectivity... done.
$ cp -r Cumulus_dev Cumulus_autocomplete
$ cd Cumulus_autocomplete
$ git checkout feature/jbury-autocomplete-as-module
Branch feature/jbury-autocomplete-as-module set up to track remote branch feature/jbury-autocomplete-as-module from origin.
Switched to a new branch 'feature/jbury-autocomplete-as-module'
$ cd ..
$ diff --recursive --brief Cumulus_dev/ Cumulus_autocomplete/
Files Cumulus_dev/.git/HEAD and Cumulus_autocomplete/.git/HEAD differ
Files Cumulus_dev/.git/config and Cumulus_autocomplete/.git/config differ
Files Cumulus_dev/.git/index and Cumulus_autocomplete/.git/index differ
Files Cumulus_dev/.git/logs/HEAD and Cumulus_autocomplete/.git/logs/HEAD differ
Only in Cumulus_autocomplete/.git/logs/refs/heads: feature
Only in Cumulus_autocomplete/.git/refs/heads: feature

I looked at the f17c733 commit that Jenny pointed out, but if you compare, for example, the autocomplete.cmp file currently in dev, it has all of the changes from that commit.
Somehow, somewhere, this branch already got merged, I think.  Like I said, I'll have to do some more digging to figure out how and when that happened.

Using blame it looks like you merged in those changes 8 months ago. Weird.


Installation issues

Hi,
Can you please describe installation in details?
Thanks a lot
Kind regards
Meirbek

https://github.com/kiswa/TaskBoard/blob/master/README.md#installation


Feature/issue 512 speedup ode

Submission Checklist

[X] Run unit tests: ./runTests.py test/unit
[X] Run cpplint: make cpplint
[X] Declare copyright holder and open-source license: see below

Summary:
Internal changes to the non-stiff ODE solver which speedup ODE integration whenever the ODE RHS side is costly to evaluate. This is the case whenever complicated forcing functions are involved. For example, a dosing schedule in PK/PD models.
Intended Effect:
Make non-stiff ODE integration faster. This is realized by avoiding duplicate evaluation of the ODE RHS whenever the ODE integrator calls the () operator of the coupled_ode_system.
How to Verify:
Look at code changes and run tests

test/unit/math/rev/arr/functor/coupled_ode_system_test.cpp
test/unit/math/prim/arr/functor/coupled_ode_system_test.cpp

To observe the speedup I have run a benchmark which involves a costly ODE RHS and the execution time goes down from 3.51h (2.14.0) to 2.38h (this branch) which is a ~50% speed increase.
The tests required a minor adjustment. The old test code passed a dy_dt into the coupled_ode_system () operator which had the size of the base system. However, odeint will always pass in a vector as dy_dt into the coupled ode system () operator which is as large as the coupled system and expect that this vector is updated. Hence, we can do the update in-place instead of doing a reallocation which was done before. Therefore, tests need to pass a vector into the () operator which corresponds in size to the coupled ode system, i.e. the vector must be as large as the initial_state vector.
Side Effects:
None.
Documentation:
Reviewer Suggestions:
Anyone.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Sebastian Weber
By submitting this pull request, the copyright holder is requiring to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

I can review this early next week after the ONR grant gets done.  Or someone else might do it sooner.  @syclik or @betanalpha perhaps?

Sooner is always better, but early next week would be great, Bob.  Then it should be available with 2.15.
Thanks.

2.15 is still a ways off, but we want to start finishing off issues for it now.


Don't use nbsphinx_prompt_width to hide prompts

I'm creating this issue because your repo contains a conf.py file with
nbsphinx_prompt_width = 0

... presumably in an attempt to remove the prompts from code cells.
I just want to give you a heads-up that this will stop working once https://github.com/spatialaudio/nbsphinx/pull/439 is merged.
For more reliable alternatives, see https://nbsphinx.readthedocs.io/en/latest/custom-css.html.

Thanks for raising this issue! I consulted the nbsphinx docs you linked and fixed this issue in #68.


Added OkLog-Swift to Logging

Project URL

Category
https://github.com/diegotl/OkLog-Swift
Description
Logging
Why it should be included to awesome-ios (mandatory)
Because it's the only iOS implementation of the famous Android's OkLog.
Checklist

[x] Only one project/change is in this pull request
[ ] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[ ] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

1088
301
https://github.com/rs/SDWebImage redirects tohttps://github.com/SDWebImage/SDWebImage

1404
301
https://github.com/Hearst-DD/ObjectMapper redirects tohttps://github.com/tristanhimmelman/ObjectMapper

  Generated by :no_entry_sign: Danger

@diegotl  We cannot merge your PR yet until you write some tests for your lib. Feel free to open PR once it is ready.
Please check our CONTRIBUTION GUIDELINES


Removed what felt like test variable

This seemed to be an accident that it was still left there? Especially with the strtolower()
Ready to be removed in next update.

Original example;
Yes, Delete it! post
to
Yes, Delete it!
ref: https://github.com/the-control-group/voyager/blob/1.0/publishable/lang/en/voyager.php#L37

Thanks


upgrade quarkus version feature

This is a great project,but i can't run it in Quarkus 2.x.
Can u upgrade quarkus version to optimize it？
I think that a better way is share for Quarkiverse Hub  to make more people use it.

Hey @naah69, are you still interested in this? would you like to help?


URGENT: Please update required UDRs

Hi team!
An Azure Databricks customer noticed that Central Canada FQDNs are not updated. Because of that they weren't able to create and start clusters until they updated their route table with the new required FQDNs.
arprodcacentrala1.blob.core.windows.net <IP_ADDRESS>
arprodcacentrala2.blob.core.windows.net <IP_ADDRESS>
arprodcacentrala3.blob.core.windows.net <IP_ADDRESS>
arprodcacentrala4.blob.core.windows.net <IP_ADDRESS>
arprodcacentrala5.blob.core.windows.net <IP_ADDRESS>
arprodcacentrala6.blob.core.windows.net <IP_ADDRESS>
arprodcaeasta1.blob.core.windows.net <IP_ADDRESS>
arprodcaeasta2.blob.core.windows.net <IP_ADDRESS>
arprodcaeasta3.blob.core.windows.net <IP_ADDRESS>
Please update the documentation so we can have knowledge of the complete list of updated user defined routes required to allow Databricks workspace to work correctly. Specially for Canada Central region.
Greetings!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4d0d628b-c7a0-ba06-680a-e2d592eec9eb
Version Independent ID: 4d0d628b-c7a0-ba06-680a-e2d592eec9eb
Content: Azure Databricks regions - Azure Databricks
Content Source: databricks/resources/supported-regions.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

@dcasillasmun
Thanks for your feedback! We will investigate and update as appropriate.

@dcasillasmun
Thank you for bringing this to our attention.
I've delegated this to content author @mssaperla, who will review it and offer their insightful opinions.

@dcasillasmun It looks like the FQDNs match your list above. Is this still an issue?

Hi  @kateglee-db !
Yes, this issue with the documentation is solved now after several escalations.
Just as a comment, for future changes in the required UDRs please try to update the documentation timely.
Greetings!

@dcasillasmun For the record, the actual update to the page happened on 3/2/2023, so the information was made public asap.


Please fix issues reported by adapterchecker / JS-CONTROLLER 6 requirments

❗ [E033] @iobroker/adapter-core 3.0.4 specified. 3.1.4 is required as minimum, 3.1.4 is recommended. Please update dependencies at package.json
❗ [E035] @iobroker/testing 4.1.0 specified. 4.1.3 is required as minimum, 4.1.3 is recommended. Please update devDependencies at package.json
👀 [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
js-controller 6 requires adaptercore 3.1.4 or newer although there are several measurements implement to try to ensure compatibility with older adapter cores. But please plan to adapt the dependency to avoid any problems.

Unstale

Semms to be still open

I fixed this a while ago here https://github.com/copystring/ioBroker.roborock/commit/8e3919c5e88b06892abdfa200aa203f1cb6ea399, but I've been really busy the past weeks to really take care of this adapter. Thank you for the patience.


Compile CodeSmithyCore on Ubuntu

Added in 1feb646a2ef0d13f70f8bdec95655a4771a3828d. Testing stuck at pugixml stage. Need to install on Ubuntu.

Compiles successfully as of d9f13ad0393102e89fa0210469f48ed6ecc17a50


Need a context menu on the window to ease closing

Alt-F4 works currently but it'll be easier to have a right-click context menu.

Added by 5f384523c82737db123ffe0d37bc6e17444c5445.


⚠ Bofrost.at has degraded performance

In 053ed82, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1461 ms

Resolved: Bofrost.at performance has improved in 506218f.


Fix for issue 97. Aligns all var_args on the strongest alignment constraint

The var_arg block is an array of slots, one for each argument.
The size of the slot is based on the strongest alignment between "long int" and pointers.
Each argument is stored at the address of its slot.
This way va_arg takes the expected value at the current var_arg pointer and increments it by the slot size.
On x86_64, the slot size is 8byte.
On i386, MIPS, m68k, the slot size is 4byte.

Codecov Report

Merging #98 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #98   +/-   ##
=======================================
  Coverage   78.50%   78.50%
=======================================
  Files         349      349
  Lines       45526    45520    -6
=======================================
- Hits        35741    35737    -4
+ Misses       9785     9783    -2

Impacted Files
Coverage Δ

ppci/lang/c/codegenerator.py
95.42% <100.00%> (+0.16%)
:arrow_up:

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 eb4798f...ca4e910. Read the comment docs.

This pull request does not cover another current problem: it is not possible to pass struct args to a varrarg function.
Not required for printf, scanf & co but the C standard does not limit the possible types.
It should be easy to fix: ths fix puts each argument in a slot and increments the pointer by the slot size.
In case a type is larger than one slot, the caller will have to allocate as many slots as necessary, and will align the next argument to the next slot.
The important thing is to always keep the alignment.
I propose that we fix the printf & co problem now (scanf & co are not a problem since they use only pointers) and deal with the minor restriction for struct later.


Ability to create C APIs for gems

This will be similar to a C header file that will allow other gems using Rubex to easily access C API-level functions using Rubex.
The file should (probably) have extension .rubexh (for rubex header). And should store publicly available functions from the Rubex extension of a gem for use in other gems. This will make it easy for gems to make use of C level APIs of a particular gem.

This should be possible with the recently implemented multi-file functionality.


Add ADC support

Opening this issue to discuss the addition of ADC support.
Just as stated in my other issue #10 , I have an upcoming project that aims to process audio using Rust. For this project, I will need ADC support for audio input.
I am happy to add support for the ADC's, but unlike the PWM support, I do not know how much work is required.
Are there any points we need to discuss concerning the addition of ADC support?

As with PWM, if there's a HAL, we should use it. If there isn't a HAL, we should propose one (keeping it in this tree for now, until it is accepted/merged up-stream).
I haven't had need for an ADC so I'm open to suggestions on the API.

So, nrf52-hal has an API for their saadc peripheral. We could crib that?

Hey, thanks for pinging me on this. I've just started getting back into Rust / Embedded.
Just so we're clear, by API you're talking about the Saadc::new function and SaadcExt trait?

Hey, I`ve done some tinkering with the adc module, it´s very early tho. Suggestions and directions are welcome, there is a pull request #46

Hey, I`ve done some tinkering with the adc module, it´s very early tho. Suggestions and directions are welcome, there is a pull request #46


Added several vehicle properties and Vehicle::IsInBurnout

Thanks, looks good!
(Althoug I don't quite understand why we called it LightsOn instead of just Lights :P)

@JohnnyCrazy Because that's how it was called in GTAIV ScriptHookDotNet.


Updating the memory allocation

I'm fairly new to Linux commands and Docker setup.
I have a successfully running backup but I'm running low on a memory. Can anyone share a command to set the memory allocation for an already running backup? I have 16GB RAM available on my Synology and my backup is over 12TB.
Where do I enter the command "CRASHPLAN_SRV_MAX_MEM" ?
Thanks!

It goes in the "docker run" command when you first set up the container. For example:
docker run -d --name=crashplan-pro -e USER_ID=0 -e GROUP_ID=0 -e CRASHPLAN_SRV_MAX_MEM=8192M -p 5800:5800 -v /volume1/docker/appdata/crashplan-pro:/config:rw -v /volume1/:/volume1:ro jlesage/crashplan-pro
This will allocate 8 gigs of memory to it.

See https://github.com/jlesage/docker-crashplan-pro/blob/master/README.md#crashes--maximum-amount-of-allocated-memory for more details.

@excalibr18
Thanks for the help!
As you pointed it out, this command is used when setting up the container for the first time. How do I change the memory allocation now?
If I run this command "docker run -d --name=crashplan-pro -e USER_ID=0 -e GROUP_ID=0 -e CRASHPLAN_SRV_MAX_MEM=8192M -p 5800:5800 -v /volume1/docker/appdata/crashplan-pro:/config:rw -v /volume1/:/volume1:ro jlesage/crashplan-pro" will it affect somehow my current upload?
Basically, I'm looking for a command to change the memory allocation, on a running backup.

@jlesage Thanks for the links but there is no mention on how to change the memory allocation, on an already running backup. I see the command and the parameters but I need a noobie guidance ;)
FYI, I do not have a running CrashPlan/Code42 desktop app as it refuses to connect to my backup on Synology...

@tixtix: You'll have to stop the container, delete the container, then create a new one.  You shouldn't need to re-back up everything.  CrashPlan will scan and compare what's already been upload and then pick up from where it left off.

@excalibr18 I understand. This is what I was trying to avoid hoping that there is a command only for changing the memory allocation. I guess there is not. Thanks!
If there is one more thing, if I can bother you?
How can I make a CrashPlan/Code42 desktop app running? Back in the "Patter" days, I had to edit the .ui_info file. Somehow it doesn't work this time around. Any ideas?
Thanks!

You're welcome!

@tixtix, I will add to the README some details about how to change parameters of a running container.
I guess this issue can now be closed.


Radix Sort [Java]

This issue is about RadixSort.

[x] Issue Title is in form Radix Sort[Java].
[x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
[x] This Algo/DS is worth adding to this repository.
[x] Assign this issue to me (I want to work on this).

[x] I ensure that I am not already assigned to 2 or more issues.

[x] I will send my PR only after I'm assigned to this issue by any maintainer.
[x] I understand that I will be unassigned from this issue if I fail to send a PR for this within a week.

The contributors most likely able to help are:
@Monal5031
Possible duplicate or related issues are:

#398: Radix Sort [Python]


Teams Desktop Client

We have tried this on numerous web app through application proxy and we always see the same problem in the desktop client. The page displays "Trying to sign you in" and fails. Users can then manually login and everything works fine, but it's not a great experience. Using the Teams Web App, everything works fine, but a new tab opens and the client authenticates using the session cookie.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 819f25bf-2780-5982-aa35-9a4ca275292f
Version Independent ID: 111fce92-0ddb-3a5e-be15-0e99aca72c5b
Content: Access Azure AD App Proxy apps in Teams
Content Source: articles/active-directory/manage-apps/application-proxy-integrate-with-teams.md
Service: active-directory
Sub-service: app-mgmt
GitHub Login: @msmimart
Microsoft Alias: mimart

@linusjody Thanks for your feedback! We will investigate and update as appropriate.

@linusjody Have you created a support ticket for this ?  I suggest you to please open a Azure Support Ticket so that Identity Support engineer can check further on this issue. In case you limitations in your support plan to open support ticket please let me know.

@linusjody We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


[F38] Crash on game loading

Version: Cemu-2.0^20230415gita6e9481-1.fc38.x86_64
After upgrading to F38, Cemu crashes on loading games (BotW, Bayonetta 2).

RPMFusion Nvidia drivers are working
Tried removing shader cache (per game, and the entire folder ~/.cache/Cemu/shaderCache)
Tried updating graphics packs
Tried disabling graphics packs

$ Cemu

(Cemu:6645): Gtk-CRITICAL **: 14:00:53.493: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar
Segmentation fault!
Error: signal 11:
Cemu(+0x179d5a) [0x563fe1d70d5a]
/lib64/libc.so.6(+0x3dba0) [0x7fafb685eba0]
Cemu(+0x179d5a) [0x563fe1d70d5a]
Cemu(+0x24b4fd) [0x563fe1e424fd]
Cemu(+0x2c8f98) [0x563fe1ebff98]
/lib64/libc.so.6(+0x54e10) [0x7fafb6875e10]

log.txt

Updated the package to Cemu-2.0^20230417gite3e167b-1.fc38.x86_64, no change
The problem seems related to multi-core recompiler.

BotW with multi-core recompiler (default) crashes on load Cemu-botw-multi.log
BotW with single-core recompiler works, obviously much worse performance Cemu-botw-single.log
Single-core interpreter also works

Discovered this because Xenoblade Chronicles X uses Single-core recompiler by default and it didn't crash.

Workaround
It's possible to get the F37 build of Cemu working on F38.
cubeb also has to be downgraded because the package has changed in F38 to provide a static library (/usr/lib64/libcubeb.a instead of /usr/lib64/libcubeb.so.0)
Install F37 build of Cemu and cubeb:
sudo dnf in https://kojipkgs.fedoraproject.org//packages/cubeb/0.2/6.20200409.git9caa5b1.fc36/x86_64/cubeb-0.2-6.20200409.git9caa5b1.fc36.x86_64.rpm https://download.copr.fedorainfracloud.org/results/jn64/Cemu/fedora-37-x86_64/05804439-Cemu/Cemu-2.0^20230417gite3e167b-1.fc37.x86_64.rpm

Note the cubeb build says fc36, but that is the build used in F37 repos as well.

Differences between F37 and F38
I have no idea what could be responsible for this issue, but I'll note some differences in F37 and F38:

package
f37
f38

glib2
2.74.7
2.76.1

glibc
2.36
2.37

clang
15.0.7
16.0.0

cubeb^
0.2-6.20200409.git9caa5b1
0.2-10.20220915.git28c8aa4.fc38

freeglut
3.2.2
3.4.0

vulkan-headers
<IP_ADDRESS>
<IP_ADDRESS>

^Note also the above-mentioned change to static lib cubeb in F38
The full build logs contain more information: F37 build log and F38 build log.

Other notable changes are to default build flags in F38:

Add -fno-omit-frame-pointer and -mno-omit-leaf-frame-pointer to default compilation flags
Add _FORTIFY_SOURCE=3 to distribution build flags (was =2 in F37)

I have no idea what they do, but I've tested building Cemu on F38 with either change opted out, and it didn't solve the problem. Of course, many dependencies in F38 are also rebuilt with these flags.

It may be related to clang 16 on F38. I'm pushing a build that uses gcc on F38 now

In the F38 changeset on LLVM-16 there is something about thin LTO:

In addition, the default LTO mode for Fedora packages compiling with clang will be changed from "Full LTO" to "Thin LTO". "Thin LTO" uses much less compiler resources than "Full LTO", and is better tested and supported by upstream. Note that this will not be a change to clang itself, but rather a change to the compiler flags for clang in redhat-rpm-config.

so I guess next step is to try building with clang 16 on F38, with -flto  or -flto=auto?
$ rpm --showrc | grep lto_cflags
local lto_flags_pattern = rpm.expand("%{?_lto_cflags}"):gsub("[%-%.]", "%%%1")
-13: _annotation_ldflags	%{?_lto_cflags:%{_annotation_cflags}}
-13: _clang_extra_ldflags	%{?_lto_cflags} -fno-openmp-implicit-rpath
-13: _clang_lto_cflags	-flto=thin
-13: _gcc_lto_cflags	-flto=auto -ffat-lto-objects
-13: _general_options	-O2 %{?_lto_cflags} -fexceptions -g -grecord-gcc-switches -pipe
-13: _lto_cflags	%{expand:%%{_%{toolchain}_lto_cflags}}
  [ "%{_lto_cflags}"x != x ] && %{_fix_broken_configure_for_lto};

That wasn't it. clang build with -flto=full still crashes. So it's something else about clang 16 on F38.


Function argument spread order with union type tuples

Apologies if this is a feature and not a bug, but it seems like a bug to me, since you can achieve the desired behavior by writing more runtime code.

TypeScript Version:  3.3.3 (still true in 3.4.0-dev.20190208)

Search Terms:
function argument spread order with union type tuples
Code
type ArgsUnion = [number, string] | [number, Error]
type TupleUnionFunc = (...params: ArgsUnion) => number

// arguments are a union of tuples
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
  // (parameter) num: string | number | Error
  return num // fails
}
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
  const [num, strOrErr] = params
  return num // succeeds!
}

Expected behavior:
num variable should preserve order of tuple types
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
  // (parameter) num: number
  return num // succeeds
}

Actual behavior:
funcUnionTupleNoRest does not preserve order of rest parameters on tuple
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
  // (parameter) num: string | number | Error
  return num // fails
}

There is a workaround to this by using function overrides instead of union argument types, though they are less convenient because on each function declaration, each parameter needs to be typed individually
Playground Link: https://www.typescriptlang.org/play/index.html#.....
Related Issues:

https://github.com/Microsoft/TypeScript/issues/22564

😄 Thank you!


Decode statically

Summary
I am proposing here is that we move from away from a von Neumann architecture and towards a modified Harvard architecture.
Details
At the moment we mix up decoding and execution of the guest program.  (That allows us to support self-modifying code: you can eg implement a JIT that writes some new machine code to a memory address, and then jumps there to execute that.  Not that we ever want to do that.)
I am suggesting that we stop supporting self-modifying code, and that we decode ahead of time.
Specifically our Program type would change as follows:
/// A RISC Zero program
 #[derive(Clone, Debug)]
 pub struct Program {
     /// The entrypoint of the program
     pub entry: u32,
     /// This is the lowest address of the program's executable code
     pub base_address: u32,
     /// The instructions of the program
-    pub instructions: Vec<u32>,
+    pub instructions: BTreeMap<WordAddr, DecodedInstruction>,
     /// The initial memory image
     pub image: BTreeMap<u32, u32>,
 }

And DecodedInstruction would become a much simpler structure with entries that are directly useful both for the emulator and for the circuits:
#[derive(Clone, Copy, Debug)]
pub struct DecodedInstruction {
    pub kind: InsnKind,
    /// The index of the first source register.
    ///
    /// Instructions that do not read a source register will have this set to 0.
    pub rs1: u32,
    /// The index of the second source register.
    ///
    /// Instructions that do not read a second source register will have this set to 0.
    pub rs2: u32,
    /// The index of the destination register.
    ///
    /// Instructions that do not write to a destination register will have this set to `RD_NULL`.
    pub rd: u32,
    /// The immediate value.
    ///
    /// This should be able to handle i32::MIN to u32::MAX, so we need i64.
    /// Conversion to a field element can happen with eg `crate::utils::i64_to_base`
    ///
    /// Instructions that don't use an immediate value will have this set to 0.
    pub imm: i64,

    /// The original encoded instruction word.
    ///
    /// This is useful for debugging and logging.
    /// TODO(Matthias): we still use this otherwise, remove those uses.
    #[allow(dead_code)]
    pub word: u32,
}

(Note: no weird fields with meanings that are too hard to explain.)
Stepping through the program in the emulator becomes simpler, but the real gain is that we no longer have to prove the relationship between the instruction as a u32-word and the decoded components of the instruction: the circuits no longer need to know that an instruction can even be encoded as a machine word.  It's irrelevant to them.
See https://github.com/scroll-tech/ceno/pull/519 for a prototype

With Ceno we are defining and implementing an interpretation of the RiscV spec.
Ideally, we keep that very simple and straightforward.  As much as possible.  We don't want to be clever.  We don't want to be subtle.  We don't want to be tricky.  We want to be boring.
Alas, at the moment we are actually defining (at least) two interpretations of the RiscV spec: one in the emulator, largely copied-and-pasted from Risc0, and one in the prover.
Those two ain't the same.  As Ming helpfully pointed out, some of my complaints actually only apply to our emulator, and it was naive of me to assume that our prover and our emulator speak the same language.  They don't.
My bold proposal is that we should make them speak the same language.  As much as possible, everything that's allowed (or banned) in the prover should be allowed (or banned) in the emulator, and vice versa.  They should behave the same way.
Writing a Risc-V emulator is fairly straightfoward, especially if, like us, you don't have too wring out every last bit of performance out of this part of the system.  (Just to remind you, the majority of the time is spent in the prover, not the emulator.)
Writing a Risc-V prover is a whole different kettle of fish.  It's a lot more complicated, and a lot more subtle.  It's also a lot more important to get right.  I suggest we make both parts of the system speak the same language, and that we make the prover the master of that language.
Making prover and emulator speak obviously the same language helps with reviewing the constraints for correctness: 'just' check if they allow exactly the same behaviour as the emulator.  I say 'just' in scare quotes, because that's already hard enough.  But it's infinitely easier and less error prone than deliberaterly designing two different languages and then trying to figure out how they relate to each other, and which deviations are intentional and which are bugs.
https://github.com/scroll-tech/ceno/issues/539 is an interesting illustration of the difficulties here.


Fix unloaded files merge

A test case and an attempt at fixing #433

I'm not familiar enough to review this properly - the model seems weird but this change seems reasonable without a more extensive refactoring (if that's even appropriate).
Will wait for either someone else to chime in or a confirmation that this has fixed #433 before merging.
Thank you!

Just FYI there’s a different fix for the same issue:
diff --git i/lib/simplecov/merge_helpers.rb w/lib/simplecov/merge_helpers.rb
index 339210d1..ca6b8a9f 100644
--- i/lib/simplecov/merge_helpers.rb
+++ w/lib/simplecov/merge_helpers.rb
@@ -2,6 +2,12 @@ module SimpleCov
   module ArrayMergeHelper
     # Merges an array of coverage results with self
     def merge_resultset(array)
+      # Don't merge with all-zero array to preserve nil values from actual runs.
+      if size == array.size
+        return array.dup if all? { |el| el == 0 }
+        return dup if array.all? { |el| el == 0 }
+      end
+
       new_array = dup
       array.each_with_index do |element, i|
         if element.nil? && new_array[i].nil?

See https://github.com/Homebrew/homebrew/pull/48250#issuecomment-173171990.

Closing in favour of #441


Add example A2C and PPO agents from Ilya's repo

This PR adds an example agent from Ilya's PyTorch A2C, PPO, ACKTR, and GAIL repo (which I've been abbreviating as PAPAG).  I basically ported over the main.py from his repo and AgentOS'd it (i.e. made it play nice with our model saving/loading system and track training stats).
Currently it runs against environment PongNoFramskip-v4 (this env is not broken out into its own component yet) and you can choose between A2C and PPO algos by passing a specific argument set.  There's an argument set for ACKTR as well, but that doesn't converge on my CPU.
To demo:
# Train A2C
agentos run agent --entry-point learn --arg-set-file a2c_pong_args.yaml
# Evaluate A2C
agentos run agent --entry-point evaluate --arg-set-file a2c_pong_args.yaml

# Train PPO
agentos run agent --entry-point learn --arg-set-file ppo_pong_args.yaml
# Evaluate PPO
agentos run agent --entry-point evaluate --arg-set-file ppo_pong_args.yaml

I also went through and upgraded PyTorch in the reqs for the agents that need it.  I'm not sure the upgrade is strictly necessary, so maybe you could try creating a new environment on your M1 and see if this upgrade breaks everything 😬  (if so, I'll try to back out the upgrade and see if everything still works).

It looks like the certificate for the pytorch extra index site expired, breaking the install of the CPU-only torch on linux. :/
Hopefully they will fix soon...

@andyk this is ready for a review!

I got your branch working locally and pushed some bug fixes in a PR against your branch at https://github.com/nickjalbert/agentos/pull/9

Merged your updates, and build is green.  Merging!  Thanks for the review. :)


Logging is holding up the request thread?

From @bmenasha on June 27, 2017 20:41

Node.js version: v8.1.1
npm version: 5.04
google-cloud-node version: 0.4.1   (@google-cloud/logging-winston)

Steps to reproduce
var winston = require('winston');
require('@google-cloud/logging-winston');
winston.add(transport, {projectId: 'redacted', level: 'debug', name: 'mylogger',  logName: 'nodjs.log'});

when I examine the requests in cloud trace it's clear that the request is being held up by calls to the logging API, worse, there are MULTIPLE calls to the cloud logging api in a single request.  This results in some pretty poor performance.  Consider:
![selection_999 136](https://user-images.githubusercontent.com/6843728/27608499-c7ec1e3e-5b55-11e7-8946-e2402e38c3fb.png)

Here is a stackdtrace from one of these logging calls:
clientMethodTrace [as writeLogEntries] (node_modules/@google-cloud/trace-agent/src/plugins/plugin-grpc.js:67:22)
<anonymous function> (node_modules/@google-cloud/logging/src/v2/logging_service_v2_client.js:137:51)
timeoutFunc [as _apiCall] (node_modules/google-gax/lib/api_callable.js:177:12)
Task.run [as run] (node_modules/google-gax/lib/bundling.js:202:29)
BundleExecutor._runNow [as _runNow] (node_modules/google-gax/lib/bundling.js:451:8)
<anonymous function> (node_modules/google-gax/lib/bundling.js:390:12)
_onTimeout (node_modules/async-listener/glue.js:188:31)
ontimeout (timers.js:488:11)
tryOnTimeout (timers.js:323:5)
listOnTimeout (timers.js:283:5)

Perhaps this is due to the VERY aggressive 10ms  bundling in the gax config file:
        "WriteLogEntries": {
          "timeout_millis": 30000,
          "retry_codes_name": "non_idempotent",
          "retry_params_name": "default",
          "bundling": {
            "element_count_threshold": 100,
            "request_byte_threshold": 1024,
            "delay_threshold_millis": 10
          }
        },

I think we should have better defaults (batch/bundle more) and also find a way to send these log (and trace) requests asynchronously so they don't block the current request from returning.
Thanks
Copied from original issue: GoogleCloudPlatform/google-cloud-node#2416

From @lukesneeringer on July 5, 2017 15:14
@bmenasha Thank you for reporting this (and sorry it took so long to get back to you on it).
I am guessing delay_threshold_millis should have been 10,000 instead of 10, but I am not the most familiar with this module. Would that make sense in your mind?
I also agree that this should not block.

From @bmenasha on July 6, 2017 3:48

Would that make sense in your mind?

Sure.

@lukesneeringer should we go ahead and update this value, or is there someone we need to ping first?

From @landrito on August 9, 2017 22:28
Updating this gax value would involve changing it at the generator config level for logging. I'd like to invite @pongad to chime in on changing this to 10,000 from 10.

From @ofrobots on August 14, 2017 18:37
A few points here:

Logging is not synchronous, but you can write business logic to wait for logging to finish before proceeding with your business logic. Looking at the screenshot @bmenasha posted, you will notice that the first call to logging is done in parallel with the rest of the business logic, while the second call is being done in a way that the final mongo-update is dependent on the logging call to finish. @bmenasha: you should be able to avoid this dependency in your own code by moving the mongo-update logic outside of the callback from log.write. Let me know if my guesses here are incorrect.
Unless I am mistaken, the default value at present seems to be 50ms rather than 10ms: https://github.com/GoogleCloudPlatform/google-cloud-node/blob/118b622db780e25e63bf5e19fefa16d9782a10ab/packages/logging/src/v2/logging_service_v2_client_config.json#L44. @bmenasha do you want to move to a more recent version of the logging library? Also note that you may want to use individual modules (e.g. @google-cloud/logging) rather than using the meta-package.
On increasing the default value, there is a trade-off in the bundling latency. If your process crashes before the logs have been flushed, you will lose those logs. I'm strongly -1 on using 10 seconds as the default. 50ms sounds like a reasonable number to me. Note that changing this value will have no impact if these expensive logging calls are user initiated (as is my guess based on the traces).

@pongad Node is concurrent through asynchronous APIs. Network calls do not block user code, but you can write code that waits for the network call to finish before proceeding.

From @pongad on August 10, 2017 5:6
I'm not familiar with how bundling is implemented in node. I'm a little confused that it blocks. Node in single threaded, so if you block waiting for either 100 elements in the batch or 10ms to pass before sending the request, you'll always wait 10ms since nothing can add more elements into the batch right? Did I misunderstand?
Or maybe we're waiting to send one batch because there's another batch pending or something...?

From @ofrobots on August 14, 2017 18:43
@bmenasha I also noticed that your logging calls seem very expensive – that doesn't look normal, unless you are logging large amounts of data. Can you verify that is the case? Also, are you using the logging library directly or are you using the higher level libraries (google-cloud/logging-winston, google-cloud/logging-bunyan)?

@bmenasha @ofrobots just for clarity-- is there a bug here?

From @ofrobots on September 1, 2017 22:37
I don't believe there is a bug here, but It would be good to get input from @bmenasha to make sure I am not making any incorrect assumptions.

I'm going to close, given the age of the issue. If there is still work left to be done, please let me know, and we will re-open.


Deep copy of a platform produces errors

There is problem with platforms/sensors are copied. I believe it's related to the weak reference between the sensor and platform. It may be related to this stackoverflow post. Example code which shows errors is given below:
# Import external dependencies
import datetime
import copy
import numpy as np
import traceback

from stonesoup.types.state import State
from stonesoup.types.array import StateVector, CovarianceMatrix
from stonesoup.models.transition.linear import (
    ConstantVelocity,
    CombinedLinearGaussianTransitionModel
)
from stonesoup.platform.base import MovingPlatform
from stonesoup.sensor.radar.radar import RadarRangeRateBearingElevation

# Set up Radar Model
transition_model = CombinedLinearGaussianTransitionModel(
    (ConstantVelocity(0), ConstantVelocity(0), ConstantVelocity(0)))

pos_mapping = np.array([0, 2, 4])
vel_mapping = np.array([1, 3, 5])
noise_covar = CovarianceMatrix(np.eye(4))

radar1 = RadarRangeRateBearingElevation(ndim_state=6,
                                        position_mapping=pos_mapping,
                                        velocity_mapping=vel_mapping,
                                        noise_covar=noise_covar)

# create a platform with the simple radar mounted
timestamp_init = datetime.datetime.now()
platform_1_prior_state_vector = StateVector([[5], [0], [0], [0.25], [0], [0]])
platform_1_state = State(platform_1_prior_state_vector, timestamp_init)

mounting_offsets = [StateVector([[0], [0], [0]])]
rotation_offsets = [StateVector([[0], [0], [0]])]

transition_model = CombinedLinearGaussianTransitionModel(
    (ConstantVelocity(0), ConstantVelocity(0), ConstantVelocity(0)))

platform_1 = MovingPlatform(states=platform_1_state,
                            position_mapping=pos_mapping,
                            velocity_mapping=vel_mapping,
                            transition_model=transition_model,
                            sensors=[radar1],
                            mounting_offsets=mounting_offsets,
                            rotation_offsets=rotation_offsets)

target_state = State(StateVector([[0], [0], [0], [0], [0], [0]]), timestamp_init)

# Make a measurement with a platform
measurement_pol_1 = platform_1.sensors[0].measure(target_state)

# 1st Error - Try and create another platform and make a measurement
platform_2 = copy.deepcopy(platform_1)

try:
    measurement_pol_2 = platform_2.sensors[0].measure(target_state)
except ValueError as error:
    #print(error)
    print(traceback.format_exc())

print("-------------------------------------------------------")
# 2nd Error - Try and create a new radar to fix previous error

platform_3 = copy.deepcopy(platform_1)
radar3 = RadarRangeRateBearingElevation(ndim_state=6,
                                        position_mapping=pos_mapping,
                                        velocity_mapping=vel_mapping,
                                        noise_covar=noise_covar)

platform_3.sensors[0] = radar3

try:
    measurement_pol_3 = platform_3.sensors[0].measure(target_state)
except AttributeError as error:
    #print(error)
    print(traceback.format_exc())

There is an easy work around, just hardcode the extra platform & sensor so this is a low priority.

The stack overflow post that Greg links describes a fix that explicitly sets weakrefs in a custom __deepcopy__ implementation.
Given that we know the type of our properties, a fix could probably be made in Base to allow deepcopying with weakrefs.
@sdhiscocks I'd appreciate your thoughts before I try implementing.

Also, I think (though haven't tested) that the problem with Greg's second approach is that  platform_3.sensors[0] = radar3 does not properly set the weakref anyway. Maybe the docs should specify this.
@gawebb-dstl Does the following work?
platform_3.sensors = []
platform.add_sensor(radar3)

@etfrogers-dstl
platform_3.sensors = []
platform.add_sensor(radar3)

Yes that does work

Also, I think (though haven't tested) that the problem with Greg's second approach is that platform_3.sensors[0] = radar3 does not properly set the weakref anyway. Maybe the docs should specify this.
@gawebb-dstl Does the following work?
platform_3.sensors = []
platform.add_sensor(radar3)

Yes that does work

Thanks Greg, that's good to have checked. I'm not sure we can prevent people from editing the list directly (like you did), but maybe we should highlight the problem in the documentation somewhere.

Can the sensor list be made protected to deter people from editing the list directly?

I can make it _sensors (private), but I can see use cases where reading it would be useful.
I can make the property read-only, (so platform_3.sensors = [] would raise an error), but this wouldn't stop the line platform_3.sensors[0] = radar3. I can't see at the moment how this can be stopped, given the nature of python lists.

The stack overflow post that Greg links describes a fix that explicitly sets weakrefs in a custom __deepcopy__ implementation.
Given that we know the type of our properties, a fix could probably be made in Base to allow deepcopying with weakrefs.
@sdhiscocks I'd appreciate your thoughts before I try implementing.

Sounds good to me.

I can make it _sensors (private), but I can see use cases where reading it would be useful.
I can make the property read-only, (so platform_3.sensors = [] would raise an error), but this wouldn't stop the line platform_3.sensors[0] = radar3. I can't see at the moment how this can be stopped, given the nature of python lists.

You could have the getter return a tuple of the sensors?
You could instead make a custom MutableSequence for sensors that moves logic of add_sensor to __setitem__ or insert. I think this would be getting too complicated, and probably has other issues.

You could instead make a custom MutableSequence for sensors that moves logic of add_sensor to __setitem__ or insert. I think this would be getting too complicated, and probably has other issues.

I tried mapping this out but (as you suggested) there are other problems. The MutableSquence would need to know the platform with which it was associated, leading to another round of circular references. The tuple solution is simpler and does well enough I think, though I also needed to add remove_sensor methods that way. #263 addresses these issues


Migrated to null safety

This closes Issue #19

@basudev1234 Hey! Can you merge this if you find it acceptable?


Do not run tests if label no tests

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[x] Other (please describe): Supports no tests label

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

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

Project coverage is 42.38%. Comparing base (b911372) to head (bea4754).

:exclamation:  There is a different number of reports uploaded between BASE (b911372) and HEAD (bea4754). Click for more details.
HEAD has 265 uploads less than BASE

Flag
BASE (b911372)
HEAD (bea4754)

unit
36
1

go-1.21.x
24
1

ubuntu
52
1

macOS
12
0

go-1.22.x
24
0

integration
36
0

ydb-23.3
12
0

go-1.23.x
28
0

windows
12
0

ydb-24.2
12
0

ydb-24.1
12
0

ydb-nightly
4
0

experiment
4
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1528       +/-   ##
===========================================
- Coverage   70.98%   42.38%   -28.60%
===========================================
  Files         356      300       -56
  Lines       37483    32503     -4980
===========================================
- Hits        26606    13778    -12828
- Misses       9772    18251     +8479
+ Partials     1105      474      -631

Flag
Coverage Δ

experiment
?

go-1.21.x
42.38% <ø> (-28.10%)
:arrow_down:

go-1.22.x
?

go-1.23.x
?

integration
?

macOS
?

ubuntu
42.38% <ø> (-28.60%)
:arrow_down:

unit
42.38% <ø> (+1.44%)
:arrow_up:

windows
?

ydb-23.3
?

ydb-24.1
?

ydb-24.2
?

ydb-nightly
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Inspired by mlhep

[x] remove temporary folders
[x] get rid of periodic updates of the home page (it disturbs when doing push)
[x] add notifications about successfull fork/push
[x] always try to build the image (even if the image from the same url/commit sha has failed before)
[ ] somehow solve the problem with proxy (503 error)

Updated after #141

Updated after #142


Bevy 0.11 Update

All examples are tested and work on my machine TM.
Some concerns I have are with the shader imports, they work but I'm not great with wgsl so I had to duplicate the locations instead of using an import due to the changes in Bevy 0.11.  Also constants were giving an exotic error message so I moved them into the functions that used them.
Also anisotropy_clamp must be set now, I don't personally know the details but it was previously none and wgpu has the default as 1 so I went with that.
Change detection magic timer matches the recommended time in the migration guide.
Otherwise nothing major, a couple of undocumented fixes I had to find the PRs for and silent failures but nothing too bad.
Closes #439

With regard to the duplicated stuff after the shader import changes, I think something like this works.
https://gist.github.com/rparrett/b122349a0ed2a13dd3d303cd085c50db

That does work and makes the final result better than the original code

Could you check out the shader errors in column_even_hex.wgsl and column_odd_hex.wgsl?
I'm seeing them in the hexagon_column and hex_neighbors examples. (Press space to toggle modes, some are broken)

Those examples should work now and I did a spot check over all the shaders and they all have any imports I can see.  Is there a good way to force a verification or something?  These runtime shader issues are fragile.
Also I keep moving const declaration into the functions that use them because of this shader error:
Composable module identifiers must not require substitution according to naga writeback rules: `bevy_ecs_tilemap::column_even_hex::SQRT_3`
I have no idea what this could mean or what the right solution to that is but moving the constants solves the error.


Remove new labels, break helm template upgrade/downgrade

Adding labels make kubectl unhappy:
&{0xc4201143c0 0xc420396150 istio-system istio-galley /workspace/istio-master/go/src/github.com/costinm/istio-install/test/istio-system-1.0.6.yaml 0xc42000c520 98311441 false}
for: "/workspace/istio-master/go/src/github.com/costinm/istio-install/test/istio-system-1.0.6.yaml": Deployment.apps "istio-galley" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"istio":"galley"}: `selector` does not match template `labels`
Error from server (Invalid): error when applying patch:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [costinm]

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

/hold costin says he'll take another pass at this

@costinm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-simpleTests-cni.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests-cni

prow/e2e-mixer-no_auth.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-simpleTests-cni.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests-cni

prow/e2e-mixer-no_auth.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-mixer-no_auth

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio_auth_sds_e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-simpleTests-cni.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests-cni

prow/e2e-mixer-no_auth.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-mixer-no_auth

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio_auth_sds_e2e

prow/e2e-simpleTests.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-simpleTests-cni.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests-cni

prow/e2e-mixer-no_auth.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-mixer-no_auth

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio_auth_sds_e2e

prow/e2e-simpleTests.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests

prow/istio-pilot-multicluster-e2e.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-minProfile.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTestsMinProfile

prow/e2e-dashboard.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-dashboard

prow/e2e-bookInfoTests-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-simpleTests-cni.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests-cni

prow/e2e-mixer-no_auth.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-mixer-no_auth

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio_auth_sds_e2e

prow/e2e-simpleTests.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test e2e-simpleTests

prow/istio-pilot-multicluster-e2e.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
7589e3a936c8d9dc286541dbcece8bf10782fbbb
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Add option to keep empty stacks instead of deleting them

Aids repopulating merchants as necessary by keeping the empty stacks instead of throwing them away.
Defaults to current behaviour of deleting stacks.

It makes it consistent with pf1 behavior. Thanks!

Available in v-1.8.0. I improved it with fr translation and making buy/loot action invisible when quantity = 0