C++: no place to add in application-level authentication

A lot of applications roll their own authentication for any number of reasons. While I can create my own grpc_credentials substruct, that just gives me a way to add some items to request metadata. I want to add an RPC interceptor that looks at the metadata and target method for all requests and compares that against a policy, eg:
bool Accept(string serviceName, string methodName, Message* message, ServerContext* context, Status* status) {
  if (methodName == "Login" && !VerifyAuthToken(context->client_metadata()["auth_token"])) {
    *status = Status(UNAUTHORIZED);
    return false;
  }
  return true;
}

Currently, I could subclass AsynchronousService and provide a DispatchImpl implementation that checks request metadata and throws an exception if the correct metadata isn't there. Then I need to #define AsynchronousService AuthenticatingAsynchronousService before importing *.grpc.pb.h.
If I don't want to gouge my eyes out on that hack, I'm pretty much left with putting credential checking logic in every RPC handler and credential refreshing and retrying around every RPC call.
Similarly, on the client side, I want a credential system that can detect automated logout (server restart with ephemeral storage, credentials that expire a certain amount of time after being issued, etc). In the current code, I need to create my own copy of Channel that can detect credential expiration (either standard timeout or server restart with ephemeral storage) and refresh credentials as needed. Not ideal.
Ideally, I'd have a client RPC response interceptor that can examine the response status. If I get UNAUTHORIZED, my interceptor would get a fresh set of credentials.

@a11r also - since this straddles the auth/C++ API boundary.

We are going to provide a hook server-side to verify metadata in an
interceptor (see
https://github.com/grpc/grpc/blob/master/src/core/security/server_auth_filter.c#L55
).
For your second request, we could we provide a similar filter with a hook.
However, I think that the retry logic will still need to be handle by the
application code.
On Mon, Jun 15, 2015 at 5:00 PM, Craig Tiller<EMAIL_ADDRESS>wrote:

@a11r https://github.com/a11r also - since this straddles the auth/C++
API boundary.
—
Reply to this email directly or view it on GitHub
https://github.com/grpc/grpc/issues/2059#issuecomment-112098440.

post beta

We now have APIs to do this:

Client Side: create your own credentials with the credentials metadata plugin API:
https://github.com/grpc/grpc/blob/master/include/grpc/grpc_security.h#L292

Server Side interceptor: auth metadata processor:
https://github.com/grpc/grpc/blob/master/include/grpc/grpc_security.h#L383


Recognize markdown reference link in form of link text with spaces

Disclaimer: I am not entirely sure this is up to markdown-oxide, so excuse me in advance if not.
I noticed that markdown reference links in form of link text (an example below) are recognized only if there are no spaces, however I think spaces should be supported (most markdown renderers do support them, for example on GitLab)
example
1. [reference-link-without-spaces]
2. [reference link with spaces]

then, somewhere in the page you also have
[reference-link-without-spaces]: https://somewhere.com
[reference link with spaces]: https://somewhereelse.com

The first link is recognized, and I can use for example nmap('K', vim.lsp.buf.hover, 'Hover Documentation') to show the floating window with information. The second link is not recognized instead.

Hey! Thank you for reporting

I am making a new parser for v1 that is much more align to typical markdown. This feature will be part of that!

as this is planned v1 => not a current issue; closing

if I forget to implement in v1, please reopen (if I don't!)


Split into two repos?

I'm trying to add XML support to the Emacs world, but I cannot since your repo isn't a standard tree-sitter-[language] kind of repository. I think it would be nice if you could split this into two repos so you have one language per repo. 🤔
Thanks!

typescript/tsx has the same style though

Ah, okay. I saw why it wasn't working.
It works now https://github.com/emacs-tree-sitter/tree-sitter-langs/pull/222! 🎉


Windows: Avoid EBADF on second accept

I'm not sure if this is the right fix, but it makes the bug go away.
https://github.com/libuv/libuv/issues/485
...if the handle->handle != INVALID_HANDLE_VALUE, does the handle->handle need to be closed?

Can you elaborate on what conditions are met for the bug to show up? I don't quite get it from the lua snipet.
Basically, calling uv_accept twice should result in an error, is that what's happening?
A libuv test case would really be helpful here. Thanks!

Sorry about the test case not being in C. Here is a description of what happens:
[a] In windows, start listening on a named pipe (uv_new_pipe(), uv_bind(), uv_listen()).
[b] The listen callback will be ran each time a client connects. In the listen callback I create a new pipe (uv_new_pipe()) and then I accept that pipe (with uv_accept). I then read from that pipe and print the results (uv_read_start(), once that returns the first read I call uv_read_stop()). I then close this client pipe.
[c] Finally, I connect a pipe up to this named pipe and write() to it. The SECOND client that is accepted results in an infinite loop in which the listen callback is ran. I also observe that the read callback is ran each time with the error set to EBADF.
Thanks,
-Brian

[c] Finally, I connect a pipe up to this named pipe and write() to it. The SECOND client that is accepted results in an infinite loop in which the listen callback is ran. I also observe that the read callback is ran each time with the error set to EBADF.

Are you reusing any handles here? Or is it a brand new one?

I'm afraid you're running into something not related to https://github.com/libuv/libuv/commit/fb5df542ace7d6735a9e8e09d7d8bb6b8abdc459. If you look here: https://github.com/libuv/libuv/blob/v1.x/src/win/pipe.c#L791 that assert would have blown in debug builds.

I'll see if I can whip up some C code to reproduce this.
Regarding the assert in pipe.c line 791: Note that this assert is regarding req->pipeHandle == INVALID_HANDLE_VALUE not handle->handle == INVALID_HANDLE_VALUE.

After digging a bit I found the issue, my bad. I'll make a patch with a slightly different approach, but your reasoning is sound, there is a bug there.

Can you please check the patch in https://github.com/libuv/libuv/pull/488 ?


Slider is not well initialized when element is in hidden parent

The slider does not starts with the associated input when it is initialized in an hidden container.
see this codepen to reproduce the bug : https://codepen.io/anon/pen/vdqwxV

PR #27 didn't entirely fix this issue. In my case, I'm using submenus in Semantic and the slider is in a secondary submenu. In that case, it is still not initialized properly.

@kurt1288 If this problem still occurs, can you open a new issue ?


Execution failed for task ':compileJava'

Rally version (get with esrally --version):
esrally 0.4.1
Invoked command:
Configuration file (located in ~/.rally/rally.ini)):
[meta]
config.version = 6
[system]
root.dir = /root/.rally/benchmarks
log.root.dir = logs
env.name = local
[source]
local.src.dir = /root/.rally/benchmarks/src
remote.repo.url = https://github.com/elastic/elasticsearch.git
[build]
gradle.bin = /opt/app/gradle-2.13/bin/gradle
[provisioning]
local.install.dir = install
[runtime]
java8.home = /opt/app/jdk1.8.0_101
[benchmarks]
local.dataset.cache = ${system:root.dir}/data
[reporting]
datastore.type = in-memory
datastore.host =
datastore.port =
datastore.secure =
datastore.user =
datastore.password =
[tracks]
default.url = https://github.com/elastic/rally-tracks
[defaults]
preserve_benchmark_candidate = False
JVM version:
jdk1.8.0_101
OS version:
ubutn
Description of the problem including expected versus actual behavior:
Steps to reproduce:
1.esrally
2.
3.
Provide logs (if relevant):
esrally.exceptions.BuildError: Executing '/opt/app/gradle-2.13/bin/gradle clean' failed. Here are the last 20 lines in the build log file:
    :buildSrc:clean
    :buildSrc:compileJava/root/.rally/benchmarks/src/buildSrc/src/main/java/org/elasticsearch/test/NamingConventionsCheck.java:151: error: local variable skipTestsInDisguised is accessed from within inner class; needs to be declared final
                            if (skipTestsInDisguised == false && integTestClass.isAssignableFrom(clazz)) {
                                ^
    1 error
     FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':compileJava'.
    > Compilation failed; see the compiler error output for details.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    BUILD FAILED

    Total time: 3.092 secs

=========================================================================================================
The full build log is available at [/root/.rally/benchmarks/races/2016-09-21-08-56-55/local/logs/build/build.gradle.tasks.clean.log].

Describe the feature:

@duramen this is probably a temporary problem with the specific Elasticsearch revision you're building. Can you please run git -C ~/.rally/benchmarks/src rev-parse --short HEAD and add the output here?
You can also run esrally --revision=latest. This will fetch the latest revision of Elasticsearch from Github and try to build it. As I expect a build problem with Elasticsearch that should fix it.

git -C ~/.rally/benchmarks/src rev-parse --short HEAD
c97f4f3
esrally --revision=latest
With the previous same mistakes

git -C ~/.rally/benchmarks/src rev-parse --short HEAD
c97f4f3

This is the latest version on Github. It builds fine for me and also in our CI environment. However, I could reproduce the problem when using JDK 7 to build (but it should use JDK 8).
You can verify this by typing gradle -version. It should show something like this:
dm@io:master/elasticsearch ‹master›$ gradle -version

------------------------------------------------------------
Gradle 2.13
------------------------------------------------------------

Build time:   2016-04-25 04:10:10 UTC
Build number: none
Revision:     3b427b1481e46232107303c90be7b05079b05b1c

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_102 (Oracle Corporation 25.102-b14)
OS:           Mac OS X 10.11.6 x86_64

The important line is: JVM:          1.8.0_102 (Oracle Corporation 25.102-b14) and I am almost sure it says JDK 1.7 for you. If that is the case, please have JAVA_HOME point to your JDK 8 installation. You can try this by issuing export JAVA_HOME=/opt/app/jdk1.8.0_101 prior to running Gradle (or Rally).
Another hint: If you are not interested in building Elasticsearch from sources, you can also benchmark official Elasticsearch distributions by issuing:
esrally --pipeline=from-distribution --distribution-version=5.0.0-alpha5

or even benchmark the latest snapshot build of Elasticsearch with:
esrally --pipeline=from-distribution --distribution-version=5.0.0-SNAPSHOT --distribution-repository=snapshot

I'm closing it now as it is not an issue with Rally.
However, note that providing better upfront checks are on the roadmap (see #139).
Please feel free to add a comment here if you have more questions or open a discussion in our forum at https://discuss.elastic.co/c/rally.

OK，I will try do it. Thank you very much!

Sure, you're welcome. :)


activeadmin scopes (aka tabs at the top of index table) are just styleless ul-li bulleted list

there is nothing to say more )
ul.scopes > li.scope > a

i have last activeadmin, rails 4, ruby 2.2.1, active_bootstrap_skin 0.1.1

@okliv it would be great if you can contribute to this ;)

ul.scopes {   li.scope {     display: inline-block;     list-style-type: none;     margin-bottom: 4px;   }   li.scope a{ @extend .btn; @extend .btn-default; }   li.scope.selected a { @extend .btn-primary; } }
want a pullrequest for that?

sure, thanks a lot man @krtschmr

https://github.com/vinhnglx/active_bootstrap_skin/pull/14

@krtschmr Version 0.1.4 is released with your PR. Thanks a lot man :)

It's somehow a little bit buggy. i saw strange sideeffects when they get
a float right (if batch actions are there as well).
need to digg in deeper
On 02.08.2016 23:36, Vinh Nguyen wrote:

@krtschmr https://github.com/krtschmr Version 0.1.4 is released with
your PR. Thanks a lot man :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vinhnglx/active_bootstrap_skin/issues/5#issuecomment-236963054,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMv1uk0cUCKowg_0e04ZYOD7TEGQyFrDks5qb3IfgaJpZM4H-1aC.

Ok. Thank you, man. Hope will get your PR soon. I'll make an example
application for the gem soon.
On Wed, Aug 3, 2016 at 12:39 AM, Tim<EMAIL_ADDRESS>wrote:

It's somehow a little bit buggy. i saw strange sideeffects when they get
a float right (if batch actions are there as well).
need to digg in deeper
On 02.08.2016 23:36, Vinh Nguyen wrote:

@krtschmr https://github.com/krtschmr Version 0.1.4 is released with
your PR. Thanks a lot man :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/vinhnglx/active_bootstrap_skin/issues/5#issuecomment-236963054>,

or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AMv1uk0cUCKowg_0e04ZYOD7TEGQyFrDks5qb3IfgaJpZM4H-1aC
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vinhnglx/active_bootstrap_skin/issues/5#issuecomment-236963776,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB55UQUOREP1ktPSozNZI1N8K2kv55Qdks5qb3KvgaJpZM4H-1aC
.

--
Ruby Developer
Betacode Sdn Bhd (1109222-K)
Phone: (+60) 167557808
Skype: vinhnglx
Email<EMAIL_ADDRESS>

->
  $('.scopes ul').addClass('nav nav-pills')

in active_admin.coffee.js worked for me.


Add Generic proxy to cloud providers

Create a generic proxy service that will proxy cloud provider api commands as whitelisted.  This will allow the UI to deal cross side scripting issues with browsers and to provide a better UX experience for feature like adding a machine to EC2.

gdapi fixes required to complete this.


Added CentOS 7 specific instructions to the manual install guide.

Added the initial instructions for setting up Zulip on a minimal install of CentOS 7. These instructions are only for the development version and lack specific instructions for setting up Zulip for use in the production.

Automated message from Dropbox CLA bot
@kostich, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here and update the thread so we can consider merging your code.

Sigh... Signed CLA.

Awesome!  We'll probably want to use a style similar to that in #149 (using the "all platforms" section) to save a bit of duplicated content, but thanks for writing this up!

@timabbott, I agree about the "All platforms" part if you manage to get installing of pip modules from requirements.txt file to work without sudo. I haven't managed to do that on CentOS. Some module wants to write to /usr. :/

I just merged the Fedora instructions into master so you can rebase onto that now.
I suspect that you actually need to run the pip install  under sudo on all platforms with the by-hand model (you don't need to do that if you're installing to a venv like we do in provision.py), so probably we should just that to run under sudo in the "all platforms" instructions.
@dnmfarrell @lfaraone can you confirm whether the by-hand installation instructions need to run pip under sudo on Ubuntu and Fedora?

They shouldn't if you use a virtualenv... We don't use sudo in provision.py.
On Wed, 7 Oct 2015 12:27 Tim Abbott<EMAIL_ADDRESS>wrote:

I just merged the Fedora instructions into master so you can rebase onto
that now.
I suspect that you actually need to run the pip install under sudo on all
platforms with the by-hand model (you don't need to do that if you're
installing to a venv like we do in provision.py), so probably we should
just that to run under sudo in the "all platforms" instructions.
@dnmfarrell https://github.com/dnmfarrell @lfaraone
https://github.com/lfaraone can you confirm whether the by-hand
installation instructions need to run pip under sudo on Ubuntu and Fedora?
—
Reply to this email directly or view it on GitHub
https://github.com/zulip/zulip/pull/155#issuecomment-146302980.

Right so in the by-hand instructions which currently don't try to setup a venv, you need sudo, right?

Right so in the by-hand instructions which currently don't try to setup a venv, you need sudo, right?

Probably. In general, I'd recommend using a venv since its easier to manage, but that's a larger change to the instructions.

Yeah, also venv is kinda a pain without tooling to automatically activate the venv for you, which we have with the vagrant setup but is probably hard to do without vagrant.
so @kostich I think the conclusion here is you should just change the "all platforms" piece to add "sudo" on that "pip install" line.
Closing this PR since @kostich made a new one for the updated version of this changeset.


Feature Suggestion - Cancel / Restart a currently running Task

As the title says, this would be a useful addition to the current tooling.

Also to add on top of that, a way of knowing a Task is running, would be great, but I don't know if it's something fesable with the VSCode API.
I'm proposing the following :
A toggle switch to launch/cancel a task.
Press it once to launch a task, it could show a spinner or a different image when it's running
Press it once when the task is running, terminates the task.
Ideally, this would also detect if you launch the task by hand.


[INFRA] drone-pr|publish.longhorn.io has license issues

What's the test to develop? Please describe
See how to fix this. If having any issues, go check with @yangchiu .

Describe the items of the test development (DoD, definition of done) you'd like

Additional context

Cleaned list of users for drone-pr and drone-publish.longhorn.io.

Why does this repeat happening?


In app review

This is a pretty big PR showing all the work I've done in cleaning up the app, decoupling some parts of it (e.g. styles) and implementing the In App Review feature.
The In App Review feature aims to improve our app rating, by asking users to review the app while feeling accomplished, after through finishing a course.
Hopefully, this will increase the app rating of our users and app, giving our app a nicer appearance on the Play Store.
This is connected to #304.

The main part of the logic is situated in the inappreview module, that now represents a separate module for all the In App Review logic.
The remainder is located in the collection package and is tied to the CollectionFragment and the CollectionViewModel.
The In App Review implementation works like so:

Once the user finishes a course & goes back to its Collection, or opens a Collection screen, we check their eligibility for an in app review.

If the user hasn't rated the app yet (internal flag), hasn't decided to "never rate" and hasn't chosen "rate later", or they chose rate later & a week has passed, we deem them eligible.

Everything else is either "already rated", "never rate" or "too soon" to ask the user again.

If the user is eligible, we ask them to rate the app through a nice dialog prompt.
This dialog is visible here, in both Light & Dark mode: https://drive.google.com/drive/u/1/folders/1zgfNgTOvxyEIhBmXxgwkrXG7Wrb_7bjZ

The dialog design is currently in design review waiting for feedback.

The user chooses an option or goes back to cancel the dialog & we take appropriate actions.

A -> The user chooses to rate the app. We set that the user has rated the app and attempt to show the In App Review flow.
B -> The user chooses to rate the app later. We set a timer for a week and if the user triggers step 1., we repeat the process.
C -> The user chooses to never rate the app (Don't ask me again). We never* show the prompt again.

There are a few things to note.

We cannot guarantee or read the state of the In App Review. We don't know if the Google dialog was shown or not. So if the user drops out of the review, we won't ask them again, but they might've not rated our app in the end.

We cannot guarantee a positive rating (e.g 4 or 5 stars), but hopefully the users will feel good after finishing a course and give us a good rating.

The in app review prompts are highly inconsistent, as any Google API... Right now, there is not a 100% chance that the dialog will show, that it showed even though we received a successful result, or that the review was published to the Play Store.

We have to hope for the best, but the business logic should be sound and hopefully we'll see some more reviews after the release.

Testing of the feature is again very hard because of 3., but also because it requires internal testing & lots of tinkering to prepare the app for a "review state" from the Google side. I'll do more intense testing with multiple phones and gmail accounts, to try and mitigate this and keep it as consistent as possible.

@filbabic
Putting together a design and some small improvements for that componenet in the next 24 hours!

@luke-freeman Thanks!
Will update the design accordingly!

Updated the design to match the spec.
@luke-freeman let me know if this is what you aimed for! :]
https://drive.google.com/drive/folders/1zgfNgTOvxyEIhBmXxgwkrXG7Wrb_7bjZ?usp=sharing

@filbabic
It looks good! But...in the Android version and iOS we use the standard UI components for modals and lists.
The design you have incorporated deviates from this and that now means we have a rogue modal that doesn't match up with the others. I think it's probaby best to stick with the original design to keep things consistent even if the modals do differ from the design language

@luke-freeman  Sure, I'll revert to "standard" rounded corners for the dialog & the buttons!


Preventing unnecessary whitespace in artist/title tags

@Cephian and I were wondering whether one could place lots of spaces/newlines in their artist/title tag in order to break the output of the bot (make it spam many messages to the channel as it tries to print a giant !list output).
This could apply even to tags that aren't fully whitespace - just put a non-whitespace character in and you'll pass the existing is_valid_tag check.
https://github.com/anoadragon453/busty/blob/195d67dfce2273df076c2e577b12310bbe2e6448/main.py#L164-L166
Perhaps we should apply a sane total limit to the artist/title (500 characters?) and strip newlines altogether.

Btw, I'm not proposing we fix this in #61 - it's fine for that PR to remove is_valid_tag. But we should have a separate PR to fix this before the bust.

new_string = "".join(string.splitlines()) seems to be the best way of doing this.


Merge weave npc

Addresses most of weaveworks/weave-npc#16

Please merge weaveworks/weave-npc#28 immediately after this PR.

LGTM. I'm going to merge after tests complete.


Characterization Scalability Targets

Incorporate scalability target testing and validation as part of the zitilib/characterization/ziti model:
Endpoints

Maximum Concurrent Sessions
Maximum Concurrent Connections
Maximum Concurrent Services

Fabric

Maximum Concurrent Routers
Maximum Concurrent Sessions
Maximum Concurrent Services

Ziti specific work shouldn't be tracked in fablab


"present perfective" and "future perfective" examples are impossible English

"I am having accepted" and "I will be having accepted" can never occur in English.  The perfect would be used for both.  "I have accepted" or "I will have accepted."

PR: https://github.com/rossmeissl/verbs/pull/23

@jeidsath what about a "Having accepted, . . ." clause?

@jeidsath I'm closing this for now due to non-response but feel free to reopen!


feat: Finngen r11 ingestion

✨ Context

🛠 What does this PR implement
This PR implements https://github.com/opentargets/issues/issues/3421 - for finngen r11 release.
The removed finngen dags are moved to the orchestration repo - https://github.com/opentargets/orchestration/pull/13

🙈 Missing

🚦 Before submitting

[x] Do these changes cover one single feature (one change at a time)?
[x] Did you read the contributor guideline?
[x] Did you make sure to update the documentation with your changes?
[x] Did you make sure there is no commented out code in this PR?
[x] Did you follow conventional commits standards in PR title and commit messages?
[x] Did you make sure the branch is up-to-date with the dev branch?
[x] Did you write any new necessary tests?
[x] Did you make sure the changes pass local tests (make test)?
[x] Did you make sure the changes pass pre-commit rules (e.g poetry run pre-commit run --all-files)?

@DSuveges if you feel, that I miss some specific documentation, feel free to point it out :)


Contributor Instructions for Adding Resources to This Provider

What problem are you facing?
I'd love to contribute to this provider, but I can't find any instructions on adding a new resource (e.g. SchemaRegistrySubject)
How could Crossplane help solve your problem?
Update README.md or add CONTRIBUTING.md to the repo with some additional guidance on extending the provider, or a link to instructions on extending providers.

Hey @daviddyball, have you checked out the Upjet documentation?
https://github.com/crossplane/upjet/blob/main/docs/README.md#generating-a-crossplane-provider-using-upjet
https://github.com/crossplane/upjet/blob/main/docs/configuring-a-resource.md

Excellent. That's most helpful @jaylevin . I will start going through that.
Would it be worth adding it to the README.md for future travellers?


Issues regarding upgrades for ZOS and TF Chain public nodes

We are experiencing heavy load on the chain if a ZOS upgrade is published. The nodes get notified about a new ZOS version, download the flists and do an updateNode call. When all these nodes tried to open a connection and make this call, the public node CPU usage rose to 100% and had a huge amount of connection request logs. This caused the Node's to repeatedly call this extrinsic because they couldn't verify the result of the call within 5 seconds. This timeout of 5 seconds is hardcoded in the Go substrate client. Which in turned caused to actually block new connections on the public node and alot of lag was experienced in open connections.
We think it's a combination of having the public running on older hardware and having the update rolling out on all the nodes at the same time (causing a spike in traffic). Cause the runtime is executed in a wasm environment it's process uses 1 core and cannot use multiple cores in order to balance load. Also the hardware we are running the public node is has the following cpu:

Xeon cpu @2ghz model (2008)

Whilst the official documentation of polkadot actually describes it is best ran on "Standard" hardware which they define to be:

I think it's time we both review the hardware where we run the public node on and the amount of public nodes we run in order to ensure load balancing. I also don't think it's good practice to let ZOS nodes connect to the same public node as the one where end-users connect to (through portal, weblets, ..)

https://github.com/threefoldtech/tfchain/issues/196 Could be part of the issue

We decided to deploy additional public nodes for ZOS to communicate to. It seems to have resolved the issue.


Initial unit tests

Beginning work on unit tests, opening a draft PR for early feedback.
The key breakthrough was calling Bootstrap.bootStrap() before running tests; without bootstrapping minecraft, registries (etc) are not initialized and essentially no MC classes can be constructed. This apparently affects 1.17 & newer.
My solution is based on this GPL3 code, see comments below.
The goal of this PR is not to provide full test coverage, nor is this PR attempting to add integration tests with minecraft dependencies. That can all come in the future.
Instead this PR aims to enable basic unit testing functionality and provide one or two examples as a starting point.
Integration tests will likely require a test mod/run configured in loom, since the game will actually have to run to test integration. We might be able to do something with Mojang's GameTest system 🤔. That's all out of scope for this PR though.
JUnit 5 is chosen as the testing toolkit to run the tests. Upstream docs.
Mockito is chosen as a mocking framework to mock class dependencies. Upstream docs.
fabric-loader-junit tells JUnit to use fabric's Knot classloader. This enables things like mixin & Environment stripping.
See also
Writing good tests, in particular: don't mock a type you don't own; a long term goal should be to reduce hard dependencies on mc classes & also write integration tests.
AssertJ (alternative assertions syntax we could use instead).
Fixes #151

Pinging @shartte as the original author of BootstrapMinecraftExtension & @BootstrapMinecraft to ask whether we can include them under the MIT license.

Putting this comment from the Architectury discord here for my own reference...

My repository might help you.
It has both JUnit tests and GameTest, but no Mixin support as I don't use Mixin.
This file also enables you to run JUnit test with Forge and NeoForge.
I use fabric-loader-junit for fabric.
It depends on Mockito to inject hacky codes.
- Kotori316

Looks like https://github.com/neoforged/FancyModLoader/pull/54 will provide a Neoforge equivalent of fabric-loader-junit


[NEW] One JS Release version

PayPal Identity components changes and One JS changes

Hi @Karthickgreets99, this upgrade will automatically get picked up in Wednesday's release. There is no need to send a PR to update it manually.


Update index.html

#3273 I remove social media sidebar in the website.

@pankajsaini1 let the icons stay please work on new issue
footer social media icons are light in colour make them bold


Investigate a sync way to access if a Node is connected to a Display

From https://github.com/phetsims/scenery/issues/1615, it can be quite dangerous to listen to the Node.changedInstanceEmitter from scene graph code, since Instances are updated in updateDisplay, and that function is very dependent on scene graph state not changing as a side effect to that function.
@jonathanolson felt like our current usages of Node.changedInstanceEmitter could be instead swapped out with logic that knows if a Node is connected. Some of these usages depend on knowing the exact Display instance, but some don't. The investigation will see if there is a performance-friendly way to access this info synchronously (without needing to wait for updateDisplay() to call).
Not exactly sure about the priority, but right now all of the usages we have are not buggy given the current cases, but it would be easy for a buggy case to sneak in without us realizing it in the future.

Updated DisplayedProperty, added DisplayedTrailsProperty that doesn't rely on instances. @zepumph does this resolve the issue?

New changes and file look good.  Review comments are done and committed.
It does seem quite heavy weight, but it probably isn't too bad in the vast majority of cases (that only have one or two trails anyways).

I am still trying to understand this block here, and how requirePdomVisible behaves, and just the basic way that this works:

https://github.com/phetsims/scenery/blob/c68ad0f0364b159760aac238a782d029698eaf13/js/util/DisplayedTrailsProperty.ts#L149-L156
I'm having trouble thinking that this covers all cases. Don't you just want a mode where you are able to "know all trails" that cause this Node to be rendered? Using logical OR to opt out feels strange to me, but I think it may be ok.
My biggest concern, along the same lines as the above note, is this block here:
https://github.com/phetsims/scenery/blob/c68ad0f0364b159760aac238a782d029698eaf13/js/util/DisplayedTrailsProperty.ts#L177-L181
I do not think that we should be exchanging the PDOM parent for the visual one. I guess it depends on what the use case is, but I feel like, for the Property in general, it makes a lot of sense to be able to know all the trails, this means recursing though the PDOMParent AND the visual one.
Perhaps a sync conversation would be best. Up to you and let me know!


allow custom appender

Hi,
Right now when configuring logging, the logger method hard codes the appender to be a normal file, but I'd like more control over that (in my case I'm running in a container so I want to log to stdout).

If on Linux, use 'dev/stdout'.
Works for me!

@xxx  Sorry for the late reply!
@jtara Thanks for your response. I would also like to add your comment to the README for people who want to log to stdout.
Personally, I would always prefer to log to a file (or a service like AWS CloudWatch) and keep tailing that file for what I am looking for. Something as follows (assuming your system logs to development.log):
$ tail -f development.log

// or

$ tail -100f development.log   // where 100 shows the last 100 lines in your log plus following the incoming stream of logs

@xxx Do you still need any help? If not, I would close this ticket for now. Feel free to open the ticket again if more help is needed.

Followup: when using sinatra-logger in the IBM Cloud Foundry Sinatra environment, you can indeed drop the recommended heroku/rails12factor Gem.
FYI, in the Cloud Foundry environment, any output to stdout/stderr is by default captured to Loggregator.
https://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html#writing
As it is typical to run multiple instances, Loggregator combines the output from multiple instances to a single log stream. Storage per instance is limited, and so it would both be inconvenient and face problems with limited resources to log to a file.
In the case of IBM's implementation, specifically, the Loggregator stream is further passed on to Kibana. (There is a free tier with retention period of a few days, or a paid tier.) There is a function in the IBM Cloud (ex-Bluemix) CLI to tail the stream remotely.
Certainly, an application could use an API to log directly to Loggregator, Kibana, both, or other logging solutions. But since there's a decent default that I am happy with, I prefer to keep it simple. When I run locally for development/test, I can choose to redirect or tee stdout to a file, but typically just tail in a terminal application with a history feature (iTerm2).
Thought it would be useful for you to understand a bit more why somebody would prefer to log to STDOUT. Yes, please add the workaround to the docs, it will help others in the same types of environments.


RTL Support

If the parent element's direction is set to RTL, the button navigation breaks and doesn't work anymore and it can only be navigated through using touch swipes. I did try to override the button navigation using this but it didn't fix the issue.

Thanks for bringing this up, I will look into how best to add RTL support.
Meantime you can temporarily override the RLT settings if this helps:
<vue-horizontal dir="ltr">

  ...
</vue-horizontal>

Thanks for bringing this up, I will look into how best to add RTL support.
Meantime you can temporarily override the RLT settings if this helps:
<vue-horizontal dir="ltr">

  ...
</vue-horizontal>

+1 really need this, I'm using Vuetify with translations via vue-i18n, and I do have Arabic in my project, which is in RTL.

+1 Same as @gotson

Hi @fuxingloh

Meantime you can temporarily override the RTL settings if this helps:

<vue-horizontal dir="ltr">

  ...
</vue-horizontal>

It works well on touch capable devices, but buttons are broken in RTL.

Any solution ?!!!

Try for the v-hl-container
flex-direction: row-reverse;

Hi, I have fixed it by doing some changes in the code. and I noticed the prev click still wrong now and fixed it as well.
So here the code
For RTL we will need to reverse the Next and Prev CSS code first
So it will be like this:
.```
v-hl-btn-next.v-hl-btn-between {
transform: scaleX(-1) !important;
left: 0;
right: auto !important;
}
.v-hl-btn-prev.v-hl-btn-between {
transform: scaleX(-1) !important;
right: 0;
left: auto !important;
}

Then on the main code I have added new props for vue-horizontal we could use rtl="true" and its false by default.
So we could write like this now
`<vue-horizontal scroll :button="true" class="horizontal" ref="horizontal"  rtl="true" >`

From line 20 to 25 I have added this RTL props

rtl: {
  type: Boolean,
  default: function _default() {
    return false;
  }
},

Changes for Next

next: function next() {
this.$emit('next');
var container = this.$refs.container;
var left = container.getBoundingClientRect().left;
var x = left + container.clientWidth * this.displacement + delta;
var element = this.findNextSlot(x);
  if (element) {
    var _width2 = element.getBoundingClientRect().left - left;

    if(this.rtl){
      if (_width2 < delta) {
        this.scrollToLeft(container.scrollLeft + _width2);
        return;
      }
    }else{
      if (_width2 > delta) {
        this.scrollToLeft(container.scrollLeft + _width2);
        return;
      }
    }
  }

  var width = container.clientWidth * this.displacement;
  if(this.rtl){
    this.scrollToLeft(container.scrollLeft - width);
  }
  else{
    this.scrollToLeft(container.scrollLeft + width);
  }
},

Changes for Prev
`    prev: function prev() {
      this.$emit('prev');
      var container = this.$refs.container;
      var left = container.getBoundingClientRect().left;
      var x = left + container.clientWidth * -this.displacement - delta;
      var element = this.findPrevSlot(x);

      if (element) {
        var _width = element.getBoundingClientRect().left - left;

        if(this.rtl){
          if (_width < delta) {
            this.scrollToLeft(container.scrollLeft - _width);
            return;
          }
        }else{
          if (_width > delta) {
            this.scrollToLeft(container.scrollLeft - _width);
            return;
          }
        }
      }

      var width = container.clientWidth * this.displacement;
      if(this.rtl){
        this.scrollToLeft(container.scrollLeft + width);
      }
      else{
        this.scrollToLeft(container.scrollLeft - width);
      }
    },`

attached the the file.

Regards
[vue-horizontal.esm.js.zip](https://github.com/fuxingloh/vue-horizontal/files/9913966/vue-horizontal.esm.js.zip)


docs: fix broken links related to tasks directory

Description
preview and v0.20.0 docs don't have tasks directory unlike previous releases. Probably because all required files were moved to concepts directory.
This fixes 4 unique links (4x4 = 16 broken links that are present in _index.md and overview.md of preview and v0.20.0 docs )
How was this change tested?
Yes. Using netlify docs generated by this PR. All 4 unique links are working fine.
Does this change impact docs?

[X] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Why do we have a redundant overview.md section when everything is already covered in _index.md ?
Both sessions have some drift that can seen at https://editor.mergely.com/5PoCsTEC/
I missed testing overview and just found that links are still broken in overview (links in overview will required double dot to move one level up). Index links are working fine.

I suggest we should remove overview.md and its link since this section is already covered in index of concepts.


Optimization

Hi
Thank you so much, I wasn’t expecting such a quick response and I’m very sorry for not replying to this earlier as my computer has unfortunately been on the blink for quite a while.
I was just wondering if you could release a version of this (the traffic model) where we could use our own optimizer because I’d like to further test it out with my favourite one:)
If you could mark in the code the optimum position to put the optimisation algorithm then I'd be further grateful for that too :)
Thanks, Sam.

Thank you, sorry for the rather stupid question. I should have looked more closely at the code and I'd like to apologize again.
Kind regards, Sam.


Added vue.config.js and BASE_URL configuration to allow for proper web proxying

We added a new set of files to allow for the proper web proxying to the CloudFront instance of the HSIA so that it can show up (and work) at: http://www.snap.uaf.edu/tools/sea-ice-atlas

Just added a commit, but it turns out we don't need the .env files at all because BASE_PATH is special and is always rigged into the publicPath option in vue.config.js.


Update package

Summary
PR simply fixes the link in the Package

from "https://github.com/apple/swift-lmdb.git" -> "https://github.com/swiftlang/swift-lmdb.git"
from "https://github.com/apple/swift-argument-parser -> "https://github.com/apple/swift-argument-parser.git"
from "https://github.com/apple/swift-lmdb" -> "https://github.com/swiftlang/swift-lmdb.git"
from "https://github.com/apple/swift-docc-symbolkit" -> "https://github.com/swiftlang/swift-docc-symbolkit.git"
from "https://github.com/apple/swift-docc-plugin" -> "https://github.com/swiftlang/swift-docc-plugin.git"

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] Added tests
[ ] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

The checklist is off because it updates the link in Package only.

@swift-ci please test

Dear @d-ronnqvist ,
Sorry for tagging you. This PR is not assigned to any member or team. I see you are the last member to approve merging this file. So that is the reason why I tagged you. Could you please help me to review or assign any member/team to review this PR?
Thanks,
Lam

Thank you for your feedback, @d-ronnqvist .


Update example with tick block param, correct route model() hook, etc

@truenorth Can you take a look at travis ember-canary results?
$ export EMBER_TRY_SCENARIO=ember-canary
...
$ ember try $EMBER_TRY_SCENARIO test
/home/travis/build.sh: line 41: ember: command not found

npm is trolling you imo. Please destroy travis' cache and re-run this PR build


about the value of  γ

γ is set to -1 according to the paper, but in this code  γ = 5?
What value should γ be?
And what is the normal loss value of complement cross entropy? I tried in keras but ths loss is very high.

Sorry for the late reply. We recommend to use gamma = -1 according to the paper. For this, all you need is to initialize the self.balancing_factor as 1 (i.e. self.balancing_factor = 1).


Webpack + Babel-polyfill: "only one instance of babel-polyfill is allowed", cannot load module

I'm trying to use tui-chart on a webpack project in which i use babel-polyfill.
Version
tui-chart v3.2.1 (from NPM)
Development Environment
Webpack 4, babel-polyfill 6.26
Current Behavior
When importing tui-chart, it throws an error stating that "only one instance of babel-polyfill is allowed". Manually editing the source to bypass this check makes everything works flawlessly, so i'm wondering why it's there.
// webpack-config.js
module.exports = {
    entry: ["babel-polyfill", "./webapp/index.js"],
    mode: "development",
    module: {
        rules: [
            { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }
        ]
    },
    ...
};

// webapp/index.js
import "babel-polyfill";
import chart from "tui-chart";

// Console error throwed: "only one instance of babel-polyfill is allowed".

// tui-chart.js line 83
    if (global._babelPolyfill) {
>	  throw new Error("only one instance of babel-polyfill is allowed");
	}
	global._babelPolyfill = true;

Expected Behavior
tui-chart gets loaded without throwing any blocking error.

@GitSquared
'tui chart' has a dependency on 'babel-polyfill', so babel-polyfill exists in the code.
We are aware of this problem and plan to distribute files that do not have 'babel-polyfill' as soon as possible.
thanks

@GitSquared
I corrected and distributed this problem.
See the Release Notes.
thanks

Awesome!


add some non translated strings to crud/inc files

It's really useful for other locales, please merge

Hi @errogaht ,
Thanks a lot for the PR and sorry for replying so late. In the meantime I have merged another PR that does the same thing. But your pr DID help me notice that in the PR I merged there was a missing untranslated string - "Toggle Save Dropdown" - that you had fixed. I just repaced it with " ▼ " - I think this is pretty universal.
Thank you, cheers!


Support new permissions fields

https://discord.com/developers/docs/topics/permissions#role-object-role-structure
https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure

The _new fields are strings, so we should parse them out properly (and probably prefer them to the integer fields)

See relevant discussion: https://github.com/discord/discord-api-docs/pull/1843


Run az bicep install on self-host Azure DevOps agents (Windows Server)

Bicep version
any version
Describe the bug
I assume every time we use az bicep cli, the agent is trying to upgrade into latest version if the latest version not installed. Then the self-host agent is throwing the error below:
ERROR: Error while attempting to retrieve available Bicep versions: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /repos/Azure/bicep/releases (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1125)'))).
Same error if we run the following command
az bicep list-versions
or
az bicep install
or
az bicep upgrade
But we can successfully run the following command on the same agent
az bicep install --version v0.4.1008

This will be resolved as part of #3689


EItem statistics

[ ] number of clicks per item ( to get how many times ebook was clicked)

duplicate issue


Exchange malloc with calloc

While this does not seem to be a security issue currently, it would be nice to switch to a more safe function.

Any chance this gets merged?
Note: These changes already have been applied in the base project (ekscrypto/Base32), from https://github.com/ekscrypto/Base32/pull/5.
This PR can be substituted with https://github.com/mattrubin/Base32/compare/develop...ekscrypto:master

This PR introduces a compilation error due to a missing parameter in the calloc calls.
https://github.com/ekscrypto/Base32/pull/6 fixes this in the base project, so this PR should be closed, fixed, or replaced by https://github.com/mattrubin/Base32/compare/develop...ekscrypto:master.

Merged in upstream master, including both the initial calloc change and the compilation fix.

gh pr checkout 2


Show dropdown in admin mode so admin can see who answered what

Purpose
Show dropdown in admin mode so admin can see who answered what
Remove some repeat code.
Related Issues
Closes CEO-238
Submission Checklist

[x] Commits include the JIRA issue and the #review hashtag (e.g. CEO-### #review <comment>)
[x] Code passes linter rules (npm run eslint/clj-kondo --lint src)

Testing
1.When in admin mode, every navigation mode shows a dropdown
2. When project has no qaqc, dropdown should be disabled
Screenshots

src/js/collection.js
882 - Should be plotUsers

On the Project Overview page, When the Users option is selected, and I try to select another user, it gives me this error:
Cannot read properties of undefined (reading 'find')
    at eval (collection.js?:548)
    at onChange (collection.js?:1155)

(Might need to open a separate issue)


Check if dialect can support the recently added functions

Situation
We have added a few new functions to the common part recently.
We need to check if some dialects could support them. The list of the new function capabilities to check:

FN_BIT_LROTATE
FN_BIT_RROTATE
FN_BIT_LSHIFT
FN_BIT_RSHIFT
FN_FROM_POSIX_TIME
FN_HOUR
FN_INITCAP
FN_AGG_EVERY
FN_AGG_SOME
FN_AGG_MUL_DISTINCT
FN_PRED_IS_JSON
FN_PRED_IS_NOT_JSON
FN_HASHTYPE_MD5
FN_HASHTYPE_SHA1
FN_HASHTYPE_SHA256
FN_HASHTYPE_SHA512
FN_HASHTYPE_TIGER
FN_AGG_MUL
FN_JSON_VALUE
FN_MIN_SCALE
FN_AGG_LISTAGG
FN_AGG_LISTAGG_DISTINCT
FN_AGG_LISTAGG_SEPARATOR
FN_AGG_LISTAGG_ON_OVERFLOW_ERROR
FN_AGG_LISTAGG_ON_OVERFLOW_TRUNCATE
FN_AGG_LISTAGG_ORDER_BY
FN_AGG_COUNT_TUPLE

Blocked until we have an integration test (#7)


is there any plan to support random_delay?

You must only create your own Schedule with your own Next function - that should not be to difficult to add an random delay on given value with time.Time


Consider seperating timing logic into new project

The high resolution timing logic contained in this library is a hidden gem. Would anyone consider separating it out into a new open source project?

I should notice that:

right now this logic implemented for Windows and macOS only;
implementation for Windows can be more accurate via usage of undocumented WinAPI functions NtQueryTimerResolution, NtSetTimerResolution and NtDelayExecution.

Can you please say why you're so excited by timing logic with DryWetMIDI? :)

@melanchall
I'm sorry for replying so late.
I am using the timing logic for a .net application to control entertainment lighting fixtures with the DMX protocol and other ip based protocols. These IP protocols (ArtNet) require that I send packets at 45fps intervals, I wish to maintain a main "loop" in my application that is locked to 45fps. I currently use my own fork of just your multimedia code to accomplish this with precision. The alternative is busy waiting an entire processor core the entire time the app is open. I also use this entire project for other midi-related things in the same app.
I'm now looking at making my own solution for Linux, using hrtimers. As an aside, can I ask why you chose to forego implementing Linux in this project?


Fixed #25203 -- Documented how to pass Apache environment variables to Django.

In an effort to address Ticket 25203, I added a section to the docs that explains how to pass Apache environment variables into the Django application by modifying the default wsgi.py file. The proposed wsgi.py file has been tested to work with Django 1.4 through 1.8 running on Ubuntu 14.04 with Apache 2.4.

merged in 47016d4322574860f90431e1c87d19f7a1f778c6, thanks!


Fixing rounding errors when inserting microseconds

When calculating nanoseconds since EPOCH, total_seconds() will give a float representation which when multiplied by 1e9 and cast to int will create rounding errors. E.g. inserting 2017-01-17T08:00:12.000001 with a datetime will produce 2017-01-17T08:00:12.000001024Z in InfluxDB. This commit fixes this by never going via floating seconds, and is based on the total_seconds() function itself.

Duplicate of #649 and fixed in #650

Re-addressed in a new PR that merges this content including fixes from @clslgrnc


Notes on an install over the past few days

Been working my way through this after a recommendation from Danae. Excellent work all round, thanks for producing it.
I see there have been some updates to the guide so some of these maybe deprecated. After writing this out I intend to go through the guide again but not sure when that will be.

[x] Services Restored - Told to edit the plugin with TESAME but that's the first time that tool's been introduced. Link 404s

[x] Cutscenes Revamped - Cavern of the Incarnate - I had to create a Video folder for the .bik

[x]  Ownership Indicator - Had to set Data Files manually

[x]  Alchemical Knowledge - This mod requires the Game mechanics/Healthy appetite feature to be enabled in the Morrowind Code Patch. But the Google Docs sheet says to disable that option

[x] Chargen Revamped - Had to set Data Files manually

[x] magicka Mastery MWSE - Had to create folder structure and re-zip

[x] Locks and Traps Detection - This mod requires the Hidden locks and Hidden traps features to be enabled in the Morrowind Code Patch. Disabled on Google docs

[x] Service Requirements Revised - Only need to install file under Optional Files, that's 1.1

[x] RoHT - Says it's a FOMOD installer, looks like a BAIN to me.

[x] Hlaalu Rank Adjust - by Ithilien87 not Caeris

[x] Fighters Guild Improved - Says it's a FOMOD installer, looks like a BAIN to me.

[x] Mage Robes - Says it's a FOMOD installer, looks like a BAIN to me.

[x] Love in the Time of Daedra - links to RandomPal's assorted mods page with a TR-compatible version of the mod. Need the original too. Need to install just the non-abot .esp from the original

[x] Master of Puppets - 	Download both the main mod and the Better Typography add-on. Use only .esp from the add-on

[x] Divine Dagoths - Config for plugins says to leave all enabled. I think should change Available ESPs so just: Bob's Diverse Dagoths - Hostile Gilvoth.esp (matches PfP) and Unique Dagoth Brandy & Amulet.ESP

[x] MCAR - I think we're supposed to download "MCAR plus swim animation"? That needs MCP's "First person swim animations" enabled. And Google sheet says to enable that one. But the BAIN options don't match the webpage.

[x] Indexes of Morrowind - Had to set Data Files manually

[x] Sheep-no-more - Shown as Redundant in MO when AURA installed. AURA replaces the same audio file this does.

[x] AURA - I noted this had updated to 4.0.3 on June 15th, not sure on the relevance of that.

[x] Creature VFX restoration - Is in the Audio section. Should it be? Seems to be overriding some files so maybe it's because of required mod install order..? Maybe add some words as to why here?

[x] Spriggans Glow - Looks like a FOMOD installer

[x] Familiar Faces by Caleb - (optional) Redguard Female Teeth Texture Fix Delete this folder? Maybe just my love of order being offended by this ending up in Data Files

[x] Watch the Skies - Updated	13th June 2022. Options for the rain mesh replacer seem to have been renamed

[x] Complete Armor Joints - Kahkahra's original flagged as redundant after installing the other one.

[x] Arukinns Better Books and Scrolls - Formatting issue?
Note that this mod contains lore-unfriendly textures for the books' pages. You can easily hide these textures, named Tx\_book\_pages\_.
Rendering error? Trying to be an escape character?
Tx_book_pages_01.dds thru Tx_book_pages_11.dds

[x] I Lava Good Mesh Replacer - Saw this new mod, maybe relevant: I Lava Good Intelligent Textures Compatibility Patch - Fix

[x] Prerelease Prisonmoon - Above this is the Nexus Mods URL of Baar Dau, looks like a rogue edit and could be removed

[x] Big Imperial Halls - Is "Imp_Big_4way.ESP" needed? I think this is a modder's resource .esp

[x] Melchior's Excellent Grazelands Acacia - Doesn't specify options to install. I think both are warranted.
00 Core
01 OAAB Saplings Patch

[x] Better Dwemer Interiors - "Better Dwemer Interiors Master (Update files)" - download is actually in Main Files section

[x] Windmill in Caldera by ayse - Wow, now that's a mod and a name from the past.

[x] More believable bandit camps - an addon for Ashfall. Has BAIN options
00 Core
01 TOTSP Addon

[x] OAAB Pomegranates - Has BAIN options
00 Core
01 WWGTMA Patch [We will go to mount Assarnibibi]

[x] Anna-Sera - This mod requires the Beta/actor collision box fix feature to be enabled in the Morrowind Code Patch. Not recommended on the Google Docs sheet

[x] BCOM - Patches - Editing the plugins so only "abotGondoliers_RVP.esp" gets installed feels very wrong. Is this really correct? Maybe some explanation?

[x] Finish - "Run MWSE-Update from your game folder." - But not from within Mod Organizer 2? Earlier said to always run via Mod Organizer 2 and screenshot of Tools set-up has a link for MWSE-Update.

[x] Finish - Wrye Mash - HircineQuest_VCW.esp has a master of "VSW_Tomb_of_the_Snow_Prince.esm". Shouldn't we change to "Solstheim Tomb of The Snow Prince.esm" rather than just remove? That's what I've done as I assume there's some STotSP objects referenced in the plugin

[x] Finish - tes3cmd - Why not clean the plugins? Would need to exclude grass mods (just for speed) and Patch for Purists (fix a Bloodmoon error with Steel cuirass). 75 I have installed have some kind of junk in. Add running Fixit in Mash to the Instructions?

[x] Finish - TES3merge - shouldn't run TES3Merge before mlox so Merged Objects.esp is moved in load order?

[x] MGE XE - distant land - Errors generating distant statics. Missing textures:
WL_wtx_vurt_pine_bark_01.dds
wl_wtx_vurt_pine_grn_01.dds
wl_wtx_vurt_pine_grn_02.dds
wl_wtx_vurt_pine_grn_03.dds
wl_wtx_vurt_pine_half_01.dds
wl_wtx_vurt_pine_snow_01.dds
They're all here:
VSW_Solstheim_Graphical_Replacer_V2.1.0-46810-2-1-0-1584270620.7z\010 Solstheim - HD Worldspace Graphical Replacer\Textures\wl\F\

[x] MGE XE - shaders - Skoomaesthesia's shader isn't added to the shader chain, not sure if that's intentional

[x] Running the game for the first time - I think a section that pulls out the various MCM recommendations from the previous entries would be good. The ones I noted and made:
Improved Vanilla Levelling - DISABLE Retroactive Health Calculation
Map and Compass - Need to select map in MCM
PvP - Increase attack frequency of enemies -> No

[x] In game, not MCM, option - Character Sound Overhaul - The author recommends you set the Footsteps volume to minimum in your in-game audio settings.

Finally, I saw this mod. It seemed like a good idea..? Tamriel Rebuilt - Original Soundtrack.

wow :D that's so many good notes. Thank you so much!!
I'll work them in

Finish - TES3merge - shouldn't run TES3Merge before mlox so Merged Objects.esp is moved in load order?

no, that would be bad. mlox needs to run before so that tes3merge merges the plugins correctly. I added tes3merge exclusions for the esps after Merged Objects - with that Merged Objects is fine at the end.

Finish - tes3cmd - Why not clean the plugins? Would need to exclude grass mods (just for speed) and Patch for Purists (fix a Bloodmoon error with Steel cuirass). 75 I have installed have some kind of junk in. Add running Fixit in Mash to the Instructions?

yeah I did that, but cleaning BCOM broke some MVRFs... so I'm a bit hesitant now with the cleaning.

Finish - "Run MWSE-Update from your game folder." - But not from within Mod Organizer 2? Earlier said to always run via Mod Organizer 2 and screenshot of Tools set-up has a link for MWSE-Update.

NullCascade recently updated MWSE-Update to not work from within MO2 (because of some permission problems people had). I need to update Tools setup. thanks

BCOM - Patches - Editing the plugins so only "abotGondoliers_RVP.esp" gets installed feels very wrong. Is this really correct? Maybe some explanation?
It's the other way round :D I'll update the list to make it more clear

Glad that was useful
I started a new game and the Firemoth ship was visible, according to PikachunoTM should enable entertainers, bcsounds, and LeFemm from UMOPP rather than the merged plugin when running with the naturalized ones; for now at least.
Haven't checked but people say that fixes things. I'll edit this when I get a chance.

alright! that's good to know!

Settings things up as PikachunoTM suggested did indeed remove the Firemoth ship from chargen.
It could be worth telling people to clean the Boots of Blazing Speed plugin (BOBS.esp) with tes3cmd as that mod's got the evil GMSTs.
I've been getting an error message on game load due to Lyithdonea (MD_Azurian Isles.esm) that I'd downloaded from MD's Github
[i]Expression Error Unable to find object "az_heal_bandage_01" in script az_scr_heal_removal.[/i]
I think I'm just going to remove the mod as I'm repeatedly hitting the 32bit limit and getting CTDs.
Is it OK me just adding things to this one Issue, or would you prefer it if I created new ones?

hej, thank you so much for your comments. :) I don't mind either way.
yeah I got the az_heal_bandage_01 error as well, probably best to remove Lyithdonea then I guess. I'll ask MD about it
and for crashing, hmm I didn't get any so far, but if removing Lyithdonea helps in this department too...
cleaning, yeah. I added a section telling how to clean all esps. but it would probaly make sense to specify which not to clean (base esps, BCOM...)

okay, so:

[x] removed Lyithdonea
[ ] fix the install instructions for UMOPP
[x] add cleaning instructions

I'd say to add Fixes for Purists to the "don't clean" list too. That will intentionally have the same values as Tribunal for the Steel Cuirass. Tribunal.esm fixed the Morrowind.esm record and then Bloodmoon.esm has the original, wrong values from Morrowind.esm

Hey. Me again.
BCoM - Patches
I think the abotGondoliers_RVP.esp is needed
I tried taking a gondolier (without this plugin) from Vivec's temple to Ebonheart and the route passed through the docs that BCoM adds. I tried it again with this mod enabled and the gondolier took a detour around them. I think that's what's meant by "activate both esp"

Hi Dragon :D thanks!

Bcom Patches
Interesting... I'll investigate

Repairing Saves
Yeah I noticed that too... 🤔 I didn't really find anything useful either but I should look again. Hmm. I have to confess I never really used repair all, but it uses tes3cmd right? I could debug that...

Hi Dragon :D thanks!

Bcom Patches

Interesting... I'll investigate

Repairing Saves

Yeah I noticed that too... 🤔 I didn't really find anything useful either but I should look again. Hmm. I have to confess I never really used repair all, but it uses tes3cmd right? I could debug that...

It's solely a Mash thing. IIRC, it's where a record in a plugin doesn't have a valid mod index for a particular reference. That mod index should be the .esp or one of its .esm masters. It's been some years though. There's probably more in some of Wrye's documentation, he was pretty good about that.
I'd say maybe just have some words in the Repairing Saves section that it might highlight some errors with plugins not noticed until now. People should use Repair All on the plugins Mash highlights until they're all done and the person can Repair their save.

alright, that's good advice (dint' know that myself)

Not sure if I should have posted this on Discord or here, went with continuing here.
UI Expansion Better Training Icons
This is in the UI > Fonts and Icons section of the guide. UI Expansion itself is in the UI > Gameplay section of the guide and installed afterwards.
With that install order, from what I can see in Mod Organizer 2, none of the assets from UI Expansion Better Training Icons are actually used in game.
Memory usage
Think I mentioned this earlier but holy heck a modded Morrowind struggles with the 32bit limit.
Have you considered a "dealing with 32bit memory limits" section? When I first started out with this guide I was getting CTDs  multiple times in the hour. Now I'm down to about 1 an hour, depending on what I'm doing.
Things I've done:
MGE XE distant land
World texture size kept at default (both colour and normal map)
Distant static textures set to 1/8
morrowind.ini settings
Interior and exterior cell buffers set to 0
DontThreadLoad set to 1 (this maybe a placebo but I think it helps)
external programs
configured an exception in my AV for Morrowind directory
close RivaTuner Statistics Server before starting Morrowind
According to Sysinternal's VMMap these were accounting for ~40MB each of morrowind.exe's RAM usage
I've also got Process Lasso purging working sets and standby lists every few minutes (CleanMem can do this too) but I can't say I've seen any effect of that using Memory Monitor in game
Finally I've run textures through Optimizer Textures, which is a bit of a fiddle to configure with its haphazard approach to its own configuration options.
I think having something here would be useful. I was expecting things to be less crash-tastic than they were when I finished the guide. It's still Morrowind but things are somewhat better now with those changes.

Cool, thank you! I added a Memory Management section, that's a good idea. 👍
also fixed UI expansion derp.

Hey. Back here again as the Issue is still open.
Saw this in Hrnchamd's sticky post for MGE XE:

NOTE: for users of DXVK: DXVK 2.1 has a bug with lighting that causes some scenes to be black. e.g. Head choice window and inventory portrait.
Please use DXVK 2.0 until it gets fixed.

DXVK in Setup section links to relases/latest so that's 2.1. The async one doesn't seem to have a version based on 2.1 yet.

ah right thanks, I downloaded 2.0, but didn't mention it on the guide


When scsslint ruby gem isn't installed, it shouldn't say that all files are lint free

When running the grunt task on a system which hasn't installed the ruby gem, it says that all files are lint free.
It is very hard to debug and figure out that the ruby gem isn't installed. It should throw an error.

Correct, it should throw an error. Can you tell me more so I can see why the current checks aren't working correctly?

Ok, I run gem uninstall scss-lint and I can reproduce the problem.
When I place the following lines on line 172 of node_modules/grunt-scss-lint/tasks/lib/scss-lint.js, (just above if (err && err.code !== 1 && err.code !== 2 && err.code !== 65) {)
console.log(err.code);
console.log(err);

it outputs:
$ node.exe C:\Users\wdwit\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt --gruntfile C:\[SKIPPED]\gruntfile.js scsslint:button
Running "scsslint:button" (scsslint) task
Running scss-lint on button
1
{ [Error: Command failed: 'scss-lint' is not recognized as an internal or external command,
operable program or batch file.
] killed: false, code: 1, signal: null }
>> 4 files are lint free

Btw, my operating system is Windows 8.

I can't replicate this issue on a Macbook Pro (Retina, Yosemite). With this ruby -v and these gems:
$ ruby -v
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0]

$ gem list

*** LOCAL GEMS ***

bigdecimal (1.2.4)
bourbon (4.0.2)
bundler (1.7.4)
bundler-unload (1.0.2)
celluloid (0.16.0)
celluloid-io (0.16.1)
executable-hooks (1.3.2)
ffi (1.9.6)
gem-wrappers (1.2.7)
hitimes (1.2.2)
io-console (0.4.2)
json (1.8.1)
listen (2.7.11)
minitest (4.7.5)
nio4r (1.0.1)
psych (2.0.5)
rainbow (2.0.0)
rake (10.1.0)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
rdoc (4.1.0)
rubygems-bundler (1.4.4)
rubygems-update (2.4.2)
rvm (<IP_ADDRESS>)
sass (3.4.7, 3.2.19)
test-unit (<IP_ADDRESS>)
thor (0.19.1)
timers (4.0.1)

My GruntFile.js looks like:
// I AM USING THE TEST FILES FROM THE MAIN INSTALL
module.exports = function (grunt) {
  grunt.initConfig({

    scsslint: {
      options: {
        config: 'fixtures/.scss-lint-test.yml'
      },
      all: [
        'fixtures/fail.scss',
        'fixtures/pass.scss',
        'fixtures/*.scss'
      ],
      success: [
        'fixtures/pass.scss'
      ]
    }
  });

  grunt.loadNpmTasks('grunt-scss-lint');

  grunt.registerTask('default', ['scsslint'])
};

My output is:
grunt
Running "scsslint:all" (scsslint) task
Running scss-lint on all
>> 1. Please make sure you have ruby installed: `ruby -v`
>> 2. Install the `scss-lint` gem by running:
>> gem update --system && gem install scss-lint
Warning: Task "scsslint:all" failed. Use --force to continue.

Aborted due to warnings.

Works as expected when I install the latest scss-lint installed
$ scss-lint -v
scss-lint 0.32.0

Not saying this doesn't exist, but it might be a Windows issue -- I don't have a Windows box to test on.

Thanks @tbremer; TBH @willemdewit I haven't properly tested it on Windows 8, I do have a VM running Windows 7, but will need a hand with 8. So at least now there's an error, did you not get this before? What were the conditions in which it passed linting but no linting occurred?

The problem is that the if statement doesn't match so the error is silently passing.
The if statement: if (err && err.code !== 1 && err.code !== 2 && err.code !== 65) { checks if the err.code !== 1. But on windows 8 it is 1. Because there is no else statement the program continues.

Well, your example above returns an err.code of 1, which means that there was a warning in your linted files.
To me this implies you have scss-lint installed OR that the error codes on Mac and Windows are different (either in ruby or causes/scsslint).

I think the latter. The first time I faced this problem I was on a clean install of Windows.

These are the exit codes we have, I guess it needs a bit more finessing, but I certainly am interested exactly what the output was first time round. I'm going to pull down a Windows 8 WM and try it out, is there anymore you can tell me about your install?

The gems I have installed are the following:
C:\Windows\system32>gem list

*** LOCAL GEMS ***

bigdecimal (1.2.4)
io-console (0.4.2)
json (1.8.1)
minitest (5.5.0, 4.7.5)
power_assert (0.2.2)
psych (2.0.5)
rainbow (2.0.0)
rake (10.4.2, 10.1.0)
rdoc (4.2.0, 4.1.0)
sass (3.4.9, 3.4.8)
test-unit (3.0.8, <IP_ADDRESS>)
win32-api (1.5.2 universal-mingw32)
windows-api (0.4.3)
windows-pr (1.2.4)

I have a 64-bit operating system.

So is there anyway you can replicate the initial error?

By running gem uninstall scss-lint and then run the grunt task.

So you get this error but not this error?

By default it is not throwing an error at all.
But when I place the following lines on line 172 of node_modules/grunt-scss-lint/tasks/lib/scss-lint.js, (just above if (err && err.code !== 1 && err.code !== 2 && err.code !== 65) {)
console.log(err.code);
console.log(err);

it shows me an error.code of 1, and the output mentioned here

So can I has a pull request?

Do you mind checking now?

I uninstalled the gem scss-lint and run the grunt task again. It is still giving the same issue.

I've just had the same problem and did some more checks.
If the command scss-lint is not available then windows returns an error code of 1

Good idea, I've created a branch and am testing: 3f52965

What about taking a page from grunt-contrib-sass https://github.com/gruntjs/grunt-contrib-sass/blob/73546de3cb077feaef5c0ba8a2307c1b2d23c432/tasks/sass.js#L13

All merged for 0.3.8


Conflict on port 35729 when 2 servers want to run with -dev

$ demoit -port 7000 -shellport 7001 -dev sample/
2019/03/18 14:07:06 Welcome to DemoIt. Please, open http://localhost:7000
2019/03/18 14:07:06 Permitting clients to write input to the PTY.
2019/03/18 14:07:06 HTTP server is listening at: http://:::7001/
2019/03/18 14:07:06 listen tcp :35729: bind: address already in use

It would be nice to switch automatically to another port, when 35729 is already in use. I don't know if it is feasible, or if 35729 is the only possible option, though.

See possible fix at https://github.com/Deleplace/fork-demoit/commit/adb7af1b18436e217ea1e338ee90fb23aec1a1c4
Can be promoted to a PR, if for strategic reasons we decide to keep 3 distinct ports


Validating witness in all RISC-V tests.

Solves #319, but I am not sure this is a good idea, because it makes tests slower, and pilcom uses too much memory to run the tests in parallel.

Maybe we could introduce a nightly test run?

Yea nightly sounds good

Solves #319, but I am not sure this is a good idea, because it makes tests slower, and pilcom uses too much memory to run the tests in parallel.

How long do the tests actually take? The release tests are failing because the PILCOM env var wasn't set.

How long do the tests actually take? The release tests are failing because the PILCOM env var wasn't set.

17 minutes with 3 threads. But it seems all instruction tests fail.

I guess tomorrow we will know if the nightly tests works as expected.

already failing

Not the nightly.

EDIT: pending on https://github.com/powdr-org/powdr/pull/323

Why pending on itself?

@chriseth can we merge?

EDIT: pending on #323

Why pending on itself?

EDIT: pending on #323

Why pending on itself?

It was supposed to be something else, but it is already merged.

Why merged into heap-placement-hack? That was already merged to main, and you said the PR would follow...


Other name?

Hi Carlos
I think other MM instances could benefit from this plugin. But not everyone has a Carlos ;)
Can you may add a alias? Like /need-help
Thanks

Thanks @JtheBAB for opening this. Are willing to make a pr?

I don't think i am skilled enough for a full alias coverage with bot account. But i may can try to change everything from Rent a Carlos to something else.

ah ok, no problem will implement that @JtheBAB


Resolve ShellCheck lint warnings

What is the problem you're trying to solve?.
https://github.com/runfinch/finch/pull/458 added ShellCheck to Finch CI for linting Finch shell scripts. The step is currently non-critical due to some lingering non-trivial lint warnings.
Describe the feature you'd like
It would be nice to resolve the remaining warnings and make the CI step critical.
Additional context
N/A

I'd like to look into this

Issue is fixed. Closing.


Cannot find an installed Xcode satisfying '~> 13.3.1'

What

[10:40:13]: Cannot find an installed Xcode satisfying '~> 13.3.1'

I don't know if it's related to flutter 3.3, but if it is we could probably play it cool and just keep using the stable 3.0.5.
I mean, we're not here to debug flutter 3.3, there are no new features really worth it, and no user complained about the flutter version we use.
Looks similar to the new tasks where all packages are automatically upgraded (even to breaking change versions): it looks like we're spending more time around the project than actually fixing bugs and adding features to the app.


Sign Windows distributable files

THOUGHTS:

No idea how to do that or what needs signing: executables? shared libraries? all files? the MSI?

NOTE:

I suppose this will be useful: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool

#99 just merged, signs EXE, DLL, and PYD files, as well as the final MSI artifact. Wondering how wrong this all is... :)

#99 just merged, signs EXE, DLL, and PYD files, as well as the final MSI artifact. Wondering how wrong this all is... :)


HTML docs for action help. (Whatever st2 run blah.blah -h spits out)

Reported by: tobijb/jtimbrown on IRC.

I agree, I believe we should have help / reference docs for standard CLI commands in our documentation. We could and should automatically generate those docs (shouldn't be hard).
We should also generate help for all the core actions (so st2 run core.<name>) commands.
We did this for cast and it worked fine (see https://github.com/cloudkick/cast-site/blob/master/content/docs/client/bundles/delete/doc.stub for an example).


BRATS DATASET has three classes, TC, WT, and ET. Performance always comes zero for third class during validation

Hello MONAI TEAM,
I am facing an issue with BRATS challenge dataset that is used in UNETR. While training with SWINUNETR, I always get a zero dice score for the ET class. During inference, I got this error shown in the attached screenshot. Can you suggest me to resolve the issue? Waiting for your response. Thank you.

Hi @Sharifmhamza , the BRATS data used in UNETR should be the MSD Task01, which is from BRATS16. The SwinUNETR used BRATS21 data for experiments. The original data formats, construction of labels are different. The loss function are configured slightly different. Sigmoid is used in the SwinUNETR, and output channel is 3, no background. The difference might be the reason causing errors.

Hi @Sharifmhamza , the BRATS data used in UNETR should be the MSD Task01, which is from BRATS16. The SwinUNETR used BRATS21 data for experiments. The original data formats, construction of labels are different. The loss function are configured slightly different. Sigmoid is used in the SwinUNETR, and output channel is 3, no background. The difference might be the reason causing errors.

Hello Contributor, I am using Swin UNETR on the BraTS21 dataset with an output channel of 3 and using sigmoid (as per the files in the project), but in the validation results, the ET (Enhancing Tumor) is still close to 0. Do you know what might be causing this issue?

Hello, I encountered this issue during network training as well, where the third class (ET) consistently has a Dice score of 0. Did you manage to resolve it? Do you have any suggestions?

Hi, we reproduce the results at https://github.com/Luffy03/Large-Scale-Medical. You can find our implementation at https://github.com/Luffy03/Large-Scale-Medical/tree/main/Downstream/monai/BRATS21.


Don't error on missing meta when hashing untl dict.

ping @ldko, @madhulika95b, this is ready for review. This just makes it so we don't error here when we are missing a meta entry in the untl dict, which we do have a few occurrences of.

Don't see why not, I'll make that change


Only list files once, not for each hunk

First off, thank you for this project, it's wonderful!
Second, I apologize for the terrible image editing I did to illustrate my point here. They are terrible. Thank you for persevering through them.
That being said, I think there's a low-hanging fruit type of improvement that can be made to the display when displaying changes in multiple files.
The yellow color of the filename, and its large contrast with the black background, makes these changes all look like they happened in different files:

The only thing that indicates that they are different hunks in the same files is the X / Y identifier after the filename. It is difficult to jump to the next file, because I have to visually read and cognitively compare the filenames and hunk numbers with the one above it as I go down the page. My eyes and brain have to do this motion:

I think it would be better to use color and contrast to differentiate hunks in different files, and less contrast to indicate hunks within the same file, like so:

I didn't show it, but the next file would have the its filename in yellow, and the same grayish hunk identifier/s.
So really the only change that needs to be made is omitting displaying the filename for non-first hunks. I hope this is easy to do.
I think this would make it much easier to quickly scan through the output for different files, as the high-contrast yellow would differentiate changes between separate files a bit better than it does now. My eyes can jump from one yellow/high-contrast filename to the next instead:

(I forgot to edit in an empty line between the second filename and the preceding content, but let's just pretend it's there.)
There's a lot less to visually and cognitively process, so it should be easier and faster to quickly scan through.
Difftastic 0.27.0 on macOS 11.6.8 Big Sur (Intel), installed via Homebrew IIRC.

I would be very interested in the same thing.

Thanks for the great bug report, this is a tricky area to get right :)
I prefer the current behaviour: it's easy to get lost in large diffs if you don't have the filename above every hunk. When using plain git-diff, I often find myself scrolling back up to see which file I'm looking at, then scrolling down to look at the changes that are interesting.
That said, I'm happy to add a setting for this. #434 is a really interesting idea: what if only the first occurrence of the filename was in colour? That'd make the 'on new file' boundary much clearer.
Would that suit your workflow, or would you rather have an option for only showing the filename on the first hunk?

You make a good point about large diffs and scrolling around.
#434 is an excellent middle ground in my opinion. I would be happy with just that - no config option necessary. I also like the fact that that keeps the non-first filenames in bold, so it should also work for colorblind folks.

OK, I've merged #434.
Feel free to reopen if you hit a case that really needs to hide the filenames :)


Performance optimizations by avoiding builders and using standard lib functions

I may found some significant optimizations. I only looked at reference arrays and this is not complete. In general there are several places where builders with capacity checks could be avoided and where standard kotlin functions are faster than the current implementations. I benchmarked with kotlinx-benchmark against the benchmark scenario you use.
Around 14% performance gain:
public operator fun <T> ImmutableArray<T>.plus(other: ImmutableArray<T>): ImmutableArray<T> =
    when {
        isEmpty() -> other
        other.isEmpty() -> this
        else -> ImmutableArray((values as Array<T>) + other.values)
    }

vs

public operator fun <T> ImmutableArray<T>.plus(other: ImmutableArray<T>): ImmutableArray<T> {
    when {
        isEmpty() -> return other
        other.isEmpty() -> return this
    }
    return buildImmutableArray(initialCapacity = size + other.size) {
        addAll(this@plus)
        addAll(other)
    }
}

Around 32% performance gain:
public operator fun <T> ImmutableArray<T>.plus(element: T): ImmutableArray<T> =
    ImmutableArray((values as Array<T>) + element)

vs

public operator fun <T> ImmutableArray<T>.plus(element: T): ImmutableArray<T> =
    buildImmutableArray(initialCapacity = size + 1) {
        addAll(this@plus)
        add(element)
    }

A third example is shared here.
(I don't create a pull request since i'm not experienced enough)

@teenriot thanks so much for this suggestion!  I added both of these efficiency improvements for all 9 Immutable Array types and these will be included in the next release.


The user who uses this crate should be able to choose whether to copy or not.

@Furisto
Can I ask you to review this?

lgtm


[zh-cn] sync blog/2022-08-31-cgroupv2-ga.md

[zh-cn] sync blog/2022-08-31-cgroupv2-ga.md

Refer to glossary and cgroups.

/approve

/lgtm


RBAC module uses yii queries instead of active record

This is more a question than an issue since it works fine by now.
Why does the yii\rbac\DbManager class uses yii queries instead of yii\db\ActiveRecord models? The DbManager handles all the inserts, updates, deletes and selects by creating Query classes instead of using active record models.
Is there a reason behind this?
I think it would be easier to extend if RBAC functionality if it used activerecord models.
The hardest part I can think for the models would be the tableName method which is configured by the DbManager but thats easily solved
public function tableName() {
      return Yii::$app->getAuthManager()->assignmentTable;
}

duplicate of #570

Cebe thanks for the link to the discussion. it looks like everyone agrees that activerecord is a better approach. I have a few advancements on this issue, should i submit a patch?

what kind of advancements?

yii\rbac\BaseModel that checks the configuration on init to see if the authManager component is configured to use and DbManager instance.
Then gii generated models extending the BaseModel. i want to add a bit or recursive support for things like see all the permissions for a user and all the children/parents of an item but that is still not done.
And rewrite some  of the DbManager classes to use the models instead of queries. I haven't completed this yet but i think i can submit the pull request and keep working till its done or get feedback on what to get better

The branch is up on my git fork.
https://github.com/Faryshta/yii2/compare/yiisoft:master...Faryshta:activeRecordRBAC
I will rewrite the DbManager class now but I think the models are completed.

You can open a PR when you are done with that. We can discuss it then.


Azure KeyVault secret store fails to decode pkcs12 certificate

What version of Dapr?

1.1.0

Expected Behavior
I am following the documentation on https://docs.dapr.io/operations/components/setup-secret-store/supported-secret-stores/azure-keyvault/ in order to use Azure KeyVault as secret store. I can create service principal and the certificate without any problems. I should be able to access the secret from the KeyVault.
Actual Behavior
When starting the dapr I can see that it cannot access the certificate giving the following error in the log
oauth token from certificate auth: failed to decode pkcs12 certificate while creating spt: pkcs12: error reading P12 data: asn1: structure error: tags don't match (16 vs {class:1 tag:3 length:58 isCompound:false}) {optional:false explicit:false application:false private:false defaultValue: tag: stringType:0 timeType:0 set:false omitEmpty:false} pfxPdu @2" app_id=myapp
Steps to Reproduce the Problem
Just follow the steps in the documentation.

This is still an issue, afaict... despite dapr-bots' best efforts


Create HTTP clients

[ ] JavaScript
[ ] Python

I really don't think this is necessary until someone actually wants it. The JSON API requires no authentication and is really easy to navigate.


Support env var parameter substitution

Hey, I just made a Pull Request!
This PR adds the support for parameter substitution in environment variables. For example, foo ${MISSING:-default-value} becomes foo default-value if MISSING is an unset environment variable, or is declared but has no value. This is useful in situations where an environment variable is defined in app-config.yaml (e.g. in a proxy block), but a fallback value is desired when the environment variable is not set. For example:
proxy:
  endpoints:
    '/foo':
      headers:
        authorization: 'token ${FOO_TOKEN:-my-local-dev-token}'
      target: ${FOO_PROXY_TARGET:-http://localhost:9000}

When FOO_TOKEN and/or FOO_PROXY_TARGET are unset, they will be substituted with my-local-dev-token and http://localhost:9000, respectively.
:heavy_check_mark: Checklist

[X] A changeset describing the change and affected packages. (more info)
[X] Added or updated documentation
[X] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

@freben, @tudi2d, @Rugvip - does this look good to you?

One more note. This needs the docs to be updated in https://backstage.io/docs/conf/writing#environment-variable-substitution as part of the PR.
Adding @Rugvip for info too

@freben - hey Fredrik, thank you for the review! I've addressed your comments, and also have updated the docs. Happy to address any further comments.

Thank you for the suggestions! 👍
Wanna perhaps push back a little bit on this as it has quite a bit of overlap with the APP_CONFIG_* env vars. It's ofc doesn't quite handle the case of substitution within a value, but I'm not quite sure how much of a problem that is in practice.
The proxy.endpoints isn't really something that we'd want to be designing the config system around tbh. Long-term it's something that I hope we're able to redesign into something that provides more out of the box and is more secure. Do you happen to have any other other example where this might be useful?

Thank you, Patrik. Yeah, in practice, we want to be able to define env vars in app-config.yaml, while reducing the amount of friction in asking our developers to declare them in their local dev environments, or introduce scripts to set them. Keeping the env var fallback values in app-config.yaml helps with that. Also, specifically for the proxy endpoints use-case, the APP_CONFIG_* override can't handle that use-case. This means that you'd need to do something like this:
proxy:
  endpoints:
    '/foo':
      target: ${PROXY_FOO}

In such use-case, you'll have to set PROXY_FOO somehow for local dev environment via a script. Otherwise, it will break, especially when people forget to update that script, which creates friction.
Similar use-cases are when we're dealing with array-like configurations; for example:
catalog:
  locations:
    - type: file
      target: ${CATALOG_INFO_YAML}
      rules:
        - allow: [Component, Resource, User, Group]

APP_CONFIG_* can't handle that use-case as well; i.e. something like APP_CONFIG_catalog_locations_0_target isn't supported, and even if it was, it won't work nicely with arrays because you'll need to target the array element by its index, which can become annoying and hard to maintain.
So, with parameter substitution, use-cases can be addressed with less code on the developer's end:
proxy:
  endpoints:
    '/foo':
      target: ${PROXY_FOO:-http://dev.foo.test}

catalog:
  locations:
    - type: file
      target: ${CATALOG_INFO_YAML:-local-catalog-info.yaml}


Fix flaky test_inverse_indices_shape

https://ci.preferred.jp/cupy.linux.cuda110/96900/

/test mini

@kmaehashi Failed to backport automatically.

Not cleanly cherry-picked

@kmaehashi This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?


Unclear how to use

Not clear how to use and how to generate keys

Generated Code is not scannable....

Hi @yarodevuci, sorry to hear you are having difficulties.
Your two comments above seem to indicate two separate issues and possibly the first you have resolved, give the second indicates you have created a QR Code, be it not working for you.
I would point out that this library does not generate keys, that is not its purpose, although you will need keys to use it. On the repositories ReadMe page I did provide this link: Creating Elliptical Curve Keys using OpenSSL  which I personally found very useful in generating keys. Also in the repository, there is this text file: ReadMeOpenSSLCreateECCkeys.txt which are my own cheat notes taken from that site. I just follow these to generate keys when I require them. I would point out that these methods require the use of OpenSSL.exe and if you have Git installed you should find you already have OpenSSL.exe on your machine here: C:\Program Files\Git\usr\bin\openssl.exe, at least that was true for me.
On to your second issue, "Generated Code is not scannable....". I assume you mean you have generated a SMART Health Card QR Code with this library and are unable to successfully scan it, using something?
Perhaps this can help.
If you use the site listed on the ReadMe page under the title 'Smart Health Card Development', this link: Smart Health Card verifier site and then try and scan this QR Code below. This works for me yet I do admit it takes a bit of trying, ensure your camera is very parallel to the screen as you attempt. Perhaps enlarge the QR Code image as well, it might help. I can scan it with my PC web cam and with my phone, both work, but it does take some attempts. If you can't get this QR Code to scan then the issue is with your camera or technique of using it.  Once you can successfully scan that QR Code then move to the QR Code you generated and try again. I will also highlight that while the QR Code below will scan it will also error saying  '· keySet not valid. Expect {keys : JWK.Key[]} (Fatal)' which is because that QR Code's public key in not hosted on a public endpoint to allow the verification, but it does prove the scanning works.
I hope this help.


"Kanban Stockpile" is absent from the Mod Settings menu and stockpiles don't have the 2 sliders.

From SteamWorkshop:
KemonoAmigo Jul 10 @ 7:35am
@ubergarm Nope. I've disabled Stockpile Ranking and only had Kanban and the stockpiles became just vanilla. "Kanban Stockpile" still didn't show up on the Mod Settings menu.

Could not reproduce. Will re-open if they reply back:
I just tried a quick test and "Kanban Stockpile" seems to be working. It shows up in the Mod Settings menu and works with "Stockpile Ranking".

My test setup was as follows:
1. RimWorld v1.3.3389 (Compiled June 8th 2022)
2. Harmony: Lib v<IP_ADDRESS>
3. Kanban Stockpile v1.0.9
4. Linux Operating System w/ "Compatibility" -> "Steam Linux Runtime" (i never had to use this before but couldn't even start RimWorld without it this time)
5. I tried it again in Windows 10 and confirmed

Load order:
1. Harmony
2. Core
3. DLCs
4. Stockpile Ranking
5. Kanban Stockpile

I tested with Kanban Stockpile both before and after Stockpile Ranking and did not seem to matter. Both GUIs showed up in game properly and I confirmed that the 2nd Rank stockpile fills up after the first one is exactly satisfied.

I have no idea if unsub/resub of this mod would fix your situation? Are you using Windows/SteamDeck/Linux etc?


Create release-3.8

@dgoodwin @agupta  I have created a release-3.8 branch for a version compatible with kube 1.8.  We are about to rebase to kube 1.9 and it will become incompatible.

/assign

Master now works with 1.9.


feat: Atlas Upgrade

Now we have a functioning game with a working UX it is time to think about upgrading the Atlas part of the App.
My feeling is that we should use React Three Fibre to do this.
The features we need:

Geojson mapping on land and assets
Clickable objects within the world
Animations
Custom shaders
Async updates to the objects

We can achieve all of this using Three.js and will be easy to maintain + easy to upgrade from here. We would just replace the map module with this newly created map.
Discuss

My thinking is:

React Three Fibre
Use - https://github.com/vasturiano/three-geojson-geometry as the paths
Custom Shader to give some jazz

Custom shaders

Would be great if these shaders could help players make in-game decisions.

Color code realms by quantity of Gold in their vaults
Color code realms by time remaining until raidable
Color code realms by Strongest-Weakest defensive army

Already working on economic reporting in https://github.com/BibliothecaDAO/economic-reporting
Perhaps Atlas could integrate/display some of this reporting in-game
Far future: connect with Vizir AI/enable complex filters
'Show me realms with gold in their vaults, with v.weak defensive army, but not the Order of the Fox'

great idea!

Yes yes yes, great initiative. 100% in favour.

Update on development
Have scoped out what I think is the path we need to take to make this a reality and started a few things. The goal is to reach feature parity with the current Atlas before we go further. This new structure should give signifcantly more performance but also be higher fidelity.
To reach feature parity

Realms locations
Visiable continents
Clickable realms that fly to when clicked
Searchable resources and display on map
Visible names of locations on the map

These the individual elements we need to build in R3F:
First we need to make the geometries

Land - the continents
Realms - the Realms mesh. These will be dots to begin with.
The World

Then we make the materials

Continents - land mass with some contrast and coastlines
Realms (unsure about how we do these)
World - a stylised ocean
Atmosphere
Resource selection texture (overlay according to the Resources selected)
Background

The project stucture should be very thought out into tight layers which can be toggled.

Would it make sense to also have a ‘grid’ layer? Grid layer divides the globe into small polygons or points, not visible
Could be used for pathing armies around continents (one day), used by modules in the future, etc
I don’t know if a grid layer is needed, just thinking out loud

The actual Atlas is just a 3d representation of the on-chain coordinates. So the 'space' already exists, we just need to show it.


docs: update migration docs

Describe pull-request
Updated migration docs to align with breaking changes.
Solving issue
Fixes: CDEP-2435
How to test

Go to Migration docs

Is the aligning of the action slot name in migration docs?

Is the

[ ]  aligning of the action slot name

in migration docs?

Compared to TDS (@scania/tegel), SDDS does not have web-component for message, banner or toast. So the alignement does not affect the migration.

Kudos to detailed check @nathalielindqvist and @alexandereneroth ! ;)


Archive files being corrupted by opine proxy

Issue
Setup:

Deno Version: 1.16.2
v8 Version: v8 <IP_ADDRESS>
Typescript Version: typescript 4.4.2
Opine HTTP Proxy Version: 2.9.1
Opine Version: 1.9.1

Details
Archive files are being corrupted by opine proxy. To reproduce, run the app below and try fetching /archive.zip. In my testing, the resulting file is the same size as the original, but archive utilities throw errors saying it's corrupted.
import { opine } from<EMAIL_ADDRESS>import { proxy } from<EMAIL_ADDRESS>
const app = opine();

app.get('/archive.zip', proxy('https://github.com', {
    proxyReqUrlDecorator(url, req) {
        url.pathname = '/asos-craigmorten/opine/archive/refs/tags/1.9.1.zip';
        return url;
    }
}));

app.listen(3000, () => console.log('listening on 3000'));

Hey @neonfuz 👋
Thanks for raising - can confirm the above snippet reproduces and see the following error when attempt to unzip:

Ok, got a hunch the issue is here --> https://github.com/asos-craigmorten/opine-http-proxy/blob/2.9.2/src/steps/sendProxyReq.ts#L58 where the response is being decoded to a utf-8 string and then transformed later back into an ArrayBuffer which suspect may be the cause, and regardless is superfluous in binary cases

I assumed it was some sort of decoding or parsing, tried fiddling with the options that existed but it didn't seem to fix the issue

Awesome, thanks for the quick fix!

Hey @neonfuz, can you try out<EMAIL_ADDRESS>where believe have fixed the issue.
If find otherwise then please reopen the issue!

Sorry for not responding earlier, tested and the issue has been fixed for my usage, thanks!


Add missing bind_to call to PreviewOnEdit, fixes #7537

see #7537

@lb- Thanks for your detailed guide, that helped a lot! :)
Some notes:

I re-used the code of the existing tests in TestPreview to get working test quickly. There is also a SecretPage model in the testapp, which already uses a custom panel, which I could have used, but it was easier for me to reuse the lines from the other preview tests, which use the EventPage. That allowed me to reuse the defined post_data for example.
I followed your hint to copy the clear_edit_handler decorator, but I think it would be a good point to extract it into a utility module. Since I'm too new to wagtail's test setup, I didn't fell confident enough to do that in the first place.
Actually I don't fully understand, why the test_custom_edit_handler_form_class also sets the edit_handler before mocking it, so I left that out in my test. Hope I didn't miss something here. https://github.com/wagtail/wagtail/blob/27c3e7921a6c31664abf8587b491861e62f4e74c/wagtail/admin/tests/test_edit_handlers.py#L249


SaaS connector search term stays after navigating away

After searching for a SaaS connector type (e.g. Mailchimp) and moving forward in the add SaaS connector flow, when navigating back to the add SaaS connector flow, the search term is still present in the search box and results filtered.

@Roger-Ethyca Can you try to reproduce this?