Can't connect to Github

I followed the official tutorial.
When I login as Admin and try to "Connect Github" - it throws a
TokenError: Malformed auth code.
at Strategy.OAuth2Strategy.parseErrorResponse (d:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy.js:358:12)
at Strategy.OAuth2Strategy._createOAuthError (d:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy.js:405:16)
at d:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy.js:175:45
at d:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:191:18
at passBackControl (d:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:132:9)
at IncomingMessage. (d:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:157:7)
at IncomingMessage.emit (events.js:203:15)
at IncomingMessage.EventEmitter.emit (domain.js:448:20)
at endReadableNT (_stream_readable.js:1145:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
I can see the url as
http://localhost:8000/oauth2callback?code=9186b5db989d3af4e600
I have configured
Github_Live_ClientID
Github_Live_SecretKey
with the proper values from my Github account

Click to see Hill for issue #249

Click to see Hill for all issues

created by Async

Also, I am at a loss to understand why do we need Github to store the books, isn't MongoDB already able to store the books?
Can I do without publishing the book on Github?

Also, I am at a loss to understand why do we need Github to store the books, isn't MongoDB already able to store the books?
Can I do without publishing the book on Github?

@4asifm Thanks for creating an issue. Could you please create a public repo with the exact code you are running? That way we can test it ourselves to identify any error.

Could this be what 4asifm is seeing:
git clone https://github.com/builderbook/builderbook.git.
Cloning into 'builderbook.git.'...
Username for 'https://github.com'<EMAIL_ADDRESS>Password for 'https://pat.callahan1<EMAIL_ADDRESS>remote: Repository not found.
fatal: repository 'https://github.com/builderbook/builderbook.git./' not found
pac1@spinnaker:/work$ git clone https://github.com/builderbook/builderbook.git
Cloning into 'builderbook'...
remote: Enumerating objects: 329, done.
remote: Counting objects: 100% (329/329), done.
Note that the period at the end of the command copied from the book is an error.  deleting the period makes the command connect correctly.

Unfortunately, it is not the same.
I was following this section on running it locally - https://github.com/builderbook/builderbook#run-locally - and could successfully git clone and complete the build stage.
I finished all the steps - and then tried adding a book -> as per https://github.com/builderbook/builderbook#add-a-new-book
I could then start the server locally when "yarn dev"
On the top of the page (in browser -after launching builderbook) there is a red button which says Connect GitHub - When I press that button, it crashes.
See this image -> https://imgur.com/a/zZCHLCm

@callahanp thanks for contributing.
@4asifm would you mind sharing a public repo with the exact code you are running?

@4asifm Which chapter does have this problem? Final chapter or project at the root of this repo?

Ok. Will try with Github_Test_ClientID and Github_Test_SecretKey and report back

I commented out Github_Live_ClientID and Github_Live_SecretKey.
So the .env file has only
Github_Test_ClientID ="--my specific-value"
Github_Test_SecretKey = "--my-specific-value"
I didn't change anything in the repo
when I run yarn dev, the application starts
When I go to Admin " Add Book -> I get this screen

when I click on "Connect Github" it crashes.
IF this doesn't help solve the problem, lets close this ticket - I will revisit this later.

This is the console log
deserializeUser 5df28cc564179f3f8c49c6b5
deserializeUser 5df28cc564179f3f8c49c6b5
TokenError: Malformed auth code.
at Strategy.OAuth2Strategy.parseErrorResponse (D:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy
.js:358:12)
at Strategy.OAuth2Strategy._createOAuthError (D:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy.
js:405:16)
at D:\dev_wksd\src-code\builderbook\node_modules\passport-oauth2\lib\strategy.js:175:45
at D:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:191:18
at passBackControl (D:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:132:9)
at IncomingMessage. (D:\dev_wksd\src-code\builderbook\node_modules\oauth\lib\oauth2.js:157:7)
at IncomingMessage.emit (events.js:203:15)
at IncomingMessage.EventEmitter.emit (domain.js:448:20)
at endReadableNT (_stream_readable.js:1145:12)
at process._tickCallback (internal/process/next_tick.js:63:19)

@4asifm Hmm. No problem at all, I don't mind looking into this.
It works for me. If you and me have the same code than something is wrong with env vars.

Please check up that you have proper Authorization callback URL:

Since in your original post you said you saw wrong redirect URL:
http://localhost:8000/oauth2callback

Please make you have TOKEN_URI and AUTHORIZE_URI inside server/github.js
You can add console.log() statements to this file to see env vars.

Please make sure that you have SESSION_SECRET inside .env file

Did Google OAuth work for you?


discovery: use executable basename for service name detector dispatch

What does this PR do?

Use the executable basename (e.g "python" for "python3.10") for service name detector dispatch.
Motivation

https://datadoghq.atlassian.net/browse/USMON-1215
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


image_test: oslogin: add status messages

Add a status message to be printed before starting each test.
Make it logs easier to identify which test is failing.

/ok-to-test


Copy numerous copies

Are you requesting a feature or reporting a bug?
A feature
If reporting a bug, is there already an issue open for this same bug?
What is the current behavior?
What is the expected behavior?
to copy more than 1 copies(you select name for each new folder)
I would be fine even if all new folders end up in one single target folder.
I suggest there would be a check box in 2nd section where you can choose to copy original folder to numerous copies(maybe few)
How would you reproduce the current behavior (if this is a bug)?
Specify your

operating system:
browser: Chrome

It would be even more useful if this feature is added!!!


redirect creates a blank page.

Describe the bug
In my project, I want users that go to /account to be redirected to /account/profile. The first solution I came up with is simply putting a
goto("/account/profile")

and that worked, but even on local server you could still briefly see the /account page contents. I then turned to using the redirect function, because I didn't want to start hacking around trying to make it render the /account/profile page and change the URL. When I tried using redirect in a components script tag, it changed the URL but displayed an error page with "500 Internal Server Error". Then I tried using redirect in a +page.ts file, but that just produced the blank white page.
Reproduction

Create a SvelteKit app and create the folders src/account and src/account/profile
Create server.ts in src/account and +page.svelte in src/account/profile
Make a load function in server.ts that throws redirect:

import { redirect } from "@sveltejs/kit"

export async function load() {
	throw redirect(300, "/account/profile")
}

Add any element in +page.ts:

This is an h1

Run npm run dev & visit the dev server at /account in the browser
Blank page!

Logs
No logs on either side.

System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (12) x64 Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz
    Memory: 8.11 GB / 15.91 GB
  Binaries:
    Node: 20.12.1 - C:\Program Files\nodejs\node.EXE
    npm: 10.5.1 - C:\Program Files\nodejs\npm.CMD
    pnpm: 7.13.2 - C:\Users\mikaf\AppData\Roaming\npm\pnpm.CMD
  Browsers: {}
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.2.0
    @sveltejs/kit: ^2.0.0 => 2.5.7
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.1.0
    svelte: ^4.2.7 => 4.2.15
    vite: ^5.0.3 => 5.2.10

Severity
annoyance
Additional Information
I used npm for this, not pnpm. I can work around it with the hack mentioned in the description, but if there is a better way/fix let me know.

300 is not a correct HTTP status code for an automatic redirect.

Thanks


feat(xai): initial xai (grok) implementation

Implements xAI (grok) support.
Notes
This implementation follows very closely to the openai implementation. It seems like xai has modeled their api to match both openai and anthropic (simultaneously). The docs are very unclear on most of the sub-models so the implementation was essentially matched against openai. It might be possible to test alternative BASE_URLs schemas on the openai and anthropic APIs as suggested in the docs via python/js official SDK examples.
The v1/embeddings endpoint is documented and lists a model v1 in the docs. Afaik, this is an internal model not available to the public as it's not listed as available in the xAI console (see photo). Therefore, this is untested (but likely would work if you had access to this model).

Added general style comment changes
Added xai to various READMEs
Added some printlines to grok example


[Epic] Introduce order abstraction and re-design the cfd lifecycle

With #2292 with introduce the abstraction of an order, but the Cfd lifecycle within the daemon is still odd, because we mix order and the Cfd together.
I opted to keep this weirdness for now and create this ticket to action a proper order abstraction.
Part of this model was already discussed in https://github.com/itchysats/itchysats/issues/1770.
The motivation of this ticket is to design a better model for the lifecycle of a Cfd. This will help with creating better boundaries for the APIs, the application flow, the data and the eventually the user experience.
Recap, Offer and Order as introduced in #2292
An offer is created by the maker and sent to all connected takers.
An offer has a dedicated id, the OfferId.
One offer can be taken be taken multiple times by one/multiple takers.
In order to taker an offer a taker creates an order.
The order is identified by a unique id, the OrderId.
The taker proposes the OrderId when sending the order to the maker.
Vision for Order and Cfd:
As long as the order is not filled, we should treat the order as order.
The order is filled once "contract setup is done", only then we should create the Cfd. As "contract setup is done" is not clearly defined, I would opt for defining it as: Once we have a Dlc we create the Cfd and attach the Dlc.
This means, that the Cfd lifecylce starts with the negotiated Dlc, not with the state on the blockchain. We could also opt for starting the Cfd lifecycle once the transaction is in mempool, because only then we can trigger actions to close the position.
The challenge here is where to store the data and how to present it to the user.
Both maker and taker should store orders in their daemon database.
The accept / reject logic should be for the order, not the Cfd.
The rollover tables are already separate.
When rolling over we could opt for creating an order as well, that is then filled (i.e. new Dlc upding the Cfd) or not. We can also opt for doing that in a separate iteration.
If we do so, the Cfd is either open or closed, there is not other state.
The user interface should display orders and open positions separately. In an intermediary step we can opt for keeping the current display and map the order  model to the projection::Cfd model. This might be messy though.

An offer is created by the maker and sent to all connected takers.
An offer has a dedicated id, the OfferId.
One offer can be taken be taken multiple times by one/multiple takers.

One note on this:
I think an order should consume an offer. If the offer had a range from 100-1000 and someone creates and order of amount 300 which gets accepted, the remaining amount in the offer should be reduced by said amount, i.e. the offer is updated with 100-700.

An offer is created by the maker and sent to all connected takers.
An offer has a dedicated id, the OfferId.
One offer can be taken be taken multiple times by one/multiple takers.

One note on this: I think an order should consume an offer. If the offer had a range from 100-1000 and someone creates and order of amount 300 which gets accepted, the remaining amount in the offer should be reduced by said amount, i.e. the offer is updated with 100-700.

After discussion with @bonomat here are some notes for completion:
When we merged https://github.com/itchysats/itchysats/pull/1455 we automatically replicated the offer (previously called order) in the maker daemon upon a taker taking it. A new offer, with a new id, was automatically sent out to all takers without interaction of the automation.
What we call "offer" became more of a "maker terms" feed when this merged.
The automation was and is still able to change the terms, but only when the terms are being changed we send an update to the taker.
With https://github.com/itchysats/itchysats/pull/2292 we took this one step further. Instead of re-creating the terms upon taking an offer we just keep the offer with the same id in place and allow multiple takers to take it.
As @bonomat pointed out this is not a step towards an orderbook, because the offer of the maker should be matched with an order, and when filling the order the offer should be reduced of removed (removed if order gets completely filled).
But the model for such a solution is quite different. At the moment we don't have an orderbook, and we have a better UX if the don't send updates from maker to taker after a taker placing an order. We have not decided yet how the maker interacts with the orderbook and how the orderbook handles order matching.
We agreed to keep the current changes in place and re-design this part once we introduce the orderbook.

Independent of the discussion about offer and order, I still think we should create a clear boundary between order and cfd. With that change we can evolve the UI towards a solution based on an orderbook.

Note: Converted this into an Epic because I think it is too big to just action this. I think we have to define the boundaries of this more clearly. @Restioson since you invested some exploratory work into this ticket already maybe we can have a chat these days to chunk this up and then work on it together!

Sure, sounds good!

This project is unmaintained


Fix issue with failing build

Excluded the conflicting dependency org.eclipse.persistence
Also excluded org.opencds.cqf.cql dependencies from FHIR engine
Signed-off-by: Elly Kitoto<EMAIL_ADDRESS>IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #576
Type
Bug fix
Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[x] I have added any strings visible on UI components to the strings.xml file
[x] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

@ellykits The PR is ok on my side, So far it does not break anything to do with CQL


Hangs at login

Since upgrading to 2.0.0 (4027), Quicksilver hangs when I login since I have set it to open at login. Not sure what to provide here but, as a developer, I can provide anything you want to help.

Please provide a spindump sample when Quicksilver hangs. To do this, follow the instructions here:
https://support.zoom.us/hc/en-us/articles/206435255-Creating-a-Spindump-file-on-macOS
Except replace 'zoom.us' with 'Quicksilver in step 5.
Thanks

Not sure if it's related but after trying to update from 2.0 to 2.0.1, it hung again. Here is the spindump:
QS Spindump while updating.txt

Thanks for the spindump. This appears to be the same issue as #2708, and should be fixed in an upcoming release (v2.0.3) which will be released in the next 24 hours.
Thanks for your patience!


Update MessageDialog.cs

@bigworld12 so https://github.com/MahApps/MahApps.Metro/pull/2022 will be a good solution for this


The workflow turn to mess!!!

please check this issue.
https://github.com/comfyanonymous/ComfyUI/issues/4743
My workflow are mess after upadte comfyui frontend.
The workflow only work fine after disable Custom-Scripts node.
pls fix it.

The error is caused by core. Not custom node. The fix is available in nightly release 1.2.44. Follow https://github.com/Comfy-Org/ComfyUI_frontend#nightly-release to opt-in nightly release.


hotfix Fix restore snapshot user priv with add cluster in UserIdentity (#26969)

Proposed changes
Fix restore snapshot user priv with add cluster in UserIdentity

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

#26969

run buildall


Does not work with checkout@v2

Describe the bug
This might not be a bug, but an FYI. I accidentally typed:
    - uses: actions/checkout@v2

when adding this to a repo I help manage and this action is not happy (at 1.2.0). Not sure why.
To Reproduce
Try to use with actions/checkout@v2, and Github throws an error
Expected behavior
The behavior with actions/checkout@v1 saying you need to change the Changelog.
(NOTE: This might be also be due to my repo? Not sure...)

Hey @mathomp4 - do you have a public link to the action logs? If not, could you supply output of the changelog-enforcer action?
Thanks for opening the issue!

@dangoslen Huh. Maybe? I fixed it back to v1 after I saw it. Let me go see...
Does this work: https://github.com/GEOS-ESM/MAPL/runs/1114113276?check_suite_focus=true
Weirdly it was the:
/usr/bin/git diff origin/develop --name-status --diff-filter=AM
fatal: ambiguous argument 'origin/develop': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
##[error]The process '/usr/bin/git' failed with exit code 128

error.
I tried it on my command line and it worked and that's when I figured it was my change to v2.

Happy as a clam with v1:
https://github.com/GEOS-ESM/MAPL/runs/1114130479?check_suite_focus=true

And in case permissions don't let you see what you need, let me know and I'll try and get the raw logs.

Nope that is perfect.
I think the issue is that in v2, it no longer checks out the code in a detached head state but as a branch.
I'll look into this and see what I can figure out over the weekend - I don't have a ton of time before then, unfortunately.

Nope that is perfect.
I think the issue is that in v2, it no longer checks out the code in a detached head state but as a branch.
I'll look into this and see what I can figure out over the weekend - I don't have a ton of time before then, unfortunately.

Not a big issue for me. I've been looking for something like this action to be strict with changelogs, so I'm glad it works even with v1. (Now watch, using v2 breaks v1 compatibility and hello v2.0.0 😄 )

@mathomp4 I believe I have fixed this issue.
Can you try running again using actions/checkout@v2 and dangoslen/changelog-enforcer@49dd3f6 ? That will help serve as a smoke test before actually creating the release.

@dangoslen You seem to have done it. I think it worked with both actions/checkout@v1 and actions/checkout@v2 at least in my test-things-out-repo. Thanks!
Now if only I knew enough JavaScript to figure out how you fixed it! 😄

haha. Honestly, it is more git knowledge than anything else.
In v2, they only download the commit needed instead of the entire repository to improve download and run time. Just needed to download the extra branch to do the git diff to check for a change to the changelog.
Thanks again for opening this issue and confirming! I'll be cutting an official v1.4.0 release later today

haha. Honestly, it is more git knowledge than anything else.
In v2, they only download the commit needed instead of the entire repository to improve download and run time. Just needed to download the extra branch to do the git diff to check for a change to the changelog.

Ahh. Well it did seem faster though with GitHub Actions that varies so much you never know!


Cleanup /var/log/*

Description of changes:
Some traces of the build process/initial instance launch are left behind in various log files (such as SSH logins by Packer). This whacks everything under /var/log.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Testing Done
make succeeds.

Would we ever have a need for these files for debugging if AMI build fails?

Nope. If there's a failure in the build, we won't make it to this step in the first place.


Update ms-cloud-germany-transition-phases.md

Move the SharePoint up before Exchange

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


Seems to be a fish shell issue

Expected a string, but instead found a redirection
fish: done <<< "$ET_SERVER_COMMANDS"
Setup: using ssh with a shared key from a Mac OS X Sierra installed using brew to Ubuntu server 16.04 via your ppa
Please let me know you are not able to replicate this by simply using the fish shell and I will attach the logs

#25 addresses this. I guess the fix hasn't been released to the PPA/brew yet? Can we leave this open till it is released so that others may not open duplicate threads

Yep, makes sense. I plan on releasing 3.0 this week then we can close this.

3.0 is out on Ubuntu & OS/X.  Please confirm that 3.0 works for you and then close, thanks!

Just FYI, the issue is resolved. Thanks!


[Bug Report] Cascader-Style is not cleared when component options are cleared

Element UI version
2.13.0
OS/Browsers version
mac
Vue version
3.0.0-alpha.1
Reproduction Link
https://codepen.io/pen/?&editable=true
Steps to reproduce
Cascader component use 'clearable' Just clear the style of the last option;
What is Expected?
The style returns to its original state
What is actually happening?
Just clear the style of the last option

你的链接错了。


cant compile DNP3CLRAdapter in the .NET binding due to missing osslcrypto.lib file

This is the error:
Erro	LNK1104	não é possível abrir o arquivo 'C:\Users\gusta\Documents\git\dnp3\Debug\lib\osslcrypto.lib'	DNP3CLRAdapter	C:\Users\gusta\Documents\git\dnp3\dotnet\bindings\CLRAdapter\LINK	1
I´m using x64 with TLS enabled.

Please take this question to the mailing list:
http://groups.google.com/group/automatak-dnp3


No buildtooling or CI

As a lib User
I want an interface to execute build commands like test and install
and I want to be able to execute commands on every integration of code into mainline
So that mainline commits can have the assurances provided by the build commands executed during development

delivered in 0.1.0


Can TFLite treat input/output tensors as flat buffers just like TFMobile used to?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 17.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.7.0
Python version:  3.5.4
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a
Exact command to reproduce:  feature?

Describe the problem
TF Mobile allows treating input/output as flat arrays (e.g. float[]). Why does the TF Lite design deviate? Moreover, TF Lite treats inputs differently from outputs which feels odd, especially when chaining models.
Is there a way to get the old behavior back? Essentially, treating input/output tensor as flat buffers (appropriately sized) enables abstracting over the exact network input/output shapes in app code, making it more reusable. One can think of the network + shape as an existential package, which is quite convenient.
Source code / logs
TF Lite Android example requires instantiating float[][] which is hard-coding network output shape into the app.

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

You can pass a bytebuffer to TFlite using the Java API.  Can you please try this and let us know ?

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


[Language request] Add support for Catalan

Description
I would love to be able to support a new language: Catalan
Motivation
I am based in Barcelona, and most websites have three languages: English, Spanish, Catalan
Proposed Solution
const replexicaConfig = {
  locale: {
    source: 'en',
    targets: ['es', 'ca'],
  },
};

Loving it!
We're releasing a bunch of languages next week. Stay tuned ;)


Support Cookie header injection by annotated HTTP service

We may automatically decode Cookie header as a Java object like io.netty.handler.codec.http.cookie.Cookie.

We probably should also look into other implementations such as AsyncHttpClient and fork the best one.

What if we add Cookies interface which extends Set<Cookie> like below?
public interface Cookies extends Set<Cookie> {
}

So we can decode Cookie header when a user specify Cookies on his or her parameter of an annotated service method.


MSET for multi-datacenter clusters

It seems that according to #49 mset should be supported for local clusters. From my experience, it doesn't seem to replicate between racks in different data centers. Is there any reason why it was implemented to only support local replication?
Also, it seems that mset is still marked as unsupported in https://github.com/Netflix/dynomite/blame/dev/notes/redis.md

It is a multi-key command so you will have consistency issues if another client is trying to make a mutation in a remote node at the same time.

Why isn't this an issue for replication within local racks?

Correct, the same issue may take a place in a local datacenter but at least you have quorum guarantees on writes within a local Datacenter.


Upgrade to fast IAVL with multi batches

When we auto upgrade our huge (289G) data. We met OOM. so splite to multi batches to upgrade the fast storage.

very interesting!

@p0mvn you have been in charge for the fast cache - would you have time to review this PR?

utACK.
Thank you for this change. That makes sense.
As a side note for future work, do you think we can now remove this garbage collection logic:
https://github.com/cosmos/iavl/blob/807f8c542e48369d35622d582f56da5187d128b3/mutable_tree.go#L688-L712
That logic was added to mitigate OOM but I think the solution in this PR might remove the need for the garbage collection.
We suspect that this garbage collection might be increasing the setup time in our unit tests in Osmosis.
ref: osmosis-labs/osmosis#2148 (comment)

@p0mvn


AcademyCraft does not see LambdaLib

AcademyCraft requires LIUtils, but i can't download this library. Also, mojang servers disallows me to download AnnotationRegistry (needed to compile)

AnnoReg 2.0r1
LIUtils 1.0r1

Does not helps xD Just included files at 1.7.10-blablabla.jar

What do you mean by including files? Those mods are standard forge mods and you should place them in .minecraft/mods, making sure the forge is properly installed.

No. ACraft requires plugins not mods xD

AcademyCraft is also a forge mod.

I know. Forge also have plugins - builtin into minecraft.jar mods.

Also, you forbid "Redistribute the project in source-code or binary form". But it's against GPL.

Orr.. wait xD Poor english

Coremod can now also be put in mods folder without installing them into jar :I

Not helps, weatherfold)

I'm just saying that it's standard way of installation for AC. Works for me and everyone. If it does not work, there might be some problem on your side. Forge version and other mods intalled please?

idk, because it updates automatically. And no mods installed.

But mod is cool.
P. S. I hate running "~/java8/jre1.8.0_60/bin/java -jar launcher.jar" to start game

You can find out by logs in your .minecraft/logs folder。

I knowww.... I am speaking with minecraft modder (sometimes)

Also i am C/C++ coder

As mentioned earlier, as long as you put AC, AR LIU into mods folder and you use JRE8 for game startup, everything works well. If that doesn't work, you should probably state your problem more clearly... Like providing the startup log.

My. game. is. not. crashes!!!

There ARE startup logs even if game does not crash. fml-client-0.log

BUT: all mods are working now

Alright, I think we have some misunderstanding. You are saying that dependencies are not automatically downloaded?

Nope

Please state your problem more clearly then. I don't even know what exactly you are encountering.

I don't have problem, because i found how to fix it. This topic - just message, because players must can easily install mod.

OK. Currently dependencies are mentioned in the download pages and players have to manually download the jars. In the future we might implement some mechanism to automatically download libraries or warn players when they do not have the correct library installed. Thanks for pointing this out.

xD

If you are trying to BUILD the project you should point out at the very beginning.

Ooop..I was confused by this issue...I would only say sth I know.
LIUtil and AnnoReg are minecraft mods and for installing, we don't need to do more than just put them in the "mods" folder..
LambdaLib is another thing that I remember is not being used in AC mod now...As @WeAthFoLD said that it will be used.for next pr for AC mod...
Still, I think maybe is better to state the problem clearly at first...Idk what the thing you are really want to point out...


New email search fields

Common Fields:
content/email-body,
file name/email-subjectline,
mime-type/item-type,
date-properties, item-date, top-level-item-date
file-extension,
contains-text, has-binary, has-text, has-image, has-communication, has-embedded-data, (true/false)
md5, sha-1, sha-256, (By Value)
path-name, path-kind, path-mime-type,
encrypted, deleted, corrupted, partially-processed-file  (true/false)
text-stripped (in case of unrecognized file formats)
unrecognized-files (true/false)
message-flags,
previous-version-docid
custom-metadatafields (Can be included to add our derived values and imported through sheets basis hashes)
file-signature (true/false values indicating the file properties if the tool can do a signature analysis)
email communication Fields:
from, to, cc, bcc; address, domain, recipients,
message-id,
email-thread
comm-date, received-date
emailreceivedfrom-serverip (can be a next level search when you are building the tool)
Other Fields:
document-id, guid, parent-guid, tag, has-tag, exclusion, has-exclusion, comment, has-comment

Implemented with keyword-search syntax


How to test on free size of images?

Hi MathiasGruber,
(and Hello guys)
At the training step, you have used 512x512 pixels images.
How can we test free size images ( lets say 640x640 pixels images)?
Thank you.

I implemented a possible solution to this in a new notebook. It should be possible to setup the network to train on arbitrary image sizes as well, however, memory usage quite quickly explodes. I'd love to hear other ideas on how to approach this for large images without requiring a huge amount of memory.

Hello, this works nicely for the sample image given. My goal is to provide my own masked image and mask. I do not want to generate random masks. I Would you suggest if I should change the way random_masks is defined or directly pass the mask in the predict function?

I implemented a possible solution to this in a new notebook. It should be possible to setup the network to train on arbitrary image sizes as well, however, memory usage quite quickly explodes. I'd love to hear other ideas on how to approach this for large images without requiring a huge amount of memory.

Hi MathiasGruber, could you please make a demo how to test on arbitrary image even it quickly explodes the memory? 👍 🤓

Hello, this works nicely for the sample image given. My goal is to provide my own masked image and mask. I do not want to generate random masks. I Would you suggest if I should change the way random_masks is defined or directly pass the mask in the predict function?

Hi KhyatiGanatra, you can do that by making a function to load your own masks and replace "random_masks" function by it in test phase

@MathiasGruber Haven't gotten to this point yet, but I don't think there is anything in this network preventing you from training on smaller images but then using the trained weights on an arbitrary sized image. Since all the stages are convolutions, the number of parameters stays the same.

@MathiasGruber Haven't gotten to this point yet, but I don't think there is anything in this network preventing you from training on smaller images but then using the trained weights on an arbitrary sized image. Since all the stages are convolutions, the number of parameters stays the same.

That should work, but as soon as the image size increase memory explodes. The best way I found so far is the image chunking approach, but it'd be cool if anyone can find a better approach.


:lipstick: use placeholders for poverty index metadata file

Use placeholders instead of a list of descriptions (that are labelled as invalid by YAML linter).
There are two ways how to use newlines. Either you strip newlines from definitions with |- and then make newlines in description explicitly.
description: |
          {definitions.cme}

          Multidimensional Poverty Index.

          {definitions.mpi_first}

          {definitions.core}

          {definitions.intensity}

          {definitions.mpi_last}

or you use definitions with | that keeps newlines and then the description would be more compact, although you have to make a newline after the header which looks a bit odd
description: |
          {definitions.cme}
          Multidimensional Poverty Index.

          {definitions.mpi_first}
          {definitions.core}
          {definitions.intensity}
          {definitions.mpi_last}

@paarriagadap what do you think, is this better than a list of descriptions?

Hi @Marigold ! It looks excellent, better than before because we avoid errors and I prefer the option you chose, the first one: it looks cleaner to me. The only thing that I like how it was before is that the editor uses a different color for the anchors, here they have the same color as the text (orange)

But that's minor.
I introduced some changes, because there was a text that didn't belong to an indicator's metadata. Additionally, I corrected the line generated after HTML list and I also corrected a link.


AuthenticationHelper on Core.UserProfiles.Sync should use async version of AcquireToken

The AuthenticationHelper in this sample is using AcquireToken instead of AcquireTokenAsync. This is not a high priority issue but given that this is a sample that many people use as reference I believe it's worth fixing.
I'm planning to submit a pull request with a proposed fix soon.

Fix merged as part of the #1447


Update to LESS 1.3.3

Running into compiling issues with Bootstrap which seem to be resolved if using LESS 1.3.3

Current version of Bootstrap compiles with dotless. Let's concentrate on getting at least LESS 1.4 feature parity (#298) for the next feature release...


AddEmbeddedPackagePart is saved to wrong path

Describe the bug
ISSUE 1
You can iterate all EmbeddedPackageParts by doing the below. It iterates WorksheetParts and then each EmbeddedPackagePart.
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(filepath, true))
{
    IEnumerable<WorksheetPart> worksheetParts = spreadsheet.WorkbookPart.WorksheetParts;
    foreach (WorksheetPart worksheetPart in worksheetParts)
    {
        IEnumerable<EmbeddedPackagePart> embedpackages = worksheetPart.EmbeddedPackageParts;
        foreach (EmbeddedPackagePart part in embedpackages)
        {

        }
    }
}

You can delete any EmbeddedPackagePart by deleting it at the WorksheetPart level like this.
worksheetPart.DeletePart(part);

However, if you want to AddEmbeddedPackagePart you can do so also at the WorksheetPart level:
EmbeddedPackagePart embedpack = worksheetPart.AddEmbeddedPackagePart(contentType);

But the new EmbeddedPackagePart will be saved to this URI where a new embeddings folder will be created:
xl/worksheets/embeddings/package.bin

If you use Excel, all EmbeddedPackageParts are saved in this folder instead:
xl/embeddings/package.bin

Is this correct behaviour? Should Open XML SDK also save the part to xl/embeddings?
ISSUE 2:
Excel saves the EmbeddedPackagePart with original extension i.e. .xlsx.
Open XML SDK saves EmbeddedPackagePart with .bin extension.
Observed behavior

EmbeddedPackagePart is saved to xl/worksheets/embeddings

EmbeddedPackagePart is saved with .bin extension.

Expected behavior

EmbeddedPackagePart should be saved to xl/embeddings

EmbeddedPackagePart should be saved with the original extension of the package i.e. .xlsx.

Desktop (please complete the following information):

OS: Windows 11
Office version: 2212
.NET Target: .Net latest version
DocumentFormat.OpenXml Version: 2.19

Hi @twsouthwick
I made a mistake trying to PR to v2.20 so I pulled it again. I think you may want my PR for v3 or another version than 2.20.
You can look at my code in the closed PR.
Let me know, if you want it and I can PR in the branch you want it.

Hi @Asbjoedt, I would prefer any feature requests against main and then we can decide if it's worth it to back port.
This issue looks to be a schema issue similar to #1292.
/cc @tomjebo @hunyu @mikeebowen

@Asbjoedt do you have test code including the embedded contents to be added? I will need to verify all the behavior here.

I would have to test this to verify the behavior but I suspect that Excel would be ok with the path to the part as long as the relationship pointed correctly to where it lives. The ISO 29500 standard and our implementer notes don't specify a path. They give examples but they specify that the package must be the target of the ...relationships/package relationship. If it does need correction because Excel doesn't accept what the SDK uses or we just decide it really has to match Excel's address, we do this on the backend/generation phase. If Excel (or Word or PowerPoint) don't care what the path is, then we could use a feature on part creation to allow the coder to specify a new path.

As far as the .xlsx, we shouldn't use .bin as this is an Office Open XML package and not an OLE object. This would also be done on the backend/generation phase in our package.xml CT_EmbeddedPackagePart definition.

@tomjebo

I think imitating Excel to the widest possible extent as long as it does not go against the OOXML standards, is best. It is confusing to have to look for embeddings multiple places based on whether you used Excel or Open XML SDK. However, you are right that technically as long as the relationship paths are correctly written, Excel can read the data.

I agree. As a solution, I suggest to imitate the ImagePartType, that is already in the codebase and I reused this code yesterday for a fix for embedded packages, do take a look and compare it with the ImagePartType stuff: https://github.com/dotnet/Open-XML-SDK/commit/9f7ed9700b5a45f45a956d5aeee4e1c77d13bbce
I am not fully sure, it completes the fix, but it goes a long way to fix it.

Here's code for you to test the behaviour on .xlsx files.
public void EmbedObject(string filepath)
{
    List<EmbeddedPackagePart> packages = new List<EmbeddedPackagePart>();

    using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(filepath, true))
    {
        IEnumerable<WorksheetPart> worksheetParts = spreadsheet.WorkbookPart.WorksheetParts;
        foreach (WorksheetPart worksheetPart in worksheetParts)
        {
            packages = worksheetPart.EmbeddedPackageParts.Distinct().ToList();
            foreach (EmbeddedPackagePart part in packages)
            {
                // Create new EmbeddedPackage of contentType .xlsx
                EmbeddedPackagePart new_EmbeddedPackagePart = worksheetPart.AddEmbeddedPackagePart("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

                // Feed data to the new package from an .xlsx file
                var new_Stream = new MemoryStream();
                using (FileStream file = new FileStream(filepath_to_embed, FileMode.Open, FileAccess.Read))
                {
                    file.CopyTo(new_Stream);
                }
                new_EmbeddedPackagePart.FeedData(new_Stream);
                new_Stream.Dispose();
            }
        }
    }
}

I recommend you create your own test sample, where you i.e. create two .xlsx spreadsheets and embed one of the .xlsx into the other as an object. You should try the embedding process first using Excel and then Open XML SDK.

@Asbjoedt thanks for the additional details and explanation. I can create a sample to test this and verify the behavior. Regarding (1) above, yes, I agree that we should imitate Excel also. The SDK is not only built around the ISO standard but around the Office behaviors. So good point.

@tomjebo. It would be great if this fix could get into 2.20, if possible.

@Asbjoedt I'm working on getting this into v2.20.0.

@tomjebo this was included in v2.20.0 right? Can this be closed?

Before closing this I wanted to circle back to explain something about the path.  I was looking at this and I see why EmbeddedPackageParts are saved to a new embeddings folder in the folder of the referencing part. EmbeddedPackagePart is a shared type in ISO 29500-1. That means that it is a target of an explicit relationship of several parts in WordprocessingML, SpreadsheetML and PresentationML documents. However, these documents don't have the same structures wrt where those referencing parts live path-wise.  So when the SDK designers were considering how to declaratively specify using XML definitions with a targetPath specification like embeddings or "../embeddings" or "/embeddings", they couldn't come up with one that would satisfy all three apps. For Excel, it would be "../embeddings" but for Word it would be "./


Facts under a binding group can cause an accumulator with an initial value to have downstream results even after retraction

I'd expect the following test to pass:
(deftest test-accum-all-with-bindings
  (let [mci-temps [(->Temperature 10 "MCI")
                   (->Temperature 20 "MCI")]
        sfo-temps [(->Temperature 10 "SFO")
                   (->Temperature 20 "SFO")]
        temp-rule (dsl/parse-rule [[?temps <- (acc/all) :from [Temperature (< temperature 25) (= ?location location)]]]
                                  (insert! (->TemperatureHistory (sort-by :temperature ?temps))))

        temp-history-query (dsl/parse-query [] [[TemperatureHistory (= ?temps temperatures)]])

        all-temps-session (-> (mk-session [temp-rule temp-history-query] :cache false)
                              (insert-all (concat mci-temps sfo-temps))
                              fire-rules)]

    (is (= (-> (apply retract all-temps-session mci-temps)
               fire-rules
               (query temp-history-query))
           [{:?temps []}]))))

However, it fails:
FAIL in (test-accum-all-with-bindings) (test_accumulators.clj:194)

expected: ({:?temps ()}
           {:?temps (#clara.rules.testfacts.Temperature {:location "SFO", :temperature 10}
                     #clara.rules.testfacts.Temperature {:location "SFO", :temperature 20})})
  actual: [{:?temps []}]

    diff: - [nil
             {:?temps (#clara.rules.testfacts.Temperature {:location "SFO", :temperature 10}
                       #clara.rules.testfacts.Temperature {:location "SFO", :temperature 20})}]

Ran 17 tests containing 42 assertions.
1 failures, 0 errors.
{:error 0, :fail 1, :pass 41, :test 17, :type :summary}

I believe the root cause of this is similar to that in [1], but it is
a slightly different problem so I decided to log it separately.  The difference
is that this case depends on what other bindings exist and the resolution of [2].
If, as discussed in [2], we want an accumulator with an initial value
to propagate, even with nil bindings, we probably only want one such
result to propagate, and then only in the absence of any real bindings.
Thus, when we retract all previous elements, whether we should propagate
nothing after retracting or the initial value with nil bindings depends
on if other binding groups are present.  In general, my thinking here
is that adding and retracting fact(s) or simply never inserting them
should both leave the session in the same ultimate state (excepting listeners of course).
I discovered this while writing tests for [3], but this is a separate concern
with the same behavior both before and after those changes.

https://github.com/rbrush/clara-rules/issues/188
https://github.com/rbrush/clara-rules/issues/102
https://github.com/rbrush/clara-rules/issues/182

It seems like we'd want one accumulated value to propagate per distinct set of bindings used by the accumulator. So in this example, there would be a TemperatureHistory for all temps in MCI and another one for all temps in SFO, but there would not be a TemperatureHistory that is not associated with any city. (I think this is what I would expect as a user.) This aligns with the proposal I'm making in #102, where we wouldn't propagate the initial value if an accumulator's bindings cannot be satisfied.
This case is confusing because these test rules aren't really internally logical. It seems like I'd either want a TemperatureHistory grouped by city, or a TemperatureHistory of everything, but using the same TemperatureHistory fact for both seems confusing. If a user really wants that, an additional rule could be written that inserts TemperatureHistory if there are no Temperatures, or a user might better separate these concerns with separate TemperatureHistoryByCity and GlobalTemperatureHistory facts.

The approach of ensuring that all variables are bound seems reasonable to me, and I agree with the assessment by @rbrush that a rule matching on nothing and one matching on groups of bindings is logically questionable, aside from any implementation concerns.  I can't think of any cases where firing with unbound bindings would be the best way to solve a problem.
I do see a complication to this though - how should should bindings that reflect explicit values of nil (or false, but we could just use a nil? check) be dealt with?  Wanting to propagate an actual result of nil in an accumulator, as discussed at https://github.com/rbrush/clara-rules/issues/182 , seems questionable to me.  However, having a field on a fact be nil and wanting to group on that seems like a plausible use-case.

I do see a complication to this though - how should should bindings that reflect explicit values of nil (or false, but we could just use a nil? check) be dealt with? Wanting to propagate an actual result of nil in an accumulator, as discussed at #182 , seems questionable to me. However, having a field on a fact be nil and wanting to group on that seems like a plausible use-case.

I think we can make this determination by seeing if the bindings map in the token has the expected key. So we wouldn't check for a non-nil value, we'd check to see if anything (including nil) was set in the bindings by an upstream expression.

@mrrodriguez pointed out that I made a mistaken on my expectations in the test on the parent post since I missed the SFO group and included an empty group.  I believe the basic issue actually described in the text is correct though.  Revised test:
(deftest test-accum-all-with-bindings
  (let [mci-temps [(->Temperature 10 "MCI")
                   (->Temperature 20 "MCI")]
        sfo-temps [(->Temperature 10 "SFO")
                   (->Temperature 20 "SFO")]
        temp-rule (dsl/parse-rule [[?temps <- (acc/all) :from [Temperature (< temperature 25) (= ?location location)]]]
                                  (insert! (->TemperatureHistory (sort-by :temperature ?temps))))

        temp-history-query (dsl/parse-query [] [[TemperatureHistory (= ?temps temperatures)]])

        all-temps-session (-> (mk-session [temp-rule temp-history-query] :cache false)
                              (insert-all (concat mci-temps sfo-temps))
                              fire-rules)]

    (is (= (-> (apply retract all-temps-session mci-temps)
               fire-rules
               (query temp-history-query))
           [{:?temps [(->Temperature 10 "SFO") (->Temperature 20 "SFO")]}]))))

@rbrush @WilliamParker and anyone else.
The example posted here https://github.com/rbrush/clara-rules/issues/189#issuecomment-219848678 is clear to me that it should pass.
However, there is still another case we haven't discussed and I am not a little shaky on.
This applies equally to AccumulateNode and AccumulateWithJoinFilterNode
(let [get-temp-history (dsl/parse-query [] [[?his <- TemperatureHistory]])

      get-temps=threshold (dsl/parse-rule [[?threshold <- :temp-threshold]
                                           [?temps <- (acc/all) :from [Temperature (= ?loc location)
                                                                       (= temperature (:temperature ?threshold))]]]

                                          (insert! (->TemperatureHistory ?temps)))

      thresh-10 ^{:type :temp-threshold} {:temperature 10}
      temp-10-mci (->Temperature 10 "MCI")
      temp-15-lax (->Temperature 15 "LAX")

      temp-history (-> (mk-session [get-temp-history get-temps=threshold])
                       (insert thresh-10)
                       (insert temp-10-mci
                               temp-15-lax)
                       (fire-rules)
                       (query get-temp-history))]
  (is (= 1 (count temp-history)))
  (is (= #{{:?his (->TemperatureHistory [temp-10-mci])}}
         (set temp-history))))

This is the behavior of AccumulateNode as of the changes from #190 .  However, AccumulateWithJoinFilterNode now differs.  I am working on AccumulateWithJoinFilterNode for this issue #189 as well as #188 currently and I noticed this.  We actually have tests that assert the behavior is this:
(is (= 2 (count temp-history)))
(is (= #{{:?his (->TemperatureHistory [temp-10-mci])}
         {:?his (->TemperatureHistory [])}}
       (set temp-history)))

The basic idea here is that there are facts inserted with different bindings, so they are grouped into multiple binding groups.  These facts are never retracted as in the example posted for this issue.
Instead one of the binding groups satisfies the join condition criteria and the other group doesn't.
For bindings ?loc = "MCI" there are facts meeting the join condition.  So we get an accumulated result for it.
However, there exists some facts with bindings ?loc = "LAX", but none of them meet the criteria of having temperature equal to the threshold.
So we do "know" that there is a binding group for "LAX" because there are facts with it.  However, none of these facts join to the required conditions.  Should we propagate the :initial-value for this "LAX" group anyways?
I am leaning towards the behavior of #190 introduced in AccumulateNode being correct.  Specifically, if no facts within a binding group can satisfy their conditions criteria, the :initial-value is not propagated.  The behavior would then be as if there were no "LAX" at all for this accumulator condition.  I think that is appropriate since none of the "LAX" that do exists, satisfy the condition.  So to me, that is almost like they don't exist because they could be "spurious" with respect to the condition actually being tested.

Specifically, if no facts within a binding group can satisfy their conditions criteria, the :initial-value is not propagated.

So what would you expect for this query if there are no Temperature facts:
(defquery get-all-temps
 []
 [?all-temps <- (acc/all) :from [Temperature]])

I'd expect the query to match, but for ?all-temps to be an empty seq. If I'm reading your proposal correctly, then this wouldn't match? That seems a bit surprising to me, but might be worth it to be consistent with other behavior, like in your "LAX" example.

@rbrush I agree with you that  get-all-temps should propagate the empty collection.  That case is still fine and functional.
The question I had was more around the idea of having facts that match the accumulate node from a "class type" perspective, but fail to match any join or alpha node criteria/constraints.
To simplify my question perhaps, consider this easier case where there is only a single condition and no joins between conditions involved.
(let [q (dsl/parse-query [] [[?cs <- (acc/all) :from [Temperature (= ?loc location) (< temperature 10)]]])

      temp-9-mci (->Temperature 9 "MCI")
      temp-11-mci (->Temperature 11 "MCI")
      temp-11-lax (->Temperature 11 "LAX")

      mci-matches-lax-does-not (-> (mk-session [q])
                                   (insert temp-9-mci
                                           temp-11-lax)
                                   fire-rules
                                   (query q))

      neither-matches (-> (mk-session [q])
                          (insert temp-11-mci
                                  temp-11-lax)
                          fire-rules
                          (query q))]

  (is (= [{:?cs []}] neither-matches))
  (is (= [{:?cs [temp-9-mci] :?loc "MCI"}] mci-matches-lax-does-not)))

Specifically the 2nd is check.  This is the behavior I think is most expect here.  I wouldn't expect:
(is (= [{:?cs [temp-9-mci] :?loc "MCI"} {:?cs [] :?loc "LAX"}] mci-matches-lax-does-not))

The reason I wouldn't expect that is because there are no "LAX" facts that actually satisfy the criteria.  There are "MCI" though.  So we only have one "valid" binding group.  The other binding group is still an unknown since we don't even know that that "LAX" fact has any meaningful contribution to the rule since it doesn't satisfy the other criteria.
This generalized to more binding groups too.  If we had facts for any number of locations -  "LAX", "MCI", "SFO", etc - and only "MCI" had any facts matching the (< temperature 10) constraint on the condition, I would only expect propagated results for "MCI".
I wouldn't expect a bunch of :initial-value propagations for the other locations since they didn't have any real, meaningful matches to the (< temperature 10) constraint.
The overall theme I had with AccumulateNode aligns with this.

if no binding group has any matching facts, the :initial-value is sent to all binding groups
If some binding group has matching facts, the :initial-value is not sent to any binding group that doesn't have matches.

(I'm going to just say "groups" instead of "binding groups" from here)
In this way the :initial-value serves as a value to propagate in the absence of any valid matches to all groups.  However, when real matches do happen, the :initial-value is not used anymore.
I think the overall topic is subtle and probably in a bit of a gray area as far as what "makes sense" in all cases.  However, I am still advocating for the behavior of non-matching groups not getting the :initial-value propagated when there are other groups with matches.

Alright, that makes sense...and +1 for your proposal. It seems like the very nature accumulators with bindings is going to create something that's a bit surprising in some scenario, and I agree that it would seem odd to see a bunch of empty matches in the multi-binding group scenario.

Is there anything left to do on this one? I know these got conflated with #188, #190 and #102, with an open edge case in #218. I think we can close this out and track #218 for anything more; let me know if that's incorrect.

@rbrush I agree.  Closing.


Support --log-as-json though cli

Support --log-as-json though cli.  Currently this only works in kubernetes.

@youngbupark  is it not linked to #515 and thus included in 1.0.0RC2 ?

@youngbupark is it not linked to #515 and thus included in 1.0.0RC2 ?

looks like it is dupe. @mukundansundar @yaron2

@lgmorand #515  will be included in rc3.


docs for View.query() when include_docs=false

Looking at https://github.com/lightcouch/LightCouch/blob/master/src/main/java/org/lightcouch/View.java#L162
…when include_docs=false (as in a reduce), the Class<T> classOfT is applied to the entire row {key: …, value: …}, not just the value.  This probably should be documented.
Got bit by this by switching a view from reduce=false&include_docs=true to reduce=true&include_docs=false and the query no longer worked, even though the Class used should have been sufficient.

It's probably not a good idea to make a breaking change to this function. SO the path of least resistance would be something like:
 * note: if include_docs=false, classOfT is deserialized from the entire row { key: ≈, value: ≈ }
 * — consider using queryView() instead.


feat: add support for solidity error type

Add support for solidity error type, closes #225
following this spec
https://docs.soliditylang.org/en/v0.8.10/abi-spec.html#errors
codec is the same as functions
Added serde tests and exposed similar functions for error on the Contract

@vkgnosis @nlordell any chance we can get some eyes on this?


adds support for yarn nohoist

support alternative packageJson.workspaces type which is required when using https://classic.yarnpkg.com/blog/2018/02/15/nohoist/

Nice! Thanks!


start button

Describe the bug
will add the arrow button in start

Screenshot

Please assign this project to me. I will fix the issue


Any end-end inference example with Google Colab & HuggingFace

Hi Team,
Thanks a lot for this.
Few questions -

Is the speedup only for GPU or the inference on CPU is also boosted?

Wondering if an inference example with T5/BART summarization from Huggingface etc can be provided in a colab notebook or so. Easier to adopt.

Sorry if it is a bit of a stretch to request this. Appreciate you reading this.

Here is a colab notebook to do inference with BART.
https://github.com/microsoft/fastseq/blob/main/examples/EL-attention/README.md#example-usage

Hi, I tried to install using pip. But i got this error  :
ModuleNotFoundError                       Traceback (most recent call last) Cell In[2], line 1
----> 1 import fastseq
File /opt/conda/lib/python3.10/site-packages/fastseq/init.py:9
6 from fastseq.logging import set_default_log_level
7 set_default_log_level()
----> 9 import fastseq.models  # pylint: disable=wrong-import-position
10 import fastseq.optimizer  # pylint: disable=wrong-import-position
ModuleNotFoundError: No module named 'fastseq.models'


Merge #2631 (to fix #2623) from v1 to v2

What this PR does:
Merges v1 -> v2 to sync #2623 fix
Which issue(s) this PR fixes:
N/A
Checklist

[ ] Changes manually tested
[ ] Automated Tests added/updated
[ ] Documentation added/updated
[x] CLA Signed: DataStax CLA

@tatu-at-datastax So we are not doing the actual merge of two branches, but just cherry-picking the changes?

@ivansenic We are doing full merges, but there was only this one thing to merge (aside from conflict see below). So it's not an explicit cherry pick.
But I had to do it manually as there was one merge conflict (v1 change to a test class removed from v2).


Suggestion: AssemblyInfo task support for metadata

First, thank you for the excellent library. We're using the AssemblyInfo support task to generate versioned assemblies at build time based on the build environment version, specifically VSTS build numbers. It has been extremely helpful! We hit a possible use case for metadata, and we wanted to throw it out there.
For reference, the AssmblyInfo task is here:
https://github.com/loresoft/msbuildtasks/blob/master/Source/MSBuild.Community.Tasks/AssemblyInfo.cs
We're trying to expose the source control commit hash to our runtime environment, so that we can display the information in a 'debug' screen. We use this for tractability, the hash helps us identify "what exact state of code drove the version you have in your hand".
We are thinking of using the AssemblyMetadataAttribute to pass the information along, as described here:
https://msdn.microsoft.com/en-us/library/system.reflection.assemblymetadataattribute(v=vs.110).aspx
This would be easily extracted in the run-time code.
We looked at the AssemblyInfo class and did not find an option to set or pass assembly metadata along to the generated AssemblyInfo file.
It would be helpful for us to be able to do so, ideally passing key value pairs in a property, as in this example: http://stackoverflow.com/questions/24176028/parse-key-value-pairs-from-msbuild-property
Use case:
I would plan to set up an overrideable property to capture the values at the MSBuild flags line, for example:
/p:fooKey=fooValue;barKey=barValue

Each pair would output assembly metadata like (C# example):
[assembly: AssemblyMetadata("fooKey","fooValue")]
[assembly: AssemblyMetadata("barKey","barValue")]

into the AssemblyInfo.cs
In the code these values would be extracted into a dictionary for use:
static void Main(string[] args)
{
	// get metadata from the assembly and convert to a dictionary
	var assembly = Assembly.GetEntryAssembly();
	var metadataAttributes = assembly.GetCustomAttributes(typeof(AssemblyMetadataAttribute), true);
	var metadata = metadataAttributes.OfType<AssemblyMetadataAttribute>().ToDictionary(a => a.Key, a => a.Value);

	// extract a value and print it
	var valueForFooKey = metadata["fooKey"];
	Console.WriteLine(valueForFooKey);

	// print keys
	foreach (var key in metadata)
	{
		Console.WriteLine(key);
	}
}

Using this system we could easily expose the commit hash, source and build URLs and other build system environment variables to our running client code.
Thanks much, and I appreciate any consideration or further thoughts!

I'm looking into possibly implementing this.
I've found that using itemGroups may be an effective way to pass pairs.
On the command line, this syntax should work:
/p:bazMetaVars="fooKey=fooValue;barKey=barValue"
According to:
http://stackoverflow.com/questions/11794756/how-to-pass-variable-number-of-items-in-propertygroup-itemgroup-to-msbuild-scrip
The item group can then be passed in to the task as shown here:
http://stackoverflow.com/questions/7820802/msbuild-passing-array-to-a-custom-task
From there it's C# code to do checks and split each pair, as well as setting up the attributes.

As a follow up, my temporary work-around is to add metadata entries directly.
A property for an entry might look like this:
<AssemblyMetadata>[assembly: System.Reflection.AssemblyMetadata("Configuration|Platform", "$(Configuration)|$(Platform)")]</AssemblyMetadata>
We have a value for the file that looks like this:
<AssemblyInfoTargetFile>$(MSBuildProjectDirectory)\Properties\AssemblyInfo.$(AutoversionAssemblyInfoExtension)</AssemblyInfoTargetFile>
Then our assembly info and extra metadata end up like this (with property values for each part):
<AssemblyInfo
CodeLanguage="$(AutoversionAssemblyCodeLanguage)"
OutputFile="$(AssemblyInfoTargetFile)"
AssemblyTitle="$(AutoversionAssemblyTitle)"
AssemblyDescription="$(AutoversionAssemblyDescription)"
AssemblyConfiguration=""
AssemblyCompany="$(AutoversionAssemblyCompany)"
AssemblyProduct="$(AutoversionAssemblyProduct)"
AssemblyCopyright="$(AutoversionAssemblyCopyright)"
AssemblyTrademark=""
CLSCompliant="false"
AssemblyVersion="$(BuildVersion)"
AssemblyInformationalVersion="$(AutoversionAssemblyInformationalVersion)"
AssemblyFileVersion="$(BuildVersion)" />

<!-- for now, we will append literal lines to the file. -->
<WriteLinesToFile File="$(AssemblyInfoTargetFile)" Lines="$(AssemblyMetadata)" Overwrite="false" />


None frames are not caught

Hi
I have an RTSP camera which is secured with a username and password. This causes the connection to fail with the error
Failed to connect to source rtsp://<IP_ADDRESS>:554/11.
---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-10-8bc6cd52214b> in <module>
----> 1 client.read().show()

~/anaconda3/lib/python3.6/site-packages/rtsp/__init__.py in read(self)
     55     def read(self):
     56         """ Return most recent frame as Pillow image. Returns None if none have been retrieved. """
---> 57         return self._capture.read()
     58
     59     def preview(self):

~/anaconda3/lib/python3.6/site-packages/rtsp/cvstream.py in read(self)
    149         self._latest = frame
    150         self._stream.release()
--> 151         return Image.fromarray(cv2.cvtColor(self._latest, cv2.COLOR_BGR2RGB))
    152
    153     def preview(self):

error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

This issue indicates there is no frame data, which could be caught, and an appropriate exception raised.

Hi,
What exception do you want to use here? Would no frame data indicate failed authentication?
Else let's close this issue, it seems you found how to use your credentials in the connection string.


Reconcile Istio Gateway

closes #45, closes #46
Steps to verify locally using Route53
IMPORTANT These steps assume your local ./aws-credentials.env file has all values (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION) set and ./controller-config.env file has the right values for ZONE_ROOT_DOMAIN and AWS_DNS_PUBLIC_ZONE_ID that match dev.hcpapps.net.
IMPORTANT Change the hostname in the Gateway and HttpRoute to avoid reusing myapp.dev.hcpapps.net e.g. Use <myname>.dev.hcpapps.net
cp config/samples/gateway.yaml ./gateway.yaml
cp config/samples/echo_httproute.yaml ./echo_httproute.yaml
vi gateway.yaml
vi echo_httproute.yaml

Terminal 1 Local setup & start the controller in the control plane cluster
MCTC_WORKLOAD_CLUSTERS_COUNT=1 make local-setup
(export $(cat ./controller-config.env | xargs) && export $(cat ./aws-credentials.env | xargs) && make build-controller install run-controller

Terminal 2 Start the syncer in the workload cluster
export KUBECONFIG=./tmp/kubeconfigs/mctc-workload-1.kubeconfig
make kind-load-syncer
make deploy-syncer

Terminal 3 Create the GatewayClass & Gateway
export KUBECONFIG=./tmp/kubeconfigs/mctc-control-plane.kubeconfig
kubectl apply -f config/samples/gatewayclass.yaml
kubectl create namespace mctc-tenant
kubectl apply -n mctc-tenant -f ./gateway.yaml

Terminal 2 Deploy the sample application with a HttpRoute
kubectl apply -n mctc-downstream -f ./echo_httproute.yaml

Terminal 3 Wait for the Gateway to be programmed, then curl the hostname specified in the HttpRoute. You should get a 200 response.
kubectl wait --for=condition=Programmed --timeout=60s gateway example-gateway -n mctc-tenant
curl -k -s -o /dev/null -w "%{http_code}"  https://<myname>.dev.hcpapps.net

TODO:

[x] Rebase after #60 (#35)- Refactor zone selection/validation
[x] Rebase after sync agent spec #89 (#43) - Implement sync annotation setting
[x] Rebase after sync agent status #96 (#43) - Implement status retrieval
[x] Working integration test
[x] Decouple from ingress controller that the ingress agent uses (initally re-used some of that code for a steel thread)
[x] Fetch Gateway IP address(es) from Gateway status in GetDNSTargets
[x] Check Gateway status for attached routes before creating DNS record (internal discussion link about attachedRoutes field in GatewayStatus https://redhat-internal.slack.com/archives/C047YHJJG2D/p1676550730816259)

Out of scope/follow up

#85
#52
Rebase after cluster registration changes #44 - Gateway cluster selector (sync to all clusters initially)

I'd appreciate your review & verification here.

@philbrookes in particular, the changes to the syncer controller to hardcode a couple of transforms
@mikenairn I've included your commit to get MZs working, but I've also changed things so that only hosts in a gateway listener that match an MZ will be considered for further reconciling. I've also made a change to allow assigning endpoints for an individual host, as a gateway may have multiple listeners with only some hosts ready/attached.

Things not included in this PR are #85, #52, integration with #44, and handling of Gateway deletion.
I would seem them landing in priority order after this PR merges.

Thanks @philbrookes @mikenairn @maleck13
Summary of follow ups:

#85
#52
#111
#112
#113
#114


In examples, disable the static-mut-refs lint

static-mut-refs
For the future, need to investigate:

How to implement DMA without requiring the lifetime of the buffer to be 'static
How to specific the link_section of non-static buffers

Suggest merging to fix CI on stable and nightly. (clippy and MSRV versions will still need a bump as well)

I think static-cell would be a much better alternative actually. Feel free to make an alternative PR!

Closing in favour of #512, or something based on the ideas discussed in #513


Iterations do not converge

Hi,
first of all, thank you for this great piece of software!
It works good for most of my fluorescence microscopy images, but in some cases it fails to align the images of my z-stack properly. For example:
dataset:
https://we.tl/t-q8NR38KeS1
command:
focus-stack image*.tif --output=projection.tif --no-whitebalance --no-contrast --denoise=0 --consistency=0 --batchsize=8 --align-keep-size --full-resolution-align
error:
Task Align image1.tif to image10.tif on thread 23 failed with exception:
OpenCV(4.2.0) ../modules/video/src/ecc.cpp:572: error: (-7:Iterations do not converge) The algorithm stopped before its convergence. The correlation is going to be minimized. Images may be uncorrelated or non-overlapped in function 'findTransformECC'

Do you have an idea what the cause of the problem could be?
Thanks!

It appears that the files are stored as 16-bit TIFF, but the values in the files are only 8-bit. This causes the files to appear almost completely black when opened in e.g. GIMP.
Focus-stack doesn't currently support 16-bit processing (issue #34), so it converts the files to 8-bit mapping 65535->255, which causes black images. The processing then fails because there is no information in the images.


add rosters.txt

In an effort to help distribute information between platforms, we wish to add rosters.txt. The intended use is that many operations cluster several duties (runs) within a roster to assign to a driver. The duties are usually clustered in a way that represents the amount of work a single driver will work in a week period. Some companies also cluster this work in several weeks for 1 drivers.
ods_roster_id
Persistent ID as proposed in issue #44 meant to help keep track of changes to a roster over time. Rosters can have long lifespans while the duties (runs) can change within them over time.

Required

roster_id

Required, primary key

service_id

Required, defined service period that the duties and roster_id is valid for.

monday_run

Required, value should be a run_id that operates on a monday during this service period.
If blank, no run_id is assigned.

tuesday_run

Required, value should be a run_id that operates on a tuesday during this service period.
If blank, no run_id is assigned.

wednesday_run

Required, value should be a run_id that operates on a wednesday during this service period.
If blank, no run_id is assigned.

thursdsay_run

Required, value should be a run_id that operates on a thursdsay during this service period.
If blank, no run_id is assigned.

friday_run

Required, value should be a run_id that operates on a friday during this service period.
If blank, no run_id is assigned.

saturday_run

Required, value should be a run_id that operates on a saturday during this service period.
If blank, no run_id is assigned.

sunday_run

Required, value should be a run_id that operates on a saturday during this service period.
If blank, no run_id is assigned.

week_sequence

if blank, then the roster represents only 1 week.
This value represents what what week this row of the roster should represent. If a roster_id has 2 weeks worth of work, then there should be a value 1 in the first week and a value 2 in the second week.

I can see how a grouping of many days' work is useful to represent even when there's no specific person assigned to it yet, as part of the scheduling process. So far, ODS has been mostly focused on data useful during operation, as opposed to during planning+scheduling. Would this be useful during operation (like if you need to check if the usual driver is working today), or is this intended to expand the scope of ODS into scheduling?
Would it be a specific week? I don't see a date field. There's a service_id field, but service_ids can be a many days or only 1, consecutive or not. What does the sunday_run field mean if applied to a service_id that only occurs on weekdays? How would you represent how holiday work is grouped with other work?
If it is meant to represent specific dates (as opposed to a generic week), it kind of turns into #28, with 1/7th the rows but 7x the columns. What if you leaned into that, and had a table with 3 columns, operational_date, run_id, roster_id?

This is meant to take the scheduling data (Hastus, Optibus, etc) and send it to the operational side. Although I can see how on the scheduling side you could also assign drivers to every roster_id. In my previous work in the USA it was common to assign a driver to a roster during a bidding process. So, I am open to including this information somehow in a rosters.txt.
Since my intention here was to only model what comes from scheduling and not what occurs on the operational side (yet) I had not intended this to be tied to a specific week so much as tied to a specific service period (service_id). You raise a good point though, if a roster_id and service_id are overlapping you'll get duplicate roster_id's:

Calemdar.txt |   |   |   |   |   |   |   |   |
-- | -- | -- | -- | -- | -- | -- | -- | -- | --
service_id | monday | tuesday | wednesday | thursday | friday | saturday | sunday | start_date | end_date
weekday | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 20240107 | 20240127
saturday | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 20240107 | 20240127
sunday | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 20240107 | 20240127

roster.txt |   |   |   |   |   |   |   |   |   |
-- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
ods_roster_id | roster_id | service_id | monday_run | tuesday_run | wednesday_run | thursday_run | friday_run | saturday_run | sunday_run | week_sequence
1 | 1 | weekday | 4 | 5 | 6 |   |   | 3 | 2 |
2 | 1 | saturday | 4 | 5 | 6 |   |   | 3 | 2 |
3 | 1 | sunday | 4 | 5 | 6 |   |   | 3 | 2 |
So this is not what I would consider ideal, but in some ways it makes sense because the duties are always grouped by the work per service day type, so unless we found a way to group service_id, at the moment I can't think of a less bad way to do this.
On your question about holiday work, maybe the workaround here can be similar to what happens with calendar_dates.txt where we simply have the roster_id + the duty that applies that day? This sounds like maybe what you are suggesting with issue #28?
There are places where a person may be doing a longer than 1 week roster, so that's why I have the field of week_sequence.

Okay, I see what you're getting at now. My only concern with this is how many repeated rows we'd have.
I guess then for this to work, you need a way to distinguish which run_id is valid since there could be multiple run_id's with the same name, right?

Oh, yeah, my agency has issues with non-unique run ids, too, that's described in #12.
Potential solutions for here:

Use unique run_ids
Add a 4th column for the service_id
Assume run_ids are unique among the service_ids effective on the given date. To get the service_id, look up what service_ids are operating on that date, and find one with the given run.

I would strongly advise against allowing duplicate primary keys. Even if their existence is commonplace, it goes against some fundamental relational database best practices.
I do agree the the 3-column option makes it easier to be more explicit about dates of a given roster and requires less calculation/interpretation, though you'd probably want a second table to normalize rosters.

So I'm currently attempting to revise rosters.txt proposal, but it occurs to me that in the calendar.txt style, we run into the problem of:
How do we handle a roster with service_id's? I end up in a situation where I need 3 rows to describe 1 week of rosters in a "simple" scenario where we have a weekday, saturday, and sunday service_id. We need a way to model this nicely to feed rosters in systems, the calendar_dates.txt style only works in an operational context I think.
The best idea so far that I have is a file just to group service_id's that are relevant...
grouped_calendar.txt

service_id
group_service_id

weekday
9999

saturday
9999

sunday
9999

rosters.txt

group_service_id
roster_id
week_sequence
monday_run
tuesday_run
wednesday_run
thursday_run
friday_run
saturday_run
sunday_run

9999
1
1
10
20
30
40
50

9999
1
2
80
90
100
110

70

9999
1
3
120
130
140

60
150

roster_dates.txt

grouped_service_id
date
roster_id
run_id

9999
20240830
9999
555


Uni10-cytnx

This PR creates a new branch of Uni10-cytnx which includes the following features which allows for uni10 build

CMake build with CXX, CUDA and pybind
Pip install for cytnx
Separation for internal and external headers with  modular build design.
Fixed type warnings.

I believe documentation build results should not be include in the repo since they change constantly.


Fail graceful when indexedDB isn't available

Browser
Brave Browser 1.37.116
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
In https://vscode.dev
What is happening
It seems like anycode extension is dependent on https://vortex.data.microsoft.com/collect/v1 as when this tracker/script is blocked, anycode logs 2 errors upon entering website.
The user denied permission to access the database.
Request initialize failed with message: The user denied permission to access the database.
And upon opening webview, the following error was logged.
The following error is logged everytime the window change.
Error: Could not register service workers: NotSupportedError: Failed to register a ServiceWorker for scope
What should change
This was not the case a few months ago and I believe something changed from then and now.
But it seems like upong entering, opening repo, opening local file e.t.c. in vscode.dev.
Are there any ways to fix this error?
Or maybe supress this error in the future?
Error Message
Message: Request initialize failed with message: The user denied permission to access the database.
Code: -32603

Message: Request initialize failed with message: The user denied permission to access the database.
Code: -32603

Error loading webview: Error: Could not register service workers: NotSupportedError: Failed to register a ServiceWorker for scope ('https://11hn10heo6midq2kg6lokmomd3ob1qr0qej5b3uotsfsv2d066p7.vscode-webview.net/stable/dfd34e8260c270da74b5c2d86d61aee4b6d56977/out/vs/workbench/contrib/webview/browser/pre/') with script ('https://11hn10heo6midq2kg6lokmomd3ob1qr0qej5b3uotsfsv2d066p7.vscode-webview.net/stable/dfd34e8260c270da74b5c2d86d61aee4b6d56977/out/vs/workbench/contrib/webview/browser/pre/service-worker.js?v=4&vscode-resource-base-authority=vscode-resource.vscode-webview.net&remoteAuthority='): The user denied permission to use Service Worker..

Clarification
This error is only logged in Brave Browser when it blocks tracker https://vortex.data.microsoft.com/collect/v1

/cc @digitarald you also ran into this


Clean messages

Hi @lbajo
I was about to release the package when I saw some issues that must be fixed before:

What are these services? Are they really used? Are they dependant on a specific vendor (Vicon)? I would remove it.
Why Markers and MarkersWithId. I would unify...
Control.msg is particular of mocap4ros2. I would create a mocap4ros2_msgs package in https://github.com/MOCAP4ROS2-Project/mocap4ros2_core.

I want to resolve this ASAP, in order to release the package.

Hello @fmrico,

The services are not currently being used, I think they were used initially but now their function is performed through the Vicon SDK.
The MarkersWithId were initially created for Qualisys but currently I think "normal" Markers are used, if we remove them it wouldn't pose any problem in my opinion.
The other mocap_msg messages are only used for vicon as well, in my opinion it's not a good idea to separate them.


[Feature Request]: Discovery supply chain attacks

Description
This is not  a FR, but it's also not a bug report...
Really cool to see the work on this. I've been thinking on risks of exploiting the supply chain when discovery is used.
Note: I haven't coded anything in Tempest, so this is based on reading docs / watching your videos.
Supply chain attacks happen more and more but there are some impediments:

Composer will no longer execute plugins by default: https://getcomposer.org/doc/06-config.md#allow-plugins
Code from a dependency is not callable by an attacker directly, they need to find some vulnerable way your code is calling their planted code.

Discovery essentially solves part 2. I could now in any library, possibly even in a test file, annotate something with a #Route and make it callable from the web.
Wondering about your thoughts on this!
Benefits
N/A

You're right that there's a possible security risk here, although the same could be done in Laravel or Symfony, no? It's possible to register malicious routes within vendor packages in both frameworks. If a user blindly requires a package it could in theory contain malicious code.
I wonder how Laravel or Symfony address this potential security risk.

I'm not a Laravel fan, not am i familiar with how they scan vendor packages. Seems like risky business to me! *-)

I believe the same is possible in both Symfony and Laravel though: a package could access the DI container, thus is can access the router, thus it can directly register routes in the router — even without using attributes.
I'm not sure how it'd work in Symfony, but in Laravel there even are helper functions to do that: https://laravel.com/docs/11.x/packages#routes
I don't think you can ever be sure a package doesn't do anything malicious except for when you manually review the while codebase.

I believe the same is possible in both Symfony and Laravel though: a package could access the DI container, thus is can access the router, thus it can directly register routes in the router — even without using attributes.

But it still needs to call those functions actively.
With any CVE while a package might be vulnerable, not all applications using the package will be vulnerable. Even if there's malicious intent, it'd still need to be part of every code path into the library, making it easier to detect.
But if I update some test file to have a #Route() attribute it is less likely to be spotted while I can still be 100% certain I can trigger the vulnerability in a trivial way in 100% of the cases.
I think a clean way forward would be similar to composers' approach: when first detecting routes or other comparable things inside a dependency, ask if you want to trust them.
This prevents your simple utility library that just computes a+b from installing an exploit in your app.

Hey, @SamMousa! Thanks for opening this issue. It is certainly an important conversation to have as we consider this feature. I know Brent and I spent quite some time discussing the implications early on.
I think the nearest "equivalent" to what discovery is doing (and indeed the reason discovery works) is the autoloading that composer provides. If I can get any PHP file loaded, that gives me the ability to hijack your application. This is a risk with any PHP application and something tools like composer audit and Snyk are trying to help solve. At the end of the day it is our responsibility as developers, daunting as it may be, to ensure we are installing safe and reputable dependencies.
Because of this, I really don't think we're dealing with any level of risk that is different than that of Symfony or Laravel. That said, maybe this does get spun as a feature request for somewhere in the future where you can enter a Tempest audit CLI command to do deep auditing of discovery or the enabling of a security mode, which requires whitelisting discovered classes somewhere.

I like the idea of some kind of audit tool in the future, but it's not really high on the priority list right now.


Not working in Capacitor V5?

I have added this to my application but it does not seem to work, is this plugin compatible with v5? I am just trying to change the icons. I was able to make the navBar transparent and then just style the safe area to be the color I want.
    NavigationBar.setColor({ color: '#fffff', darkButtons: true });

Package.json
    "@capacitor/android": "^5.0.5",
    "@capacitor/app": "^5.0.3",
    "@capacitor/browser": "^5.0.3",
    "@capacitor/cli": "^5.0.5",
    "@capacitor/core": "^5.0.5",
    "@capacitor/ios": "^5.0.5",
    "@capacitor/keyboard": "^5.0.4",
    "@capacitor/preferences": "^5.0.4",
    "@capacitor/status-bar": "^5.0.4",
"@hugotomazi/capacitor-navigation-bar": "^2.0.1",

Seems that the NavigationBar.setTransparency({ isTransparent: true }); works, so maybe just not setColor?

setColor works for me, but not on initial load. I need to wait 100ms after WebView init to call setColor for it to work.
Another issue I'm seeing, however, is that the darkButtons option doesn't seem to work. It gives me white buttons no matter what.

I am using Capacitor v5 and it works without any issues for me - I use setColor with both color and darkButtons params.
I am calling it after the app is fully loaded during an initialization method.


Revise @kiwicom/margarita-utils

Revise @kiwicom/margarita-utils package content.

[x] Unify folders structure - Currently we have few utils folders directly in package root and other few nested inside src and helpers subfolders. Maybe everything can be in root. Or we can use some logical subfolders like formatters, constants, context...

[x] Unify files naming - We are mixing capital and small letters in file naming. For example: device/Device.js versus helpers/capitalize.js

[x] Remove unused utils - Check if all utils are actually used anywhere and remove unused. For example there are multiple formatters inside localization folder which we moved from https://github.com/kiwicom/mobile , but we have started using date-fns for date formatting, so we should consider if it still makes sense to keep it there.

Done on #623

Closed by #623


xorg-server: why is openssl a dependency?

openssl is a dependency because xorg-server requires a system ssl library. I'll remove the dependency since I'm ok with assuming that it is present.


Make appstate an actor

appstate will receive structures from websockets in handlers, process them and send result to websockets
websockets will have handlers, that process given struct and send it to the client (process=serialize)

Closed by #76


No ARMV7 Manifest for Video Analyzer

Hi,
When I try to deploy AVA Module to my IoT Edge Device (ARMV7 Ubuntu 20.04). I get this error
Could not create module avaedge
caused by: Could not pull image mcr.microsoft.com/media/video-analyzer:latest
caused by: no matching manifest for linux/arm/v7 in the manifest list entries
Is ARMV7 Supported?

Hi @nimanch, the avaedge module is only supported on ARM64 and x64 architectures.


Remove david from codeowners

All changed packages have been documented.

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/3021/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/3021/


Android Studio project import performance regression in 8.7

Current Behavior
There seems to be a performance regression in 8.7 in project import.
Our 2000 sub-project benchmark for Android Studio import takes significantly more time when model building with Gradle 8.7

Zip file containing jfr snapshots (Java Flight Recorder) captured with IntelliJ ultimate: projectImport-8.6vs8.7.zip
My guess after inspecting the flame graphs is from the jfrs above is:
This is due to projectObserved callbacks, which seems to be recently introduced, see image below for a comparison

Expected Behavior
See image above for before/after values.
Context (optional)
No response
Steps to Reproduce

Clone the benchmark project. git clone https://github.com/gavra0/android-extra-large-benchmark -b 2022.9
Optional but recommended, set up the 2000 module subset (i.e. ./apply_diff.sh app):  https://github.com/gavra0/android-extra-large-benchmark/tree/2022.9?tab=readme-ov-file#working-with-smaller-subsets
Open Android Studio and import the project
You can observe the Gradle portion of the project import is significantly slower for  8.7 and 8.8-RC1 compared to 8.6

Gradle version
8.7 and 8.8-RC-1
Gradle version that used to work
8.6
Build scan URL (optional)
No response
Your Environment (optional)
No response

The issue is in the backlog of the relevant team and is prioritized by them.

How confident are you that projectObserved is the culprit here? This callback existed in 8.6, except with a different name (dependencyObserved) and called from another place. Previously, it was called by org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.markReferencedProjectConfigurationsObserved. Looking at your JFR traces, it seems both 8.6 and 8.7 call the function roughly the same number of times.

I'm not confident at all  given that I'm not that familiar with the internal workings of Gradle. It's just what I saw in the relevant flame graphs.
Although, I do see you created a commit for this already, so I guess you are a bit more confident as per your EDIT in the last comment.
Did you confirm the commit actually improves performance? I'm willing to give it a go with my own setup if you have a build that I can try.

I spent a bit of time profiling model building and I noticed this is mostly due to projectObserved calls waiting for locks in DefaultListenerManager, not the projectObserved call itself.
I built a local version of Gradle with projectObserved call commented out and the dependency graph building times drastically improves from ~40s to ~25s  in our 2000 module benchmark.

projectObservedYourKitProfile.zip
Here is a YourKit profile captured that's showing the issue. It's more detailed than the initial report and is clearly showing the issue is within DefaultListenerManager (as I wasn't able to use YourKit back then due to a bug)

@akerimsenol the fix for this issue is included in the latest nightly build 8.10-20240801011711+0000 available from https://gradle.org/release-nightly/ could you give it a spin and report your findings here?

I just tested with latest nightly 8.10-20240801011711+0000 and it seems to be good. Although to make it'd be good to merge the RC in our benchmarks and collect data from our infra with the same setup.

I also benchmarked 8.10-20240801011711 with gradle-profiler (with android studio koala feature drop beta2). I did not really notice an improvement, and in some cases it was slower:

Are you sure your performance issue was caused by this?
Are you able to capture flamegraphs from before and afte? Otherwise, we can't really say if this performance issue is related to yours

Captured these jfrs, the noticeable difference to me is that in 8.10 spends a chunk of time in DefaultWorkerLeaseService.whileDisallowingProjectLockChanges that I don't see in 8.6. I see approximately 10% regression in the Gradle portion of sync between 8.6 and 8.10 snapshots.
sync-8.6.jfr.zip
sync-8.10-20240801011711+0000.jfr.zip

I think Josh is right, I just double checked on my side and the regression doesn't seem to be gone with 8.10-RC1.
I must have made a mistake when testing the nightly.

One more correction, I was testing with 1000 module benchmark which is apparently relatively unaffected by this issue anyway so my last comment is also invalid. Sorry for the noise.
Here I have a comparison between our latest runs on 8.9 and 8.10-RC1, with the 2000 module benchmark, the median values have changed as below:
Configuration:
8.9 -> 65 seconds
8.10-rc1 -> 68 seconds
Android model building (which is the phase affected by this issue)
8.9 -> 66 seconds
8.10-rc1 -> 49 seconds
Total daemon time during import:
8.9 -> 156 second
8.10-rc1 -> 143 seconds
I think then Josh is seeing a separate issue.


Admin View Interface implementation

Manage Records in the Database

Manage users
Change emergency Protocols

Admin should be able to manage whatever tables we create for this new sprint
Super User (separate system)

Website, a menu showing tables

To collaborate with @peacendlovu

Admin website created.

The website allows an admin user to login.
The admin is able to make changes to the USERS table by adding users, editing existing user information and deleting users.
The admin is able to make changes to the PROTOCOLS table by adding or deleting protocols.


enable scalajs-mapSourceURI option if Scala 3

https://github.com/lampepfl/dotty/commit/c9533da391b8511c8aaca17b498a03b18ec6b3a8

Sorry I missed that thanks!


SUCD: Scenario for Switchable Authorization Check (Definition)

This object is used for Switchable Authorisations defined in transaction SACF
These authorizations can be activated/deactivated by the customer without a code change. They allow for more or less security for the customer. Abap coding needs to be adjusted to use these type of authorization.
The Switchable Authorisations needs to be transported via the AddOn and GIT support will help with change management.
More information can be found in the SAP Guide "Securing_Remote_Function_Calls_RFC".
The details of this object seem to be located in the following tables:
TOBJ_CHK_CTRL_D
TOBJ_CHK_CTRL_DT (by Language)
TOBJ_CHK_CTRL_DH
TOBJ_CHK_CTRL_R

The Switchable Authorisations needs to be transported via the AddOn

Which Addon are you refering to? I remember using SACF without any additional components installed on the system.

Our own AddOns that we create using the AAK. We would like to have all that is contained in the AddOn, also to be in AG.

To implement this object type, create a PR or reopen this issue for further discussion (#5912).


Sign Bank - wrong sign comes up for "show occurrences"

The sign ACTION is selected; the occurrences are displayed for COCKTAIL.  E.g.
ACQUIRE - brings up CLOSE-DOOR,  e.g.
ACCOMPANY - brings up CLOSE
systematically wrong, in other words.

Fixed

This is still a problem - see new issue 34.

Fixed