formulary: handle @ formulae.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

Useful for https://github.com/Homebrew/brew/issues/620 & https://github.com/Homebrew/homebrew-core/pull/971.

Will merge this as-is for now, with the redundant [] fixed.

Use lookahead/lookbehind?
class_name.gsub!(/(?<=.)@(?=\d)/, "AT")

Changed in https://github.com/Homebrew/brew/pull/832 to (/(.)@(\d)/, "\\1AT\\2") per Martin's nudge. Don't have a strong preference either way, but if people prefer LA/LB I'm happy to change it again.


APD-231 - [BE] migrate to Django master branch

Current coverage is 61.46% (diff: 75.00%)

No coverage report found for master at 4452c88.

Powered by Codecov. Last update 4452c88...3ff220c


Allow same Yaml classes for binary and frontmatter

Psych-4.0 changes to safe_load by default. Compilation breaks with below error for anyone with binary files accompanied by a Yaml file with a date.
Psych::DisallowedClass: Tried to load unspecified class: Date

The DateClass isn’t allowed in safe_load mode. Nanoc expects it to be for e.g. created_at. Duplicating code from parser.b to allow same classes in all Yaml source files and front matter.

I doubt that test failure is related to this change.

Thanks! This change makes sense.
(The automated GitHub tests are flaky unfortunately… will need to look into that once more.)


Publish the mev-boost call for testing

Once mev-boost is ready for testing in kiln we will publish an announcement to get more validators to try it and provide feedback.

mev-boost is now ready, implementing the builder api v0.1.0.
We have a relay and a builder already setup in kiln and ropsten.
Teku is now ready for testing. #156.

Should we wait for more validators before the call for testing?
I think we shouldn't. We don't have a lot of time for testing, and the earlier we start the better. I think we should publish this on tuesday or wednesday, the latest. We can provide a link to generic test steps and a link to the consensus client implementation status. Then, as new clients are ready, we make more noise to celebrate and give more force to the testing call.

Should we make a call for testing only in kiln?
I think so. If we announce this for all networks then it will be hard to focus the energy. Not all of the test networks will have mev opportunities or searchers sending transactions. If we focus on kiln, we can get realistic end-to-end scenarios.

Call for testing ready for review:
https://github.com/flashbots/flashbots-writings-website/pull/22

The testing guide is in progress:
https://github.com/flashbots/mev-boost/wiki/Testing#tekunethermindmev-boost

I've summarised my findings testing mev-boost in conjunction with Lighthouse+Besu and docker-compose on Ropsten here:
https://mirror.xyz/ladislaus.eth/ah5UOhcstfmnk5rzTBQ-e26XudUqmxr3flnkLqlEDYE

Published :)
https://writings.flashbots.net/writings/mev-boost-call-for-testing


[Cloudflare Workers] Could not resolve "node:buffer"

I'm trying to use this package, but I get an error:
✘ [ERROR] Could not resolve "node:buffer"

    ../node_modules/.pnpm/@libsql+client@0.1.6/node_modules/@libsql/client/lib-esm/sqlite3.js:2:23:
      2 │ import { Buffer } from "node:buffer";
        ╵                        ~~~~~~~~~~~~~

  The package "node:buffer" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.

✘ [ERROR] Build failed with 1 error:

  ../node_modules/.pnpm/@libsql+client@0.1.6/node_modules/@libsql/client/lib-esm/sqlite3.js:2:23:
  ERROR: Could not resolve "node:buffer"

I've tried both options to enable nodeJS APIs (you can't have both simultaneously, wrangler errors.
compatibility_flags = ["nodejs_compat"]
node_compat = true

I'm on wrangler 2.20.0.
Does anyone know what I should try?
Thanks :)

The solution is to use the right import.
Wrong
import { createClient } from '@libsql/client';

Right
import { createClient } from '@libsql/client/web';

Hi Ben, you are absolutely right, we created the /web import precisely for Cloudflare Workers and other non-Node environments :)


[fix] Roc for Elm programmers / "let syntax" section

Signed-off-by: Rod<EMAIL_ADDRESS>

The CI failure is expected btw, I'm working on fixing that :)

Closing because @rtfeldman also (independently?) noticed and fixed this problem.


Different ID for identifying users

Is it possible to use a different value for identifying users instead of the default user->id for auto events? i.e. a SHA1 of the users email address.

Hey @mikebronner I am not sure how the referenced issue speaks to this one. Things like your Stripe integration would automatically use the user->id for its identification in Mixpanel when sending events there. Setting the alias on the front end is a different matter I would think. In my case we identify the user in Mixpanel with a UUID. Would love to heard your thoughts on how to ensure that the backend event tracking uses that as the identifier.

Hi @stueynet, thanks for reaching out. I'm sorry I haven't been able to dedicate much time to this. I hope to look into this, considering your scenario as well, soon.

No worries at all! Thanks Mike.

I have just opened PR 81 to add this functionality


Binary messaging: values > a nibble become 253

As stated in https://github.com/rgbkrk/bitjet/pull/22, using Bytes from traitlets with ipywidgets turns byte values >= 128 into 253 across the board.

Whoops, I failed to use the search function.  Closing #229 in favor of this.

GAH! You got 229, my favorite number!!!

We aren't using the binary serialization for Bytes traits, which is probably the cause of the problem. The Bytes are being cast to str, which is probably getting normalized due to failed text encoding.
I opened rgbkrk/bitjet#23, which tells it to use actual binary messages via wrapping the bytes in a memoryview. While investigation, I also opened #231, which fixes bugs that made binary messages impossible to send with current master, and triggers binary messages for Bytes by default.

@rgbkrk, I think we're using binary serialization in master now, but we should check to make sure. @minrk, was your #231 to fix this issue?

I think we're good to go on this, I'll go ahead and close.


chore(deps): update common-dev-assets digest to 2aa7e3c

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
9470000 -> 2aa7e3c

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.2.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Programmatically focus input

I want to create an app with a button which, each time it is pressed, appends a new text input field to the document body and focuses it. This would require invoking input.focus() after the view has rendered. How does this fit into the cycle of MVI?

virtual-dom hooks.
One trick I use with Observable and hooks is to flatMap each "should focus" event to an Observable of just [true, null], and then the virtual-dom hook checks if the value given is not null, doing the side effect (input.focus()) only when not null. The reason why we emit null is to be safe in the presence of combineLatest et al. which remember past events.

To give some context, these are side effects and by default they should happen in a driver. However, it is very convenient to express the vtree and the focus side effect together, so instead of a driver, we use virtual-dom hooks. There are other DOM-related side effects that can be easily put in a driver. For instance, a preventDefault driver that consumes an Observable of events which should be preventDefault()'ed, and does that in a subscribe.

Perfect, thanks!


Event triggered on item usage with QoL features.

Let's say I have a flint and steel, and want to burn vines so they don't grow more.
I then need some kind of injection into the flint and steel item to add this behavior.
Same with a custom campfire-like block, like a brazier, if it's extinguished I would need an injection into the flint and steel item to add the turning it back on behavior!
This is where an event could come into place, allowing to easily add those behaviors!
Here's an existing mixin that I personally use to create the behaviors described earlier.
While I could've used FAPI's ItemUseCallback I didn't, I don't entirely remember the reason but it's something along the lines of it being a bit awkward.
But now we got some considerations for implementation:
First of all, let's look at the mixin and let's think about the stuff that could have been easily forgotten by modders in order of less likely to most likely:

forgetting to damage the tool
forgetting to emit the game event
forgetting to check for adventure mode

This could be solved by extending ItemUsageContext with injected interfaces, like context.canModifyWorld(), etc.
Second, look into make this event as less confusing as possible!
Third, make sure it's easy to use!

Have the event per-block, maybe?

Just noting this here:

forgetting to check for adventure mode
This is already handled by Vanilla itself! See ItemStack#useOnBlock.

Just noting this here:

forgetting to check for adventure mode

This is already handled by Vanilla itself! See ItemStack#useOnBlock.

It actually isn't!


instructions on how to make changes for contributors

simple readme, or the main readme on how to submit PRs and what files to change etc

I updated the readme and contribution instructions for the new docusaurus site.


Floating input placeholder is aligned to the right of the prefix

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The floating placeholder should be left aligned with the left side of the entire md-input-container, above any prefix if there is one.
What is the current behavior?
When an input's placeholder is floating (whether automatic or deliberate) and the input also has a prefix via MdPrefix, the placeholder is left aligned with the right side of the prefix.
What are the steps to reproduce?
Plunker template: http://plnkr.co/tiBos98s7cX9Lz0cCVQu

  <md-input-container floatPlaceholder="always">
    <input mdInput type="text" placeholder="Label">
  </md-input-container>

  <md-input-container floatPlaceholder="always">
    <input mdInput type="number" placeholder="Amount">
    $
  </md-input-container>

  <md-input-container floatPlaceholder="always">
    <input mdInput type="text" placeholder="Note">
  </md-input-container>

What is the use-case or motivation for changing an existing behavior?
The current alignment looks bad - especially in a list of inputs that all have different prefixes or some have no prefix.
Which versions of Angular, Material, OS, browsers are affected?
Material2 2.0.0-beta3
Is there anything else we should know?

Dupe of #3660

Closing as dupe of #3660

Sorry about the dupe - I did a search, but found nothing - must have chosen the wrong search terms.


Fix CSV fields

When exporting data from a model that has foreign key references, the foreign key's ID is printed. We want it to print one of the more useful string fields instead for each of the foreign keys.

@ldko, @damonkelley, this is ready for review. Don't like the way this is done, so suggestions are very welcome.

Ok, one other thing.
Can we change the class variable names? I don't love fields_to_show. I would rather see fields or columns. Furthermore, I think header_map and serializer_map are sufficient.

Also, have a look at this
https://wiki.python.org/moin/NewClassVsClassicClass

Yeah, I can change those. It's obvious enough what they are for when they are assigned as kwargs in the view.

What do you think about renaming export_csv_config to config?

Seems that utils.py or helpers.py would be more common names to use for that. What do you think about either of those?

Seems that utils.py or helpers.py would be more common names to use for that. What do you think about either of those?

I personally prefer config more, as everything inside the module is related to csv configuration. utils and helpers are for miscellaneous things that don't have more suitable home.
However, this is just my opinion. You can name it whatever you like, but I will say that I would like to avoid underscores in module names if at all possible.

It's true that it is all currently configuration for the csv output, but I could see that changing with future updates, as more of the view code could be placed in that file. I think I'd like to go with the Two Scoops recommendation on this, which is that code moved out of the views should go into either a utils.py or helpers.py.

:+1:

:+1:


Create a release

Please consider cutting a release, to have a fixed snapshot of the icons.
As well as the git tag, a fixed URL of all the icons may be useful for derivative projects.

Github does most of the work of automating releases if you try the menu under "Releases" (if owner).

Are there any plans to create a new release, @edent? I'd prefer installing via NPM rather than manually including the icons in my project, but the latest release 0.4.0 is over two years old.

I've done https://github.com/edent/SuperTinyIcons/releases - is that what you mean?
(Sorry, very jetlagged and catching up on old issues.)

0.5.0 released!


[1.20.1] Runaway memory allocation with Theurgy installed

After installing Theurgy in a pack that already includes Replication, it seems that the Matter value calculation causes runaway memory allocation, causing the game to run out of memory within a few minutes and crash. I say it seems to be Matter calculation because the entire time leading up to the crash, the matter values still have not been fully synchronized.
Replication Version:
1.20.1-1.0.3
Titanium Version:
1.20.1-3.8.28
Crashlog If Applicable (Upload to pastebin/gist):
Crash logs seem entirely unrelated but here it is just the same. https://gist.github.com/MuteTiefling/acd5ab4db5adf9119f48354ce7e18d03

Hi there, this is the Author of Theurgy!
@Buuz135 let me know if there is something I can do on my end!
Without having looked at things, I assume you are somehow checking recipes to arrive at a value result?

Hello,
I've just encountered this issue as well, albeit in another context. I believe the issue is caused by the recipe analysis in Aequivaleo and have posted some preliminary findings in this thread. In short, it seems to be the result of the combinatorial explosion of recipe relationships that naturally arise in modpacks and not due to any particular mod.
Would it be possible for Replication to provide a "static" mode that does not rely on recipe graph analysis?

Thanks for that writeup and insight Malcom.

Fixed in 1.21


Handle SIGCHLD for exec/forkExec

When forkExec is called it begins to ignore all SIGCHLD signals for the rest of the progam's execution so that they are automatically reaped. However, this means that subsequent waitpid calls in the exec function will always fail. So instead handle SIGCHLD by reaping any processes created by forkExec and ignoring all others so that they can be handled directly by the exec function.
I had a custom module disappearing on scroll-up which is fixed by this and I'm 99% sure this is what causes #739 while still fixing #369. I didn't know where to put the signal handler function, so I just put it in main.cpp. It adds a couple of ugly global variables, but I couldn't think of any other way to do it. If waybar was relying on signal(SIGCHLD, SIG_IGN) to reap other child processes not created by forkExec then this won't work, but I couldn't find any other instances of fork(), so I think it's ok.

Thanks!


How to  change Overlay coordinates

How to set coordinates of overlay(TextureOverlay) , it is always positioned in the middle of video.

An overlay can be positioned using the OverlaySettings.
In this class, there is an ability to setMatrix(float[] matrix), providing an openGL matrix. Matrix transformations can be used to translate the overlay to the desired point and scale it accordingly.  You can see multiple examples of how this is done in our tests.
FYI: in the 1.2.0 release, where simplifying this api, taking setMatrix() out and adding explicit methods scale() and setAnchor() methods to customize the overlay for ease of use.


[WIP] [SPARK-17487] [SQL] Configurable bucketing info extraction

What changes were proposed in this pull request?
I am looking for early feedback about this change wrt approach.
Here is what this PR contains:

Introduced BucketingInfoExtractor which has functions for
extract bucket id from a given filename
given bucket id and other info, generate the filename
BucketingInfoExtractor is a part of BucketSpec since the same session can process native Spark tables and pure Hive tables
Provided a default impl which adheres with Spark's current naming scheme
All codepaths which write a file now use the BucketingInfoExtractor to get a filename as per the bucketing scheme

TODO

Get rid of BucketingUtils completely
Introduce impl for Hive
Add tests

How was this patch tested?
TODO

Test build #65189 has started for PR 15040 at commit fcf37f7.

Test build #65189 has finished for PR 15040 at commit fcf37f7.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
abstract class BucketingInfoExtractor extends Serializable
class DefaultBucketingInfoExtractor extends BucketingInfoExtractor

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65189/
Test FAILed.

@cloud-fan : cc'ing you as you have lot of context about bucketing in Spark. I am looking for early feedback about this change wrt approach. I have included details in the PR description.

BucketingInfoExtractor maybe a too flexible concept, we only need a boolean flag to indicate it's a spark native bucketing or hive bucketing, and I'm sure how soon we need to support bucketed table from other systems.

@cloud-fan : Would it be ok to add a field in CatalogTable to indicate if a table is from Hive ? For Hive tables, the hashing function also needs to be different while doing bucketing so having such field will help in that case as well.

We are trying to remove hive dependency in Spark SQL, I'm not sure if we should do this, cc @yhuai

@cloud-fan : Ok. Looks like "add a field in CatalogTable" option won't be viable then. So should I move on with your advice of "boolean flag to indicate it's a spark native bucketing or hive bucketing" OR stick with "BucketingInfoExtractor" ?
cc @yhuai


How to search python function definitions across all installed packages

I want to search for a function name across all installed packages and also in the packages defined by python.autoComplete.extraPaths setting.
Vscode search panel searches only in the current workspace. Whereas in pycharm IDE ctrl + click on a word is able to search across all packages.
Is there a way to search for function definition across all installed packages using vscode IDE?

Moving this issue to discussion as an enhancement request for comments and upvotes.


added toml to the requirements (#4417)

Pull request opened by the merge tool on behalf of #4417

Merged into branches iso5 in e52e1c848e8ab42826d1ad2c30e13f6acb0509d2


Emit a friendly message when the installer type is wrong.

🗣 Description
See https://github.com/felddy/foundryvtt-docker/issues/282 for
details. The short version is that it's a common error when using
FOUNDRY_RELEASE_URL to download the windows installer. Previously
a confusing message was emitted by the unzip command when that
happened. This gives a message that should help beginners understand
their mistake in choosing the wrong installer type.
💭 Motivation and Context
See https://github.com/felddy/foundryvtt-docker/issues/282
🧪 Testing
I haven't run this end-to-end at all yet, I just set up a little sandbox directory
to test the case statement against some sample files.
✅ Checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[ ] These code changes follow project standards.
[ ] All relevant repo and/or project documentation has been updated to reflect
the changes in this PR.
[ ] Tests have been added to cover the changes in this PR.
[ ] All new and existing tests pass.

From the end-to-end tests, it looks like this needs to be nested inside the check to see if the release-file exists, which makes sense.
I'm not sure what to make of that linter error. The subshell is already quoted and the variable is inside that. I feel like that's the idiomatic structure, but I'm not the strongest bashist in the world.
Let me know if you want me to take a pass at refining this, if it's close enough that you'd like to take it over the finish line yourself, or if it's not a contribution you're interested in.

Let me know if you want me to take a pass at refining this, if it's close enough that you'd like to take it over the finish line yourself, or if it's not a contribution you're interested in.

This is looking good, and think this is a great feature to add.  I apologize for not responding earlier, I was weekending...
I think you've got the right idea moving the file check into the download block above.  If you make that change, and approve the suggestion I made,  I'll rerun the tests and we should be good to go.

I apologize for not responding earlier, I was weekending...

Definitely enjoy your time away from the keyboard, I'm certainly not here to apply time pressure to someone providing the public service of maintainership and you should handle things when it's convenient for you. I just wanted you to know I had looked at the tests, document what I was able to learn from them, and clarify that I'd take no further action without directional feedback.

I think you've got the right idea moving the file check into the download block above. If you make that change, and approve the suggestion I made, I'll rerun the tests and we should be good to go.

Done and done. Also merged develop in since this PR had fallen out of date. If the tests pass I think you should be good to merge. Thanks for the work you do on this image. I've worked with a lot of docker images and this is one is exceptionally pleasant to use.

I think you've got the right idea moving the file check into the download block above.

Erm... I didn't read this close enough and had put it in the installer block. Moved it up to the download block as request.
NOW... pending passing tests it should be good to merge.

The build/test jobs failed again. I'm stumped this time, though. The log output is:
 E           Entrypoint | 2022-02-01 22:39:25 | [debug] Timezone set to: US/Eastern
E           Entrypoint | 2022-02-01 22:39:25 | [info] Starting felddy/foundryvtt container v9.249.0
E           Entrypoint | 2022-02-01 22:39:25 | [debug] CONTAINER_VERBOSE set.  Debug logging enabled.
E           Entrypoint | 2022-02-01 22:39:25 | [info] No Foundry Virtual Tabletop installation detected.
E           Entrypoint | 2022-02-01 22:39:25 | [error] Unable to install Foundry Virtual Tabletop!
E           Entrypoint | 2022-02-01 22:39:25 | [error] Either set set FOUNDRY_RELEASE_URL.
E           Entrypoint | 2022-02-01 22:39:25 | [error] Or set FOUNDRY_USERNAME and FOUNDRY_PASSWORD.
E           Entrypoint | 2022-02-01 22:39:25 | [error] Or set CONTAINER_CACHE to a directory containing foundryvtt-9.249.zip

But it's not clear to me how these changes would modify that behavior.

Weird.  I would have expected that to work as well.  I've got your fork in a branch here.  I'll see if I can test it today and figure out what is going on.


Why clearml agent worker ignores PYTHONPATH and  CLEARML_AGENT_EXTRA_PYTHON_PATH?

I try to run remote clearml agent in k8s cluster. I have several python packages which are located in the different paths. This paths are specified in PYTHONPATH, but agent worker can't import this packages.
I also tried to add path to the CLEARML_AGENT_EXTRA_PYTHON_PATH, but again nothing. Can anyone help me and give me some advice?

Hi @gzzv,
How are you passing the PYTHONPATH and the other env var? Can you include logs for this failure?

Hi @jkhenning!

PYTHONPATH is defined in base docker image, CLEARML_AGENT_EXTRA_PYTHON_PATH - in values.yaml file (basePodTemplate.env field).
I've tested my script just in docker container and it works, but doesn't work in clearml agent pod.
Also I've tried to pass command like this: python3 -c 'import example_lib as ex; print(ex)' as agent.extra_docker_shell_script to clearml.clearmlConfig field in values.yaml and again it doesn't work

My values.yaml:
imageCredentials:
  enabled: true
  existingSecret: regcredcloud
clearml:
  existingAgentk8sglueSecret: agentk8sglue
agentk8sglue:
  apiServerUrlReference: "https://example.com/"
  fileServerUrlReference: "https://example.com/"
  webServerUrlReference: "https://example.com/"
  defaultContainerImage: test_image:0.0.1
  queue: Processing
basePodTemplate:
  env:
    - name: CLEARML_AGENT_SKIP_CONTAINER_APT
      value: 'true'
    - name: CLEARML_AGENT_NO_UPDATE
      value: '1'
    - name: CLEARML_AGENT_SKIP_PYTHON_ENV_INSTALL
      value: '1'
  tolerations:
    - key: "nvidia.com/gpu"
      operator: Exists
      effect: "NoSchedule"
  resources:
    limits:
      nvidia.com/gpu: "1"
    requests:
      nvidia.com/gpu: "1"

Logs:
Using environment access key CLEARML_API_ACCESS_KEY=5X487RWJ4KAW3OB8AUS1OLFW062QDV
Using environment secret key CLEARML_API_SECRET_KEY=********
Current configuration (clearml_agent v1.9.2, location: /tmp/.clearml_agent.9_sf_1el.cfg):
----------------------
*****Long clearml-config description******

Executing task id [12572f62ea75456daa3128419a735a4a]:
repository =
branch =
version_num =
tag =
docker_cmd = swr.ru-moscow-1.hc.sbercloud.ru/srobotics-cheburator/cheburator:x<IP_ADDRESS>
entry_point = task_remote_run.py
working_dir = .
Running task id [12572f62ea75456daa3128419a735a4a]:
[.]$ /usr/bin/python3.10 -u /root/.clearml/venvs-builds/code/task_remote_run.py
Summary - installed python packages:
*****Long pip summary******

Environment setup completed successfully
Starting Task Execution:
Traceback (most recent call last):
  File "/root/.clearml/venvs-builds/code/task_remote_run.py", line 19, in <module>
    from cheburator_description.description_parameters import DescriptionParametersNoROS
ModuleNotFoundError: No module named 'cheburator_description'

UPD
These problematic packages are not presented in logs

I would assume that this is because the PYTHONPATH env var is somehow added to bashrc or something that's loaded when you "manually" execute into the container, but for some reason not when the agent command is executed inside that container...


Cache state in localStorage

When we're for some reason reloading page, we lose all state and in the worst case we have to wait 5s for the new state from the server. My idea is to cache state in localStorage and when we're reloading page it will be loaded from cache. If observed node crashes and we're reloading page to reconnect we don't want to display old. cached state so we have to wipe it on WebSocket connection crash.
It's a small change but can be nice quality of life improvement.

I like the idea of improving our UX 👍  The crucial part here is to make sure old data is cleaned up.

If I don't have any browser tabs open, then I restart ./erlangpl script and then again open the browser, the local cache is not cleaned up. The only way to clean it up is to have a tab opened, so that it can discover the WebSocket connection crash. This may be confusing.

We're storing start timestamp in ets and then sending it to client on new connection so client should clean when connection crashes or ./erlangpl was restarted.

I've disabled caching for now: https://github.com/erlanglab/erlangpl/commit/476688bdec5b0dc14d0d970e2e63fb6ce33a0490 so it' no longer blocking release.
This issue is still relevant and definitely needs better solution. Unfortunately I don't have time to focus more on Erlang Perf Lab right now, but I hope I'll find more time in the future to work on parts that needs improvement to make it better software :)


Fail test if story name contains invalid characters

Now, if story name contains character, which is not allowed in filename (e.g. :), test fails after timeout. In this case it would be more much more convenient if test would fail immediately and with corresponding error

Faced the same issue and could not figure out the reason until I went here)
Perhaps I'm kinda blind, but I cannot see any info about forbidden chars in story name. Could you please elaborate on this in docs when you have free time? Thanks for your tremendous work!

Yeah, I haven't described it yet. But, sure, I'll add this in docs.


Panic in wasmtime::component::Component::from_binary with a truncated WASM component file

Test Case
Wasm file: truncated.wasm.zip
Steps to Reproduce
const TRUNCATED_WASM: &[u8] = include_bytes!("truncated.wasm");

async fn test() {
    let mut config = wasmtime::Config::new();
    config.wasm_component_model(true);
    config.async_support(true);

    let engine = wasmtime::Engine::new(&config).unwrap();

    wasmtime::component::Component::from_binary(&engine, TRUNCATED_WASM).await;
}

Expected Results
The Component::from_binary call should return an Err value.
Actual Results
Thread "main" panicked with "range end index 267037 out of range for slice of length 253952" at ~.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmtime-environ-19.0.0/src/component/translate.rs:537:46

   5: core::panicking::panic_fmt
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:72:14
   6: core::slice::index::slice_end_index_len_fail_rt
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/slice/index.rs:76:5
      core::slice::index::slice_end_index_len_fail
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/slice/index.rs:68:9
   7: <core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/slice/index.rs:394:13
      core::slice::index::<impl core::ops::index::Index<I> for [T]>::index
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/slice/index.rs:18:9
      wasmtime_environ::component::translate::Translator::translate_payload
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmtime-environ-19.0.0/src/component/translate.rs:537:46
   8: wasmtime_environ::component::translate::Translator::translate
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmtime-environ-19.0.0/src/component/translate.rs:329:19
   9: wasmtime::compile::build_component_artifacts
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmtime-19.0.0/src/compile.rs:127:9
      wasmtime::runtime::component::component::Component::from_binary
             at /home/luke/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wasmtime-19.0.0/src/runtime/component/component.rs:234:41

Versions and Environment
Wasmtime version or commit: 19.0.0
Operating system: macOS
Architecture: aarch64
Extra Info

We produced this binary by taking a valid wasm component, and then truncating it a certain offset.
We can work around this bug for now by validating the components with wasmparser before attempting to instantiate them.

Thanks!
FWIW, also reproduces with
cargo run -- compile testcase.wasm

Fix in https://github.com/bytecodealliance/wasmtime/pull/8323
@maxbrunsfeld do you want us to cut a point release with this fix?

That'd be great! Thanks @fitzgen.


Site logs me out every minute.

ldjam.com logs me out every minute, no matter what I am doing at the time.
I am using Microsoft Edge Version 93.0.961.47 (Official build) (64-bit), and Windows 10 Home (64-bit).
Only error in Console is:

Also getting logged out constantly on iOS Safari.

I'm looking into this (was #1142), but I'm not yet aware of how to consistently reproduce this.

Okay, I think this is fixed. Please let me know if this has resolved the issue for you.

I haven’t gotten logged out since about the time of your comment, so it seems to be fixed for me. Thanks!


Overwrite kubeconfig endpoint value

Is your feature request related to a problem? Please describe.
My KubeAPI is exposed through a jump box.
Describe the solution you'd like
Overwrite my kubeconfig cluster endpoint from cnd up to avoid modifying the original kubeconfig. With this, I can expose the k8 endpoints via a SSH tunnel, and still run my cnd commands locally.

@pchico83  Do you think this should come from cnd.yml or from a param?
If we go with the manifest approach: Once you do cnd up , should all other calls (exec, run, down) automatically use the same endpoint as before?

It would go with a parameter, stored in our internal state to be used in exec, run, down...
Optionally, it could be in the manifest too, but low priority.

This is not longer a requirement


clarification about steps to be skipped added

#5243

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

@mapalko - PR has been copy edited and is ready for final review based on issue #5243.
Thank you.
cc: @kenwith

Same here. PM/DM follow-up is needed for the final merge operation.

@Dansimp - Please assist to merge this PR as approved by @mapalko.
Thank you.
cc: @kenwith


Ensime overrides default shortcut to reopen closed tabs

By default, Shift-Cmd-T (on Mac at least) is assigned to pane:reopen-closed-item. Ensime reassigns this to ensime:search-public-symbol. It's easy enough to reset this, but plugins shouldn't override common default keyboard shortcuts.

Sure thing! PR pretty please?

@btmcnellis This is fixed in #297 so I'll close this issue :)


feat: footer is changed

Related Issue

fixes: #372
Description
In the footer, Changed and added the description about title and added the social media icons in the footer
Screenshots

Summary by CodeRabbit

New Features

Enhanced the Footer component with new links for Register, Login, Privacy Policy, and Terms & Conditions.
Added Help Center and Contribution Guidelines links to the support section.

Improvements

Updated social icons with accessible attributes and new designs.
Improved layout and styling for better user experience.

On small screens, it is looking kinda message. Please handle it.

closing the PR because contributor has some issues


Add new JSUT pretrained models

Codecov Report

Merging #14 (40cdc86) into master (0e8d30b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #14   +/-   ##
=======================================
  Coverage   54.04%   54.04%
=======================================
  Files           2        2
  Lines         309      309
=======================================
  Hits          167      167
  Misses        142      142

Continue to review full report at Codecov.

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


Added FTP source type to admin lists.

The admin-list system now supports loading the Admins.cfg file via FTP, significantly improving compatibility with game server providers. By setting the admin-list configuration type to ftp and providing an FTP URL as the source, the Admins.cfg file will be downloaded into a buffer and parsed by the rest of the system.
    {
        "type": "ftp",
        "source": "ftp://<user>:<password>@<host>:<port>/<url-path>"
      }

@mbartisan Are we able to provide some documentation in the template folders?

@werewolfboy13 Yeah I can. I also forgot to commit my removal of the debug logs. I'll update the PR in a sec.

Then please run yarn build-all. You will need to have ran yarn install --ignore-engines If it is not installed locally yet.

@werewolfboy13 Latest is pushed. Lmk if there are any other docs that should get updated.

There is, see above. May want to lint as well yarn lint

@werewolfboy13 Updated. The build and linter modified some files that were outside of my changes. They're in separate commits for each if any should get culled.

@mbartisan that is fine. I always do squash and merge.


Version numbering

In my opinion the current version numbering is rather confusing, since there are missing releases (e.g. 6.13.5 -> 6.14.1, missing 6.14.0). Considering http://semver.org/, the PATCH version must reset to zero if the MINOR is increased, and MINOR and PATCH must be reset to zero, if the MAJOR is increased.
What do you think?

I never use 0 in pom version ... and the reason is because when you want to use maven version ranges the x.y.0-SNAPHOT gets included when you don't want it to.
That is for example ...    [2,3) ... includes 3.0-SNAPSHOT which I'd describe as unhelpful.
So yes, I intentionally just have the global rule that I don't use 0 in my maven pom versions.  Yes I know about semver.org and I've been involved in a few of these debates as to how maven works and specifically the maven version ranges and x.y.0-SNAPSHOT.
So I'm happy that 6.14.1 is in fact the first version in the 6.14 range because in general maven version ranges are important to me.

Just to extend that a bit.  I've be using maven version ranges for the past 8 years I think now and version ranges have proven to be a very important technique when modularizing large applications (breaking large applications into smaller modules and driving re-use across an organisation).
So both semantic versioning and maven version ranges are very important to me (because you can't use version ranges in a meaningful way without semantic versioning).  Once you get into the issues with x.y.0-SNAPSHOT ... it becomes a pretty good nice simple rule just to forgo that x.y.0-SNAPSHOT and always start with x.y.1-SNAPSHOT.
So yes, never using the 0 is not a whim for me but instead a simple practical rule with a lot of success behind it. I suggest you'll have to do well to change my mind here.
On the other hand ... I SERIOUSLY suggest you strongly consider dropping those 0-SNAPSHOTs yourself (assuming you are into maven version ranges and modularization of large applications).
Cheers, Rob.
Sorry if that comes across a bit strong but honestly my use and view of maven was significantly changed when I was shown how to use version ranges and semantic versioning to modularise apps (with Spring mostly) and dropping those 0-SNAPSHOTS is in my top 5 maven tips for sure.

I also use maven and semver across multiple projects and never came across the problem that maven included a 3.0 snapshot for a [2,3) range. I even had to explicitly add 3.0.SNAPSHOT to my range to force maven to do so. Are you sure that is the case?
Seems weird to me, especially considering that no other project that i know of uses that approach.

Yes I'm sure.  Have a read of https://issues.apache.org/jira/browse/MNG-3092 ... if you haven't already, yes it's a long discussion there.
Some comments in there are from the guys who I directly learnt my best maven skills/tricks from (Richard Volwes and Michael McCallum).

The last time I confirmed this issue still exists was about 6 months ago .. to re-affirm the rule - never use a version ending in 0 (or just simplify it to never use zeros at all).

I'll close this now.  Re-open if you would like to discuss more or push the issue more etc.

For posterity (people reading this ticket in the future):
Lets say I have 6.16.0-SNAPSHOT installed.
<dependency>
  <groupId>org.avaje.ebeanorm</groupId>
  <artifactId>avaje-ebeanorm</artifactId>
  <version>[6.14,6.15.99999)</version>
</dependency>

mvn dependency:tree
[INFO] org.junk:a-basic-example:jar:1.0.1-SNAPSHOT
[INFO] +- org.avaje.ebeanorm:avaje-ebeanorm:jar:6.15.1:compile
...
... so that is as we expect (that 6.16.0-SNAPSHOT is not included in the range) because of the 6.15.9999 but ...
<dependency>
  <groupId>org.avaje.ebeanorm</groupId>
  <artifactId>avaje-ebeanorm</artifactId>
  <version>[6.14,6.16)</version>
</dependency>

mvn dependency:tree
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ a-basic-example ---
[INFO] org.junk:a-basic-example:jar:1.0.1-SNAPSHOT
[INFO] +- org.avaje.ebeanorm:avaje-ebeanorm:jar:6.16.0-SNAPSHOT:compile
...
so [6.14,6.16) ... actually includes 6.16.0-SNAPSHOT and that is what people generally do not expect and this is the issue we want to avoid and hence the "never use 0-SNAPSHOT" rule.

Comments from Mark Derricutt:
Your comments all sound...sound. On a slight aside, you'll ONLY resolve the .0-SNAPSHOT if it's installed locally, since by default Maven won't resolve snapshots (unless you've also declared a snapshots repository).
The same can be said for non snapshots as well, if you're using a -alpha -beta -cr and finally a -ga suffix the range will still resolve to something you don't necessarily want, or expect.
So 2 good points from Mark.

You tend to avoid this issue on build servers when on snapshots are included (but hit it locally)
You can also hit this issue with the -alpha, -beta, -cr style suffixes (e.g. a 3.0-CR version can similarly resolve in a [2,3) range.

Comments from Michael McCallum
Statements are accurate. Personally I only use 2 point versions as the extra point makes for ambiguity, IMO you broke it or you didn't.
A good point from Michael - often easiest to just have 2 point versions.


feat(head): tool detection

A class to help keep track of tools attached to head.
Will test on hw before final merge.

moved on to https://github.com/Opentrons/opentrons/pull/9641


destroy dependent account objects

themings and folders must not be orphaned, because they will break the UI in some ways.
I don't know if you like this spec style, I can do it differently, but this is what I usually do.

@tf your input is appreciated ... the test fails likely because i added a default theming name. however it's a required field and without a valid theming name default my new feature won't pass test either. It seems to me that default is a fine name for the default theming, especially since it validates against the array set in Pageflow config. Help?

The failing test submits an account form without theme_name as an example of invalid attributes. The default value turns that into a valid request.
I checked out your branch and your added tests also passed without this line since the default theming created in the account factory already has a theme name or am I missing something?
There is one bigger issue which I just came to realize: Admins can change entries to use a theming that is associated with a different account. While it has been handy in the past to test new themes without moving entries between accounts, it is something we have to be aware of now when we are deleting themings.
For accounts we prevent deletion as long as entries or users are associated. We could do something similar for themings. That would probably require some hints in the UI.
All other solutions I can think of seem counter intuitive to me:

Move the used theming to another account?
Reset the entry's themings to the account's default theme?
?

The optimal solution from my point of view would be to display a disabled delete button with some sort of tooltip explaining why the account cannot be removed yet, instead of simply hiding the button the way we do at the moment. What do you think?
Sorry for turning this into a much bigger thing. I'll be happy to help once we've settled on a solution.
Two more minor nitpicks:

Should we use dependent: :delete_all for the folders? There could potentially be many and they are so simple that it might not be worth deleting each in a separate query.
change(Pageflow::Theming, :count) could be change(Theming, :count) (or maybe even change { Theming.count } - but that's just a matter of taste) since we already are in the Pageflow modules.

On second thought, maybe all of this makes things too complicated.
The main use case for changing an entry's theming instead of its account has been to change its theme while still giving the same group of users access. This will become much easier when I start working on allowing users to be members of multiple accounts next week. So as long as there is no real support for multiple themings per account, we should probably simply remove the theming drop down from the entry form.
So for the sake of this PR, we can simply assume that there are no more entries using an account's themings once the account is deleted. That way there will only be errors if you configured entries in special way instead of every time you delete an account.
Sorry for the wall of text.

Should we use dependent: :delete_all for the folders?

I feel safer with :destroy since that will fire callbacks.

change(Pageflow::Theming, :count) could be change(Theming, :count)

Updated!
With regards to the rest of your comment, I agree it should be done in principle but if you're already planning on working this in the short term, I suppose it's a lot of work for not a lot of gain. And then keeping the scope of this PR small makes me happier; especially since it will plug a known usability issue.
PR updated.

Agreed! Please squash the commits and we're good to merge.

Could you take a second look at the commit message. It still talks about default theme naming etc...

@tf all done

:+1:


Compat dialog shows previously cancelled error

To replicate:

Show dialog, but hit cancel.
Show dialog again (on a device that needs compat, like API27 emulator), will see the cancelled error from the previous invocation.

Here's a video that demonstrates what we see:

Creation code looks like:
val prompt = BiometricPromptCompat.Builder(context)
                .setTitle(context.getString(R.string.biometrics_enroll_title))
                .setDescription(context.getString(R.string.biometrics_enroll_subtitle))
                .setNegativeButton(context.getString(R.string.biometrics_cancel)) { dialogInterface, _ ->
                    dialogInterface?.let {
                        dialogInterface.cancel()
                        dialogInterface.dismiss()
                    }
                    emitter.onError(DomainException(DomainError.BIOMETRICS_CANCELLED_BY_USER))
                }
                .build()

Maybe it's my negative button handling there, which calls cancel and then dismiss?

Maybe I need to write some code to clear the status (of FingerprintManager) each BiometricPrompt's beginning.


fix: remove chsh from the images

Fixes #598
Thank you for contributing to the Universal Blue project!
Please read the Contributor's Guide before submitting a pull request.

Need to make sure none of the ujust scripts are still using chsh

https://github.com/ublue-os/config/pull/306

Derp, chsh is part of utils-linux, it'd need to be split out upstream, config PR should still be merged though.


Fix logrotate source URL

High Level Description
DC/OS currently can't be build as fedorahosted was retired three days ago.
See https://fedoraproject.org/wiki/Infrastructure/Fedorahosted-retirement

@lloesche Do we still care about this? Is there an associated JIRA? (Please fill out the PR template)
If so, please rebase and @mention some reviewers ( @lingmann ?)
If not, please close it out.

@adam-mesos Nope this was fixed in 1ea48912dc798f3e37615332aaf25f2d47431be6
Closing.


Index/List page implementations needed

Old:
http://localhost:3000/
http://localhost:3000/tags/
http://localhost:3000/projects/
http://localhost:3000/about/

Best thing here is to allow an index.md (index.) page that user can create - that way the site only has to provide "data" functions (and view functiosn if needed) and off we go.   see the index page on epi etc.
some functions could be:
.AllPosts:

Return all posts in our side ordered by created date (this could be Page objects that are loaded by front matter content

.AllPostsInDir(dirname):

Same as AllPosts - but filtered to a certain dir

.AllAuthors:

Return a json for all authors in the site (could also be "json Authors.json ''")

.Tags

Return all tags in the site followed by count

Note that this is generalizing this to data needed by our site!!
Infact anything json data in a data folder can be returned a "json FileName.json field_path" - our site can do things like optimize for loads etc

Done - simple - put it in the .html itself as a data function


Prepare

@ikeydoherty started hacking up some code to make our documentation, deployment and ansible scripting easier.  The idea is that our components' binaries articulate their system dependencies, instead of the documentation and scripting.  Then at runtime the osprepare package's helper code detects the running OS and automatically installs the dependencies if they're not present.  This PR includes the ciao osprepare package, some cleanup to make our CI happy, and initial usage in controller, launcher and scheduler.
Still to do is adding plumbing to check that a particular version is present (eg: docker >= 1.12).  Also I wonder if we need to condition the call to osprepare.InstallDeps() in launcher to allow a network node to check for and install additional dependencies and am hoping @markdryan and @mcastelino can offer guidance there.

Coverage decreased (-0.06%) to 65.538% when pulling 21d79b2afcc7536d8e8e657dd643c03ad3231750 on tpepper:prepare into<PHONE_NUMBER>b4627eb72e994f2038cbee8bafa2a8 on 01org:master.

I don't think the NN needs any dependencies that are not needed for the CN.  What it doesn't need though is docker, at least I don't think it does.  @mcastelino  can you confirm.  I wonder if there is some way we can tell os.prepare not to check for docker in some cases.

@tpepper @markdryan The NN does as far as I remember and no special setup; and it does not need docker.

I'm thinking we'd do something like:
if role.IsNetAgent() {
osprepare.InstallDeps(launcherNetNodeDeps)
} else {
osprepare.InstallDeps(launcherComputeNodeDeps)
}
And declare two deps list variables instead of the current one, with the NN having no docker in the list, and perhaps adding some useful NN specific netmgmty stuff if needed over time.

Coverage decreased (-0.02%) to 66.404% when pulling 69f6c08eac0e7df1982abd9f59e498450cecc04d on tpepper:prepare into 2286c30d3c6afb6b97a02328fa44617c51806fbe on 01org:master.

@ikeydoherty and I think this is merge ready.  A next step would be to remove docker from the .travis.yml and see that osprepare gets it for us, but I'm not quite following the .travis.yml internals and could use @markdryan and @mcastelino help on this front.

Coverage decreased (-0.07%) to 66.354% when pulling 74daf7e29e40ec821db3b66aa1683d7ff1eab5e7 on tpepper:prepare into 2286c30d3c6afb6b97a02328fa44617c51806fbe on 01org:master.

Coverage decreased (-0.05%) to 66.367% when pulling 5787956fde4555cc1d7b8e4575be2eff1866e0c8 on tpepper:prepare into 2286c30d3c6afb6b97a02328fa44617c51806fbe on 01org:master.

As requested by @kaccardi:
To be clear osprepare is still WIP and doesn't cover all needs yet.  In particular there's work to do related to issue #462 and #388 and changes we'll need to make if logs come to be on /var/lib/ciao/logs across the cluster (ie: can't start logging until ceph's mounted which is after ceph is installed if need and the server has been contacted for the ceph server config endpoint info).

Coverage decreased (-0.07%) to 66.354% when pulling 55fdb34ba935e9898c934c353832c52b834f5772 on tpepper:prepare into 2286c30d3c6afb6b97a02328fa44617c51806fbe on 01org:master.


Server Issue: Need to find character storage files.

I have an error with updating my server, steam was being a 'bully' and it was not correctly updating my server.. I fixed all that the hard way, but now I want to bring my player and character data and put it back into my servers files.. I have a backup saved from the old server that has the characters and players ON it... Where are the character-player storage files at in the server directory?

The Character data is stored either on a MYSQL server if you added any MYSQL information to your clockwork.cfg or if you left it blank it would be in sv.db


Introduce Node interface for isChildNode function

Bug
The isChildNode() function checks against the native DOM Node interface, however this interface is not available in the Node.js environment.
ReferenceError: Node is not defined

Steps to reproduce
Error above can be reproduced by using the node-script.js in examples/ and passing in the following htmlString:

test

Fix
Instantiate new JSDOM window and pull out the Node interface for use on line 330.

Good catch!
However we need to import jsdom only on server environments and not in browser context, like handle here for the html parsing:
https://github.com/GraphCMS/rich-text/blob/main/packages/html-to-slate-ast/src/index.ts#L392
Will look into how we can solve this.

Alright I opened #37 with a fix proposition, @igneosaur can you check if it solves things for you?

Oh excellent, yes, that's done the job. Will close this one.


[FIX-FRONTEND] the send request button is not looking in mobile view

Description:
In the "Friends" section, the Send Request button is too large and unresponsive on mobile view. It negatively impacts the user experience, as the button does not scale well with smaller screens. I propose replacing the button's text with an icon to improve responsiveness and maintain a clean UI.
Acceptance Criteria:

Replace the Send Request button text with an "Add Friend" icon, ideally imported from Lucide React or Tabler Icons.
The button should be fully responsive and fit seamlessly within the mobile layout without cutting off or misaligning.
Ensure consistent styling with the rest of the application components.

Steps to Reproduce:

Navigate to the "Friends" section on a mobile device.
Search for a user and observe the Send Request button's appearance.
Notice that the button is oversized and not responsive.

Proposed Solution:

Replace the current button text with a simple "Add Friend" icon from either Lucide React or Tabler Icons.
Adjust button dimensions to ensure it fits within mobile views without overflowing or looking out of place.
Ensure that the button remains accessible (i.e., aria-label and appropriate hover/focus states).

Files Involved:

Friends page or any file handling the button design in the Friends UI.

Difficulty:
Beginner
Please refer to the README and CONTRIBUTING guides for more context.

I want to work on this assign this issue to me.

sure go ahead , if you face any issue let us know .

Since there hasn't been any update on this work, I would like to work on it , Please Assign it to me.... I will finish this quickly
@AshuKr22

Since there hasn't been any update on this work, I would like to work on it , Please Assign it to me.... I will finish this quickly
@AshuKr22

I think there are not any updates because some people are facing issues in setting up the repo , do let us know if you face the same . We are working on it but the solution is working on some systems not others.


Adding non-generic support

I plan to have several entities that implement common interfaces. For example, I might have an interface that includes an Inactive flag. For ease of maintenance, I want to automatically identify entities that implement these interfaces and add triggers to them. The problem I came up against is that the types returned by methods like IMutableModel.GetEntityTypes() are not generic. And pretty much everything in Laraue.EfCoreTriggers.Common operates on generics.
So I forked the lib and started digging. I think it would be pretty simple to add support for non-generics like EntityTypeBuilder and IMutableEntityType. The only fundamental problem is that Trigger<T> assumes the trigger type (the type that actions operate on) and the entity type are one and the same. I made a few simple changes to allow the types to be distinguished while maintaining backward compatibility. The Trigger constructor takes a parameter identifying the entity type. If it's null, it falls back to the generic type. This small change was all I needed for this proof of concept (Action and Throw are extension methods in my project):
var types = builder.Model.GetEntityTypes().Where(t => t.ClrType.IsAssignableTo(typeof(RowVersionedEntity)));
foreach (var type in types)
{
	var trigger = new OnUpdateTrigger<RowVersionedEntity>(TriggerTime.After, type.ClrType);
	trigger.Action(actions => actions.Throw(50000, "You foolian!"));
	type.AddAnnotation(trigger.Name, trigger);
}

Other classes in Common could have methods or constructors to expose this. What do you think?
https://github.com/kjkrum/Laraue.EfCoreTriggers/tree/non-generic-support

Hi, I think it will be a good solution for support such cases

Adding a parameter with a default preserves source compatibility. But if you care about binary compatibility, I think I need to change it to an overloaded constructor with the new parameter.
https://docs.microsoft.com/en-us/dotnet/core/compatibility/

All nugets will be released in the same time, so I don't think that binary compatibility is necessary

I realized I can do the same thing without modifying the library if I configure the trigger and wrap it in this:
public class TriggerHacks<T> : ITrigger where T : class
{
	private readonly Trigger<T> _trigger;

	public TriggerHacks(Trigger<T> trigger)
	{
		_trigger = trigger;
	}

	public List<ITriggerAction> Actions => _trigger.Actions;
	public List<ITriggerAction> Conditions => _trigger.Conditions;
	public TriggerEvent TriggerEvent => _trigger.TriggerEvent;
	public TriggerTime TriggerTime => _trigger.TriggerTime;
	public Type TriggerEntityType => _entityTypeOverride ?? _trigger.TriggerEntityType;
	public string Name => _nameOverride ?? _trigger.Name;

	private Type? _entityTypeOverride;
	public Type? EntityTypeOverride
	{
		get => _entityTypeOverride;
		set
		{
			if(value != null && !value.IsAssignableTo(typeof(T)))
			{
				throw new ArgumentException($"Type must be assignable to {typeof(T).FullName}.");
			}
			_entityTypeOverride = value;
		}
	}

	private string? _nameOverride;
	public string? NameOverride
	{
		get => _nameOverride;
		set
		{
			if(value != null && !value.StartsWith(Constants.AnnotationKey))
			{
				throw new ArgumentException($"Name must start with {typeof(Constants).FullName}.{nameof(Constants.AnnotationKey)} (\"{Constants.AnnotationKey}\").");
			}
			_nameOverride = value;
		}
	}

I'm using it like this:
public static ModelBuilder FreezeInactiveRows(this ModelBuilder builder)
{
	var types = builder.Model.GetEntityTypes().Where(t => t.ClrType.IsAssignableTo(typeof(IInactivatable)));
	foreach (var type in types)
	{
		var trigger = new OnUpdateTrigger<IInactivatable>(TriggerTime.After);
		trigger.Action(action => action
		.Condition((before, after) => before.Inactive && after.Inactive)
		.Throw(CustomErrorNumbers.RowInactive, $"Cannot update inactive {type.ClrType.Name}."));
		var hacks = trigger.Hacks();
		hacks.EntityTypeOverride = type.ClrType;
		hacks.NameOverride = $"{Constants.AnnotationKey}_{type.GetTableName()!.ToUpperInvariant()}_FREEZE_INACTIVE";
		type.AddAnnotation(hacks.Name, hacks);
	}
	return builder;
}

Hi @kjkrum, I tried to use your TriggerHacks implementation as we are in the same situation where we want to have the triggers automatically implemeted if they implement a specific interface. But I'm getting an error when adding migrations, saying that the DbSet with my interface needs to be in the DbContext. How did you avoid that?

I investigated ways to add additional parameters with the real CLR type in triggers and came to the conclusion that is too hard. All expressions that pass to triggers should replace their type from the generic to the passed. Different triggers use different numbers of generics and it also should be supported.
So I tried to write code that will allow to register non-generic triggers. I think it should be acceptable in such cases.
The full example is here https://github.com/win7user10/Laraue.EfCoreTriggers/blob/dde4f7d6ac764a48f05c9ed523e4fd02eed1d7e3/tests/Laraue.EfCoreTriggers.Tests/Tests/WorkaroundTests.cs#L60
In the code of the question, it will looks like
var types = builder.Model.GetEntityTypes().Where(t => t.ClrType.IsAssignableTo(typeof(RowVersionedEntity)));
foreach (var type in types)
{
    var triggerType = typeof(OnUpdateTrigger<>).MakeGenericType(type.ClrType);
    var trigger = (ITrigger) Activator.CreateInstance(triggerType, TriggerTime.After)!;

    AddTriggerAction((dynamic) trigger);

    type.AddAnnotation(trigger.Name, trigger);
}

void AddTriggerAction<T>(OnUpdateTrigger<T> trigger) where T : RowVersionedEntity
{
    trigger.Action(actions => actions.Throw(50000, "You foolian!"));
}

@KasperKimose Sorry I missed your question. Make sure the trigger is of the interface type, but the DbSet is of the concrete type that implements it.


Taint tracking of network delivered data

This is resolved.
We have added taint checking support for SQL client connector, file API, IO API, HTTP and other network related connectors. Security sensitive areas of same APIs and additionally security sensitive areas of stdlib has been marked with @ sensitive annotation to make sure un-trusted data is not   accepted in such areas without proper validation / sensitization.
Relevant PRs are as follows:
#4928  #5029 #5227 #5243 #5246 #5712 #5727 #5757 #5846 #5874 #6080 #6178 #6483 #6613 #6617 #6682 #6741 #6794 #6913 #7013 #7148 #7253
Ballerina by example is available at:
https://github.com/ballerina-platform/ballerina-examples/tree/master/examples/taint-checking
@uthaiyashankar @sameera-jayasoma: Kindly mark this issue resolved.

Implemented


feat: bump Firebase Android SDK version to 29.0.0

Description
Will have to merge this first: https://github.com/FirebaseExtended/flutterfire/pull/7300
Update minSdk to 19 in build gradle on four different example apps. Android has breaking changes which mean a number of packages are not compatible with android 4.4.0 or anything below API level 19 (KitKat). see here.
Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[x] Yes, this is a breaking change.
[ ] No, this is not a breaking change.

Small note that once the min sdk 19 changes are moved off into another PR this PR itself is no longer a breaking change

I think this should have been a 2.0.0 release instead of 1.1.0. This is breaking the builds for anyone on 1.x.x and having minSdk as 16.

@aliasgarlabs It was done as a breaking change version in https://github.com/FirebaseExtended/flutterfire/commit/da458e25326e6a18f3359eb6e4e9cd2f67d4dc78 and released as breaking for the affected packages; https://github.com/FirebaseExtended/flutterfire/blob/master/CHANGELOG.md#2021-11-04
Is something missing?


Recognise degenerate GUI colors

if for whatever reasons GUI colors become degenerate, i.e. identical to the bedcolor, then the colorschme will be reset to default

Paiin's use case is that his old Raspberry pi hasn't been updated in ages, and he used it during those few cases where it would have been weird. This seems like it flags valid color settings and undoes the entire theme.

Okay I'll rework it just to reset to invalidate the degenerate colors not the full theme


Исправление исключения при получении свойств и методов из определения…

… жёлудя в многопоточной среде

@coderabbitai review

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 88.836%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
1122

Relevant Lines:
1263

💛  - Coveralls


Test failure: TestValidWriteOperationsPost

This test fails occasionally with the following error:
System.AggregateException : One or more errors occurred. (One or more errors occurred. (dotnet publish exited with exit code : 1)) (The following constructor parameters did not have matching fixture data: IISTestSiteFixture fixture)
---- System.AggregateException : One or more errors occurred. (dotnet publish exited with exit code : 1)
-------- System.Exception : dotnet publish exited with exit code : 1
---- The following constructor parameters did not have matching fixture data: IISTestSiteFixture fixture
----- Inner Stack Trace #1 (System.AggregateException) -----
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests.IISTestSiteFixture..ctor() in /_/test/Common.FunctionalTests/Utilities/IISTestSiteFixture.cs:line 37
----- Inner Stack Trace -----
   at Microsoft.AspNetCore.Server.IntegrationTesting.ApplicationPublisher.Publish(DeploymentParameters deploymentParameters, ILogger logger)
   at Microsoft.AspNetCore.Server.IntegrationTesting.ApplicationDeployer.DotnetPublish(String publishRoot)
   at Microsoft.AspNetCore.Server.IntegrationTesting.IIS.IISExpressDeployer.DeployAsync() in /_/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISExpressDeployer.cs:line 60
----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) -----

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
This test failed on 2.2.
CC @muratg
This issue was made automatically. If there is a problem contact ryanbrandenburg.

Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

Is there any logging or extra information that we could add to make this more diagnosable when it happens again?

Yes?

[ ] Add the logging (TODO: Link to PR/commit)

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

This comment was made automatically. If there is a problem contact ryanbrandenburg.

CustomErrorCodeWorks failed with about the same error on 2.2.
This comment was made automatically. If there is a problem contact ryanbrandenburg.

GetExistingEnvironmentVariable failed with about the same error on 2.2.
This comment was made automatically. If there is a problem contact ryanbrandenburg.

CustomErrorCodeWorks failed with about the same error on master.
This comment was made automatically. If there is a problem contact ryanbrandenburg.

TestInvalidWriteOperations failed with about the same error on 2.2.
This comment was made automatically. If there is a problem contact ryanbrandenburg.

TestInvalidWriteOperations failed with about the same error on 2.2.
This comment was made automatically. If there is a problem contact ryanbrandenburg.


⚠ Bofrost.lu has degraded performance

In 483e7cd, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1896 ms

Resolved: Bofrost.lu performance has improved in 67b461f.


#31: implement find_with_closure

This commit also fixes a clippy error in my IDE, but I could push the fix separately.

Codecov Report

Merging #35 (2e9a0c7) into master (f864d17) will decrease coverage by 1.45%.
The diff coverage is 39.74%.

@@            Coverage Diff             @@
##           master      #35      +/-   ##
==========================================
- Coverage   63.39%   61.94%   -1.46%
==========================================
  Files          16       16
  Lines        1661     1721      +60
==========================================
+ Hits         1053     1066      +13
- Misses        608      655      +47

Impacted Files
Coverage Δ

src/ops.rs
73.26% <39.74%> (-13.58%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@UARTman no tests? it's important to have a unit tests, on top of the Rustdoc you already have: they are easier to run from IDE and they are more canonical approach to test.

Which cases should I implement besides the one I already wrote in a doctest?

@UARTman it could be something similar to the snippet in the doctest block

@UARTman when you post a message addressed to me, please mention my GitHub nickname (like I'm doing in this message). without this, I simply don't see your messages.

@UARTman ready? (when your PR is ready for another round of code review, ping the reviewer; otherwise, they won't know that you are ready and PR will stay unattended)

@yegor256 Yes, I think I'm ready. Writing the tests helped me understand the planned behavior of find and fix a big logic error in my code.
Also, I improved the Sodg::split_a() - there is no need for Strings to go in where &str is enough, which reduces on cloning. There's another couple of improvements I might make to it later, such as using the iterator directly instead of collecting it into a vector.

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 15min)


PR: Show progress

Fixes: #40

Screnshot please :-)

It creates an empty tab, that's closed if the render fails and show a progress bar that's hidden when the render finish successfully

I think this is ready, merging :-)


Release kv/internal

Issue for releasing keyvault internal module with shared code.

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run prepare-pipelines

/azp run prepare-pipelines


Images loading random. How can i loading order?

Images can not be installed in order, random loading. What can I do I want you to look in order?

I have the same issue, would be interested in a solution

me too.. this is annoying.. anyone know how to fix this? please..

today i have face same problem, but i solve it by just replacing Hashmap with LinkedHashmap.
LinkedHashMap<String, String> file_path = new LinkedHashMap<>();

Thanks @faizan321 its work perfectly

Thanks @faizan321 ... it helps me

Thanks @faizan321


Live Mending + tombstone soulbound not compatible

idk if this is intended or not but live mending and the soulbound enchant from corail tombstone mod it not compatible
Apotheosis-1.12.2-1.9.2
tombstone-3.3.4-1.12

wat

Corail tombstone https://minecraft.curseforge.com/projects/corail-tombstone?gameCategorySlug=mc-mods&projectID=243707 adds a soulbound enchant which seems to be incompatible with the live mending enchant from apotheosis. i cant put both enchants on the same item. since i dont see why this would be the case i am posting this as an issue cause i dont know if this is intended or not.

Corail tombstone is not open source, so I don't care about compatibility with it.
Nothing from my end could prevent the two from being applied together (life mending doesn't have a custom isCompatibleWith function), so it's likely their fault anyway.


Improve for loop's efficiency

The main goal of this PR is to reduce gas by minimizing the validation of the for loop conditional. Further details on Issue #29

This helps with clarity, nice work.

Updated the code to match the new updates @skyn3t2030 . Also added a few more nudges on gas efficiency by replacing <variable>++ with ++<variable>


Add - Python runtime support for pip packages in deployment

I guess I was under the impression that apex was a more generic tool and not only to be used to deploy go aws lambdas since there was support for node anf python.  But if I have to install manually the dependancies in the proper location then I can use many other tools to deploy to AWS.   The greatest apex selling point for me was the ability to not worry about dependancies, just update them in a file and apex could take care of the deployment correctly for me.  I can delete this PR is you want...

In general we're just make deploys and managing api gateway (soon) quick and easy. In the case of runtimes that AWS doesn't support we have to get a bit more opinionated, but since they support node/python I don't think we should get too fancy there unless it's something that applies to every single person using the runtime.
The next release will be tomorrow which adds hooks, so then you'll be able to do this on deploy with a single hook in project.json. I can't speak for the python tooling but like I mentioned with node/npm this would be a really slow thing to add as a default, since you typically only npm install if you've made changes to your deps.
cheers

I have not played with the node deps but I can tell you that where you are suppsed to install the python deps the way AWS wants them you do not normally code or install that way so it is very much part of the deployment and not any part of dev so the install might need to happen each deploy.  Yes I agree it would slow it down but it would also reduce the deployment complexity by a lot - I will see your new version and maybe go from there.
Cheers!


Question: RserveCLI - Passing in R functions from C# to R

Hi Suraj,
I am trying to use your code it in an attempt to send functions to the R console within my virtual server. I can do simple and basic arithmetic as well call 1 or 2 of the built in functions i.e. getwd().
I want to try and create an R functions like "add2Nums <- function(x,y) {x+y}" from the c# side to run within R.
I was wondering if you have any kind of tutorial for a newbs like my self in how to go and use this RserveCLI code better
Thanks

Hi, Could you please tell me how you're evaluating functions. I'm trying to read complex functions from a file which has comments and stuff. It's failing, on top of it I am not able to get exact R error using RConnection. Your help is highly appreciated.