Understanding the need for Control Flow components

Hi, I've read through https://github.com/ryansolid/solid/blob/master/documentation/rendering.md and understand that using map isn't optimized, and we should use <For>, but I don't really understand why.  Could you elaborate on what happens when we use one vs the other?
Similarly, with using a ternary operator vs <Show>, or switch vs <Switch> - what's going to happen to my app if I don't use the Control Flow components?

Ok I think it's easiest to demonstrate by imagining a psuedo code version of what is happening.
So as you know. No Virtual DOM. So when you see
 it's more or less document.createElement("div")
So picture what happens when we use map:
// simple list of divs with text
<>{
  list().map(text=>
{text}

}</>

// compiles roughly to:
createEffect(() => {
  // reference trackable data so it re-runs on update
  const items = list();
  const rendered = items.map(item => {
    const el = document.createElement("div");
  });
  // assume we check what's there and move and update and remove nodes
  diffAndPatch(parentEl.childNodes, rendered);
})

There is a huge problem with this approach if the list ever updates. Every time list changes even for the same item we have different DOM nodes. Even if we explicitly key them so we know that we can skip them or use the version already rendered you are creating those DOM elements. Ie. If you have 1000 items in a list and you swap 2, you are recreating all 1000 items even though you need to recreate 0 of them.
By the time any diffing can occur you've already paid the cost since you've mapped over every item again. The only thing we can do here is not recreate the DOM nodes we don't need to. We do that by having a special helper function that keeps the previous input value along with the previous mapped value and if it finds the new input in the old input it passes through the old mapped value instead of creating it again. And then when we get to the diffing stage it can recognize we are dealing with the exact same DOM nodes and everything can be optimized. Solid has a mapArray method to do this but I offer the <For /> component for convenience and consistency. It has some other small benefits when used in the view and I've made these control flows Suspense aware by default to reduce complexity for end users.
Conditionals are sort of similar. They have a slightly different problem in that you want to isolate the condition from the effect resolution. If you have a condition like count() > 5 a reactive library has no choice but to re-evaluate every time count changes. However your condition doesn't care when it changes unless the boolean switches from false to true or vice versa. Picture:
const [count, setCount] = createSignal(0);
setInterval(() => setCount(count() + 1, 1000)

{ count() > 5 && <MyComp /> }

Without intervention every time count incremented past 5 and it re-evaluated it would be re-creating MyComp. We do not want this since our component contains real DOM node creation and probably reactive effects. This is costly. Instead we want to hoist out the condition and have it more less look like visible() && <MyComp />. Special helper here also comes to the rescue.
Luckily ternary and boolean logic is part of the language (unlike map which is an arbitrary function call) so I can statically analyze the grammar in bindings to automatically do this hoisting. But keep in mind it is only something I can do in the JSX where I can analyze the grammar. If you move the logic out to a function I can't see it. So you are safe doing Boolean conditionals and Ternaries in your view code. <Show /> and <Switch /> have the advantage of being Suspense aware so I recommend them for Component insertion logic (especially around major mounting point like routing). If you are just toggling some text or whatnot use a ternary or if the condition never updates etc.. They are fine in most places anyway.
But honestly give the helpers a try. Not having to escape into expressions I find makes the code look less noisy.
Note
By Suspense Aware I mean that when Suspense is in a suspended state these decision points will stay showing the previous content rather than immediately flipping. Remembering that Solid is granular and updates happen at any level of the hierarchy independently Suspense mechanism needs to work like this to save massive work of re-rendering everything all the time.

Thank you Ryan, that was exactly the explanation I was looking for!

especially around major mounting point like routing

I trying to change my code about router here https://github.com/aleksanderd/solid-router-sandbox/commit/f8e3636b3a369820d15294e53eb83ac61cde2fb2
I tried For with ternary inside, but it is not reactive (may be cos conditional render itself: route.component vs route.children). Currently this variant work ok(now it not recreating parents on subroutes changes):
<Switch fallback={props.fallback}>
        {getRoutes().map((route, idx) => (
          <Match when={idx === getRouteIdx()}>
            {route.component ? <route.component /> : route.children}
          </Match>
        ))}
</Switch>

but I not sure about native map and conditional {route.component ? <route.component /> : route.children}.
also, may be there is a way to "cache" created sub-switches at lost its active state?
thank you!

Yeah thanks for the reminder to update docs. CallbackFn for control are all sampled (non-tracked). I do this for 3 reasons. It reduces creating reactive primitives unnecessarily which can improve performance.  It is useful as a static place to do certain resolutions where you do not want reactivity, it's always easy to add reactivity back. It's consistent with other callbacks being not reactive like event handlers. The thing is a callback function is called by the owner and is up to their discretion how to handle it.
To your example. Unless getRoutes dynamically changes native map is fine. Do you see this list dynamically changing? Caching is possible but keep in mind if it is connected to the reactive system is live so to speak (even if off screen). That can be really cool and beneficial but I cannot see that ever be the default behavior. There are a few ways to achieve this. Once would simply be to create a wrapper (perhaps Component) that just per route stores the rendered result on first time rendered in a hoisted context (something outside of the component itself.. you can picture using like a factory function to create the component that returns the component to be instantiated but references the cache over a closure. Since there is granularity here as long as we are fine sending the original props down (we should be as they too are reactive and wrapped, and in so independently updated) this could work.
But as I said I think it's playing with fire a bit. I think the end consumer could choose to do it themselves if they choose simply by making that the component. Example of what I'm talking about:
function cache(Comp) {
  let instance;
  return (props) => instance || (instance = <Comp {...props} />);
}

// use by creating component in a hoisted context..
const Comp1 = cache(MyComp),
  Comp2 = cache(OtherComp),

// down in the view
<>{ cond() ? <Comp1 someProp={state.something /> : <Comp2 anotherProp={state.other} /> }</>

No matter how many times you switch back and forth you get the same instance of Comp1 and Comp2. But as you see the end user could do that regardless of the routing solution.

thank you!
in my example, getRoutes - is memo with deps on props.children & props.routes, and getRouteIdx is signal with current route index(in getRoutes result).

@aleksanderd Hmm if getRoutes is dynamic you want to be using For or it's underlying method (mapArray) otherwise adding routes will cause re-evaluates of the whole list. I mean Matches aren't real DOM nodes so it isn't completely expensive but I imagine it could cascade into something not good. However looking you already use mapArray in getRoutes I wonder if there is a simpler way to combine these without chaining mapArray into mapArray etc.. I've seen a few approaches now towards routing. Maybe it deserves some high level conversation in the other thread.

@ryansolid thanks!

if getRoutes is dynamic you want to be using For or it's underlying method (mapArray)

I tried the both:
// `route.render` is
//   `() => route.component ? <route.component /> : route.children`)
<Switch fallback={props.fallback}>
  <For each={getRoutes()}>
    {(route, idx) => (
      <Match when={idx() === getRouteIdx()}>{route.render()}</Match>
    )}
  </For>
</Switch>

and:
<Switch fallback={props.fallback}>
  {mapArray(getRoutes, (route, idx) => (
    <Match when={idx() === getRouteIdx()}>{route.render()}</Match>
  ))}
</Switch>

but they both not work: always fallback.

I tried to reproduce it outside of router context (click for code)
import {
  Component,
  For,
  Switch,
  Match,
  createSignal,
  mapArray,
} from 'solid-js';

export const RenderArrays: Component = () => {
  const arr = ['111', '222', '333'];
  const [getIdx, setIdx] = createSignal(0);

  setInterval(() => {
    let idx = getIdx() + 1;
    setIdx(idx >= arr.length ? 0 : idx);
  }, 777);

  return (

native map in Switch:

      {/* work ok */}
      <Switch>
        {arr.map((item, idx) => (
          <Match when={getIdx() === idx}>{item}</Match>
        ))}
      </Switch>

For in Switch:

      {/* always fallback */}
      <Switch fallback="Switch fallback">
        <For each={arr}>
          {(item, idx) => <Match when={getIdx() === idx()}>{item}</Match>}
        </For>
      </Switch>

mapArray in Switch:

      {/* always fallback */}
      <Switch fallback="Switch fallback">
        {mapArray(
          () => arr,
          (item, idx) => (
            <Match when={getIdx() === idx()}>{item}</Match>
          ),
        )}
      </Switch>

ternary in For:

      {/* always initial(first) */}
      <For each={arr} fallback="For fallback">
        {(item, idx) => getIdx() === idx() && item}
      </For>

  );
};

only native map variant is works ok (
Is this code correct? No miss-understanding?

I missed your original goal was to put it in a Switch. I've never tried using For inside a Switch... I suspect For or mapArray own memoization gets in the way. Switch expects Matches to be immediate children and while map does that anything reactive would not as there would be a function in between. It was simplistic. I never considered dynamic children. Which is arguably a mistake. It's possible Switch in general is too complicated to be a built in. I figured people would just loosen match criteria rather than dynamically generate.
Honestly I suspect this scenario could forgo using this prebuilt stuff here and just write what makes sense working backwards from the desired API. The control flow in Solid are just examples of what can be done, but we are in no means locked into them. The code for Switch/Map is like 50 lines or something we can just write the router literally as is. Looping and mapping is all more expensive.
Not sure this makes sense, but if we do want to use the prebuilt have you considered just using props.children. What if Route returned Match components. And housed the Switch.. Ie:
const RouteSwitch = (props) => {
  return <RouteSwitchProvider>
    <Switch fallback={props.fallback}>{props.children}</Switch>
  </RouteSwitchProvider>
}

const Route= (props) => {
  const someContextStuff = useContext();
  return <Match when={someContextStuff(props.something)}>{props.children}</Match>;
}


[WIP] Enable more operators in Quantization-aware Training

The first commit is moved to here from https://github.com/tensorflow/tensorflow/pull/31914 per @suharshs 's comments. The minor changes of the first commit serves as a initial, I'd like to have more discussions while this is in progress.

About the activations and Identity operator. I am curious that, why Identity was taken as a activation operators rather than passthrough in contrib/quantize, while as passthrough in TOCO?
https://github.com/tensorflow/tensorflow/blob/v2.0.0-rc0/tensorflow/contrib/quantize/python/quantize.py#L34-L35
Would you please help to give me a hint @suharshs and @raghuraman-k .

This is an in-progress PR, which is not ready for review. However, there is an announcement of deleting contrib from this TF repo at 9/18. My concern is that, how can we work on things like this after that, or what is the codebase?
Should we wait until the Keras related API later (I searched around, failed to find such API in this repo currently) per @suharshs's feedback? :

contrib.quantize will be deprecated in 2.0, we are actively working on a 2.0 friendly Keras api to support quantization aware training.

As Quantization-aware Training is moving to model-optimization toolkit, this PR will not happen in the TF core repo. Closing now.


4.35.16

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Update to frv 4.35.16 that uses framel 8.42.1 that includes updates requires for frame spec 9

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Upgrade Arch Linux to 2019.03.01

On a different note why aren't we using the latest folder so this is always up to date?

I'd have to drop the signature checking on Arch if I pointed to latest as the signature would break monthly which is why I point to the version explicitly.


Remove colons from headings

Redundant visual information when in a title bar

Cool, will push to prod later this weekend.


[ENH] Allow ElasticEnsemble to work with multivariate and unequal length series

Describe the feature or idea you want to propose
should be easy to do now. See #408 and #412
Describe your proposed solution
Swap X.shape[0] for len and sort out the differential functions
Describe alternatives you've considered, if relevant
No response
Additional context
No response

closed by #415


Minecraft module CCU variable for player join/leave schedule trigger

Feature Request
Feature Information:
Add a variable to the player join and leave events for the Minecraft module scheduler that displays the concurrent user count. Of course this would be useful to other modules other than the Minecraft (JE) module but that is the module I'm requesting the feature for.
I confirm:

[x] that I have searched for an existing feature request matching the description.

This is now possible for all games due to global scheduler variables.


Leases view

This is a view for Leases:

BTW, I'm not sure if this view fits to Config menu but there is nothing better...

BTW, I'm not sure if this view fits to Config menu but there is nothing better...

No I think it being part of Config makes sense


chore: remove unused terratest tests

For added justification, the referenced examples no longer exist in the repo, https://github.com/equinix/terraform-provider-equinix/tree/main/examples/fabric/v4


Update OpenROAD

Resolves #1115
...The reason I'm doing this manually is that the aarch64 build of OR on GitHub Actions takes over 6 hours

Thanks @maliberty @donn. I've done a couple of tape outs with the latest openlane container and as expected the issue has been fixed.


macOS Support

Describe the bug
As far as I can tell, the k3s x86_64 binary does not run on macOS. When invoking the binary,  I see the following:
$ ./k3s
bash: ./k3s: cannot execute binary file

I've tried to build the binary on macOS itself with little luck (though I could be missing something, I'm not super familiar with go compilation):
❯ GOOS=darwin GOARCH=amd64 go build -o k3s
# github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip
../../personal/go/src/github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip/iface.go:124:17: undefined: netlink.RouteGet
../../personal/go/src/github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip/iface.go:136:47: undefined: netlink.FAMILY_V4
../../personal/go/src/github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip/tun.go:56:18: undefined: syscall.IFF_TUN
../../personal/go/src/github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip/tun.go:56:36: undefined: syscall.IFF_NO_PI
../../personal/go/src/github.com/rancher/k3s/vendor/github.com/coreos/flannel/pkg/ip/tun.go:58:29: undefined: syscall.TUNSETIFF
# github.com/rancher/k3s/pkg/agent/containerd
../../personal/go/src/github.com/rancher/k3s/pkg/agent/containerd/containerd.go:86:4: unknown field 'Pdeathsig' in struct literal of type syscall.SysProcAttr

I haven't looked into each of the errors here, but usage of Pdeathsig for example, seems to only be available on Linux per  https://golang.org/pkg/syscall/#SysProcAttr
To Reproduce
Steps to reproduce the behavior:
Run k3s on macOS or try to build on macOS.
Expected behavior
Binary runs successfully

Is native kubernetes (k8s) working on MacOS without using a VM? Because I think it's expected to fail on MacOS if kubernetes itself isn't compatible with macos.

k3s is Kubernetes which runs on Linux only (well Windows too, but lets not go there yet).  So the only way you could run k3s on macOS is if we made a wrapper so that k3s binary launched a VM on your mac, similar to how docker for mac works.  We are looking at this use case, but quite a bit of work.
We will do our best to put together some docs on the best way to use k3s on macOS.  Either using docker for mac, vagrant, or something similar.

Right that makes perfect sense, thanks @unixfox & @ibuildthecloud — documentation or any convenience utilities to configure the appropriate environment would be much appreciated.

@ibuildthecloud I ended up here after trying to run the binary on macOS as well.  I figured it may or may not be supported but couldn't find docs about macOS specifically.
Is there an issue we can follow for k3s docs on macOS using e.g, the setup you described?

Oh :( I was trying to use K3D for development/testing on my Mac and I see now why the binary doesn't work :(

I am testing k3d and IMHO is a good alternative to minikube and friends. It can mimic a big k3s cluster with a lot of workers.
If you look closely Erik implemented in v0.7.0-rc2 ctr on k3s to include even a registry for images. Ctr is working on the containerd side for image inclusion.
I don't think we need a MacOSX k3s implementation. Let the core team focus more on other things like HA and stability.

I recommend multipass to quickly setup ubuntu vm on mac and run k3s
This step by step doc helped me out
<EMAIL_ADDRESS>

The code itself is written to use Linux sysctl() methodology: rather than generic actions such as "get the IPv4 IP" with a system-specific library describing how to do this (which would be via sysctl() calls on linux) the code is written to open sysctls (https://github.com/containernetworking/plugins/blob/5c512194ebea90cda344c3ca371f81c6ac2420a3/pkg/utils/sysctl/sysctl_linux.go#L48,L56) .. I would assume this was done simply because it worked, and their target audience was linux.  In current code, for non-linux architecture, there'd need to be a sysctl_macos.go or sysctl_windows.go that would need to translate /proc/sys/<namedThing> into the Mac or Windows equiv.
I guess it would make sense to make a generic function that in turn calls linux-specific sysctl() calls, or the macOS way, or the windows way of doing a thing, but that would require some more abstract function calls layering between current code and the sysctl() stuff.  Not trivial work.


Fixed typos

Some typos in aurelia-app -> aurelia-main="main", should be aurelia-app="main"

+1

Assigned @EisenbergEffect  to check CLA

FYI, the bootstrapper of the latest skeleton is now named aurelia-main instead of main. Welcome.js has also changed a bit, for example the welcome() function has been renamed to submit(). I think that the intro should be updated so it uses code from the latest skeleton release.

Thanks guys! Thank you for contribution!!!
I'm shaping up the validation library this weekend and will gladly merge your changes :-)
-- CLA confirmed


Add public getters to theme data and brightness

The reason for exposing the currently set theme brightness was to use the value in a checkbox, enabling the user to toggle between a light and a dark theme at runtime.
This works well, but I was forced to wrap my checkbox within a statefull widget to keep track of the selected brightness, because the actual members of DynamicThemeState are private. Since that is redundant information, I decided to expose them, without making them publicly settable.
Commit message:
The actual theme data and brightness members are still private and can only be modified using setBrightness() and setThemeData().
But making the current values public enables using them for UI toggles like checkboxes, which need to access the current value.
Otherwise, we are forced to introduce further state to keep track of the current brightness.

LGTM


doit: 0.34.2 -> 0.35.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://pypi.org/project/doit/.
meta.description for doit is: "A task management & automation tool"
meta.homepage for doit is: "https://pydoit.org/"
meta.changelog for doit is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0/bin/doit had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0/bin/.doit-wrapped had a zero exit code or showed the expected version
0 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 0.35.0 with grep in /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0
found 0.35.0 in filename of file in /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

6 package rebuild(s)

6 x86_64-linux rebuild(s)
6 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
doit
python310Packages.Nikola
python310Packages.doit
python39Packages.Nikola
python39Packages.doit
zerobin

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A doit https://github.com/r-ryantm/nixpkgs/archive/0637d548543b75be9de785bc22d2ccb79974f1a3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0
ls -la /nix/store/h49dznxmawjg2p1i5kwirg4xhgq9wsfk-python3.9-doit-0.35.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

5 packages built:

doit (python39Packages.doit)
python310Packages.Nikola
python310Packages.doit
python39Packages.Nikola
zerobin

Maintainer pings
cc @pSub for testing.

Result of nixpkgs-review pr 167899 run on x86_64-linux 1

5 packages built:

doit (python39Packages.doit)
python310Packages.Nikola
python310Packages.doit
python39Packages.Nikola
zerobin

I tested with this example:
def task_hello():
    """hello"""

    def python_hello(targets):
        with open(targets[0], "a") as output:
            output.write("Python says Hello World!!!\n")

    return {
        'actions': [python_hello],
        'targets': ["hello.txt"],
        }

Seems to work fine.


fix(typegen): support db-url that require ssl mode

What kind of change does this PR introduce?
Bug fix https://github.com/supabase/postgres-meta/issues/719
What is the new behavior?
Updates postgres-meta to 0.77.2 for ssl support.
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.008%) to 58.81%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
5
11.76%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
6195

Relevant Lines:
10534

💛  - Coveralls

Will this merge cause this error?
npx supabase gen types typescript --db-url=postgresql://postgres:password@localhost:5431/postgres > src/types/database.d.ts
Connecting to localhost
v0.77.2: Pulling from supabase/postgres-meta
f546e941f15b: Pull complete
06495e08993c: Pull complete
8f7f70c95d2f: Pull complete
250e515ba9d8: Pull complete
87c2f57477b2: Pull complete
a9db845078fd: Pull complete
7fada51dd304: Pull complete
8b8519bb20b4: Pull complete
9cd5da2c1bd1: Pull complete
742946c4d253: Pull complete
Digest: sha256:e093e4848a83c1339700ed03e671f3d4f8b1f4c32ea5b9f0d574fe0eeb5bda32
Status: Downloaded newer image for public.ecr.aws/supabase/postgres-meta:v0.77.2
(node:1) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
file:///usr/src/app/dist/server/server.js:57
        throw new Error(schemasError.message);
              ^

Error: The server does not support SSL connections
    at file:///usr/src/app/dist/server/server.js:57:15
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v20.11.1
error running container: exit 1
Try rerunning the command with --debug to troubleshoot the error.

Yes, could you try the beta release?
npx supabase@beta gen types ...

Yes, could you try the beta release?
npx supabase@beta gen types ...

It seems that the process hangs without any output for a long time

npx supabase@beta gen types typescript --help
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y

npx supabase@beta gen types typescript --db-url=postgresql://postgres:password@localhost:5431/postgres > src/types/database.d.ts
Access token not provided. Supply an access token by running supabase login or setting the SUPABASE_ACCESS_TOKEN environment variable.

I've found the issue and patched it in the beta release. Thanks for reporting it.
$ npx supabase@beta gen types typescript --db-url 'postgresql://postgres:postgres@<IP_ADDRESS>:54322/postgres'
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y) y
Connecting to <IP_ADDRESS> 54322
(node:1) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
export type Json =
  | string
  | number
  | boolean
  | null
  | { [key: string]: Json | undefined }
  | Json[]


send email fail

have tried multiple combo settings. (corp mailserver, 3rd party mailserver, postfix, tls 587/465, no tls/25 , etc)
the log only showing deliveryjob performed.  (no error log related)
question is , how can I enable debug log ? and advice is appreciated.

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 1b9effed-9d87-4895-a8e5-a860df961329) to Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329] Performing ActionMailer::DeliveryJob (Job ID: 1b9effed-9d87-4895-a8e5-a860df961329) from Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendering mailer/issue_edit.text.erb within layouts/mailer
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendered mailer/_issue.text.erb (4.1ms)
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendered mailer/issue_edit.text.erb within layouts/mailer (5.5ms)
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendering mailer/issue_edit.html.erb within layouts/mailer
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendered mailer/_issue.html.erb (0.5ms)
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329]   Rendered mailer/issue_edit.html.erb within layouts/mailer (1.9ms)
[ActiveJob] [ActionMailer::DeliveryJob] [1b9effed-9d87-4895-a8e5-a860df961329] Performed ActionMailer::DeliveryJob (Job ID: 1b9effed-9d87-4895-a8e5-a860df961329) from Async(mailers) in 22.34ms

I'm not sure, you might need to ask on the redmine forum.
You could try running the email test and seeing if it reports the errors directly.
docker exec -it redmine sudo -u redmine -H bundle exec rake redmine:email:test[admin] RAILS_ENV=production

I'm not sure, you might need to ask on the redmine forum.
You could try running the email test and seeing if it reports the errors directly.
docker exec -it redmine sudo -u redmine -H bundle exec rake redmine:email:test[admin] RAILS_ENV=production

I can receive test email with this command, but can not get system notice email. only get logs like 1st post.
checked with email server, it does not connect to email server smtp pot. (has connection while using test command)

I'm not sure how to debug the email system in ruby.  You should ask on the redmine.org forum to see if there is a way to enable logs for ActionMailler::DeliveryJob.  If you need help doing a step they ask, then maybe I can point you in the right direction.
Sending emails works for me for both the test command and through ActionMailer.

found the option with google, but no error found in  production.log after set log level to :debug in application.rb
my version is 4.2.5, found some similar post on redmine forum but did not found solution yet.
logs with debut enabled:

[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 5b5184ca-6463-4ac9-94a6-d2274bdd4dbd) to Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd] Performing ActionMailer::DeliveryJob (Job ID: 5b5184ca-6463-4ac9-94a6-d2274bdd4dbd) from Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   AnonymousUser Load (0.4ms)  SELECT  `users`.* FROM `users` WHERE `users`.`type` IN ('AnonymousUser') AND `users`.`lastname` = 'Anonymous' LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Issue Load (3.5ms)  SELECT  `issues`.* FROM `issues` WHERE `issues`.`id` = 110 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Project Load (1.1ms)  SELECT  `projects`.* FROM `projects` WHERE `projects`.`id` = 2 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Tracker Load (0.3ms)  SELECT  `trackers`.* FROM `trackers` WHERE `trackers`.`id` = 4 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`id` = 6 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Principal Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 6 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   CACHE User Load (0.0ms)  SELECT  `users`.* FROM `users` WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`id` = 6 LIMIT 1  [["id", 6], ["LIMIT", 1]]
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   JournalDetail Load (0.4ms)  SELECT `journal_details`.* FROM `journal_details` WHERE `journal_details`.`journal_id` = 380
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'protocol' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'host_name' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'mail_from' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'user_format' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'app_title' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]    (0.3ms)  SELECT `email_addresses`.`address` FROM `email_addresses` WHERE `email_addresses`.`user_id` = 6 AND (is_default = TRUE OR notify = TRUE)
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   UserPreference Load (0.3ms)  SELECT  `user_preferences`.* FROM `user_preferences` WHERE `user_preferences`.`user_id` = 6 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]    (0.3ms)  SELECT `email_addresses`.`address` FROM `email_addresses` WHERE `email_addresses`.`user_id` = 6
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.*  FROM `issue_statuses` WHERE `issue_statuses`.`id` = 2 LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   IssuePriority Load (0.3ms)  SELECT  `enumerations`.* FROM `enumerations` WHERE `enumerations`.`type` IN ('IssuePriority') AND `enumerations`.`id` = 2 ORDER BY `enumerations`.`position` ASC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   IssueCustomField Load (0.4ms)  SELECT `custom_fields`.* FROM `custom_fields` WHERE `custom_fields`.`type` IN ('IssueCustomField') AND (is_for_all = TRUE OR id IN (SELECT DISTINCT cfp.custom_field_id FROM custom_fields_projects cfp WHERE cfp.project_id = 2)) ORDER BY `custom_fields`.`position` ASC
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   IssueCustomField Load (0.4ms)  SELECT `custom_fields`.*  FROM `settings` WHERE `settings`.`name` = 'emails_header' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'emails_footer' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'plain_text_mail' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Rendering mailer/issue_edit.html.erb within layouts/mailer
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'text_formatting' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'cache_formatted_text' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Attachment Load (0.3ms)  SELECT `attachments`.* FROM `attachments` WHERE `attachments`.`container_id` = 110 AND `attachments`.`container_type` = 'Issue' ORDER BY attachments.created_on ASC, attachments.id ASC
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Rendered mailer/_issue.html.erb (1.0ms)
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd]   Rendered mailer/issue_edit.html.erb within layouts/mailer (5.3ms)
[ActiveJob] [ActionMailer::DeliveryJob] [5b5184ca-6463-4ac9-94a6-d2274bdd4dbd] Performed ActionMailer::DeliveryJob (Job ID: 5b5184ca-6463-4ac9-94a6-d2274bdd4dbd) from Async(mailers) in 54.67ms

@jcormier if you are with redmine v4 or 5, would you mind share you config? thank you

with config.action_mailer.perform_deliveries set to true, no related error
logs of manual send test mail

Creating scope :system. Overwriting existing method Enumeration.system.
Creating scope :sorted. Overwriting existing method Group.sorted.
Creating scope :sorted. Overwriting existing method User.sorted.
   (0.3ms)  SET NAMES utf8,  @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'),  @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`type` IN ('User', 'AnonymousUser') AND `users`.`login` = 'admin'
  AnonymousUser Load (0.7ms)  SELECT  `users`.* FROM `users` WHERE `users`.`type` IN ('AnonymousUser') AND `users`.`lastname` = 'Anonymous' LIMIT 1
  Setting Load (0.6ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'force_default_language_for_loggedin' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.5ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'default_language' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'protocol' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'host_name' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.6ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'mail_from' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'app_title' ORDER BY `settings`.`id` DESC LIMIT 1
   (0.3ms)  SELECT `email_addresses`.`address` FROM `email_addresses` WHERE `email_addresses`.`user_id` = 1 AND (is_default = TRUE OR notify = TRUE)
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'bcc_recipients' ORDER BY `settings`.`id` DESC LIMIT 1
  Rendering mailer/test_email.text.erb within layouts/mailer
  Rendered mailer/test_email.text.erb within layouts/mailer (0.6ms)
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'emails_header' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'emails_footer' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'plain_text_mail' ORDER BY `settings`.`id` DESC LIMIT 1
  Rendering mailer/test_email.html.erb within layouts/mailer
  Rendered mailer/test_email.html.erb within layouts/mailer (0.2ms)
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'text_formatting' ORDER BY `settings`.`id` DESC LIMIT 1
  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'cache_formatted_text' ORDER BY `settings`.`id` DESC LIMIT 1

logs of notice email (failed)

  Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'default_users_hide_mail' ORDER BY `settings`.`id` DESC LIMIT 1
  EmailAddress Load (0.3ms)  SELECT  `email_addresses`.* FROM `email_addresses` WHERE `email_addresses`.`user_id` = 6 AND `email_addresses`.`is_default` = TRUE LIMIT 1
[ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: ef60c06f-d169-4f9d-add0-ea8d149a016a) to Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a] Performing ActionMailer::DeliveryJob (Job ID: ef60c06f-d169-4f9d-add0-ea8d149a016a) from Async(mailers) with arguments: "Mailer", "issue_edit", "deliver_now", #>, #>
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'mail_from' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]    (0.3ms)  SELECT `email_addresses`.`address` FROM `email_addresses` WHERE `email_addresses`.`user_id` = 6 AND (is_default = TRUE OR notify = TRUE)
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]    (0.3ms)  SELECT `email_addresses`.`address` FROM `email_addresses` WHERE `email_addresses`.`user_id` = 6
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendering mailer/issue_edit.text.erb within layouts/mailer
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendered mailer/_issue.text.erb (5.4ms)
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendered mailer/issue_edit.text.erb within layouts/mailer (7.7ms)
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Setting Load (0.2ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'emails_header' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Setting Load (0.2ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'emails_footer' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Setting Load (0.3ms)  SELECT  `settings`.* FROM `settings` WHERE `settings`.`name` = 'plain_text_mail' ORDER BY `settings`.`id` DESC LIMIT 1
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendering mailer/issue_edit.html.erb within layouts/mailer
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendered mailer/_issue.html.erb (1.7ms)
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a]   Rendered mailer/issue_edit.html.erb within layouts/mailer (5.4ms)
[ActiveJob] [ActionMailer::DeliveryJob] [ef60c06f-d169-4f9d-add0-ea8d149a016a] Performed ActionMailer::DeliveryJob (Job ID: ef60c06f-d169-4f9d-add0-ea8d149a016a) from Async(mailers) in 41.58ms
  EmailAddress Load (0.3ms)  SELECT `email_addresses`.* FROM `email_addresses` WHERE `email_addresses`.`is_default` = TRUE AND `email_addresses`.`user_id` = 6

manual excute SELECT email_addresses.* FROM email_addresses WHERE email_addresses.is_default = TRUE AND email_addresses.user_id = 6"in mysql can get correct email address.

solved. is my stupid mistake, I test with my own account, but by default notice won't be sent to the user who made chagens.
thank you. @jcormier


[PowerRename] Add an option for camel Case

Even though there are options for UPPER CASE, lower case, and Title Case there isn't really an option for camel Case (the first letter of each word capitalized regardless of what the word might be (even if it's 'of', 'and', 'the', etc unlike title case).
Either that or allowing modifiers like \U or \l so as to give the user the ability to play around with the capitalization of the filename by themselves.
Example: my aweSOME file.docx

casing
example

UPPER
MY AWESOME FILE.docx

lower
my awesome file.docx

Title Case
My Awesome File.docx

camel Case
my Awesome File.docx

If you'd like to see this feature implemented, add a 👍 reaction to this post.

Hi, I have a project for a software methodology class to contribute to an open source repo and I am very interested in this project. Could I be assigned to this issue?

Hi, I have a project for a software methodology class to contribute to an open source repo and I am very interested in this project. Could I be assigned to this issue?

@darecluval
sure, thank you for helping with the project.
If you haven't already, start with the dev doc readme https://github.com/microsoft/PowerToys/blob/master/doc/devdocs/readme.md
Feel free to ask any question.

@darecluval
sure, thank you for helping with the project.
If you haven't already, start with the dev doc readme https://github.com/microsoft/PowerToys/blob/master/doc/devdocs/readme.md
Feel free to ask any question.

I have a few questions:

Where do I find the number to map to my '#define IDC_TRANSFORM_CAMELCASE ... ####' in ../powerrename/ui/resource.base.h ?
Is switch case in CPowerRenameUI::_OnCommand() in ../powerrename/ui/PowerRenameUI.cpp where the text of the file name is transformed to the respective text style? The other Upper and Lowercase cases in this switch are empty and I'm wondering if I'm working off of the right branch (currently on master).

@darecluval

Where do I find the number to map to my '#define IDC_TRANSFORM_CAMELCASE ... ####' in ../powerrename/ui/resource.base.h ?

In resource.base.h you set the number incrementally, right now the ID(s) are from 3001 to 3025, you can add it as 3026 or even better you can insert it after
#define IDC_TRANSFORM_TITLECASE         3021

and update the following ID(s) accordingly.

Is switch case in CPowerRenameUI::_OnCommand() in ../powerrename/ui/PowerRenameUI.cpp where the text of the file name is transformed to the respective text style?

PowerRenameUI.cpp doesn't do any transformation, it only handles the UI and collects the list of flags that are on, and that are passed to PowerRenameManager.cpp that is defined in the PowerRenameLib project, see
https://github.com/microsoft/PowerToys/blob/4a9e920a1c0b222eceb76c9dd0f65febed96e7d6/src/modules/powerrename/lib/PowerRenameManager.cpp#L976
and
https://github.com/microsoft/PowerToys/blob/4a9e920a1c0b222eceb76c9dd0f65febed96e7d6/src/modules/powerrename/lib/PowerRenameManager.cpp#L1014

Ok, thank you! I see the bulk of the actual transformation is in helpers.cpp. I also see that there are several translations in the Resources.resx.lcl in PowerToys/src/modules/powerrename/ui/loc/ 's folders. Should I add a placeholder for Camelcase in case it gets added?

@darecluval
strings that gets localized are defined in https://github.com/microsoft/PowerToys/blob/4a9e920a1c0b222eceb76c9dd0f65febed96e7d6/src/modules/powerrename/ui/Resources.resx
The files under ui/loc are generated, so we don't change them.

@lemonnuggets
just to clarify: your are asking for Capitalization -> each first letter of a term is UPPER case regardless if it's a conjunctions/ article/preposition etc.
Also the first letter of the filename is capitalized (in your example it's not).
Camel case https://en.wikipedia.org/wiki/Camel_case is not really something that can be done automatically since it may be arbitrary to determine which letter inside a term should be in uppercase. It would also be language dependent, so not something that at the moment we can consider doing.

One thing we may want to support, but it's outside of this specific request, is to preserve camelCase when applying a Titlecase or a Capitalization. That would be a separate flag.

Honestly my original issue was to have an option where the first letter of each word is capitalized regardless of whether it's a stop word. Only much later did I realize that camel case meant something totally different but by then I guessed that there wasn't any point in changing my issue. But really what I would have liked to have is something like \U  \L in vim https://vim.fandom.com/wiki/Changing_case_with_regular_expressions.
So yeah my bad for not specifying what I wanted and not correcting myself either.

@lemonnuggets
no problem, now it's clear and it will be added with the term Make Capitalized. I'll update the issue title and description accordingly.

This is now fixed in 0.37 https://github.com/microsoft/PowerToys/releases/download/v0.37.0/PowerToysSetup-0.37.0-x64.exe


A critical error has occurred! A problem occurred during communication with Opencast.  Details:  Status 404: Event '913c5b23-fc24-4958-b9ed-c6b9d8114fa4' not Found

https://tobira-test-oc.ethz.ch/editor-ui/index.html?id=913c5b23-fc24-4958-b9ed-c6b9d8114fa4&callbackUrl=https%3A%2F%2Ftobira.opencast.org%2F~manage%2Fvideos%2FDdXFrrcIKRU&callbackSystem=Tobira+Test+Deployment
bzw.
https://tobira.opencast.org/!v/DdXFrrcIKRU beim Öffnen des Editors

I can reproduce that. Interestingly, when I log into Opencast as admin, and then reopen the editor, I get a different error: "Status 400: No internal publication. Event ID: 913c5b23-fc24-4958-b9ed-c6b9d8114fa4". This seems to be the same error you reported on your internal issue tracker.
Maybe summoning @Arnei to take a look? If you need more information on how to test this or access to the Opencast, just let me know.

Ok I just talked to Piri and learned a bit about ETH workflows and how they used to remove internal publications and stuff. With that background, I would just close this issue. In general: all old videos on the test system are in a potentially dubious state. We imported them years ago and who knows what's broken about them. I'd say: if you find an editor problem with a video you uploaded yourself, then that's certainly a bug worth investigating. But if single older videos randomly fail (on our public Tobira test server), that's probably no cause for concern.


Documentation review

The current README is hard to follow, we should make it more crisp, and add some proper documentation in separate files.

According to recommneded community standards it's also required to add (or extract) this missing information:

[ ] code of conduct
[ ] Contributing
[ ] License
[ ] Issue or pull request template

Most of the above are done in #77. I will take a look at the documentation, with virgin eyes.

Added the license (apache 2.0, owned by @EGI-foundation

[ ] The License should not be onwed by @EGI-Foundation but by some like "the Authors".
[ ] Every provider should be docuented individually and completely


Screen sharing?

Hi! Can you, please, test and add example to documentation for screen sharing using OvenLiveKit?
It's funny, but I made it work simply by replacing ovenLivekit.getUserMedia with ovenLivekit.getDisplayMedia. As a result captured screen stream gets displayed in my video element and stream is sent to media engine. In my test scenario constrains were set to video: { width: 1280, height: 720 } and I was sharing browser tab. I am not sure if I simply got lucky that it did work and if display media is supported and what constrains should I use?
Thanks!
PS I just noticed the previous question was exactly regarding same problem and checking https://github.com/AirenSoft/OvenLiveKit-Web/blob/17e7387782bc63485ea6694cda18a2b2d7161ab9/src/OvenLiveKit.js#L222
but still not sure what to do with constraints and video element as I am having problems trying to share app window or entire screen

@brootle. As I mentioned in the issue below, the screen sharing feature is implemented, but needs a little more testing.
And the constraints required for screen sharing comply with the standard specifications. You can find more details below.

https://www.w3.org/TR/screen-capture/#constrainable-properties

@SangwonOh sorry to bother you again, but can you post minimalistic example on screen sharing somewhere in examples for this repo? From my side ovenLivekit.getDisplayMedia only worked for sharing a tab of google chrome browser, but not for entire screen or window...

@brootle i am really interested in screen capture. As far as i researched we need to accomplish some basic rules (w3c working draft https://w3c.github.io/mediacapture-screen-share/) but that should be possible. it might be a tec issue to get the whole desktop/window screen from a browser app, idk.
can you give me a short walkthrou what you have done or already achived so far?

@brootle , @Quisi Hi! Long time no see. Thanks to the efforts of the OvenMediaEngine team, screen capture is now quite stable.
Please check it out at our https://space.ovenplayer.com/.

And the real usage of ovenLiveKit can also be found at https://github.com/AirenSoft/OvenSpace/blob/24161b33fdaf3f7cca5cdaf753069a05e8a52873/static/js/ovenspace.js#L198.
Thanks.


ADD[#53]:Designed to be challenging and fun for players of all ages and skill levels

🚀 Math Game
This game allows players to choose from different difficulty levels, question types, and time limits. It is designed to be challenging and fun for players of all ages and skill levels. The game can also be used as a learning tool to help students improve their math skills.
Features:

🏆 Different difficulty levels: easy, medium, and hard
🧮 Different types of math problems: addition, subtraction, multiplication, and division
⏲ Time limits: players have a limited amount of time to answer each question

How to play:

Choose a difficulty level, question type, and time limit.
Answer the math questions as quickly and accurately as possible.
If you answer a question correctly, you earn a point 👍. If you answer a question incorrectly, you lose a life 👎.
The game ends when you run out of lives ☠.

Tips:

If you are struggling with a particular question type, try switching to a different type 🔄.
If you are running out of time, try taking a short break and coming back to the game later ☕.
Practice makes perfect! The more you play, the better you will become at answering math questions quickly and accurately 🧠.

Have fun! 🎉

@vivekvr1
Great job 💯
Also, the PR description is so nice 🚀
Keep going, have fun!


Goroutine leak in app?

dup of #1916?

@tomwilkie @paulbellamy I seem to recall you saying you fixed something related to this, and I can't see this same graph in current dev. Is this fixed?

instead of cross-posting everything, i'm just going to close this as a dupe of #1916


Questionable data in numerically synthesizing mouse brain spatial dataset

Problem

Hi, thanks for providing such a useful tool. I encountered a source data problem when running the code for synthetic data in cell2location_paper/notebooks/benchmarking/synthetic_data_construction_improved_real_mg.ipynb. I had downloaded the spatial dataset from https://drive.google.com/drive/folders/1UfMe_uTS2yV9ErQA_iGBa4oCDYlFhtWN?usp=sharing.
In the following code:
gene_level_df = pd.DataFrame(adata_vis.uns['mod']['post_sample_means']['gene_level'],                           index=adata_vis.uns['mod']['var_names'],                           columns=['gene_level'])
adata_vis is the spatial dataset "sp.h5ad".
After reading the whole synthesizing code, I believe that adata_vis.uns['mod']['post_sample_means']['gene_level'] here refers to the parameter m_g as described in the cell2location paper.
However, I found that there is no ['gene_level'] from adata_vis.uns['mod']['post_sample_means'] in "sp.h5ad". But there does exist ['m_g'] from adata_vis.uns['mod']['post_sample_means']. So I tried to use this data instead.
In the following visualization process: plt.hist(gene_level_df.values.flatten(), bins=100)
The example results are as follows:

But I get results as follows when using ['m_g']:

While the mean, alpha, beta differ a little in these two images, their overall trends are similar. I wonder if it is ok that I use this ['m_g'] to generate the synthetic dataset.

[x] I follow the instructions from the cell2location tutorial (using on scvi-tools).
[ ] I have adjusted required hyperparameters to my dataset and tissue N_cells_per_location and detection_alpha.
[ ] I have provided 10X reaction/inlet as batch_key for reference NB regression.
[x] I have checked scverse Discourse and old Cell2location Community Forum, and did not find a solution.

Hi @ZhanYangen

I wonder if it is ok that I use this ['m_g'] to generate the synthetic dataset.

Yes please do that. ['gene_level'] comes from an old version of cell2location (pre 2021). You should get roughly similar result - that correction of sn to Visium effect requires the m_g parameter.

@vitkl Got it. Thanks!


Service is down

I got the error "500" when I visited the website.
Thank you for making this project and provide the service.

fixed


include note about spring boot

Hey -- I ran into the issue described here (https://github.com/testcontainers/testcontainers-java/issues/256#issuecomment-506963471) and it took me a while to find the solution (mentioned in the comment directly below the one I linked). Adding this to the docs might help, although I did notice the rest of the docs seem framework agnostic.

Sure, I get the concern. If you find a better place, I'm happy to move it. I do think this belongs in the docs somewhere though -- I think breaking the agnostic tenor of the docs is better than letting other people struggle with a solved problem 🤷♂ hopefully we can do both!

@rnorth perhaps we can change it to "for examples of how to pass these dynamic values to various frameworks, consider checking the examples/ folder" ?

Should not be stale - let's do as suggested

We close the PR as-is but intend to follow the suggestion to add references to the existing /examples to the documentation. Sorry for leaving this hanging forever @BloodChiefStromberg, but we appreciate you opening up this discussion.


Msi will not install.

Great solved my problem with msi failing to install

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

ID: 2a2e3005-0d38-154e-560e-0f25d4892810
Version Independent ID: 11dcf68e-545e-8e9d-3df0-645a9ae9b6fc
Content: msiexec
Content Source: WindowsServerDocs/administration/windows-commands/msiexec.md
Product: windows-server
Technology: windows-commands
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

#assign:xelu86

Hey @pathfinderNE,
Thanks again for contacting Microsoft. We value your feedback.
We're glad to hear our documentation assisted you in your endeavors. We will now be closing this thread. Thank you and have a most pleasant day.
#please-close


Does weight supported in mlen for training?

When training a model, how to use sample_weight? I haven't seen weight parameter in fit function.

sample_weight is currently not a supported parameter. What did you have in mind?

I think there could be training parameter sent into base models, keep it same with scikit-learn fit method.

Sorry for not getting back on this. Somewhat overdue but if you want a linear combination of base models, the best approach is to use a linear model as your meta learner. If you want to fix the weights apriori, you can easily achieve this by writing a dummy estimator class.

+1


error run pipeline_Aachen.ipynb

Dear author, I'm sorry to disturb you in my busy schedule. It's my runipy pipeline_ The following error occurred in aachen.ipynb. I don't know what to do. I want to ask you and look forward to your reply.[runipy pipeline_Aachen.ipynb
**runipy pipeline_Aachen.ipynb
08/23/2021 05:15:29 PM INFO: Reading notebook pipeline_Aachen.ipynb
08/23/2021 05:15:30 PM INFO: Running cell:
%load_ext autoreload
%autoreload 2
from pathlib import Path
from pprint import pformat
from hloc import extract_features, match_features, pairs_from_covisibility
from hloc import colmap_from_nvm, triangulation, localize_sfm, visualization
08/23/2021 05:15:31 PM INFO: Cell returned
08/23/2021 05:15:31 PM INFO: Running cell:
dataset = Path('datasets/aachen/')  # change this if your dataset is somewhere else
images = dataset / 'images/images_upright/'
pairs = Path('pairs/aachen/')
sfm_pairs = pairs / 'pairs-db-covis20.txt'  # top 20 most covisible in SIFT model
loc_pairs = pairs / 'pairs-query-netvlad50.txt'  # top 50 retrieved by NetVLAD
outputs = Path('outputs/aachen/')  # where everything will be saved
reference_sfm = outputs / 'sfm_superpoint+superglue'  # the SfM model we will build
results = outputs / 'Aachen_hloc_superpoint+superglue_netvlad50.txt'  # the result file
08/23/2021 05:15:31 PM INFO: Cell returned
08/23/2021 05:15:31 PM INFO: Running cell:
list the standard configurations available
print(f'Configs for feature extractors:\n{pformat(extract_features.confs)}')
print(f'Configs for feature matchers:\n{pformat(match_features.confs)}')
08/23/2021 05:15:31 PM INFO: Cell returned
08/23/2021 05:15:31 PM INFO: Running cell:
pick one of the configurations for extraction and matching
you can also simply write your own here!
feature_conf = extract_features.confs['superpoint_aachen']
matcher_conf = match_features.confs['superglue']
08/23/2021 05:15:31 PM INFO: Cell returned
08/23/2021 05:15:31 PM INFO: Running cell:
feature_path = extract_features.main(feature_conf, images, outputs)
08/23/2021 05:15:34 PM INFO: Cell returned
08/23/2021 05:15:34 PM INFO: Running cell:
colmap_from_nvm.main(
dataset / '3D-models/aachen_cvpr2018_db.nvm',
dataset / '3D-models/database_intrinsics.txt',
dataset / 'aachen.db',
outputs / 'sfm_sift')
pairs_from_covisibility.main(
outputs / 'sfm_sift', sfm_pairs, num_matched=20)
08/23/2021 05:18:52 PM INFO: Cell returned
08/23/2021 05:18:52 PM INFO: Running cell:
sfm_match_path = match_features.main(matcher_conf, sfm_pairs, feature_conf['output'], outputs)
08/23/2021 10:09:49 PM INFO: Cell returned
Traceback (most recent call last):
File "/home/hzh005/.local/bin/runipy", line 8, in
sys.exit(main())
File "/home/hzh005/.local/lib/python3.8/site-packages/runipy/main.py", line 158, in main
nb_runner.run_notebook(skip_exceptions=args.skip_exceptions)
File "/home/hzh005/.local/lib/python3.8/site-packages/runipy/notebook_runner.py", line 232, in run_notebook
self.run_cell(cell)
File "/home/hzh005/.local/lib/python3.8/site-packages/runipy/notebook_runner.py", line 151, in run_cell
msg = self.kc.get_iopub_msg(timeout=1)
File "/home/hzh005/.local/lib/python3.8/site-packages/jupyter_client/utils.py", line 25, in wrapped
return loop.run_until_complete(coro(*args, **kwargs))
File "/home/hzh005/.local/lib/python3.8/site-packages/nest_asyncio.py", line 70, in run_until_complete
return f.result()
File "/usr/lib/python3.8/asyncio/futures.py", line 178, in result
raise self._exception
File "/usr/lib/python3.8/asyncio/tasks.py", line 280, in __step
result = coro.send(None)
File "/home/hzh005/.local/lib/python3.8/site-packages/jupyter_client/client.py", line 125, in _async_get_iopub_msg
return await self.iopub_channel.get_msg(*args, **kwargs)
File "/home/hzh005/.local/lib/python3.8/site-packages/jupyter_client/channels.py", line 230, in get_msg
raise Empty
_queue.Empty
**

runipy is depreacted and unmaintained. The preferred way of running notebooks from the command line is now nbconvert with the --execute flag: https://nbconvert.readthedocs.io/en/latest/execute_api.html


Describe new compression method API in documentation

Add to https://openexr.com/en/latest/ReadingAndWritingImageFiles.html#compression, source is here.
In anticipation of future support for new compression types, there is now a convenience API for mapping between compression type names and the associated enum:
getCompressionDescriptionFromId(Compression, std::string&)
getCompressionIdFromName(const std::string&, Compression&)
getCompressionNameFromId(Compression, std::string&)
getCompressionNamesString(const std::string&, std::string&)
getCompressionNumScanlines(Compression)
isValidCompression(int)

Hello @cary-ilm! I'd like to take this up. The source link is showing "Not found". Could you please help with the active link? Thanks!

@SaxenaAnushka102, thanks! The link to the source is fixed now. Hopefully reading the source code and comment will explain what each function does.


forgot pass done

Pull Request Format
PR Title
Issue #161  : Implement forget password solved
Type of PR

Add X in the box to specify the improvement type.
[X] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): ___________

Description
implemented forget pass and checked
Screenshots / Videos (if applicable)
Before:

[Describe the state before the changes, e.g., "The section headings in the footer were misaligned, leading to an inconsistent and cluttered appearance."]

After:

[Describe the state after the changes, e.g., "The section headings in the footer are now properly aligned, providing a clean and professional look."]

Checklist

Add X in the box to specify.
[X] I have performed a self-review of my code.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional Context
https://github.com/user-attachments/assets/cbcb067a-5a08-4465-91b7-88e0af8fe24d
I think i have some merge issue but i dont know how to solve please help me
Thank you for reviewing my pull request!

@Abhishek-TG18 There is merge conflict. Please resolve.
@AnitSarkar123 After that Check it..

@Abhishek-TG18 There is merge conflict. Please resolve.
@AnitSarkar123 After that Check it..

I will solve the merge it and solve the merge conflicts after 2 days because I am not in home at this time


Whitespace node

Added a whitespace node for when you need to insert whitespace between two elements. For example:
class ExampleComponent < Phlex::Component
  def template
    a "Home"
    whitespace
    a "About"
  end
end

Thanks for reviewing so quickly! 🙌


Fix issue #114

Replaced mutable j.timesToRepeat check with j.ShouldStartWaiting call in j.Run

Coverage increased (+0.5%) to 78.947% when pulling 24ba2c65429e42c682af511f76c044a611bf5e8b on flypay:fix-issue-114 into 527e2a99a2207d64af0378a9cd552d19c3663f60 on ajvb:master.

Coverage increased (+0.5%) to 78.947% when pulling 5ee1d2bfee2ebbcead0ab3fa3e52fa5fc1139191 on flypay:fix-issue-114 into 527e2a99a2207d64af0378a9cd552d19c3663f60 on ajvb:master.

Coverage increased (+0.5%) to 79.025% when pulling 3127093bd561f2489545ab37958a1cad847e1906 on flypay:fix-issue-114 into 527e2a99a2207d64af0378a9cd552d19c3663f60 on ajvb:master.

Latest commit fixes the test I broke :-D

@benwaine Awesome! Thank you for this.


Question about the order of stacktrace frames outputted by StackTraceLayoutRenderer

The order of stacktrace frames outputted by StackTraceLayoutRenderer is different from the stacktrace of System.Exception（Reverse order）. I think the order from System.Exception is more natural. Why does NLog choose the reverse order?

@AlanLiu90 You are welcome to create a pull-request that reverses the printing.

I created a pull request: https://github.com/NLog/NLog/pull/4018


fix: bump node core to 2.17.9

PR summary
This PR bumps the node core version to 2.17.9 and also bumps the follow-redirects dependency to avoid a snyk vulnerability.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

:tada: This PR is included in version 0.22.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bad type in conditional expression - java.util.UUID cannot be converted to java.util.List<java.util.UUID>

In my graphql schema I have a mutation which receives a list of Ids as args.
type Mutation {
    deleteSnacks(id: [ID]) : Boolean
}

When I run: mvn clean install, it returns the following error:
[INFO] -------------------------------------------------------------<br />
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/gustavo/Documents/demo.graphql-plugin-mvn/target/generated-sources/graphql-maven-plugin/com/generated/graphql/GraphQLDataFetchers.java:[132,117] incompatible types: bad type in conditional expression
    java.util.UUID cannot be converted to java.util.List<java.util.UUID>
[INFO] 1 error
[INFO] -------------------------------------------------------------

The following method is generated in GraphQLDataFetchers class:
public DataFetcher<Boolean> dataFetchersDelegateMutationDeleteSnacks() {
		return dataFetchingEnvironment -> {
			List<UUID> id = (dataFetchingEnvironment.getArgument("id") == null) ? null : UUID.fromString(dataFetchingEnvironment.getArgument("id"));

			Boolean ret = null;
			try {
				ret = dataFetchersDelegateMutation.deleteSnacks(dataFetchingEnvironment, id);
			} catch (NoSuchElementException e) {
				// There was no items in the Optional
			}

			if (ret != null)
				logger.debug("deleteSnacks: 1 result found");
			else
				logger.debug("deleteSnacks: no result found");

			return ret;
		};
	}

As you can see, the generated method is not fetching the list of UUIDs.
The repo below, reproduces the error:
https://github.com/gusilva/graphql-maven-demo

Hum, hum,
I'm precisely working on list serialization and deserialization.
I'lll add this in my test cases. I'm almost done, so a new release with this issue corrected should be corrected this week end or early next week.
Etienne

Awesome!! thank you @etienne-sf !

Hum, hum,
I'm precisely working on list serialization and deserialization.
I'lll add this in my test cases. I'm almost done, so a new release with this issue corrected should be corrected this week end or early next week.
Etienne

Awesome!! thank you @etienne-sf !

my bad! By mistake I closed it

Yes, you can keep it open
:)
I confirm the issue.
And I confirm that my recent work on the serialization/deserialization has solved it. You can test it on the master branch, if you wish.
I'll add a specific test case, as this use case is a standard one: it must work.
Etienne

I released yesterday the 1.11 version.
Can you confirm that your issue is solved, from your point of view ?
Etienne

I released yesterday the 1.11 version.
Can you confirm that your issue is solved, from your point of view ?
Etienne

The issue is solved. I've just confirmed with the version 1.11! Again, tks @etienne-sf


Added support for binary output of tables

$ eosc get table eosforumdapp eosforumdapp status --limit=1 --output-binary
{
  "more": true,
  "rows": [
    "80a9ba6a2a16b036236465762e656f73746f6f6c6b69742e696f2068617320656f73696f20666f72756d2121260a5f5b"
  ]
}

Resolves #29

I merge right away because I want to continue with next feature ( #30  ) right away and want to avoid conflict in the same file.


MSQ window functions: Pass only WindowOperatorFactory for window stage definition

Description
Currently, we are passing all operator factories (NaiveSort, NaivePartition, Window) in the list of operator factories for window stage definition.
Ideally, we shouldn’t have to pass anything except the window factories, since sorting and partitioning are expected to be handled by the shuffle spec of the previous stage.
This PR makes the change to pass only the window operator factories for window stage definition. Making this change unraveled a bug where the logic for finding shuffle spec for next window stage was incorrect.
Description of the above-mentioned bug: For finding shuffle spec, we shouldn't be filtering out based on the partition columns. For queries having a window function like:
row_number() over (partition by array[1,2,length(cityName)] order by countryName) as c

We get the SortOperator with both columns (array[1,2,length(cityName)], countryName), and we get the partition operator with only array[1,2,length(cityName)]. With the current logic, we would've gotten rid of the countryName from the shuffle spec, as it wasn't in the partition factory --- which is incorrect.
The reason this wasn't broken in the current code (and gets unraveled with this PR's code changes) is that we were explicitly passing the original sort and partitioning operators in the window stage definition, hence overriding the behavior of the above incorrectly evaluated shuffle spec.

This PR has:

[x] been self-reviewed.
[x] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

Description of the above-mentioned bug: For finding shuffle spec, we shouldn't be filtering out based on the partition columns. For queries having a window function like:

I don't fully understand from the above description how it supposed to happen....
but if this is a bug ; then it should contain a testcase ! could you please add it?

I don't fully understand from the above description how it supposed to happen....
but if this is a bug ; then it should contain a testcase ! could you please add it?

@kgyrtkirk
As discussed offline, this PR has 2 parts:

Change to pass only window operator factories
Change in the logic to find shuffle spec

A lot of the existing tests failed with only (1). They pass with (1) + (2). Hence existing tests suffice.
So it's not a user-facing bug. But it's an incorrect logic which gets uncovered by (1), hence I called it a bug in the PR description. Happy to rephrase it if that helps.

@kgyrtkirk I'm closing this PR as the logic is incorrect as per offline discussion. Also, this change seems irrelevant now based on our latest offline discussion.


fix(context): set context db client only once when request initialized

bug:

child resolvers of a mutation resolver chain was using the readClient - debug PR is here

fix:

Regex the request to determine if a query or mutation; use write client if mutation, read otherwise.
unit and integration test
removed existing IContext method to amend the context for writeClient and resolver check to amend context for mutations

References
See slack thread https://pocket.slack.com/archives/C03QVL4SU/p1675453150101759
Jira ticket:

https://getpocket.atlassian.net/browse/INFRA-951

LGTM, merging to test in prod


Java error when trying to use the 3DCityDB importer and Energy ADE

When trying to use the 3DcityDB importer with the example gml files provided in the /resources/datasets/ section, I receive an Java error if I try to import them into the DB. I could install the ADE without problems, I can see that all the related tables are generated within the database, the ADE is registered correctly and can be retrieved within the importer.
However the following ugly error is shown when trying to import one of the given example datasets:
[13:29:04 ERROR] An error occurred: 'void org.citydb.ade.importer.CityGMLImportHelper.propagateObjectXlink(java.lang.String, long, java.lang.String, java.lang.String)'
[13:29:04 ERROR] Aborting due to an unexpected java.lang.NoSuchMethodError error.
This error is happening with both datasets.
The error is only shown when marking all feature types, if I only mark the KITEnergyADE Feature type, the import gives no error, but nothing is imported, although the console states that i file is imported:
[13:31:47 INFO] Initializing database import...
[13:31:47 INFO] Spatial indexes are enabled.
[13:31:47 INFO] Normal indexes are enabled.
[13:31:47 INFO] Creating list of CityGML files to be imported...
[13:31:47 INFO] List of import files successfully created.
[13:31:47 INFO] 1 file(s) will be imported.
[13:31:47 INFO] Importing file: C:\DITUR\Data\Bau445-LoD3-ADE.gml
[13:31:47 INFO] Resolving XLink references.
[13:31:47 INFO] Cleaning temporary cache.
[13:31:47 INFO] Total import time: 00 s.
[13:31:47 INFO] Database import successfully finished.
If I look into the database nothing is imported into any of the Energy tables!
System characteristics:
Windows OS
3D City Database Importer/Exporter Version 4.2.0 (2019-02-13)
PostGreSQL 13 (PostGIS)
JDK 15

I can reproduce your error. There has obviously been a breaking change in the ADE extension API between version 4.2.0 and 4.2.3 of the Importer/Exporter that we were not aware of.
Please use the EnergyADE extension 1.2.0 only with version 4.2.3 of the Importer/Exporter. I have changed the release notes accordingly.

Just released the new version 1.2.1 which can now be used with the latest version 4.3.0 of the Importer/Exporter


[FSADT1-1162] Prevent approving/rejecting a submission which is already approved/rejected

Description
If the action to approve/reject is responded with status 409, displays an error message at the top (and auto-scroll to it).
Also keeps the approve/reject buttons disabled after that.
Partially fixes FSADT1-1162 (since it also depends on the back-end part).
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

[ ] New unit tests
[ ] New integrated tests
[ ] New component tests
[ ] New end-to-end tests
[ ] New user flow tests
[ ] No new tests are required
[ ] Manual tests (description below)

Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have already been accepted and merged

Further comments

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend available
Frontend available
Legacy available
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

Converted to draft as is still missing the backend part. Going to push later today


[2201.3.x] Remove superfluous flagSet attribute

Purpose

Removes the redundant flagSet attribute in the BLangObjectTypeNode, which is also available in one of its parent classes: BLangType

Fixes #37560
Original PR: #37719
Approach
Samples
Remarks
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@sanjana Shall we change this to 3.x branch.

Shouldn't this be a 2201.3.x milestone?


ParquetConvert Serializer could take filePath/stream/streamReader instead

ParquetConvert Serialize takes an IEnumerable and with Schema optional. Is it possible to have an overload which takes Schema (not optional) and Stream/StreamReader? Converting CSV to Parquet is painful since we first have to serialize CSV to an object.

Why not using ParquetReader / ParquetWriter?

How do I specify DataColumn with stream when I use ParquetRowGroupWriter.WriteColumn()?

schema.Fields is of type field, DataColumn expects DataField and an array. I will need to serialize csv to object anyway or am I missing something?

No, you cannot stream CSV to Parquet, because the first one is row based and the second one is columnar. You'll have to load the entire CSV in memory, split in columns and then convert to Parquet.


Allow to add new Enumeration

as you allowed me to add a defined new Function to power-fx, Like this:
            var config = new PowerFxConfig();             config.AddFunction(new HelpFunction());             var engine = new RecalcEngine(config);
I want to allowed me to defined new Enumeration for example:
{     EnumConstants.GenderEnumString,     "%s[Male:\"male\", Female:\"female\", Other:\"other\"]" }

Does this example solve that: https://github.com/microsoft/power-fx-host-samples/blob/107cac581b66366aa3eedb30f4075f915e2a0dcd/Samples/ConsoleREPL/ConsoleREPL.cs#L36

I think that will help me to create new Enum, but it's limited because it takes Only KeyPair<string, string> and I need to be for example KeyPair<string, int>

Yes, that's intended. The current Enum implementation is not something we'd like to expand, it's not as type safe as Option Sets, and we'd prefer that any uses without back-compat considerations build on the safer option.
Do you have a use case where the stringified ints as the "logical" names wouldn't be sufficient? Given that it's typesafe, if you have a custom function that expects an option set value of your option set, you should be able to safely call int.TryParse on the value.


Glium compatibility

I will try that also but just courius to know in advance.
Will it work in either single thread or multi thread with Glium or Gfx?

It absolutely does work with Gfx. I got yasteroids as an example. Amethyst is also aiming to use Gfx+Specs in a multi-threading manner. Basically, you can populate command buffers in systems in parallel, and then send them over some channels to the context-owning thread for execution.
Glium interaction may be problem, although I haven't tried. We can leave the issue open to investigate that.

Thanks

@kvark Can you reopen this issue, please ? 😄

done

I don't know if it will really answer your question but I use specs with glium in my game ruga and here is how I made it:

update, render and events are decoupled like in piston event loop
the update method will call planner dispatch and wait
the event handling and render methods read and write world directly without parallelism

I guess it can be closed now, thanks for @thiolliere answer?


DNN-7777: add portal id in search document.

Went back and forth with @zyhfish on this issue, change looks good.


(BOLT-259) Update config file to default to bolt.yaml

Changes the default config file to bolt.yaml; continues to fall back
to bolt.yml if bolt.yaml not found. Issues a warning if both
bolt.yml and bolt.yaml exist.

CLA signed by all contributors.


MSSQL deployments

Hi,
Scenario: Utilising IdentityServer4 within the same database as the bespoke product. (This is forced by the client who do not want to maintain two separate databases.)
Problem: For the product we use dacpac's to deploy updates however as the schema for IdentityServer is not in the dacpac it attempts to drop it.
I guess when ID4 starts it will auto create the database but then what happens if the data within it had been changed.
Any thoughts on how to handle this situation?
Thanks
Jeremy

I guess when ID4 starts it will auto create the database but then what happens if the data within it had been changed.

What makes you think that? Strictly speaking IdentityServer is abstracted away from any stores. We provide an EF implementation of the stores and you must create and maintain that database anyway you see fit.
https://identityserver4.readthedocs.io/en/latest/quickstarts/5_entityframework.html#database-schema-changes-and-using-ef-migrations
https://identityserver4.readthedocs.io/en/latest/reference/ef.html


Implement rule: accountBalanceVsERC20Balance

This can be found here and needs to be ported over: https://github.com/logos-co/staking/blob/da6cac4e2045f0392a38917dc6c1682f40c4b6c0/certora/specs/StakeVault.spec#L30

This one is blocked by #14


Bump node_package to 2.0.5

This PR incorporates the updates to node_package that are going into the new riak releases. See also basho/stanchion#109 JIRA RCS-357

Just a note lest anyone approve this right away - node_package version is about to change, so hands off until it's settled

+1 c6863d7

+1  ee8260e

@borshop merge


Revisit linkage with Python casadi for Windows wheels and move away from pybamm-team/casadi-vcpkg-registry

Please read through #3100 and #3193 for background discussion. This proposition is about getting back to linking against the Python-based CasADi distribution from PyPI when building the IDAKLU extension for the Windows wheels. We currently use a custom vcpkg registry at https://github.com/pybamm-team/casadi-vcpkg-registry/ for this reason, but further releases mean that the versions for casadi at build-time and that at run-time can sometimes run out of sync with each other due to lack of periodic updates to the repository, and might cause issues with the import of the IDAKLUSolver after importing PyBaMM such as the one introduced in the PyPI wheels for certain users where a serialisation error was introduced (#3193).
This would serve two purposes:

Provide a more maintainable solution for building the Windows wheels, since the only vcpkg registry we would need to interface would be the one for SUNDIALS – which is needed because we require it to be built and distributed with KLU
Use the same version for build-time and run-time dependencies which ensures a stable binary.

I have tried building the Windows wheels and used casadi==3.6.4 from PyPI for the linkage in a workflow run for my fork, but it resulted in an error where the libcasadi.lib file was requested but just casadi.lib exists in the casadi/ folder, this might be a mismatch from their end or some error in our configuration (see https://github.com/pybamm-team/PyBaMM/issues/3100#issuecomment-1845352546)

I have been reading about this a bit and one way is to set a filesystem registry instead of a Git registry. I haven't tried this locally yet. Another thing we can look into for the time being is to move both Git registries into one registry (one single repository) since even that would ease things up by a bit.

Hi, I just submitted PR https://github.com/microsoft/vcpkg/pull/36885 which adds klu feature support to the vcpkg sundials port (as well as all of the other linear solvers + backends available in vcpkg). Hopefully I can get it merged without too much trouble.

This will move to pybammsolvers


Rocket Mini to GDSII failed at step 15

Description
I have successfully generated GDSII file with open lane for picorv32 with configuration using docker container.
However when I try to get GDSII for Rocket chip with Tiny configuration I got error at step 15.
[STEP 15]
[INFO]: Running Global Routing Resizer Timing Optimizations...
[ERROR]: during executing openroad script /openlane/scripts/openroad/resizer_routing_timing.tcl
[ERROR]: Exit code: 1
[ERROR]: full log: designs/ExampleRocketSystem/runs/RUN_2022.06.03_12.54.37/logs/routing/15-resizer.log
[ERROR]: Last 10 lines:
met2       Vertical      6182445       4937214          20.14%
met3       Horizontal    4121630       3293440          20.09%
met4       Vertical      2472978       1650582          33.26%
met5       Horizontal     824326        410880          50.16%
---------------------------------------------------------------

[INFO GRT-0101] Running extra iterations to remove overflow.
[ERROR GRT-0169] Net _0432988_: Invalid index for position (2590950, 3605250). Net degree: 6.
Error: resizer_routing_timing.tcl, 53 GRT-0169
child process exited abnormally

Googling I came to the following config.tcl
set ::env(DESIGN_NAME) ExampleRocketSystem
set ::env(FP_CORE_UTIL) 30

set ::env(CELL_PAD) 2

set ::env(PL_BASIC_PLACEMENT) 0
set ::env(PL_TARGET_DENSITY) 0.3

set ::env(GLB_RT_ADJUSTMENT) 0.2

set ::env(PL_ROUTABILITY_DRIVEN) 1

# Change if needed
set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/*.v]

# Fill this
set ::env(CLOCK_PERIOD) "10.0"
set ::env(CLOCK_PORT) "clk"

set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
if { [file exists $filename] == 1} {
        source $filename
}

Environment
docker --version
Docker version 20.10.16, build aa7e414

Please run the following set of commands in the OpenLane folder:

python3 ./env.py issue-survey
Kernel: Linux v5.4.0-113-generic
Distribution: ubuntu 20.04
Python: v3.8.10 (OK)
Container Engine: UNKNOWN vUNKNOWN (UNSUPPORTED)
OpenLane Git Version: 2653e6e4d69c8a8270c494e2ce61cbfd151fae38
pip: INSTALLED
pip:venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

2653e6e 2022-05-25T19:27:29+02:00 Synthesis Parameters, More Report Metrics (#1105) - Arya Reais-Parsi -  (HEAD -> master, tag: 2022.05.26_01.40.55, origin/master, origin/HEAD)
4298bf2 2022-05-25T17:42:21+02:00 Remove `endcap_cpp` option from `tapcell` (#1085) - Anton Blanchard -  ()
601eede 2022-05-21T18:47:55+02:00 Support Multi-Arch Docker Builds (#1075) - Mohamed Gaber -  (tag: 2022.05.22_02.07.28)

Reproduction Material

Upload a tarball containing the relevant design.
the used command

./flow.tcl -design ExampleRocketSystem
Expected behavior
Successful GDSII generation
src.tar.gz
openroad_issue_reproducible

@donn  the OL relevant piece is "OL should also drop checking max fanout at the end of the flow as I've also suggested."

I did not read the whole thread. But I noticed some abnormalities worth investigating:

CLOCK_PORT is supposed to be "clock". Assuming RockerChip uses Chisel default clock naming. I burnt there a couple of times.
the density is set to the corresponding value as the FP CORE UTIL. This may cause congestion issues down the line. I would recommend increasing the density to be at least 10% higher than core util. In the design according to the logs, the density is much higher than it is set to.
Always create a new design using -init_design. Copy pasting some designs folder may cause the wrong files to be picked, which you did not intend to. Burnt there many times.
the RocketChip is supposed to have the RAM cells replaced with tech-specific. Otherwise, the area usage is going to be insane => long runtimes and a lot of memory usage. It generates the config file, which can be used to configure the DFFRAM.

Hi,  I want to ask how to use the DFFRAM or openRAM in the ORFS flow to place and route a Rocket core?

You would run openram to generate the ram and then add the LEF to the P&R flow with the gds used for the final gds generation.  There is no direct link between the two.

@JiaDYuan
Have you updated your source file with OpenRAM?


How to change buoyancy configuration to make my model float

I load my own .stl model into the project and I want to know which files/parameters to adjust to make my model usable. Thank you very much.
Describe the bug
It is sinking too much

Expected behavior
I want it to be visible on the surface like this all the time

System Configuration:
Tell us about your system.

OS: Ubuntu 22.04
ROS Version: ROS 2, Humble
Gazebo Version: Gazebo Sim 7.0.0
Are you using VRX or VRX Classic? VRX

I recommend to go through this tutorial from Gazebo to learn about the Surface plugin and how to modify its parameters.
https://gazebosim.org/api/sim/8/surface_vehicles.html

Hello, I got everything worked. But now I am trying to add my function to the repo but I am not sure which is the main root file that everything starts from. Can you please show me that or something like a hierarchy of the program repo? Thank you very much.

Hey there @sontung1010, would you mind sharing how you add your .stl model?
I was wandering if I should use generate_wamv.launch.py to generate urdf file, or just add my model using /mesh within one of the worlds provided. e.g:


Hi, could you provide the cleaned 112 version MS-Celeb-1M and the list file

Hi, could you provide the cleaned cropped MS-Celeb-1M training data and the list file. Thank you

sorry， I did this mini project during my campus time, and now I don't have the train/val/test data.

sorry， I did this mini project during my campus time, and now I don't have the train/val/test data.

Ah, ok, thank you for your info


Statically linked Intel binary crashes on WSL

A statically linked program using OpenMP and built with Intel's C++ compiler on a native Linux system crashes on WSL. If the same source is compiled with g++ it runs fine.
I installed a version of "Intel Parallel Studio XE 2017 Update 1" on a native Ubuntu 14 Linux PC. This PC already has the GNU compilers installed. On that PC I compile the source file OpenMPtest.cpp both with the Intel compiler and with the GNU compiler using the following command lines:

g++ -fopenmp -static -g -O3 OpenMPtest.cpp -oOpenMPtest.gnu.X

and

icpc -qopenmp -fast -static -debug all OpenMPtest.cpp -oOpenMPtest.intel.X

Both of the executables, OpenMPtest.gnu.X and OpenMPtest.intel.X run fine on a native Linux PC.
When these binaries are copied to the Windows 10 PC and executed under WSL only the OpenMPtest.gnu.X binary runs fine. The OpenMPtest.intel.X binary crashes (after accepting stdin) with the following output:

root@PAULI:~/LinuxTest/TestBuildTools/testIntel/OpenMPtest# ./OpenMPtest.intel.X
Enter number of OpenMP threads to use for this calculation: 4
This program is the slow Pi calculator, a small OpenMP test for your system.
OMP: Error #100: Fatal system error detected.
OMP: System error #22: Invalid argument
Aborted (core dumped)
root@PAULI:~/LinuxTest/TestBuildTools/testIntel/OpenMPtest#

My Windows build number is:
Windows 10 version 1607, OS build 14393.447
To reproduce the crash install Intel Parallel Studio XE 2017 Update 1 on a native Ubuntu 14 Linux PC ( I haven't tested other flavours of Linux). Then build the source file, OpenMPtest.cpp, with the command lines as above. Then copy the binaries to the Windows 10 PC and run them from the Bash shell.
OpenMPtest.zip contains the source code together with the two binaries from building with Intel and gnu compilers.
Fixing this bug would be quite a milestone for making Windows 10 with WSL a serious alternative to a native Linux PC.

Please rerun your program with
strace -ff ./OpenMPtest.intel.X &> ~ stracelog.txt
and upload the strace to github by dragging (github requires an extension of .txt to drag for some reason).
This will show which, if any, syscalls are not implemented.

Right, here is the tracelog:
tracelog.txt

Looks like the failure is coming from sched_getaffinity:
sched_getaffinity(0, 4, 0x7f599c0d7d80) = -1 EINVAL (Invalid argument) write(2, "OMP: Error #100: Fatal system er"..., 86OMP: Error #100: Fatal system error detected.
@misenesi, can you check if this is fixed by the recent sched affinity improvements?
!

@Oeffner, I have successfully run both intel and gnu versions from your zip file on the latest build. Marking as closed.

That is very good news. Any idea of when this insiderbuild will come out as a Windows update?

@Oeffner - Updates will come in the next release of Windows, which is slated for early 2017.


Unable to reassign change desktop keyboard shortcut

ℹ Computer information

PowerToys version: 0.25.0
PowerToy Utility: Keyboard Manager
Running PowerToys as Admin: Yes
Windows build number: 20H2 (19042.630)

📝 Provide detailed reproduction steps (if any)
Reassign windows key to alt
Reassign alt key to windows
Attempt to use keyboard shortcut to change virtual desktops
Alternatively
Reassign Win Ctrl Right (and left) to Win Alt Right (and left)
✔ Expected result
Virtual desktops should change when using Win Alt Right (or Left) shortcut.
❌ Actual result
Virtual desktops do not change.
📷 Screenshots
I realise there is a similar known issue relating to gestures, but it does not seem to cover Windows defined keyboard shortcuts, such as changing virtual desktop.
I have some misgivings about how virtual desktops work, but it's OK.
I use a Microsoft sculpt keyboard.

Hi @Relequestual, thank you for bringing this bug to our attention. Can you please share a screenshot of your Keyboard Manager Settings to help us further diagnose the issue?


Flaky test TestBatchServiceCreate

Test TestBatchServiceCreate appears to be flaky. CI example
 === RUN   TestBatchServiceCreate
=== RUN   TestBatchServiceCreate/expect_put_create_put_error
    batchservice_test.go:134: expected error
=== RUN   TestBatchServiceCreate/passes
=== RUN   TestBatchServiceCreate/passes_without_recovery
=== RUN   TestBatchServiceCreate/batch_with_near-zero_val_rejected
--- FAIL: TestBatchServiceCreate (0.00s)
    --- FAIL: TestBatchServiceCreate/expect_put_create_put_error (0.00s)
    --- PASS: TestBatchServiceCreate/passes (0.00s)
    --- PASS: TestBatchServiceCreate/passes_without_recovery (0.00s)
    --- PASS: TestBatchServiceCreate/batch_with_near-zero_val_rejected (0.00s)

Fixed in: https://github.com/ethersphere/bee/pull/3923


Selected match doesn't update when 'append-to-body="true"'

Selected match doesn't update when 'append-to-body="true"', but the model changes

+1 did you find a fix for this?

Can you post a reproduction in Plunker?

Hi, I ran into this issue today as well (AngularJS v1.2.26, ui-select v0.16.0). I tried creating a plunker, but frustratingly I was not able to create one that actually replicates this issue. If anyone would like a working plunker to start from to help replicate this issue you can use http://plnkr.co/edit/22y9H7E4nqIFNk5uYl4q?p=preview
I did notice that when using append-to-body the scope of the span that should contain the match does not have a parent scope. That makes sense why <ui-select-match>{{ $select.selected.name }}</ui-select-match> would be blank because $select doesn't exist on the scope:

without append-to-body ($select is now available):

I noticed that using uis-transclude-append instead of ng-transclude within the match template( https://github.com/angular-ui/ui-select/blob/master/dist/select.js#L2084) fixes the issue:
$templateCache.put("select2/match.tpl.html","{{$select.placeholder}}   ");

When I inspect the ui-select-match's span as I did above it has the correct parent scope. I haven't noticed any issues because of that change yet, but I also couldn't say if it's totally legit or not. If it is I'm happy to submit a PR.