feat(parser): add --login=true to auth:register

This flag allows users to enable/disable automatic login after registering a user.
closes #266

Current coverage is 72.39% (diff: 62.50%)

Merging #269 into master will decrease coverage by 0.04%

@@             master       #269   diff @@
==========================================
  Files            57         57
  Lines          3925       3930     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2843       2845     +2
- Misses          773        776     +3
  Partials        309        309

Powered by Codecov. Last update 50451f8...4184a84

disregarding codecov because it's reporting on old code. Merging!

Thanks!


Change how OptionalData are represented inside posts

Context
Currently when working with Mooncake, we found ourselves struggling when using a post's optional data field.
Particularly, trying to perform a transaction that create a post using that field results in an error being returned:
{
  "jsonrpc": "2.0",
  "id": -1,
  "error": {
    "code": -32603,
    "message": "Internal error",
    "data": "unsupported type map"
  }
}

Talking with the Tendermint team, it seems like this is a problem with Go-Amino, the library used when (de)serializing JSON objects including messages. Particularly, it seems it does not support maps.
Solution
In order to solve this problem, we should change how optional data are represented inside posts. A better and supported approach would be to use a list instead:
OptionalData   []OptionalData  `json:"optional_data,omitempty" yaml:"optional_data,omitempty"`

Where OptionalData is a new type defined as:
type OptionalData struct {
  Key   string `json:"key`
  Value string `json:"value"`
}

Notes
The only thing to consider when adopting this approach is how things should be handled during an automatic upgrade.
Right now I've asked the Cosmos SDK team the following question and I'm waiting for their response. I'll update this issue once I get the answer.

Ethan has confirmed in this Discord message that the best way to solve this is by performing a migration as I've suggested.
For this reason, when implementing this change an upgrade handler should also be implemented. It should:

Read all the posts in the old format
Convert each data in the new format replacing the map with a slice
Store the data in the new format

If everything wrong happens, an error should be returned. As Ethan said:

If anything errors, the upgrade process aborts, and the changes are not written to disk, so best to error or panic on any trouble running the migration


Merge prTesting_201903311020 branch to master branch

Docs Build status updates of commit fa29c35:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Plots

[CO] If x_min and/or  x_max is given by user, it takes over is_auto_range
[NF] Enable to make animation without axes/title/legend

Thank you for your contribution :)


Feature/update adapter types

Codecov Report

Merging #63 (3d287d3) into next (94d5aae) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             next      #63   +/-   ##
=======================================
  Coverage   95.11%   95.11%
=======================================
  Files          21       21
  Lines         859      859
  Branches       52       52
=======================================
  Hits          817      817
  Misses         38       38
  Partials        4        4

Flag
Coverage Δ

Packages
97.35% <ø> (ø)

Samples
78.84% <ø> (ø)

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

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 94d5aae...3d287d3. Read the comment docs.


Update security config

This pull request introduces the following changes to the security config reconciliation:

Switch to use embedded files for default config.  This allows us to check the default secret is created in the tests as we access to the files
Switch to using subPaths and using the default config directory.  This gains some limited forward compatibility if new config files are introduced; we don't need to immediately update the operator
Allow the user to only override the files they want to change.  The other files will be populated from the default config.  This is a QoL feature, in many cases the user will only want to override the internal_users.yml
Expanded testing to cover the above situations.  Have also imported a kubernetes match library we use in the Opni team.

Closing this in favour of #198


[JETI-7, JETI-4, JETI-3] Upgrade to support @tableland/sdk v4, add publishing, and create tests

Upgrade to support @tableland/sdk v4.
Add publishing: We have added the necessary configuration and scripts to enable seamless publishing of the library to NPM.
Create tests: Created a few basic tests which can be built on, and include mocks for the ipfs-http lib.
Switch from Jest to Mocha: In order to maintain consistency across our JavaScript repositories, I switched the testing framework from Jest to Mocha.

Left a few comments inline. Should we setup the standard staging branch and point this PR at it?

Done, set up, added branch protection rules, and pointed this PR at it.

Looking good! Only last nitpicks are I think the prepublishOnly value has to include npm run, but I'm not sure.
Also in our other repos we leave the package.json version should be "0.0.0".  The publish action will update it while running.

Good point. Updated the version 0.0.0 and add the npm run to it.


Quick Links menu on Events page has incorrect background

Issue or Suggestion Description
Quick Links menu on Events page has incorrect background

Related PR fixing menu in other parts: https://github.com/espressif/developer-portal/pull/60


Usability - snippet action

Hello.
This is the only extension that gives the user the possibility to order, reorder and collect its own snippets in a very handy way !
Thank you, for building such a nice tool.
I have some feature requests:

It would be great, if the user start the snippet-action by a mouse-double-click. Currently it is just 1x click and it will be inserted imidiantly. This cause many times wrong inserts, because you click on the snippet to move it somewhere, or you click by accident 1x time on it. I would suggest to leave the user 2x options which he can turn on or off inside the extentions-options of snippets.

In addition to the double-click, you could also implement a small-button-icon on the left of the snippet. So instead by clicking on the snippet name, the user needs to click 1x time on the small-button-icon to perform the action. Just an idea.

colorizing folders: we are able to create our own folders & subfolders. Therefore it would be a nice feature to colorize them (no need for a icon) to have a fast overview of some special folders defined by the user.

Thanks @weekendkoder for your wonderful feedback, 2x click option is a very good idea, I'll add that as option, but I'll keep the default one as 1x. We don't want to break everyone's habit by now :)
Not sure about the icon on the left as that's probably now supported using the VS Code built-in features (but I'll check). Same for colorizing, I'll share updates after I do my research.

Hello.
I am happy, if you find some thoughts usefull. Sure, leave the users the option to use "1x click" or "2x clicks" to add a snippet. Thats perfect.
I just thought that a "icon", but lets say a area (dont need to be an icon) or call it a button, could be on the same height as the snippet folder / description, placed on the left or right. By this, the user can select the snippet and only when you press that area the action performs. But nevermind ... the mouse 2x double-click is more convenient.
Some kind of color could make the folders / snippets more distinguishable. So visually you could have a better overview of all your snippets. But this one is not super important. Just an idea.
I am glad, to hear about new updates from "snippets"


Fix ES Storage integration test

the writer cache attached in previous commit was interfering with the integration tests because each test wasn't initialized/cleaned up properly

Coverage remained the same at 100.0% when pulling 71ea9679a695cb08d54e573b2a889ceff159880b on es-to-do-2 into 1fc93de0e1b003470babaa0d61b336e4ed3a8948 on master.


Can I use malloc?

I am using malloc with TinyGo but with nottinygc it panics.
How can I resolve this?
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x1199875]

`// These function are exported by TinyGo
malloc := mod.ExportedFunction("malloc")
free := mod.ExportedFunction("free")
// Allocate Memory
results, err := malloc.Call(ctx, nameSize)
if err != nil {
	log.Panicln(err)
}
namePosition := results[0]

// This pointer is managed by TinyGo,
// but TinyGo is unaware of external usage.
// So, we have to free it when finished
defer free.Call(ctx, namePosition)

`

Can we export this https://github.com/wasilibs/nottinygc/blob/59403c79b29c9ae0e70cc463cd87fbfdf6c6fb66/gc.go#L53?

Hi @tillknuesting - at the time, the plan was for TinyGo to stop exporting those in 0.28.0 so did not export them here either. But it looks like that didn't happen yet, let me confirm if this is a long-term decision to keep the exports, and if so we'll add them.
https://github.com/tinygo-org/tinygo/pull/3142#issuecomment-1590263334
In the meantime, you can define your own functions if needed
import "C"

//export allocate
func allocate(size uint32) unsafe.Pointer {
  // IIRC, the type actually is unsigned long in wasi-libc source for some reason, or otherwise whatever C. cast works :)
  return C.malloc(C.ulong(size))
}

//export deallocate
func deallocate(ptr unsafe.Pointer) {
  C.free(ptr)
}

Oh, I found this even simpler workaround
https://github.com/tetratelabs/wazero/pull/1429#issuecomment-1532326475
I think we'll probably end up exporting by default here to match 0.28 but let me hear a bit on what the plan on TinyGo is first.

@tillknuesting Thanks for bringing this up, I have made the change to export malloc/free by default. Will try to cut a release soon after debugging #13 further


Is this project deprecated? Please add a notice

Hi
I stumbled in this project looking for a container-d cli tool, since the last activity is from 4 years ago I will assume the project is dead. The link to the "Releases" (pointing to the docker container-d repo) and the project web page are giving 404
It will be possible to add a deprecation notice and point user to the right place?, or archive the repo so it can be easily notice this is not the right project?

@crosbymichael is this something you could do?

Yes.  You should go to the main containerd repo.


[FLINK-16914][python] Support ArrayType in vectorized Python UDF

What is the purpose of the change
This pull request adds the support of ArrayType in vectorized Python UDF.
Brief change log

Introduces ArrowArrayColumnVector and BaseRowArrayWriter in flink-python module and introduces ColumnarArray and ArrayColumnVector in flink-table-runtime-blink module to support ArrayType in the blink planner for vectorized Python UDF
Introduces ArrayFieldReader and ArrayWriter in flink-python module to support ArrayType in the old planner for vectorized Python UDF

Verifying this change
This change added tests and can be verified as follows:

Java tests ArrowUtilsTest, RowArrowReaderWriterTest and BaseRowArrowReaderWriterTest
Python tests: test_pandas_udf.test_all_data_types

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@hequn8128  Thanks a lot for the review. The comments make sense to me and have updated the PR.

@hequn8128 Good catch. Updated the PR.

@JingsongLi Thanks for the review. Most points make sense to me and have updated the PR.

@JingsongLi @dianfu Thanks a lot for the review and update. I will take a quick look at the PR before merging this.


basic ffmpeg tests

Codecov Report

Merging #15 (c8f2bba) into main (a3d9db6) will increase coverage by 5.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   76.94%   82.14%   +5.19%
==========================================
  Files           7        7
  Lines         616      616
==========================================
+ Hits          474      506      +32
+ Misses        142      110      -32

Impacted Files
Coverage Δ

attractors/attractor.py
89.90% <ø> (+8.65%)
:arrow_up:

attractors/utils/video.py
100.00% <0.00%> (+66.66%)
: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 a3d9db6...c8f2bba. Read the comment docs.


ProxyConfig should support everything that pod annotation proxy.istio.io/config supports

Ran into this issue where I wanted to add traceId to istio-proxy sidecar logs where I would affect the logFormat to utilize x-b3-traceId as an example. Our enterprise teams are a bit reluctant to this change as it is a mesh wide change and it would affect other teams (and workloads in their namespaces).
Another example is the defaulting a certain CPU/Memory request limits by workload identifying patterns within a namespace.
Today it leaves me with only 2 options:-

Global MeshConfig:
Making this change enterprise wide with meshConfig - currently not an option for us as it affects many teams. And what one team wants for the istio-proxy to do although logging traceId should be no brainer. However they are not able to add/remove fields but rather need to do a full copy of the default log formats and add/remove to that.

Down to the pod annotation proxy.istio.io/config option:
Add proxy.istio.io/config and other annotations to every pod specs which is really ugly

                sidecar.istio.io/rewriteAppHTTPProbers: "false"         sidecar.istio.io/proxyCPU: "10m"         sidecar.istio.io/proxyCPULimit: "30m"         sidecar.istio.io/proxyMemory: "128Mi"         sidecar.istio.io/proxyMemoryLimit: "256Mi"         readiness.status.sidecar.istio.io/initialDelaySeconds: "125"
I cannot wait to make it more ugly by adding the big long access logFormat :)
** Proposal/request/question**:
Have ProxyConfig support these configuration because it is just that "proxy" "config". Let things merge just as they do like concurrency etc.
Why can't proxy-config support everything that proxy.istio.io/config ?
Alternative
Ugly alternatives.
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Installation
[ x] Networking
[ ] Performance and Scalability
[ x] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

Currently, ProxyConfig is applied during bootstrap.

So mesh needs to be restarted to get its effects even if is in another namespace?
I guess how or rather when would a global mesh configs gets merged with a proxy config in a different namespace for a the istio-proxy side car in that namespace to gets the merged config.


Adds unit tests for call-api

Adds jest and tests around call-api.ts

I'm not sure but I'd say that the current config will install the dependencies twice, once for compile and once for test. But I might be wrong. Either way, it's probably not an issue right now.

I'll need to do some research on github actions before I can answer this.

I'm not sure but I'd say that the current config will install the dependencies twice, once for compile and once for test. But I might be wrong. Either way, it's probably not an issue right now.

I'll need to do some research on github actions before I can answer this.

It seems that each job runs on a fresh environment but It also seems that there's a way to cache these dependencies to speed up the workflow https://docs.github.com/en/actions/using-workflows/advanced-workflow-features#caching-dependencies

I'm not sure but I'd say that the current config will install the dependencies twice, once for compile and once for test. But I might be wrong. Either way, it's probably not an issue right now.

I'll need to do some research on github actions before I can answer this.

It seems that each job runs on a fresh environment but It also seems that there's a way to cache these dependencies to speed up the workflow https://docs.github.com/en/actions/using-workflows/advanced-workflow-features#caching-dependencies

I think you can use actions/setup-node@v2's in-built caching by just adding cache: 'yarn'. Not really sure if it's that simple, I know that ChainAPI guys were doing something like that.

I'm not sure but I'd say that the current config will install the dependencies twice, once for compile and once for test. But I might be wrong. Either way, it's probably not an issue right now.

I'll need to do some research on github actions before I can answer this.

It seems that each job runs on a fresh environment but It also seems that there's a way to cache these dependencies to speed up the workflow https://docs.github.com/en/actions/using-workflows/advanced-workflow-features#caching-dependencies

I think you can use actions/setup-node@v2's in-built caching by just adding cache: 'yarn'. Not really sure if it's that simple, I know that ChainAPI guys were doing something like that.

using cache: "yarn'" reduces from 22/23 secs to 8/9 secs the Install dependencies step 🥳

Can we also do this for Airnode and other project such as dao dashboard? Or maybe create a task? @dcroote did you try this when you looked for AIrnode CI optimizations?

I think you can use actions/setup-node@v2's in-built caching by just adding cache: 'yarn'. Not really sure if it's that simple, I know that ChainAPI guys were doing something like that.

In this case it is actually is that simple 👍
@Siegrift  - because Airnode is a monorepo it's a bit more complicated, but I did implement caching a few months ago here: https://github.com/api3dao/airnode/pull/663.


editorial changes

add xref (not yet finalized for all interfaces)
line feed for every new line
GetDescription => GetSelfDescrition (in logical part)
added AAAd-116 for global asset ID (instead of ref to Clause 4.5)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 5 committers have signed the CLA.:white_check_mark: sebbader-sap:white_check_mark: BirgitBoss:white_check_mark: aorzelskiGH:white_check_mark: zrgt:x: waltersveYou have signed the CLA already but the status is still pending? Let us recheck it.

reopned new PR: https://github.com/admin-shell-io/aas-specs-api/pull/361


What is the use of inference_params in Mamba and how to set it?

It is used to switch the inference mode for mamba. It is specifically for iterative decoding: processing the prompt to store the states (similar to KV cache), and then using that to generate tokens one by one. You can refer to generation.py to understand how it is implemented.
In our implementation, you do not need to set it.

Will it make inference faster? Do you use it in inference?

No.


[FEATURE] Incorporate very-detailed type hints for traversing import hierarchy to enable ML frameworks to be the search space

Following on from keras-team/keras#18445 have you considered exposing the type information so that you can enumerate:

categorical All Optimizers, Losses, Layers, Metrics, &etc. available out-of-the-box in JAX, PyTorch, Keras
continuous What [hyper]parameters are avaiable on each of these

So that one can optimise across these categorical and continuous variables to find, e.g.:

Best performing—e.g., measured with Metric: AUCROC—Model; or ensemble thereof; on a given dataset
Best performing Optimizer on a given series of datasets, e.g., for when you're creating a new Optimizer and want to benchmark

Bonus use case
Extending this further, one can expand from just the out-of-the-box solutions and automatically incorporate Models, Optimizers, Losses, &etc. from new research papers into this search-space.
(Somewhat) related work from inside your company:

https://github.com/google/automl/tree/master/lion
https://github.com/google/vizier

And from outside I want to reference my own work—publication forthcoming!—at https://github.com/SamuelMarks#multi-ml made possible with my cdd-python

Now naturally you can do this from the dynamic level (unlike my solution) or at the static level (actually modify the source code with PEP484 + later type hints). This would make the keras-team/keras#18445 tool create a rather larger git diff if contributed back to the model owners; B-U-T would provide developers with a (sic. IMHO) better experience.

Hi @SamuelMarks !
You can already iterate through these. For example for Optimizers you can get the list of optimizers like this:
optimizers = [cls for cls in keras.optimizers.Optimizer.__subclasses__()]


Strictly check if values passed to JSET are numbers

This PR adds a new function that validates if a string is a number according to the JSON spec, replacing the call to ParseFloat. This fixes #493
This is my first experience with Go, so please let me know if I did something wrong, or if there is a more idiomatic way of doing things.

Looks good.
Is the isJsonNumber your code? If it came from another project I want to make sure there's proper attribution. Otherwise we can plop in a modification of https://github.com/tidwall/gjson/blob/master/gjson.go#L2482-L2549
Thanks

would be nice if this was exported: https://golang.org/src/encoding/json/decode.go?s=7038:7056#L202

@stevelacy I agree

It's my code, but a modification of the code you posted might be better, it's probably better tested. Or copying the code from golang with attribution if you're ok with that.

I've replaced the code with a modified version of what gjson. I figure that code is better exercised and is easier to read through.

Please ignore the commit 55e668e that is referencing this PR in the commit message. That was my mistake. It should be referencing #502.


Find a work-around for scanned pdf

Scanned pdf documents are not read properly and operations fail.
Investigate this issue: is it a PyPDF2 limitation? is there a workaround?
Possible starting points:

https://stackoverflow.com/questions/49939085/xref-table-not-zero-indexed-id-numbers-for-objects-will-be-corrected-wont-con
https://github.com/py-pdf/PyPDF2/issues/611

@mvicenzi, can you provide some sample and a test sample

@pubpub-zz you can find the simplest code to reproduce the error here. The sample pdf file is this one, which was generated with a scanner.

I've tried with the dev version without any error.can you retry with the latest version of PyPDF2?

I upgraded PyPDF2 from 1.27.3 to 1.27.12, but I still see errors.
I'm on python 3.10.2
Traceback (most recent call last):
  File "C:\Users\matte\Desktop\pdf_tools\debugging_scanned.py", line 7, in <module>
    merger.append(path1, bookmark=None, pages=None, import_bookmarks=True)
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\merger.py", line 227, in append
    self.merge(len(self.pages), fileobj, bookmark, pages, import_bookmarks)
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\merger.py", line 157, in merge
    pages = (0, pdfr.getNumPages())
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\_reader.py", line 318, in getNumPages
    self._flatten()
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\_reader.py", line 706, in _flatten
    catalog = self.trailer[TK.ROOT].getObject()
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\generic.py", line 553, in __getitem__
    return dict.__getitem__(self, key).getObject()
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\generic.py", line 198, in getObject
    return self.pdf.getObject(self).getObject()
  File "C:\Users\matte\AppData\Local\Programs\Python\Python310\lib\site-packages\PyPDF2\_reader.py", line 801, in getObject
    raise PdfReadError(
PyPDF2.errors.PdfReadError: Expected object ID (8 0) does not match actual (7 0); xref table not zero-indexed.

I also tried cloning again the repo to check if uploading the pdf had fixed the file somehow, but no.... Still the same error as above.

I've understood : your PDF does not respect the rule where the xref table should start at 0, inducing a PdfReadError if strict is asserted. PyPDF2 moved to strict = False as default, but PdfFileMerger has been forgotten. I will push the fix however meanwhile you can initialize with strict = False:
merger = PdfFileMerger( strict = False)


Update getting_started.rst for branch galactic

The cloned repository should be automatically checked out to branch galactic (similar as is done for foxy branch) to avoid errors and confusion
Description
Please explain the changes you made, including a reference to the related issue if applicable
Checklist

[ ] Required by CI: Code is auto formatted using clang-format
[ ] While waiting for someone to review your request, please consider reviewing another open pull request to support the maintainers

#352 does the same thing and beat you to it by 2 days. Sorry -- I think we should use that one instead. Thank you for making the PR, though!


Alignment in callouts are off

Actual: The text is aligned to the top rather than center or baseline

Expected (source)

I've compared the alignment of callouts with the default theme that ships with Obsidian and they appear the same to me.


The numbers on the seed phrase should be more contrast as they are not very visible in the dark

Updated screens here
https://zpl.io/aXkWmlg
https://zpl.io/bA4GDPq
https://zpl.io/aREN9nz

on the confirmation screen, make the numbers more contrast

how it's done here

@alexandrashelenkova in the next version let's see if  we can do  something so that only one word won't be left on the new line.

@sasha-abramovich I think just move "в поля" to the last line too.

Please, make the numbers more contrast all the time, not only when the user enters the phrase. It will be more convenient for the user when the screen backlight is minimal.

checked


fix(logging): Auth exceptions are now sent in response

This gives exception right in data of response. Previously, it was just an empty string if AuthException was raised.

Sorry for delay, thanks!

Sorry for delay, thanks!


Minor makefile cleanup, verbose CI, fmt with a recent Go version

Due to some unnecessary complexity troubleshooting a buildkite failure recently,
I'm declaring "no more @ use", period.  Knowing the full command that has failed
is extremely useful, and this is an easy way to achieve it.
Also:

made some vars slightly more readable?
make the Makefile verbose in all buildkite jobs
make fmt with Go 1.18 because it apparently changes goimports' behavior.
older Go versions do not undo this, so it should be stable.

@-failures are detected immediately on any makefile use, and look pretty good imo:
❯ make
Makefile:75: Makefile cannot use @ to silence commands, use $Q instead:
Makefile:76: found on line 543:	@echo Running integration test for 3+ dc with $(PERSISTENCE_TYPE) $(PERSISTENCE_PLUGIN)
Makefile:77: *** fix that line and try again.  Stop.

Pull Request Test Coverage Report for Build 0181d1e0-8020-4810-b8aa-a56bcb418e64

0 of 0   changed or added relevant lines in 0 files are covered.
131 unchanged lines in 19 files lost coverage.
Overall coverage decreased (-0.001%) to 57.735%

Files with Coverage Reduction
New Missed Lines
%

service/history/queue/timer_queue_processor_base.go
1
77.26%

client/history/client.go
2
38.05%

client/history/metricClient.go
2
45.3%

common/persistence/historyManager.go
2
66.67%

common/task/weightedRoundRobinTaskScheduler.go
2
89.12%

service/history/execution/mutable_state_util.go
2
36.14%

service/history/handler.go
2
47.6%

service/matching/matcher.go
2
91.46%

service/matching/taskListManager.go
2
73.77%

common/persistence/statsComputer.go
3
95.36%

Totals

Change from base Build 0181d076-7036-4d0c-ae6f-eb8827788d81:
-0.001%

Covered Lines:
83721

Relevant Lines:
145009

💛  - Coveralls


[MM18929] Open 3rd party auth-site links in browser during custom login.

Summary
Recent updates for security enhancements and subsequent fixes to 3rd party authentication (oauth, saml) led to links on 3rd party login pages not working.
This PR adds the ability to open 3rd party links that share the same primary domain in a browser window. It also adds some additional validation and cleanup to URL parsing used in several locations.
Issue link
https://mattermost.atlassian.net/browse/MM-18936
Test Cases

Use the Desktop app to access https://community-daily.mattermost.com.
Click on the OneLogin button from the MM login screen
On the resulting OneLogin page, click on links in the footer.

Expected: Links should all open in a browser window.

@mickmister, I ended up having to edit overlapping code for this ticket in this PR. Thoughts on handling the merge?

Looks like your PR takes care of it. I can close mine if you agree it makes sense.

Changing the approach for this ticket, so closing this PR


Update to RC3 - dynamic form

i wonder how to merge angular formly with this
https://angular.io/docs/ts/latest/cookbook/dynamic-form.html

That API is very similar to angular-formly (1.x)
// dynamic form field API for angular2
new TextboxQuestion({
  key: 'firstName',
  label: 'First name',
  value: 'Bombasto',
  required: true,
  order: 1
})

// angular formly for angular 1.x
{
  type: 'input',
  key: 'firstName',
  templateOptions: {
    label: 'first Name',
    required: true,
  }
}

This is really cool.


change language by clicking on the card text

We are going to use a button instead to switch the translations


dot net core support

This was required for us to use the client.
Pending items

[ ] Unit tests are not migrated to run in dotnet core yet. - Ready to play
https://github.com/SEEK-Jobs/pact-net/issues/78

[ ] CI / CD to be fixed.

Thanks for the contribution, sorry for the delay in reviewing this PR 😄.
We're looking at targeting .NET Standard (likely 2.0, as it overlaps with the current APIs we use). We'll pick bits out of this PR (with attribution ofcourse), and add full support with CI/CD, and PactNet 2.0.
Thanks again for the contribution, we'll leave this open until we've landed .NET Standard support.

Thanks for all your hard work, we cherry-picked the changes from this PR to move to .NET Standard 1.5 (now in master).


[Change]: DESIGN PRINCIPLE: Standardisation

Summary
Thoughts for a design principle focused on standardisation
Source
Collab Cafe 1st August
Detail
Below is a summary of the outputs of the Collaboration Cafe room discussing this principle. Wording should be updated and finalised starting from the below!
Where
Principles
Proposal
Statement
TREs should adhere to standards or well-known patterns wherever possible.
Rationale
Standardisation makes it easier to design, operate, use and understand TREs, and reduces duplication of work. This includes making TREs easier to use, deploy, and audit. TREs should be built in such a way that they do not restrict/prevent interoperability where this may be desirable in future, by identifying and avoiding or removing barriers to interoperability. Standardisation is also linked to the public trust principle, because people know what they’re dealing with when they come across a TRE built to SATRE specification.
Implications

TREs should adhere to public standards (as a minimum?)
(Possible) TREs should be structured according to best practices for that domain
TRE standard writers should reuse/incorporate existing standards wherever possible

Who can help
No response

These implications are a little waffly, see the Collab Cafe doc to see the raw thoughts. There is something in them but the wording will need to change!


Use solana spl token registry @solana/spl-token-registry instead of maintaining one

This seems to have broken the token name + symbol display

This seems to have broken the token name + symbol display

Oups, I focused too much on the AddTokenDialog, will do some more testing around the added token accounts.

I "unbroke" BalanceList but I found another issue now with mergeAccounts, which requires the tokenInfos but isn't a react component :s

@Arrowana the MergeAccountsDialog is a component. Can we use const tokenInfos = useTokenInfos(); outside of the closure and then pass it into getTokenInfo?

Some icons aren't showing up properly

@armaniferrante Thank you for assisting me on this one, I rebased on master to resolve the conflicts

One outstanding thing is that wrapped SOL doesn't show as such on devnet or testnet, while they have changed it for mainnet-beta. I will get that fixed in token-list.
{
"chainId": 101,
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Wrapped SOL",
"decimals": 9,
"logoURI": "https://cdn.jsdelivr.net/gh/trustwallet/assets/blockchains/solana/info/logo.png",
"tags": []
},
...
{
"chainId": 103,
"address": "So11111111111111111111111111111111111111112",
"symbol": "SOL",
"name": "Solana",
"decimals": 9,
"logoURI": "https://cdn.jsdelivr.net/gh/trustwallet/assets/blockchains/solana/info/logo.png",
"tags": []
},

Noting that this PR is required for the wormhole migration.


Add asyncMatch and asyncAndThen

ie:

https://github.com/patroza/neverthrow/commit/cf0506db790e26fe75466273e9c16674990a7e39
https://github.com/patroza/neverthrow/commit/1d3ecfb531e805b068f7785f94b4744f3ef9e83b

This opens up some additional concerns, as to continue from asyncAndThen, we can no longer chain it, and instead we have to branch inside it to chain it, either with (await ..) or by using .then() this breaks some of the elegancy of the piping.
Some thoughts I have on the subject:

Explore generators (yield), this may be something we could use as an equivelent to Computation Expressions in F# (sample of a custom ResultBuilder is available in F# for fun and profit)
Explore extending Promise
Explore an approach that would inverse Promise< and Result< so Result<Promise< instead of Promise<Result<

While playing with the tech, I get a familiar feeling to when working with rxjs..

Hey Pat,
Just wanted to post a msg here to let u know that I've read both your issues and I'm just thinking about them.

Hey @patroza, sorry for the super late reply. I've been noodling on this and came up with an API that I've been using in my personal projects. Curious to know what you think.
Right now there's a chain method that combines two async Results and a chain3 that combines three async Results.
export const chain = async <T1, T2, E>(
  r1: Promise<Result<T1, E>>,
  r2: (v: T1) => Promise<Result<T2, E>>
): Promise<Result<T2, E>> => {
  const inner = await r1

  const mapped = await inner.asyncMap(r2)

  return mapped.andThen((inner) => inner)
}

export const chain3 = async <T1, T2, T3, E>(
  r1: Promise<Result<T1, E>>,
  r2: (v: T1) => Promise<Result<T2, E>>,
  r3: (v: T2) => Promise<Result<T3, E>>
): Promise<Result<T3, E>> => {
  const chained = await chain(r1, r2)

  const mapped = await chained.asyncMap(r3)

  return mapped.andThen((inner) => inner)
}

Here's an example of how I'm using it in my back end personal project.

I ended up just switching to fp-ts and using TaskEither

This has been addressed in the new release:
https://github.com/gDelgado14/neverthrow/releases/tag/v2.2.0
There's a new api available that implements my above suggestion.


Fixed #24906 -- Fixed ResolverMatch.app_name for nested namespaces.

Set ResolverMatch.app_name to the full path of nested application
namespaces.
https://code.djangoproject.com/ticket/24906

merged in bc77eb6d0858652e197c08c299efaeb06c51efee, thanks!


Kraken - Invalid Key when fetching deposit address

Invalid Key when fetching deposit address.
The key is ok for other operations.
org.knowm.xchange.exceptions.ExchangeException: [EAPI:Invalid key]] with root cause
org.knowm.xchange.exceptions.ExchangeException: [EAPI:Invalid key]
	at org.knowm.xchange.kraken.service.KrakenBaseService.checkResult(KrakenBaseService.java:96)
	at org.knowm.xchange.kraken.service.KrakenAccountServiceRaw.getDepositAddresses(KrakenAccountServiceRaw.java:57)
	at org.knowm.xchange.kraken.service.KrakenAccountService.requestDepositAddress(KrakenAccountService.java:85)

This seems like a kraken specific issue? Is your key intended for read only?


Fix de Morgan's rule description

using DeMorgan's rule: A and B equals (not A) and (not B).
must be
using DeMorgan's rule: A and B equals (not A) NOR (not B).

Fixed in the Readme file


Pet load and save routines tested and seem to work ok please add

The code is for basic 4, the comments shows calls for basic 2.
working code is
"LOAD" sample
LDA #FNTABLE.LO		;PLACE POINTER TO FILE NAME IN ($DA)
STA $DA
LDA #FNTABLE.HI
STA $DB

LDA #$00			; SPECIFY ADDRESS TO LOAD TO (IGNORE ADDRESS IN FILE)
STA $FB				; IN THIS SAMPLE LOAD DIRECTLY TO THE SCREEN ($8000)
LDA #$80
STA $FC

LDA #FNTABLE.LENGTH	; SET FILENAME LENGTH (5 IN THIS CASE)
STA $D1

LDA #$08			; SET DEVICE ADDRESS (8 IS DISK DRIVE)
STA $D4

LDA #$00
STA $9D				; SPECIFY LOAD (AS OPPOSED TO LOAD/VERIFY)
STA $96				; CLEAR THE STATUS BYTE

LDA #$60			; SET SECONDARY ADDRESS TO 0 (OR'ED WITH #60)
STA $D3

JSR $F4A5			; SEND NAME TO IEEE (F466 IN BASIC 2)
JSR $F0D2			; SEND 'TALK' (F0B6 IN BASIC 2)

LDA $D3
JSR $F193			; SEND SECONDARY ADDRESS (F128 IN BASIC 2)
JSR $F1C0			; GET LOW BYTE OF ADDRESS (F18C IN BASIC 2) - USE IT IF YOU WANT, GOES INTO $FB
LDA $96				; CHECK STATUS BIT (2ND FROM RIGHT)
LSR A
LSR A
BCC CNT				; STATUS OK, SKIP ERROR OUT
JMP $F3C1			; ABORT FILES, PRINT ?FILE NOT FOUND ERROR AND EXIT (F56E IN BASIC 2)

CNT JSR $F1C0			; GET HIGH BYTE OF ADDRESS
JSR $F1C0			; READ 1 MORE BYTE TO SETUP FOR LOAD ROUTINE
JSR $F391			; REJOIN LOAD (WITHOUT PRINTING 'LOADING ...'). (F355 IN BASIC 2)
RTS
.FNTABLE "FILE1" ($46 $49 $4C $45 $31)
"SAVE" sample
LDA #FNTABLE.LO		;PLACE POINTER TO FILE NAME IN ($DA)
STA $DA
LDA #FNTABLE.HI
STA $DB

LDA #$00			; SPECIFY SAVE START ADDRESS
STA $FB				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($8000)
LDA #$80
STA $FC

LDA #$E9			; SPECIFY SAVE END ADDRESS +1 (BOTTOM RIGHT OF SCREEN)
STA $C9				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($83E8)
LDA #$83
STA $CA

LDA #FNTABLE.LENGTH	; SET FILENAME LENGTH (5 IN THIS CASE)
STA $D1

LDA #$08			; SET DEVICE ADDRESS (8 IS DISK DRIVE)
STA $D4

LDA #$00
STA $96				; CLEAR THE STATUS BYTE

LDA #$61			; SET SECONDARY ADDRESS TO 1 (OR'ED WITH #60)
STA $D3

JSR $F6E3			; PREFORM "SAVE" (F6A4 IN BASIC 2)
RTS

.FNTABLE "FILE1" ($46 $49 $4C $45 $31)

ok so you know which code to compile in,
targets
pet2001 - Just use basic 2 in case it was upgraded to basic2
pet3008 -basic 2
pet3016, -basic 2
pet3032 -basic 2,
pet4016 -basic 4,
pet4032 - basic 4
pet8032 - basic 4
Hope this helps!

Thanks to Ken Mclveen from canda, we now have a working routines, this code saves and saves from $4000 to end of screen, and loads it again. Just an example of 16k ish save and load.
if peek(57016)=52 then
print "basic 4"
end if
rem =================================================
rem SAVEMEM
rem =================================================
SUB savemem (name$ AS STRING * 10)
dim c as BYTE
c=1
rem  TBUFFR	027A-0329	634-825	  Tape I/O Buffer #1
DIM a(22) AS BYTE
dim flen as byte
flen=len(name$)
FOR x as byte = 0 to flen
poke 634+x , ASC(MID$(name$, x, c))
NEXT
poke 1,len(name$)
rem save screen
asm
lda #$7a
STA $DA
LDA #$02
STA $DB
LDA #$00			; SPECIFY SAVE START ADDRESS
STA $FB				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($8000)
LDA #$40
STA $FC
LDA #$D0			; SPECIFY SAVE END ADDRESS +1 (BOTTOM RIGHT OF SCREEN)
STA $C9				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($83E8)
LDA #$87
STA $CA
LDA $01	; SET FILENAME LENGTH (5 IN THIS CASE)
STA $D1
LDA #$08			; SET DEVICE ADDRESS (8 IS DISK DRIVE)
STA $D4
LDA #$00
STA $96				; CLEAR THE STATUS BYTE
LDA #$61			; SET SECONDARY ADDRESS TO 1 (OR'ED WITH #60)
STA $D3
JSR $F6E3			; PREFORM "SAVE" (F6A4 IN BASIC 2)
RTS

end asm
end sub
sub loadmem(name$ as string*10)
rem ==========================================
rem load screen
rem ==========================================
dim c as BYTE
c=1
rem  TBUFFR	027A-0329	634-825	  Tape I/O Buffer #1
DIM a(22) AS BYTE
dim flen as byte
flen=len(name$)
FOR x as byte = 0 to flen
poke 634+x , ASC(MID$(name$, x, c))
NEXT
poke 1,len(name$)
asm
lda #$7a
STA $DA
LDA #$02
STA $DB

LDA #$00  ; load to address
STA $FB
LDA #$40
STA $FC

LDA $01 ; file len
STA $D1

LDA #$08 ;device name
STA $D4

LDA #$00
STA $9D
STA $96

LDA #$60
STA $D3

JSR $F4A5
JSR $F0D2

LDA $D3
JSR $F193
JSR $F1C0
JSR $F1C0
JSR $F391
rts

end asm
print "saved"
end sub
call savemem("screenshot")
print "{clr}"
call loadmem("screenshot")
print "loaded"
What would be good is a command that does this
Savemem("filename",$source,$dest_or_length)
loadmem("filename",destination address of where to load into)
use this code to detect if basic 4 or 2
if peek(57016)=52 then
print "basic 4"
else
print "basic2"
end if

Does the above work in XC=BASIC now? I haven't yet had the time to test it out.

Will get you the latest one over soon , I have file delete now also, just got the flu at the moment On 4 Feb 2024, at 14:49, Csaba Fekete @.***> wrote:
Does the above work in XC=BASIC now? I haven't yet had the time to test it out.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Any update on this? Does it mean we can expect READ# and WRITE# to work on PETs any time soon? :smiley:

"SAVE" sample
LDA #FNTABLE.LO		        ; PLACE POINTER TO FILE NAME IN ($DA)
STA $DA
LDA #FNTABLE.HI
STA $DB

LDA #$00			; SPECIFY SAVE START ADDRESS
STA $FB				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($8000)
LDA #$80
STA $FC

LDA #$E9			; SPECIFY SAVE END ADDRESS +1 (BOTTOM RIGHT OF SCREEN)
STA $C9				; IN THIS SAMPLE SAVE DIRECTLY FROM THE SCREEN ($83E8)
LDA #$83
STA $CA

LDA #FNTABLE.LENGTH	        ; SET FILENAME LENGTH (5 IN THIS CASE)
STA $D1

LDA #$08			; SET DEVICE ADDRESS (8 IS DISK DRIVE)
STA $D4

LDA #$00
STA $96				; CLEAR THE STATUS BYTE

LDA #$61			; SET SECONDARY ADDRESS TO 1 (OR'ED WITH #60)
STA $D3

JSR $F6E3			; PERFORM "SAVE" (F6A4 IN BASIC 2)
RTS

.FNTABLE "FILE1" ($46 $49 $4C $45 $31)

I just tested this code and can confirm it works fine for BASIC 4.
It's important to note, that FNTABLE.HI and FNTABLE.LO have to point to first character of the filename string, i.e. skipping the preceding string length byte!

Adding relevant addresses for BASIC 1 (taken from "Programming the PET/CBM" by Raeto Collin West):

BASIC 1
BASIC 2
BASIC 4
Description

($F9)
($DA)
($DA)
Pointer to filename

$ED
$D1
$D1
Filename length

$F1
$D4
$D4
Device number

$F0
$D3
$D3
Secondary address

($F7)
($FB)
($FB)
Save start address

($E5)
($C9)
($C9)
Save end address

$020C
$96
$96
Status byte ST

$F6B1
$F6A4
$F6E3
MLM ROM routine SAVE

I tested all variants in VICE:

PET 2001: BASIC 1
PET 3008: BASIC 2
PET 8032: BASIC 4

BASIC 1 did mess up the filename though. Turns out "Programming the PET/CBM" contains an error in the zero-page listing on page 395: The correct address for the filename length is $EE instead of $ED as in the book! (Although it is listed correctly in a footnote on page 420.)
I fixed this in my comment above now. Using $EE for the filename length my test for BASIC 1 was successful as well.

Sweet glad I could help.Dave On 4 Aug 2024, at 20:42, Tobias @.***> wrote:
I tested all variants in VICE:
PET 2001: BASIC 1
PET 3008: BASIC 2
PET 8032: BASIC 4
BASIC 1 did mess up the filename though. Turns out "Programming the PET/CBM" contains an error in the zero-page listing on page 395: The correct address for the filename length is $EE instead of $ED as in the book! (Although it is listed correctly in a footnote on page 420.)
I fixed this in my comment above now. Using $EE for the filename length my test for BASIC 1 was successful as well.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Thank you both for your work on investigating this. I scheduled implementing LOAD/SAVE for PET in version V3.2.0.

"LOAD" sample
LDA #FNTABLE.LO			; PLACE POINTER TO FILE NAME IN ($DA)
STA $DA
LDA #FNTABLE.HI
STA $DB

LDA #$00			; SPECIFY ADDRESS TO LOAD TO (IGNORE ADDRESS IN FILE)
STA $FB				; IN THIS SAMPLE LOAD DIRECTLY TO THE SCREEN ($8000)
LDA #$80
STA $FC

LDA #FNTABLE.LENGTH		; SET FILENAME LENGTH (5 IN THIS CASE)
STA $D1

LDA #$08			; SET DEVICE ADDRESS (8 IS DISK DRIVE)
STA $D4

LDA #$00
STA $9D				; SPECIFY LOAD (AS OPPOSED TO LOAD/VERIFY)
STA $96				; CLEAR THE STATUS BYTE

LDA #$60			; SET SECONDARY ADDRESS TO 0 (OR'ED WITH #60)
STA $D3

JSR $F4A5			; SEND NAME TO IEEE (F466 IN BASIC 2)
JSR $F0D2			; SEND 'TALK' (F0B6 IN BASIC 2)

LDA $D3
JSR $F193			; SEND SECONDARY ADDRESS (F128 IN BASIC 2)
JSR $F1C0			; GET LOW BYTE OF ADDRESS (F18C IN BASIC 2) - USE IT IF YOU WANT, GOES INTO $FB
LDA $96				; CHECK STATUS BIT (2ND FROM RIGHT)
LSR A
LSR A
BCC CNT				; STATUS OK, SKIP ERROR OUT
JMP $F3C1			; ABORT FILES, PRINT ?FILE NOT FOUND ERROR AND EXIT (F56E IN BASIC 2)

CNT JSR $F1C0			; GET HIGH BYTE OF ADDRESS
;JSR $F1C0			; READ 1 MORE BYTE TO SETUP FOR LOAD ROUTINE
JSR $F391			; REJOIN LOAD (WITHOUT PRINTING 'LOADING ...'). (F355 IN BASIC 2) RTS

.FNTABLE "FILE1" ($46 $49 $4C $45 $31)

I tested the code for the LOAD example as well and there were some minor difficulties. (It would have been nice to know that these code samples are based on the code in chapter 6.6 "Machine-code programming with CBM disk drives" of "Programming the PET/CBM" for all the additional explanations given there…)
I had to remove the second JSR $F1C0 after jump label CNT (cp. code in quote above). I couldn't figure out why this would help to "setup for LOAD routine" and the byte is obviously not available for the LOAD routine then.
It was a bit trickier to find out the given BASIC 4 ROM routine addresses aren't exactly spot-on and the book is similarly contradictory as with the BASIC 1 filename length zero-page address (referring to my comment above).
Here are the differences I implemented for BASIC 4:

address
replaced by
reason

$F193
$F143
additionally checks for time-out

$F3C1
$F5AD
simply wrong, I think; $F3C1 is at the of the LOAD routine $F356 in BASIC 4, not part of the error handling

$F391
$F38F
include required LDA #$FD

I also tried to find the equivalent BASIC 1 routines and found all but the routine that reads data to memory ($F355/$F38F in BASIC 2/BASIC 4). "Programming the PET/CBM" lists $F37E for this, but it's implemented completely different from BASIC 2 & 4 and seems to be part of the direct mode LOAD BASIC command which expects to drop back to BASIC in the end and thus jumps to $C581 to clear the stack! Took me about two days to find out what went wrong there and I don't want to touch it again with a 10-foot pole… :laughing:
After all these are the addresses and ROM routines I managed to find for LOAD:

BASIC 1
BASIC 2
BASIC 4
Description

($F9)
($DA)
($DA)
Pointer to filename

$EE
$D1
$D1
Filename length

$F1
$D4
$D4
Device number

$F0
$D3
$D3
Secondary address

$020B
$9D
$9D
LOAD (#$00) or VERIFY (#$01)

$020C
$96
$96
Status byte ST

($F7)
($FB)
($FB)
Pointer to memory address to load file contents to

$F462
$F466
$F4A5
Send filename string to IEEE-488 bus

$F0B6
$F0B6
$F0D2
Send "Talk" to IEEE-488 bus

$F12C
$F128
$F143
Send command to IEEE-488 (and clear ATN line)

$F187
$F18C
$F1C0
Read single byte from IEEE-488 bus into accumulator

$F579
$F56E
$F5AD
Print "?FILE NOT FOUND" error and exit to BASIC (!)

$F355
$F38F
Read data to memory until EOI (end of input) as indicated by ST value #$40

And finally I came up with some code to replace the missing/inadequate BASIC 1 routine to read data to memory until EOI is encountered.
This is based on the ROM routine at $F37E, but stripped of the parts that are used for VERIFY and returning to BASIC afterwards:
iF37E jsr $F339	; check stop key
   ldx $020C	; read status byte
;   bvs iF3CC	; (used in ROM; overflow is set when reading after EOI & accumulator holds #$0D; used for INPUT#?)
   bne iF3CC	; do not wait for overflow (set when reading after EOI), but exit as soon as status != 0
   jsr $F187	; read byte from IEEE-488 bus (NB: Will return $0D when reading after EOI!)

   ; skip usual LOAD/VERIFY check here

    ldy #$00	; make sure Y register is 0 before using it for indirect STA
		; TBD: use X register [holding status byte] instead?!

    sta ($F7),Y	; write byte to store address
    inc $F7	; increment store address
    bne iF37E
    inc $F7+1
    jmp iF37E

iF3CC jsr $EF18	; UNTALK & UNLISTEN, CLOSE IEEE-488

I used the BASIC 1 ROM addresses as labels so you can find these in disassembled ROMs if you want to compare (or in case I missed something).
The assembler code and all ROM routines are tested in VICE for BASIC 1, BASIC 2 and BASIC 4.
I haven't tested the FILE NOT FOUND error in depth though. Currently this should drop back to BASIC for all versions. I guess, this is not expected behavior in XC=BASIC?

Great job, thanks.

I haven't tested the FILE NOT FOUND error in depth though. Currently this should drop back to BASIC for all versions. I guess, this is not expected behavior in XC=BASIC?

No, XC=BASIC will execute its own error trapping mechanism.


THUMB "half-bl" instruction not supported

I am hoping to use Ghidra as a hobbyist to reverse engineer parts of GBA games for modding.  Unfortunately, they make extensive use of what is technically unpredictable behaviour: using the second half of a "bl" instruction pair in THUMB code to perform an absolute jump to the address in the link register.
It would be really useful for THUMB disassembly to recognise and support this, maybe as an optional feature as there is no guarantee it works on other processors.  The processor in question is the ARM7TDMI, with architecture ARMv4T, little-endian.
Sample of affected code:
0d 4b      ldr r3, =procAddr
9e 46      mov lr, r3
00 f8      bl #0

Details of this instruction pair are found on page A7-26 of the ARM Architecture Reference Manual.

should that be a BX LR and not a bl #0? also I can't get binja or capstone to give me the same instructions for those bytes... are you sure the sample is correct?

Definitely the second half of a bl pair.  BL's instruction format on THUMB is 111H HOOO OOOO OOOO where HH is 11 for the second of the pair, and O is bits 11:1 of the offset for the relative branch-with-link; in this case, the #0 part of the instruction I quoted.  Putting that together, you get F800 or 00 F8 when split into separate bytes for a little-endian binary.
As for the sample, I'm looking at it here in ghidra and it's definitely correct.  One possible reason you aren't getting the same instructions is that this is from a little-endian binary.  Attached is a screenshot of another piece of affected code in ghida, without the instructions in between removed.

This turns out to be a nice exercise in SLEIGH programming, so here we go:
diff --git a/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc b/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
index ea89edd..fb9f9a1 100644
--- a/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
+++ b/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
@@ -100,6 +100,7 @@ define token instrThumb (16)
   soffset8=(0,7) signed
   offset10=(0,9)
   offset10S=(10,10)
+  offset11=(0,10)
   soffset11=(0,10) signed
   offset12=(0,11)

@@ -1383,6 +1384,19 @@ with : ARMcondCk=1 {

 @endif # VERSION_5

+# half-bl, used in GBA games, technically unpredictable behaviour
+ThHalfBlOffset11: "" is offset11=0 { export 0:4; }
+ThHalfBlOffset11: "+"reloc is offset11 [ reloc = offset11 << 1; ] { export reloc; }
+
+:bl^ItCond  "lr" ThHalfBlOffset11           is TMode=1 & ItCond & (op11=0x1f & ThHalfBlOffset11)
+{
+  build ItCond;
+  local tmp = lr + ThHalfBlOffset11;
+  lr = inst_next|1;
+  SetThumbMode(1);
+  call [tmp];
+}
+
 :bl^ItCond  ThAddr24            is TMode=1 & ItCond & (op11=0x1e; part2c1415=3 & part2c1212=1) & ThAddr24
 {
   build ItCond;

I confirmed this disassembled the half-br instruction properly on a test binary, and the decompiler picked it up as a call instruction as expected. (I'm not 100% sure I got the non-zero case right - but hopefully you don't run into any of those?)

Thank you so much for that patch.  I've managed to tweak it to create a new processor variant so that the changes don't escape outside the GBA version.  I don't know how to suitably create a patch for this so I'll list the steps I used in detail in case it helps anyone else:

I made copies of Ghidra/Processors/ARM/data/languages/ARM4t_le.{sla,slaspec} and renamed them to ARM4t_gba
I modified ARM4t_gba.slaspec to include @define GBA_VARIANT ""
In ARM.ldefs, I duplicated the XML element that specified ARM4t_le (found at line 231), and changed:

variant to v4t_gba
slafile to ARM4t_gba.sla
the description

I put the new bl definition inside a new @if defined(GBA_VARIANT) block

I'm leaving this issue open in case this is a desired modification when Ghidra becomes open source.

Try this method to see if this works for you.  This will enable the Half BL support until V6 of ARM when it became invalid.  This way you don't need a new variant.  Also the other BL half variants are added.  If you can give this a try in the wild, I'd appreciate it.
diff --git a/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc b/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
index d335ae0..a9c655d 100644
--- a/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
+++ b/Ghidra/Processors/ARM/data/languages/ARMTHUMBinstructions.sinc
@@ -100,6 +100,7 @@
   soffset8=(0,7) signed
   offset10=(0,9)
   offset10S=(10,10)
+  offset11=(0,10)
   soffset11=(0,10) signed
   offset12=(0,11)

@@ -1402,6 +1403,33 @@
   call ThAddr24;
 }

+@ifndef VERSION_6T2
+
+:bl^ItCond 	"#"^off 			is TMode=1 & ItCond & op11=0x1e & soffset11 [ off = inst_start + 4 + (soffset11 << 12); ]
+{
+  build ItCond;
+  lr = off:4;
+}
+
+:bl^ItCond 	"#"^off 			is TMode=1 & ItCond & op11=0x1f & offset11 [ off = offset11 << 1; ]
+{
+  build ItCond;
+  local dest = lr + off:4;
+  lr = inst_next|1;
+  SetThumbMode(1);
+  goto [dest];
+}
+
+:blx^ItCond 	"#"^off 			is TMode=1 & ItCond & op11=0x1d & offset11 & thc0000=0 [ off = offset11 << 1; ]
+{
+  build ItCond;
+  local dest = (lr & (~0x3)) + off:4;
+  lr = inst_next|1;
+  SetThumbMode(0);
+  call [dest];
+}
+@endif
+
 :bl^ItCond 	ThAddr24 			is TMode=1 & CALLoverride=1 & ItCond & (op11=0x1e; part2c1415=3 & part2c1212=1) & ThAddr24
 {
   build ItCond;


Print Dialog box appears when using react_component to render.

Whenever I use react_component method to render a component, upon opening the website, I get a print dialog box. I switched browsers and it still occurs.

@faisal1337 sounds like you need some debugging help. I'm the creator of React on Rails. We have a support plan to help you. See shakacode.com/work/shakacode-pro-support.pdf.


simple join select

I want to do this.
SQL
select id,name from book;
select id,book_id,count from stock;
↓ join select (stock count = 0)
select T1.id, T1.name from book T1 inner join stock T2 on T1.id = T2.book_id where T2.count = 0;

iciql
Book b = new Book();
Stock s = new Stock();
db.from(b).innerJoin(s).on(b.id).is(s.book_id).where(b.count).is(0).select();

However, an error has occurred. Ambiguous column name "ID".

For "simple join select", I added a table alias to the column name.

@uchicom This looks like a nice improvement. Would you please add some tests to validate its functionality?

@gitblit We have added a test, so please check it.

@gitblit We have added a test, so please check it.

Thanks @uchicom !


fix: remove transparentModal from Workspace Join User screen

Explanation of Change

Fixed Issues

$ https://github.com/Expensify/App/issues/53345
PROPOSAL: https://github.com/Expensify/App/issues/53345#issuecomment-2510934242
Tests

Open a WS
In Profiles tab, navigate to share code
Click Copy URL
Go to any chat
Send copied URL
Press on URL
Verify that: if loading indicator is shown, it is shown on a blank background (instead of a transparent overlay)
Verify that: User is navigated to WS page

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open a WS
In Profiles tab, navigate to share code
Click Copy URL
Go to any chat
Send copied URL
Press on URL
Verify that: if loading indicator is shown, it is shown on a blank background (instead of a transparent overlay)
Verify that: User is navigated to WS page

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/57781325-4a6b-4290-9bdc-6796fdf89048
https://github.com/user-attachments/assets/b273c386-7495-414d-9eca-0414132b8d9e

Android: mWeb Chrome
https://github.com/user-attachments/assets/d5be309f-a15d-4667-a147-f018f3af6c1f
https://github.com/user-attachments/assets/5820cc60-afe3-47e6-aad2-99b6c2688d3b

iOS: Native
https://github.com/user-attachments/assets/b61434a9-0573-4fd6-8cbf-8e413b9b577f
https://github.com/user-attachments/assets/c477ec86-0c9a-4d38-aaef-152287851bf5

iOS: mWeb Safari
https://github.com/user-attachments/assets/dacf21ec-0d4e-41b9-803d-2af74e1032dc
https://github.com/user-attachments/assets/830064a2-c781-4383-a61f-d517b868e622

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/41f1cc6d-f0c3-481e-aaa3-3673dd1fbe00

https://github.com/user-attachments/assets/1b4a3b03-eeb8-480c-8714-0dddf86ac25d

MacOS: Desktop
https://github.com/user-attachments/assets/d70cda0d-d27b-42f9-a412-ea268d0bef9f
https://github.com/user-attachments/assets/8fa8721c-60a6-4adb-b8d3-d78419cca1a6

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@daledah Found issue when validation the PR https://github.com/Expensify/App/issues/53184 on Android
https://utest-dl.s3-accelerate.amazonaws.com/testRunStepMinAttachmentsResult/50202726/1733422174387!53434android.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20241206T111018Z&X-Amz-SignedHeaders=host&X-Amz-Credential=AKIAJ2UIWMJ2OMC3UCQQ%2F20241206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Expires=86400&X-Amz-Signature=2f2f842bf2e397e9fb919c17ae664421d106630e0508a6f0f1121cdbeabfbbf5


suggestion: More color style options

It would be great if the plugin allowed for deeper syntax highlighting.
Expand user defined identifiers
Currently nearly everything falls under the "User defined identifier" which is quite limiting, it would be great if it had different attribute for different identifiers.

Locals
Changed locals (locals which have been reassigned)
Parameters
Changed parameters

Specific globals

layout value
uniform value
in value
out value
struct value
buffer value

Fields

struct Fields
buffer Fields

Builtin types
Builtin types should have a separate attribute for functions and fields as those are quite different.
Operators
It would be great if the plugin allows color styling of braces and operators like semi-colon, braces, brackets, comma, dot, operator sign, parentheses, semicolon etc.

Hi @alphaqu
Thanks for suggestion and sorry for the late replay. There are bunch of things and I think this would easy to solve.

Locals:  By locals I assume you mean local variable right? If yes, good idea. Will be implement.
Changed locals: These are a bit more tricky as they need processing, i.e. to actually check if the variable has been reassigned. This piece of information doesn't exist by default so new logic needs to be written. I find this also a cool idea.
Parameters: As far as I can see, this is working (default brownish color).
Changed parameters: Same as with changed locals.

Specific globals:
Not sure I agree about that, as keywords should have in my opinion a uniform color. And breaking this logic will make the code (of the plugin) uglier. If more people would like to have that, then I'll go implement that. Same for struct and buffer as they are also keywords.
Builtin types
Not sure I get this point. Can you provide an example?
Operators
Sure why not. To be honest I already implement it once but then I though that no would ever need that haha.
So I'm trying these days to go back to the project. Hope to have some progress this week.

What i mean by specific globals is that the struct name needs to be able to be different from something like a uniform. And attributes should be able to have a custom color to easily differiate between uniforms and attributes.
Built-in types currently all have the same color. Something like gl_Position (a field) has the same color as a function like blend. I think you should be able to have a unique color for both of these values.

Alright got it. I already did the operators. These were the easiest. I will have a look at uniforms and attributes.

One option we don't have is to change the color of braces/parentheses/delimiters. I tend to make these a little bit darker than the default white as I find it more readable.

@alphaqu can I close the ticket? Seems to work on my end.


PagePark plug-ins documentation incorrect

I took a look at the documentation here:
http://pagepark.io/docs/plugins.md
This does not appear to work anymore with the current version of pagePark.
Based on reading through the code the contents of filter.js are pulled into a wrapper:
module.exports = function (options, localStorage, system) {
    // filter.js contents
    }

and options is an object with two keys, httpRequest and serveLocalFile.
serveLocalFile only takes a filename.  It does not appear that the callback with code, type and val is available anymore.

Andrew, thanks for this report. :smile:
I just spent about ten minutes looking into this, and it appears that I did change the way plugins work without changing the docs. Not sure why, or when this happened, but I do have notes that will probably explain, and I will look into it, and at some point fix the docs.
Before continuing -- I wanted to know -- is your report basically "Hey Dave, the docs don't match the functionality!" or is there more to it? It looks like the current way is simpler, and we know it works, because a plugin is doing the work for my.this.how.

Update: This change is explained in this update note, as is the fact that the docs are out of sync now.
https://github.com/scripting/pagePark#v0810-51020-by-dw
I learned about something really important -- requireFromString. It de-klooged this stuff. Made it really work.
I probably have some more notes on this.
This is kind of on-topic for what we were talking about. I have a pretty good note-taking system these days.
And I'm going to keep saying this -- I'm really glad you're reviewing this stuff Andrew. You can see how hard it is working on this stuff with no one on the other side of the APIs. Lots of mistakes get made that would otherwise be caught.


Add test unit test for all objective functions, constraints, penalty, get_data

All Submissions:

[x] Have you followed the guidelines in our Contributing document [docs/contribution.md]?
[x] Have you checked to ensure there aren't other open [Pull Requests] for the same update/change?
[x] Have you opened/linked the issue related to your pull request?
[x] Have you used the tag [WIP] for on-going changes, and removed it when the pull request was ready?
[ ] When ready to merge, have you sent a comment pinging @pariterre in it?

New Feature Submissions:

[x] Does your submission pass the tests (if not please explain why this is intended)?

Changes to Core Features:

[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new examples for your core changes, as applicable?
[ ] Have you written new tests for your core changes, as applicable?

@pariterre I think it is ready.


[type:refactor] enhance brpc

This pr support brpc plugin proxy for complex objects, arrays, large objects, etc.
please review code.

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4725 (411aa86) into master (beefc13) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

:exclamation: Current head 411aa86 differs from pull request most recent head dacb94f. Consider uploading reports for the commit dacb94f to get more accurate results

@@             Coverage Diff              @@
##             master    #4725      +/-   ##
============================================
- Coverage     66.26%   66.24%   -0.02%
+ Complexity     8008     8006       -2
============================================
  Files          1111     1111
  Lines         32182    32170      -12
  Branches       2907     2903       -4
============================================
- Hits          21324    21311      -13
+ Misses         9159     9158       -1
- Partials       1699     1701       +2

Impacted Files
Coverage Δ

...enyu/plugin/brpc/cache/ApplicationConfigCache.java
33.66% <0.00%> (ø)

...che/shenyu/plugin/brpc/proxy/BrpcProxyService.java
2.12% <0.00%> (+0.04%)
:arrow_up:

... and 14 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Wrap kv errors

Description:
Wrap kv errors with the errors package.
Rebase after #323 is merged
Issues affected:

Related #308

This change is

Reviewed 14 of 14 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


feat: support non esm project

stack https://github.com/hi-ogawa/vite-plugins/pull/413

We can try this separately. It might allow easier adoption for Next.js compat.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#414  👈
#413
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @hi-ogawa and the rest of your teammates on  Graphite


Office 365 / Azure AD login

Any chance for supporting login with O365 / Azure AD? Given it should run off existing parameters used for other login providers, this is nice for admins as we easily restrict O365 to domains/users which can then login to Corteza

There are big changes re. authentication coming in 2021.3 release. Please take look at ....feature-oauth2 branch and see if you can add it on your own (should fit right next to github, google and other external oauth2 providers since we use github.com/markbates/goth to handle this.
If you can make an implementation I don't have a problem including it.
If not, you'll have to wait a bit. But no later than 2021.6.

I'm assuming ....feature-oauth2 , would be more generic, and cover keycloak etc. Instead of one that is specific to Microsoft/AD.

it's strange because in this Installation Guide under 2.5 it says I can use any OpenID provider (Azure Supports OpenID), but I am running the latest version of Corteza 2020.12 and this is not an option to be found anywhere... unless im missing something?

I did have a look at the code as I've implemented AzureAD authentication with PHP and Python so thought I could give it a shot, but I couldn't find the ...feature-oauth2 branch

feature-oauth2 branch was merged into 2021.3.x.
You can branch out 2021.3.x (or 2021.6.x) and start there.

@zayn008 you might be able to use OIDC with Azure AD and avoid the need to code it. Check out https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc

I tested OIDC with an Azure AD instance and it does indeed work. Thanks @darh and team.


Update generation rule upon anp update

Rule realization was not getting updated if realized ANP is modified. This was due to ANP Generation number mismatch. In nephe controller, generation number of anp was not updated for modify case.
Signed-off-by: Rahul Jain<EMAIL_ADDRESS>

/nephe-test-e2e-aws


Update product.ts

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Looks like it was already committed directly to main branch https://github.com/adobe/commerce-events/commit/0621d751adad5be02feeb5e066f7816747a78514


Add organization resource

I created a resource for managing snyk organizations. The version choice for the api is probably wrong, and the structure could be optimized, but it adds what is needed for creating and deleting organizations in a group.

Hey @KoalaTea, thanks for this PR!  I tested and it seems good.  I think we would want at least one acceptance test, and I think the client can be refactored a bit, although that's less important since this repo is still small.  I'm happy to take care of these tasks as well if you don't have time for this.

I can take a shot at an acceptance test later.
I also made a resource for organizaion service accounts using the experimental api
https://github.com/KoalaTea/terraform-provider-snyk/pull/1

Thanks @KoalaTea!  I added two more small fixes.  Creating and removing organizations works smoothly for me now.

I added an acceptance test. There is no update api though from what I saw, and I assume a TEST_GROUP_ID will need to be added to the secrets


Update deployment.md

Doing ADD . /home/node  before yarn install invalidates the cache of the previous yarn install which would take a few minutes from the build
My suggestion:
# after apk add
ADD ./package.json ./package.json
RUN yarn install
ADD . /home/node
RUN yarn build && yarn cache clean

This way the installation of packages is done only when new packages are added. (not every built) :wink:

You want the yarn.lock too before running yarn install, added that.
Thanks @ralexrdz


Center Filled Color

When Center color is clear, it's filled by Track color.
how to set center Hollow

https://github.com/knn90/KNCirclePercentView

Check my PR: https://github.com/CardinalNow/iOS-CircleProgressView/pull/43


Discussion: Upgrade to Spring Boot 3

Spring Boot 3 has been released recently, and you have started to ask us if/when a springwolf release officially supporting Spring Boot 3 will be released.
This issue exists to discuss the approach we want to take and understand the needs of the community.
Right now, springwolf uses Spring Boot 2.7 and Java 1.8.
We like to upgrade, but also want to support users, who cannot update to Spring Boot 3 (yet).
I see multiple paths moving forward:

We upgrade to Spring Boot 3 (and Java 17) - with no further (bugfix) releases for older versions.
We upgrade in X weeks/months, so that new features can still come in and then upgrade.
We branch off a Spring Boot 2.7 branch and upgrade to Spring Boot 3 on the master branch. We release versions from both branches (i.e. springwolf-0.0.0 and springwolf-0.0.0-springboot2). Development happens with Spring Boot 3, with the option to backport/cherry-pick changes to the branched off Spring Boot 2.7 branch - purely on best effort.
(Support both Spring Boot version including new features. Likely not possible due to limited time.)

To me, option 2 seems like a good tradeoff, although I wouldn't want to wait too long as people are already upgrading. Option 3 might be possible with more support.
@stavshamir What are your thoughts?

Not sure if it's a good idea, but I could think of another flavor of option 3: Develop on main using Spring Boot 2.x and have a Spring Boot 3 Branch which gets rebased on main to get new features and only adapt for usage with Spring Boot 3. Of course this might/will break at some point (too many changes for boot 3, feature only possible in boot 3), but until then it might work with reasonable efforts. So I would see it as an option to buy us some time ...

Maybe some helpful information from our team:
We get a critical security issue with springboot 2.7.6 therefore we decided to upgrade to 3.0.2.
org.springframework:spring-web (spring-web-5.3.25.jar)
CVE-2016-1000027
CRITICAL
version: 5.3.25
fixed in: 6.0.0
We also think security updates for springboot 2.x.x will go downwards from here on.

We also ended up not waiting for SpringWolf to upgrade to Spring Boot 3.
In the end we made SpringWolf running by overriding all SpringWolf Beans (e.g. DefaultChannelService) neccessary for our use case that had a @(javax.annotation.)Postconstruct annotation. Basically copying the code, fixing the imports and adding the @Primary annotation to the new Class.

Relates to: https://github.com/springwolf/springwolf-core/pull/146

Update: We will move forward with option 1.
The next release will support spring boot 3 and requires at least java 17
Also, springwolf-amqp:0.6.0, springwolf-cloud-stream:0.1.0 and springwolf-kafka:0.10.3 are  going to be the last version supporting spring boot 2.X

The new version of springwolf has been released, including Spring Boot 3 support.

springwolf-amqp:0.7.0
springwolf-cloud-stream:0.2.0
springwolf-kafka:0.11.0

As mentioned before, if you can't upgrade to Spring Boot 3, stick to the previous versions springwolf-amqp:0.6.0, springwolf-cloud-stream:0.1.0 and springwolf-kafka:0.10.3


Hexagon SDF Shape

Add a working Hexagon option to SdfShape

Might make more sense to do a (symmetrical) Polygon option instead, with a specified number of sides and rotation.


ModuleNotFoundError: No module named 'dipy.tracking.benchmarks'

Hi, when I tried to install dmriplayground on my computer (macOS Monterey), I met this error at last.
I installed FSL/dtiplayground tools successfully. I could also open the GUI smoothly. The error appeared when I tried
$ dmriprep init and also if I tried to run the analysis on a subject, the error will pop up. This error is dipy related error and I checked another computer which could run the analysis successfully that there won't be such module problem.
I tried reinstall dipy and also update it to the latest version, but it didn't work. Anyone has met this before? Could you please help me out with this issue?
Thank you!!!
[2024-03-06-15-17-45]	Saving tool information to /Users/medpsych/.niral-dti/global_variables.yml
[2024-03-06-15-17-45]	Installation completed
[2024-03-06-15-17-45]	Config file written to : /Users/medpsych/.niral-dti/dmriprep-0.5.7/config.yml
[2024-03-06-15-17-45]	DTI playground tools are found in /Users/medpsych/.niral-dti/dtiplayground-tools
[2024-03-06-15-17-45]	FSL directory is found at /Users/medpsych/fsl
[2024-03-06-15-17-45]	Software path file is written to : /Users/medpsych/.niral-dti/dmriprep-0.5.7/software_paths.yml
[2024-03-06-15-17-45]	[_load_modules] begins ...
[2024-03-06-15-17-45]	Loading modules from /Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/preprocessing/modules
[2024-03-06-15-17-45]	Loading module : BASELINE_Average
[2024-03-06-15-18-14]	Loading module : BRAIN_Mask
[2024-03-06-15-18-14]	Loading module : BRAIN_Tractography
[2024-03-06-15-18-16]	Traceback (most recent call last):
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/bin/dmriprep.py", line 237, in
[2024-03-06-15-18-16]	    result=args.func(args)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/bin/dmriprep.py", line 40, in command_init
[2024-03-06-15-18-16]	    return app.initialize(options)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/common/appbase.py", line 241, in initialize
[2024-03-06-15-18-16]	    self.initializeImpl(options)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/preprocessing/app.py", line 53, in initializeImpl
[2024-03-06-15-18-16]	    modules=module.load_modules(system_module_paths = system_module_paths, user_module_paths=config['user_module_directories'])
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/common/init.py", line 83, in wrapper
[2024-03-06-15-18-16]	    res=func(*args,**kwargs)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/common/module.py", line 18, in _load_modules
[2024-03-06-15-18-16]	    modules=_load_default_modules(system_module_paths, module_names, **options)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/common/module.py", line 25, in _load_default_modules
[2024-03-06-15-18-16]	    return _load_modules_from_paths(system_module_paths,module_names, **options)
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/common/module.py", line 47, in _load_modules_from_paths
[2024-03-06-15-18-16]	    mods.append(p.module_finder.find_module(p.name).load_module(p.name))
[2024-03-06-15-18-16]	  File "", line 522, in _check_name_wrapper
[2024-03-06-15-18-16]	  File "", line 1022, in load_module
[2024-03-06-15-18-16]	  File "", line 847, in load_module
[2024-03-06-15-18-16]	  File "", line 265, in _load_module_shim
[2024-03-06-15-18-16]	  File "", line 702, in _load
[2024-03-06-15-18-16]	  File "", line 671, in _load_unlocked
[2024-03-06-15-18-16]	  File "", line 843, in exec_module
[2024-03-06-15-18-16]	  File "", line 219, in _call_with_frames_removed
[2024-03-06-15-18-16]	  File "/Users/medpsych/anaconda3/envs/dtienv-py38/lib/python3.8/site-packages/dtiplayground/dmri/preprocessing/modules/BRAIN_Tractography/BRAIN_Tractography.py", line 9, in
[2024-03-06-15-18-16]	    from dipy.tracking.benchmarks.bench_streamline import length
[2024-03-06-15-18-16]	ModuleNotFoundError: No module named 'dipy.tracking.benchmarks'

Have not seen this issue before. This seems a version issue with dipy. Which version of dipy are you using?

Have not seen this issue before. This seems a version issue with dipy. Which version of dipy are you using?

Hi! Thank you! I used the latest version of dipy, which is 1.8.0. I tried uninstall and reinstall dipy, but it didn’t work.

I do not see the benchmarks function in dipy's tracking module at 1.8. It is in 1.7, thus it might be best to downgrade to 1.7 until we correct the code

The tractography module uses the length of a tract in its processing, that function was provided by dipy.tracking.benchmarks in 1.7 and it switched to dipy.tracking.metrics for 1.8 (which is probably a better location for it). We will need to write a version depending import.

New version dtiplayground 0.5.8b6 is available, can you update your local package and retry
pip install --upgrade dtiplayground==0.5.8b6

Version 0.5.8b6 solves this issue


[10.x] Updated Eloquent\Collection callable docblocks

So while using ->load() I got a PHPStan (Larastan) error. For example with something like this:
<?php

use Illuminate\Database\Eloquent\Relations\HasMany;

$eloquentCollection->load([
    'relationOne' => static function (HasMany $q): void {
        $q->where('foobar', 1);
        $q->with(['relationTwo' => static function (HasMany $q2): void {
            $q2->limit(100);
        }]);
    },
    'anotherRelation',
]);

I get:

Parameter #1 $relations of method Illuminate\Database\Eloquent\Collection<(int|string),App\Models\Eloquent\SomeEloquentModel>::load() expects array<(callable(Illuminate\Database\Eloquent\Builder): mixed)|string>|string, array{relationOne: Closure(Illuminate\Database\Query\Builder): void, 0: 'anotherRelation'} given.

This is because HasMany does not extend Illuminate\Database\Eloquent\Builder, but it does implement the contract Illuminate\Contracts\Database\Eloquent\Builder.
I replaced all Builder implementation with the contract within Eloquent\Collection, but I am not sure if this is correct.

I will need @nunomaduro or someone more familiar with Larastan to review this.

I've investigated this issue, and I am currently not sure the best way to address this. You can try to get help from the community in the Larastan repository: https://github.com/nunomaduro/larastan.

@nunomaduro
This is not an issue with PHPStan/Larastan, but an issue with the defined types. Yes, one might be able to create a custom rule/types using stubs maybe, but solving this at the source would be WAY nicer.
So I am not sure if the above was clear enough so I try to summarise the issue here:
The closure receives an instance of Illuminate\Database\Eloquent\Relations\HasMany. The class HasMany does NOT extend \Illuminate\Database\Eloquent\Builder, but the type definitions states that it receives an instance of the Builder class.
...
* @param  array<array-key, (callable(\Illuminate\Database\Eloquent\Builder): mixed)|string>|string  $relations
...

What HasMany does do is implement the contract Illuminate\Contracts\Database\Query\Builder. So thats why I was suggesting the current change in this PR, by replace the hard instance type with the "softer"/"wider" Illuminate\Contracts\Database\Query\Builder contract.
In any case I am flexibly and willing to invest more time to resolve this. Any suggestions on how to proceed with this?

Any suggestions on how to proceed with this?

Yes! You have to generate tests in this file: https://github.com/laravel/framework/blob/10.x/types/Database/Eloquent/Collection.php and update the PHPDocs accordingly, so they pass your new test without breaking the existing ones.
To run the "types" test suite, please run: ./vendor/bin/phpstan --configuration="phpstan.types.neon.dist" --debug


Homework won't open in Chrome

Hi guys. My homework will open in Safari but not in Chrome. When I try from the Index page, the icon just bounces a couple times on the bottom of the screen and then disappears. It has opened in Chrome in the past. Any thoughts?

Perhaps you need to install a certain extension to your chrome browser?

No ideas. Especially if it has worked in the past. Perhaps try restarting your computer. Also, try Firefox.

It's working now! I closed out of everything, updated my computer, updated one of the atom extensions, and restarted my computer. Thank you both.


Codespace: Terminal icons are off

Seeing this in latest Chrome in Codespace using insiders:

not seeing this, let me know if you have additional info that will help me to repro it

yep seeing this when it's in the min width on any browser when switching between tabs

Happens in Edge too, but not running out of sources

This is a codespaces css scoping issue

Moving to that repo

Still opened, moving to September.


Formalize a release cadence

We are currently preparing for the 1.1 release, but for features which did not make it into the release I believe we should have a more formal answer for when they may be expected to be released. I don't think we need anything very complicated or process-heavy, but I would suggest something like this:

1 minor release per month if there are new features ready
2 weeks before release, maintainers will look at open issues/PRs and determine which should be included in this month's release. Issues that are to be included will be added to the release milestone.
Any features not added to the current release milestone should be added to the next release milestone by default unless an argument can be made to bring them forward or push them back.

/cc @open-telemetry/javascript-maintainers

I added the 1.1 and 1.2 milestones. Right now I added the PRs to 1.2 which are definitely not in 1.1 but they can always be pushed to 1.3 or later when we get to the release triage meeting. I set the due dates as the last wednesday of each month (1.1 this month, 1.2 next month).

I have problems following a release process.
v1.1.0 is published, yet it's not marked as latest on npm (it's v1.0.4 that's latest). Is v1.1.0 considered as pre-release? If so why normal version (1.1.0) was it published under?
Which release is recommended to be used by users for stable environments? v1.1.0 or v1.0.4

The API 1.1.0 is fine as is. But sdk-trace-base supporting it is not yet released (it's an ongoing task).
So if you are only interested in the API and you don't use other OTel components (e.g. you implement your own SDK,...) it's fine to use 1.1.0. But if you intend to use the full set of OTel components (exporter, sdk,...) it's advised to stay on that ones tagged as latest at npm (and not deprecated).
One might think why a semver minor requires such a dependency. Well it's semver minor from API user point of view. But SDK implements the API therefore it should implement also the new parts added in the minor update to avoid problems that people use the new API but actually it doesn't work in an end to end setup.

Currently semver contract seems broken. I had following setup in package.json:
    "@opentelemetry/api": "^1.1.0",
    "@opentelemetry/core": "^1.0.1",

And npm crashed on installation of that with:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: undefined@undefined
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@opentelemetry/api
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS><1.1.0" from<EMAIL_ADDRESS>npm ERR! node_modules/@opentelemetry/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

Having that I needed to update the configuration into:
    "@opentelemetry/api": "~1.0.4",
    "@opentelemetry/core": "^1.0.1",

And that suggests that packages do not really follow semver here.
If things work with 1.0.4, they without a question should work with 1.1.0, while peer dependency setting on "@opentelemetry/core" states it's not the case.

So question is, can we really use version ranges as "@opentelemetry/api": "^1.0.4", with open telemetry packages?
Or maybe we should assume it's not semver compliant and take each upgrade with caution?

as said above it depends what you want. If you would like to combine various otel packages you have to take care to use versions which work together.
If you explicit select an api version which can't work with the core version you select it's by far better that npm tells this instead you end up in undefined behavior at runtime.


Update Artifacts sub-section in documentation

Re-worded the sentencing the artifacts subsection for readability.
Notes for Reviewers
This PR fixes #
Signed commits

[ ] Yes, I signed my commits.

🚀 Preview for commit d54871df652cfe551aecf6eeae6506b67e2e68b9 at: https://651acafa17e8451c4cd71e73--meshery-docs-preview.netlify.app

Let's discuss this on the Meshery dev call tomorrow,
Please add this as your agenda item in Docs: https://docs.google.com/document/d/1Dg4Uz9rGTuGHmYZwIt47z1j5x3LmnpxD1M1SgypAkQ0/edit

Thank you for this, @ValGrace 👏


wip: add lodestar support

This is our attempt to add the Lodestar package to this repository. I've worked on this for a couple of weeks, but I'm sorry to say that I was not able to complete it since I don't have a time for it. We would like to see the Lodestar node to be implemented in the future so I present you this draft.
The main reason why this was difficult task to complete is the way the Lodestar is packaged. It uses Yarn workspaces to make up the worktree consisting of the subpackages. In Nix, packages using Yarn are usually packaged with the mkYarnPackage module. Unfortunately there is no documentation, but here is the default.nix for it.
I've found that the correct way might be to use workspaceDependencies argument since it's the only way I can get the subpackages to start building. However, it ends up with the following error:
yarn install v1.22.19
[1/4] Resolving packages...
error Couldn't find any versions for "@lodestar/config" that matches "^1.7.2" in our cache (possible versions are ""). This is usually caused by a missing entry in the lockfile, running Yarn without the --offline flag may help fix this issue.
...

This is the current state, as you can see if you try to build it (default_2nd.nix). Without the workspaceDependencies, the main package.json will build "successfully" but the binaries are not found (default_1st.nix). We hope that somebody will have the time and knowledge to look into this.
Links
Using stdenv.mkDerivation:

https://discourse.nixosstag.fcio.net/t/mkyarnpackage-lockfile-has-incorrect-entry/21586/3

Using mkYarnPackage:

https://github.com/NixOS/nixpkgs/blob/0ec0abfcb5d5d62d5dab272b926a9ef789d6171b/pkgs/servers/web-apps/lemmy/ui.nix
https://github.com/NixOS/nixpkgs/issues/203708#issue-1469004868

Using mkYarnPackage with workspaceDependencies:

https://github.com/nix-community/yarn2nix/issues/143
https://github.com/nix-community/yarn2nix/issues/57#issuecomment-416661316 (?)

The error may be caused by subpackages sharing the same yarn.lock file. One solution could be to create separate lock files for each subpackage. However, I don't have enough knowledge in the TypeScript field to be sure.

@tupakkatapa many thanks for attempting to package Loderstar! It's, by no means, an easy task!!!
As a third alternative, would you mind trying dream2nix?
It supports NodejJS out of the box and maybe, I think can be the definitive way. We can also ask @DavHau for assistance or even improve dream2nix` if necessary with the discoveries we might find with Lodestar.
I'll try to assist, coordinate and help on this as much as I can (but will depend on how much spare time I have).

@aldoborrero Yes, it's definitely not as straight forward as it first seemed. I haven't come across dream2nix, might give it a try at some point.
I will be in touch if I do decide to give it a try and come across any major issues. I don't have the time at the moment, so if someone has the interest to take a catch from this, it would be much appreciated. Thanks for the response Aldo.

@tupakkatapa I'm going to close this PR in favor of #444 (which is still a WIP)


Implement LSBo

Ref. Three new instance selection methods based on local sets: A comparative study with several approaches from
a bi-objective perspective

Added on https://github.com/dpr1005/Semisupervised-learning-and-instance-selection-methods/commit/9b5151aacfbf1b8d6ce144659057a1a9a7241c90