ENH: sparse: New nD sparse array functions

Is your feature request related to a problem? Please describe.
CVXPY is looking for a sparse COO-like nD type. Functionality needed seems close to what is provided by the new COO nD format here.
Describe the solution you'd like.
Some helpful NumPy functions wanted for the sparse array are:

expands_dims
swapaxes, (or transpose?)
nd-kron
slicing along one axis. (either with slices, or arrays, e.g. A[:, [4,8,12], :])

Describe alternatives you've considered.
No response
Additional context (e.g. screenshots, GIFs)
This stems from a scipy-Discord discussion about 11/18/2024

From @williamZ on discord:
Yes that would be really helpful. we have a function select_rows that is called quite often actually.
and it just does the following (this is for the numpy backend, hence why its 3d):
  def func(x):
      return x[:, rows, :]

and if you are curious, our current implementation for the same behavior in scipy is as follows (where p is the size of the third dimension)
and just a reminder, the trick we use is to stack the third dimension vertically to create a strided array (with many more rows than cols):
  def func(x, p):
      if p == 1:
          return x[rows, :]
      else:
          m = x.shape[0] // p
          return x[np.tile(rows, p) + np.repeat(np.arange(p) * m, len(rows)), :]

Could you take a look at our current kron. I think we just need to switch from handling row and col to handling the tuples of coords A.coords in a tuple comprehension way. I envision a PR to make kron handle nD (including 1D) and add extend_dims and swapaxes. The code for extend_dims involves creating a new array of zeros put into coords and updating self._shape. But first check whether a reshape with the new shape adding a 1 is sufficient. That would be a really short function and would mimic the numpy function.  The swapaxes function would need to rearrange the tuple self.coords and self._shape. It might be able to use transpose, but I haven't checked that.

Hey @dschult thanks for opening this issue!
Sorry for the confusion but this is actually my github account. (If you remember, I had contributed to networkx also last year :), on adding the broadcasting module, thanks again for your tremendous review!).
I am just commenting to have this issue in the tracker. Also gonna reference #21435 to also keep track of it.

Nice!   Hello William!  I had not made that connection.
:)
Can we tag Parth too?  Not sure of their github username.

These additions seem reasonable to me, and having a real-world need for them is certainly helpful.
Re swapaxes: use permute_dims I'd say (xref permute_dims in the array API standard and https://github.com/data-apis/array-api/issues/483#issuecomment-1255974661).

Hi all,
Can I just point out that there are open (and even approved!!) PRs that generalise SciPy sparse arrays to N dimensions? Some of that work has already been merged, and some of it still needs someone to just merge it. These were done by @anushkasuyal with guidance from myself and @rgommers over the summer. See:
https://github.com/scipy/scipy/pull/21435
https://github.com/scipy/scipy/pull/21613
The work is already done for months now, so it would really be great if we can work out how to proceed. cc @rgommers @steppi @dschult @perimosocordiae

Can I just point out that there are open (and even approved!!) PRs that generalise SciPy sparse arrays to N dimensions?

Yep, I think @ptnobel said on discord that they'd drop a review on gh-21435.

Yep, I think @PTNobel said on discord that they'd drop a review on gh-21435.

Yes, it's on my to-do list for the weekend. William and I (well, almost all William) went through the operations in the PRs last weekend to make the list of additional operations he requested on Discord.
I also am shopping around a design doc on our end to get permission to put coo_array in our public API.

Could you take a look at our current kron. I think we just need to switch from handling row and col to handling the tuples of coords A.coords in a tuple comprehension way. I envision a PR to make kron handle nD (including 1D) and add extend_dims and swapaxes. The code for extend_dims involves creating a new array of zeros put into coords and updating self._shape. But first check whether a reshape with the new shape adding a 1 is sufficient. That would be a really short function and would mimic the numpy function. The swapaxes function would need to rearrange the tuple self.coords and self._shape. It might be able to use transpose, but I haven't checked that.

Hi, just wanted to mention that an implementation of kron for nD COO arrays does exist here - e18c383. I've not put up this PR yet as I was waiting for the previous two to get merged first (so I could rebase etc.). The branch that the above commit belongs to also implements tensorsolve, in case that's of interest too!

Yes, it's on my to-do list for the weekend. William and I (well, almost all William) went through the operations in the PRs last weekend to make the list of additional operations he requested on Discord.

If this is of any help, here is the link to a tracker that I'm maintaining to track how much functionality for COO arrays has been extended to nD. As far as the work done is concerned, all the methods in this tracker (apart from resize) have a working implementation. A few of them have been implemented in #21435 and #21613, whereas some are in a branch consisting of the last chunk of work I did - extend-coo-nd-kron-tensorsolve.

Hi, just wanted to mention that an implementation of kron for nD COO arrays does exist here - e18c383. I've not put up this PR yet as I was waiting for the previous two to get merged first (so I could rebase etc.). The branch that the above commit belongs to also implements tensorsolve, in case that's of interest too!

That looks really good, I think as long as it matches NumPy's behavior it will be good for our use-case. I was just wondering if this implementation would support having one of the kron operands be dense aswell?

If this is of any help, here is the link to a tracker that I'm maintaining to track how much functionality for COO arrays has been extended to nD. As far as the work done is concerned, all the methods in this tracker (apart from resize) have a working implementation. A few of them have been implemented in #21435 and #21613, whereas some are in a branch consisting of the last chunk of work I did - extend-coo-nd-kron-tensorsolve.

Thanks for your great work @anushkasuyal this is a tremendous contribution!
I guess we are just missing indexing as mentioned above? Let us know if we could be of any help for that!
I would be really happy to work with you on this after my exams :).


Your request to provision "Microsoft 365 learning pathways"  template failed!

Please report the issue here providing the following provisioning action correlation ID: 3986f752-93f3-41d1-9081-0deeb9551ab8 !

Hi, Thanks for your feedback. I'm closing this item because it is now outdated.


asdf

The organisation of the data for arms-mbon has been changed to the following
Data
AnalysisData -> will be to hold any outputs from PEMA or similar
QualityControlledData -> will be to hold the harvested data from PlutoF and googlesheets (and simaril) after the intial QC (that which is done while the data are being harvested from source); any additional QC done on those data will also be held in here
ReformattedData -> to hold data destined for particular end-points: the LifeWatch IJI is the first example, the CSV file to be attached to IMIS (probably via the MDA) is a second
Documentation
Templates
This issue is to request that ONCE (hopefully) PlutoF have fixed their bug with the image download URLs not being accessible, then please do a download (but see the next issues which are about additional QC steps to be done during that download). That should go into Data/QualityControlledData/FromPlutoF. You can then delete the repo to_publish_data


Investigate failing pipeline for release 4.17

The pipeline has been fixed for 4.16, but there is a problem with 4.17.

It seems that additional monitor tests need to be disabled for 4.17.

@redbeam go for it, if you think tha disabling that test make the CI green.

The pipeline is passing after disabling additional tests.


Results grids aren't sized proportionally

Azure Data Studio Version: 1.13

Steps to Reproduce:

Open query window and type a query with two results sets
Execute query

Expected: results set grids height is split 50%\50% unless the grids are larger than minimum size
Actual: First grid gets disproportionate height
Note: colored boxes should be same height

Another related note is that tab-switching away and back to this editor fixes the sizing issue.

Fixed for release/1.13

I've looked a bit at this problem and I'm not sure what's causing it. @anthonydresser can I assign this to you?

I've traced the issue to https://github.com/microsoft/azuredatastudio/blob/0405658be76624193055e79c74bda6f2f940721f/src/sql/workbench/contrib/query/browser/gridPanel.ts#L637-L645 so far, I'm not sure if that's relevant but a lot of this code is stuff I don't really understand.

Closing older issues.


Hyper client does not clean up idle connections with non-tokio executor

Version
Hyper 0.13.10
Platform
The output of uname -a (UNIX), or version and 32 or 64-bit (Windows)
Fuchsia, as well as on Linux and OS-X
Description
Fuchsia uses hyper as our http client in a few places. Inside the Fuchsia operating system, we use a Fuchsia-specific executor. Our host-side development tools also use async-executor instead of tokio. Because of this, we've discovered that our client connection pool is not closing idle connections. This is because the pool implementation only runs the periodic idle connection cleaner if the runtime feature, which pulls in tokio, is enabled:
https://github.com/hyperium/hyper/blob/master/src/client/pool.rs#L385
We'd be happy to work around this on our side, but unfortunately hyper doesn't expose the pool implementation, or any method to remove idle connections.
One possible way we could support this is to add a function Client::close_idle_connections(), which under the covers calls PoolInner::clear_expired. We could set up a task using our timer interfaces to periodically close these connections. Would you be interested in patch that implements this? Or would you prefer a separate mechanism to expose this functionality?

Yea, I agree, I wrote about runtime woes in the 1.0 proposal. There, I proposed a couple things to try to fix this:

Adding a Timer trait, similar to the Executor trait, and have the timeouts and intervals use that instead of requiring Tokio.
Moving the Client into hyper-util, and breaking it up into composable parts that could allow a more customized Pool.

I realize that 1.0 is probably farther away than you'd like to fix it. A stopgap could be a fine temporary solution... You said hyper v0.13? That branch doesn't see any more support. A temporary solution in 0.14.x seems feasible though.

We discussed this a while ago in Discord and then I never got the time to prioritize doing this that I thought I'd have. My apologies.
Copying over the suggestion at the time:
pub trait Timer {
    /// Return a future that completes in `dur` time.
    fn sleep(&self, dur: Duration) -> Pin<Box<dyn Future<Output = ()>>>;
}

#[derive(Clone)]
pub(crate) enum TimerImpl {
    Default,
    Timer(Arc<dyn Timer + Send + Sync>),
}

impl Builder {
    pub fn timer<T: Timer + Send + Sync>(mut self, timer: T) -> Self {
        self.inner.timer = TimerImpl::Timer(Arc::new(timer));
        self
    }
}

One issue with implementing this for Fuchsia is that our timers don't support re-arming before they've fired, while Tokio's do. This behavior would be relied upon by hyper, since h2 pings and acks would generally arrive before the timers expire in the normal happy case. ISTR a good solution was at least not trivial, but I am at this point pretty hazy on what happened in December 2020 :).
Erick, given the effort it took to do a 0.13 point update, what are your thoughts on updating to 0.14.x?


other player can not open chests

last version 1.18.1
other player cannot open chests, if i added them to read list..
interaction with chests like doors etc. should be possible

It seems to work here. Is this a dedicated server or LAN? Are you an operator? Is the chest near spawn? Check that you are spelling the name exactly (it is case-sensitive).


chore: arrange the arguments 'start' and 'stop' of 'XRevRange(N)' in the way as the order of the redis command.

In the redis command 'XREVRANGE', 'end' is followed by 'start'.
https://redis.io/commands/xrevrange/
XREVRANGE key end start [COUNT count]
In go-redis 'XRevRange' and 'XRevRangeN', 'start' is followed by 'stop'.
XRevRange(stream, start, stop string)
XRevRangeN(stream, start, stop string, count int64)
There is no problem with the program's behavior, but it might be confusing.
So in 'XRevRange' and 'XRevRangeN', 'stop' is followed by 'start'.

It is better to not break existing programs that rely on such order.


Could we please get access to UltraDomain's query set? The project shows great potential.

You can download UltraDomain and follow the steps in the reproduce section.


[Feature] How to get actual request_output_len if the early stop happened?

Motivation
For example, the request_output_len = 256, if the early stop happened, we assume the actual output_token_len is 180, The chatbot.stream_infer() seems to return the expected generated token number 256 rather than 180.
So how to get the actual generated token len?
Related resources
No response
Additional context
No response

chatbot.stream_infer yields status, text, and n_tokens, among which text refers to the generated text and n_tokens means the number of completion tokens.
You can hardcode serve/client.py as below to check if it is the case
chatbot = Chatbot(tritonserver_addr,
                      log_level=log_level,
                      display=False) # disable showing AI assistant answer in console

 if stream_output:
                for status, res, n_token in chatbot.stream_infer(
                        session_id,
                        prompt,
                        request_id=request_id,
                        request_output_len=512):
                    print(status, n_token, res)

Thanks for your reply.
I have tested the case in my situation. The expected out_token_length is 180 although the resquest_out_token_len is 256, it seems that the early stop is not happened.
BTW, the parameters of top_k, top_p, temperature, repetition_penalty in LMDeploy is aligned with my case.

chatbot.stream_infer yields status, text, and n_tokens, among which text refers to the generated text and n_tokens means the number of completion tokens.
You can hardcode serve/client.py as below to check if it is the case
chatbot = Chatbot(tritonserver_addr,
                      log_level=log_level,
                      display=False) # disable showing AI assistant answer in console

 if stream_output:
                for status, res, n_token in chatbot.stream_infer(
                        session_id,
                        prompt,
                        request_id=request_id,
                        request_output_len=512):
                    print(status, n_token, res)

Thanks for your reply.
I have tested the case in my situation. The expected out_token_length is 180 although the resquest_out_token_len is 256, it seems that the early stop is not happened.
BTW, the parameters of top_k, top_p, temperature, repetition_penalty in LMDeploy is aligned with my case.

Which model are you using? Let me reproduce it

model: llama-13b-hf
https://huggingface.co/lmsys/vicuna-13b-v1.5/tree/main
https://huggingface.co/lmsys/vicuna-13b-delta-v1.1
top_k, top_p, temperature, repetition_penalty = 3, 0.95, 0, 1.15
follow the description: https://github.com/InternLM/lmdeploy/blob/main/docs/en/serving.md#serving-vicuna


Week 1

2.7+/2.7

Seeing that you understand how to use Code.org and that you used it to complement your learning on primitives.  Up to Lesson 5 in the OOP assignment.
Productive Blogging

Create a Jupyter Notebook(s) using IJava kernel and that you could use it to capture key learning on Primitives.  Link
Create a Jupyter Notebook using Bash and that you could use it to show that you have all the key tools installed.   This should also be a Blog for your own personal memory. Link
Each student captures information  in Fastpages thinking ... how they are going to capture information that will grow to 10 college board units ... how they will recognize something as PBL vs College Board. Link

2.7

2.7+

Demonstrated understanding of primitives with Java program.
All tools properly installed and documented using bash
Capture information plan present... plan already in place with good note taking


Problems with straightening transform of Curved Planar Reformat module

Hi @lassoan.
Without custom plates to ensure non-intersecting holes (of fixing screws and dental implants) in the mandible reconstruction the fibula dental implant drill guides are not so useful because eyeballing of the surgeon becomes necessary. So getting to make custom plates is very important. That way will reach to get the standard of care with BoneReconstructionPlanner.
I'm testing the principle to create the custom plate. I tried to make create the straightening transform of the curved plate using a spline curve (that resambles a linear curve for more precision because the mandible reconstruction is made of linear bone segments and the spline curve will resemble a linear curve when we use it to create a custom plate with this method).

As you can see I couldn't achieve straightening without deformation of the mesh. There are big deformations (as in the picture) and small deformations (also slightly visible in the picture) that alter the width of the plate making it non-uniform.
I tried with smaller slice size and bigger curve resolution without better results. I don't see folding in the earlier pictures but there are abrupt changes of direction on the grid lines that I assume could have something to do with the bad results.
Even trying with a different curve that was smooth I couldn't achieve results as shown in the documentation:

This was the best I got with the smooth curve and there are abrupt changes of direction on the grid lines:

Do have any idea/suggestions of how to improve this results?

Things we talked about in the developer meeting:

Simulating physical plate bending on the computer with previously proposed non-linear transform won't be useful because you cannot guarantee that the surgeon will bend the plate in the simulated way (or that the simulation is accurate to represent tool-bending of the plate).

3D printed custom plates for fixing the reconstruction are the standard of care and will focus on that.

We discussed about 4 ways of making a custom plate mesh:

Make it with custom linear extrusion algorithm with the profile curve and the path curve as inputs.
Make it from a straight plate mesh (vtkBoxSource) and bend it with a curved planar reformat module's non-linear transform.
Make it with the segment editor (grow with margin and cut with scissors) although the mandible reconstruction model will have to be imported to the mandible segmentation so this may not be accurate enough.
Make it creating two tubes from one above, one below mandible-reconstruction-curves and join them with small boxes (vtkBoxSource) and make the boolean union of all that and then the boolean difference with the mandible reconstruction model.

If more accuracy is needed FEA should be used to develop the mesh

Sorry if I forgot something, we talked a lot in the meeting.
@lassoan will check a scene I will upload to see if he can make the non-linear transform straighten the plate without deformation.
@lassoan next steps for me or something you'd like to get me working on?
Custom-plate design is the only thing we lack to achieve the standard of care on mandible reconstruction inside Slicer.

Here is the scene you asked me (for the stable release) @lassoan
https://gofile.io/d/S2bVs8

making a custom plate mesh:

Make it with custom linear extrusion algorithm with the profile curve and the path curve as inputs.

See #51


[Feature]: update doc for @suspensive/react-query cli

Package Scope
@suspensive/react-query
Description
update doc for @suspensive/react-query cli
Possible Solution
No response
etc.
No response

duplicated with https://github.com/toss/suspensive/issues/983


@vue/server-renderer missing on unit test with new vue 3 mocha chai config

Version
4.5.7
Environment info

Environment Info:

  System:
    OS: Linux 5.4 Ubuntu 20.04 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz
  Binaries:
    Node: 12.18.3 - ~/.nvm/versions/node/v12.18.3/bin/node
    Yarn: Not Found
    npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
  Browsers:
    Chrome: 84.0.4147.135
    Firefox: 81.0
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-helper-vue-transform-on:  1.0.0-rc.2
    @vue/babel-plugin-jsx:  1.0.0-rc.3
    @vue/babel-plugin-transform-vue-jsx:  1.1.2
    @vue/babel-preset-app:  4.5.7
    @vue/babel-preset-jsx:  1.1.2
    @vue/babel-sugar-functional-vue:  1.1.2
    @vue/babel-sugar-inject-h:  1.1.2
    @vue/babel-sugar-v-model:  1.1.2
    @vue/babel-sugar-v-on:  1.1.2
    @vue/cli-overlay:  4.5.7
    @vue/cli-plugin-babel: ~4.5.0 => 4.5.7
    @vue/cli-plugin-e2e-webdriverio: ~4.5.0 => 4.5.7
    @vue/cli-plugin-eslint: ~4.5.0 => 4.5.7
    @vue/cli-plugin-pwa: ~4.5.0 => 4.5.7
    @vue/cli-plugin-router: ~4.5.0 => 4.5.7
    @vue/cli-plugin-typescript: ~4.5.0 => 4.5.7
    @vue/cli-plugin-unit-mocha: ~4.5.0 => 4.5.7
    @vue/cli-plugin-vuex: ~4.5.0 => 4.5.7
    @vue/cli-service: ~4.5.0 => 4.5.7
    @vue/cli-shared-utils:  4.5.7
    @vue/compiler-core:  3.0.0
    @vue/compiler-dom:  3.0.0
    @vue/compiler-sfc: ^3.0.0 => 3.0.0
    @vue/compiler-ssr:  3.0.0
    @vue/component-compiler-utils:  3.2.0
    @vue/eslint-config-standard: ^5.1.2 => 5.1.2
    @vue/eslint-config-typescript: ^5.0.2 => 5.1.0
    @vue/preload-webpack-plugin:  1.1.2
    @vue/reactivity:  3.0.0
    @vue/runtime-core:  3.0.0
    @vue/runtime-dom:  3.0.0
    @vue/server-renderer: ^3.0.0 => 3.0.0
    @vue/shared:  3.0.0
    @vue/test-utils: ^2.0.0-0 => 2.0.0-beta.6
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^7.0.0-0 => 7.0.1
    typescript: ~3.9.3 => 3.9.7
    vue: ^3.0.0 => 3.0.0
    vue-eslint-parser:  7.1.1
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.9.3 (16.0.0-beta.8)
    vue-router: ^4.0.0-0 => 4.0.0-beta.13
    vue-style-loader:  4.1.2
    vue-template-es2015-compiler:  1.9.1
    vuex: ^4.0.0-0 => 4.0.0-beta.4
  npmGlobalPackages:
    @vue/cli: 4.5.7

Steps to reproduce
Make a new basic mocha chai vue 3 project

run npm run test:unit

What is expected?
Tests should run
What is actually happening?
tests cant run, dependency missing

npm install -D @vue/server-renderer begins to fix the issue.

I've had a similar (same?) issue with @vue/server-renderer missing with a new project generated with vue-cli.
Once I've explicitly added it to my project I now seem to encounter another issue where the "@" syntax in imports is
not resolved to the src folder.
TS2307: Cannot find module '@/components/person-form' or its corresponding type declarations.

Even though while debugging<EMAIL_ADDRESS>I can clearly see the resolve.alias is configured correctly.
I think I will temporarily try to use jest for testing in my use case, even though in the long term I prefer Mocha + Chai
in this project.

jest is also giving me trouble.... I'm now testing on a new debian buster install with node 12.19. We are apparently traiblazing :/ still not sure what it is we are doing that is still in alpha stage babel+ts? vue 3?

><EMAIL_ADDRESS>test:unit /home/amama/git/temp/tsjest
> vue-cli-service test:unit

 FAIL  tests/unit/example.spec.ts
  ● Test suite failed to run

    TypeScript diagnostics (customize using `[jest-config].globals.ts-jest.diagnostics` option):
    tests/unit/example.spec.ts:7:34 - error TS2769: No overload matches this call.
      The last overload gave the following error.
        Argument of type 'DefineComponent<{}, {}, {}, Record<string, ComputedGetter<any> | WritableComputedOptions<any>>, MethodOptions, ComponentOptionsMixin, ... 5 more ..., {}>' is not assignable to parameter of type 'ComponentOptionsWithObjectProps<readonly string[] | Readonly<ComponentObjectPropsOptions<Record<string, unknown>>>, {}, {}, Record<string, ComputedGetter<any> | WritableComputedOptions<...>>, ... 6 more ..., { ...; } | {}>'.
          Property 'props' is missing in type 'ComponentPublicInstanceConstructor<{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Pick<Readonly<{} & {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps, "key" | ... 8 more ... | "style">; ... 10 more ...; $watch(source: string | Function, cb: Function, options?: WatchOptions<...> | und...' but required in type '{ props: (readonly string[] & ThisType<void>) | (Readonly<ComponentObjectPropsOptions<Record<string, unknown>>> & ThisType<void>); }'.

    7     const wrapper = shallowMount(HelloWorld, {
                                       ~~~~~~~~~~

      node_modules/@vue/runtime-core/dist/runtime-core.d.ts:336:5
        336     props: PropsOptions & ThisType<void>;
                ~~~~~
        'props' is declared here.
      node_modules/@vue/test-utils/dist/mount.d.ts:36:25
        36 export declare function mount<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends Record<string, Function> = {}, E extends EmitsOptions = Record<string, any>, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, E, Mixin, Extends, EE>, options?: MountingOptions<ExtractPropTypes<PropsOptions>, D>): VueWrapper<ComponentPublicInstance<ExtractPropTypes<PropsOptions>, RawBindings, D, C, M, E, VNodeProps & ExtractPropTypes<PropsOptions>>>;
                                   ~~~~~
        The last overload is declared here.

I'm getting the same issue of unsuccessfully resolving paths containing "@" prefix even with jest.

Even after adding the relevant configuration to the jest.config.js as suggested by the docs.

{
"jest": {
  // support the same @ -> src alias mapping in source code
  "moduleNameMapper": {
    "^@/(.*)$": "<rootDir>/src/$1"
  }
}

}

I believe I will go back to vuejs 2.x for now and re-evaluate vuejs 3.0 at a later time.

I'm getting the same issue of unsuccessfully resolving paths containing "@" prefix even with jest.

Even after adding the relevant configuration to the jest.config.js as suggested by the docs.

{
"jest": {
  // support the same @ -> src alias mapping in source code
  "moduleNameMapper": {
    "^@/(.*)$": "<rootDir>/src/$1"
  }
}
}

I believe I will go back to vuejs 2.x for now and re-evaluate vuejs 3.0 at a later time.

does you .env have:
VUE_APP_BASE_URI=/

I am not using @vue/cli-plugin-babel/preset only the TypeScript plugin. and imports.


bond - please support building with DBOND_ENABLE_GRPC=TRUE

Is your feature request related to a problem? Please describe.
Currently editing the portfile manually and speciying DBOND_ENABLE_GRPC=TRUE breaks the build
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: ninja -v
    Working Directory: E:/foundations/vcpkg/buildtrees/bond/x64-windows-rel/vcpkg-parallel-configure

From bond documentation it seems that in order to build it requires some 'choco' packages:
activeperl golang ninja yasm
I'm not familiar with cmake so i'm not sure how and if it can be automated but since there's already a port for gRPC i'm guessing this is a viable option.
Proposed solution
Support building together with grpc as a package flavor

Those additional packages are needed to build gRPC from source only. However, in vcpkg, it would be possible to depend on the gRPC port--which already handles building gRPC. I expect that some changes to Bond's CMakeLists.txt would be needed to consume a pre-compiled gRPC library instead of building from source.
If you're interested in contributing this to Bond, we'd be happy to have such a PR.

Opened PR https://github.com/microsoft/vcpkg/pull/10319/


Instance agent creation error with hibinit-agent

I get this error with agent version numbers 5.6.1-5.7.0 using AMI ami-0db800b1d4e4c42ac. I am deploying this via cdk and cloudformation and  unless there are more errors I am not aware of the stack fails to complete setup after this error:
[  OK  ] Stopped LVM2 metadata daemon.

[    7.327863] hibinit-agent[2794]: Traceback (most recent call last):

[    7.355289] hibinit-agent[2794]: File "/usr/bin/hibinit-agent", line 496, in <module>

[    7.357069] hibinit-agent[2794]: main()

[FAILED] Failed to start Initial hibernation setup job.

See 'systemctl status hibinit-agent.service' for details.

[    7.362801] hibinit-agent[2794]: File "/usr/bin/hibinit-agent", line 435, in main

[    7.365614] hibinit-agent[2794]: if not hibernation_enabled(config.state_dir):

[    7.365812] hibinit-agent[2794]: File "/usr/bin/hibinit-agent", line 390, in hibernation_enabled

[    7.367681] hibinit-agent[2794]: imds_token = get_imds_token()

[    7.367885] hibinit-agent[2794]: File "/usr/bin/hibinit-agent", line 365, in get_imds_token

[    7.368971] hibinit-agent[2794]: response = requests.put(token_url, headers=request_header)

[    7.369182] hibinit-agent[2794]: File "/usr/lib/python2.7/site-packages/requests/api.py", line 121, in put

[    7.371220] hibinit-agent[2794]: return request('put', url, data=data, **kwargs)

[    7.371428] hibinit-agent[2794]: File "/usr/lib/python2.7/site-packages/requests/api.py", line 50, in request

[    7.373547] hibinit-agent[2794]: response = session.request(method=method, url=url, **kwargs)

[    7.373764] hibinit-agent[2794]: File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 486, in request

[    7.375695] hibinit-agent[2794]: resp = self.send(prep, **send_kwargs)

[    7.375898] hibinit-agent[2794]: File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 598, in send

[    7.377122] hibinit-agent[2794]: r = adapter.send(request, **kwargs)

[    7.377337] hibinit-agent[2794]: File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 419, in send

[    7.379368] hibinit-agent[2794]: raise ConnectTimeout(e, request=request)

[    7.379564] hibinit-agent[2794]: requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: /latest/api/token (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f7cef2835d0>: Failed to establish a new connection: [Errno 101] Network is unreachable',))

I’m not familiar with hibinit-agent, though it looks like this could be https://github.com/aws/amazon-ec2-hibinit-agent? Could you please provide a full steps to reproduce for this error and we can look into it, though you might be better served opening an issue in the hibinit-agent repo whose maintainers will have familiarity with the errors it generates 🙇

I’m going to close this as stale, please let us know if we can help further.


Continue sidebar menu grouping feature

@glennjacobs I can see this one was started so I have continued this grouping feature.
If we can't make the next beta release then please include in the new develop branch to avoid switching branches 😂

@markmead Tooltip updated to group hover.
I have quite a few ideas on improving this menu grouping feature.
Already implemented part of this for my client customisations the ability to dynamically populate the menu from the page components.
With this I am introducing a new Resource class to handle the menu and PageComponent to handle the view.
The page CRUD components extend the resource so only need to define the navigation once.
<?php

namespace GetCandy\Hub\Http\Livewire\Pages\Products;

use GetCandy\Hub\Http\Livewire\PageComponent;

abstract class ProductsResource extends PageComponent
{
    protected static string $navigationLabel = 'Products';

    protected static string $navigationIcon = 'shopping-cart';

    protected static string $navigationGroup = 'catalogue';

    protected static int $navigationPosition = 3;

    public function mount()
    {
        static::setTitle('Products');
    }
}

<?php

namespace GetCandy\Hub\Http\Livewire;

use Livewire\Component;

class PageComponent extends Component
{
    protected static string $view;

    protected static string $navigationLabel;

    protected static string $navigationIcon;

    protected static string $navigationGroup;

    protected static int $navigationPosition;

    protected static array $params = [];

    public static function setTitle(string $title)
    {
        self::$params['title'] = $title ?? 'Page';
    }

    /**
     * @param  array  $params
     */
    public static function setParams(array $params): void
    {
        self::$params = array_merge(self::$params, $params);
    }

    /**
     * Render the livewire component.
     *
     * @return \Illuminate\View\View
     */
    public function render()
    {
        return view('adminhub::livewire.pages.'.static::$view)
            ->layout('adminhub::layouts.app', static::$params);
    }
}

This is how it looks currently on my side.

If your interested in including this let me know, I can either refactor the existing page components or create another PR for this one 😜

@adam-code-labx got a few bugs to sort on this one.
Firstly, the styling seems to have gone a bit wrong in places.

The tooltips do not align correctly and are inconsistent. And the icon placement is not centered in the light blue boxes.
Also, it no longer remembers your preference when contracting the menu. If you refresh it will forget and go back to default (expanded).

@markmead I was about to push a fix but now lots of merge conflicts 😂

@markmead you can review here then apply the changes just put up temp branch, this is the only commit for the changes.
https://github.com/adam-code-labx/getcandy/commit/63901694cc392cd53793cbc293c1d13a30701763
Currently you do have an issue with the setting alignment should only be applied to the main menu items

Also the focus when in the settings menu should be only the settings menu see my collapsedMainMenu override, which will ignore persist if you are in a settings section.

Sorry, @adam-code-labx I was asked to take a quick look as we're getting PRs merged in today!
Welcome to make those changes/fixes, but we want a working persist more than we want the settings menu being displayed by default when on /settings.

Looks good! @adam-code-labx
Do need to run yarn production as the JS is now 37k lines long 😅
Question for @glennjacobs do we want the side menu auto collapsing when a user is on /hub/settings/*?

If we do take that approach, should the same happen for collections and variants?

Additionally, "Orders List" does that sound right? I feel like it should be "Orders" but then you have the issue of the sub-menu header being the same. Looking at what Shopify does, "Orders" is a link and the sub-menu header.

Ooops that’s what happens with npm run watch 😆

@markmead @glennjacobs collapsing the main menu if there is a sub menu open is a great idea to focus on the section you are on.
For orders I would change the group name to be something like Sales which would eventually have the following:
Sales

Customers
Discounts
Orders
Carts

I feel like soon we will need to consider accordion style collapsible especially once we have some addons in place.

Question for @glennjacobs do we want the side menu auto collapsing when a user is on /hub/settings/*?

I think we can, but only for smaller screen sizes. If there is enough room, it should remain expanded (if that was their preference).

Ok so I should revert the settings commit?
Then just let the user decide?
Let me know if you would like any further changes or @markmead you plan to finish this one?

For orders I would change the group name to be something like Sales which would eventually have the following:
Sales

Customers
Discounts
Orders
Carts

I think "Sales" works, go with that.

All good for you to finish this one up 🏁 @adam-code-labx

@markmead @glennjacobs
Ok should be good to merge now.

@markmead is there any blocker to merge this in to main?

@markmead is there any blocker to merge this in to main?

We have been testing different menu layouts internally. This is our preference currently.
https://ui-menu.vercel.app/
Ignore the style, it's more about how the menu works. So you'll see the sections are actually replaced with top-level menu items. We are likely to take this route, but was keeping this PR open until we made a firm decision.

Closing in favour of #680


content: Make bold bolder even in spoiler headers and h1/h2/etc.

This fixes #705 by making boldness context-dependent, much like we did for some font sizes in #544.
That user-facing change is nice but fairly subtle. I'm also hoping this will be helpful by adding content tests for boldness in the first place; we didn't have any before. And I've set a pattern in the UserMention tests that should help reduce confusion when we write boldness tests for #647. (Confusion mainly related to the fact that UserMention is in a WidgetSpan.)
The need for more helpers in lib/widgets/text.dart is another reminder that it'll be great to have https://github.com/flutter/flutter/issues/148026 fixed upstream. But (as with the existing helpers there) I'm hoping we've handled things in a way that makes it straightforward to migrate once that's done.
Fixes: #705

Before
After

Screenshots for the last commit:

Before
After

Oh, and here are versions of all the above screenshots with the system "bold text" setting on:

Before
After

Hmm, yeah. What does a screenshot look like without that last commit? (That last commit being:
https://github.com/zulip/zulip-flutter/commit/a4604c7fc2f0fbc56ed064e051836e4c9ff161e1 content: Make h1 font weight combine with spoiler-header font weight
)

Sure, here it is:

Without that commit
With

Bold text setting on:
Bold text setting on:

Thanks for the review! Revision pushed, and see the screenshots I posted just before this. I'd be happy to remove that last commit, this keeping clearer emphasis on bold spans when they appear in h1/h2/etc. in spoiler headers.

Thanks! Done.


fix(deps): update terraform github.com/terraform-ibm-modules/terraform-ibm-landing-zone to v4

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-landing-zone
module
major
v3.8.4 -> v4.0.0

Release Notes

terraform-ibm-modules/terraform-ibm-landing-zone
v4.0.0
Compare Source
Features

remove rules from default VPC security group and ACL (#435) (8316cfa)

BREAKING CHANGES

All patterns will now utilize the clean_default_security_group and clean_default_acl variables added to terraform-ibm-landing-zone-vpc in v7.1.0, which if set to "true" will remove all rules from the default security groups and ACLs created automatically when new VPCs are deployed.

All patterns will now set both variables to "true" by default for all VPCs, and you can override these values for each VPC when using the "override.json" file. Please reference the example override.json files in each pattern for examples. The new settings will look like the following:
  "vpcs": [
      {
          "default_security_group_rules": [],
          "clean_default_security_group": true,
          "clean_default_acl": true,

Since the default security group and ACL for a VPC are created with very permissive rules, setting these values to "true" to remove those rules will increase the overall security posture of the deployment.

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

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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

GitHub release
v8.1.2

Your semantic-release bot :package::rocket:


feat: Create Dynamic Links Sample in Kotlin

Add Kotlin Support to build.gradle

Create interface to keep both java and kotlin Activities in sync

Update Java Activity to implement the interface and override their methods

Create Kotlin Activity

Add Kotlin Activity to AndroidManifest

Correct minor typo on shortenLongLink() method from Java Activity

Last PR to fix #24

Woooo!


add source files; update metadata [DO NOT MERGE]

Added source files here so the code can execute. What is the issue with the metadata definition? The definition does not match the merged dataframe. What was intended here? Is there up to date code elsewhere?

updated notebook here
https://github.com/amida-tech/profiles-ingest/blob/develop/pysrc/notebooks/synthetic-data-star-dim.ipynb


Update text in header to say submitted to journal

Grayed out text in header of pdf says "submitted to agu" and this needs to be updated to point to journal. Deborah to send necessary text.

Closing as duplicate


setMock for nonexistent modules

Adding functionality described in #731

I like this solution but I'd prefer not to add a new API. Can we instead change setMock to handle this? this._modules contains a map between haste module names and their full path, so I'm afraid storing the moduleExports there is not an option. Can you take another look at implementing this?
One solution could be to add another instance variable this._virtualModules that is just a map from moduleName to boolean values. In setMock you can set it to true before calling _getNormalizedModuleID. I would then recommend in setMock to add an else if clause after the resolve.isCore if-statement that checks whether the module name is part of this._virtualModules. If it is, set the moduleType to virtual and return something like 'virtual' + path.delimiter + moduleName. What do you think?

I like the proposed approach with a virtual modules - it makes it clear that module doesn't exist. I'll change my implementation and come back to you soon :wink:

btw, in this case I'll change a signature of setMock function to this:
setMock(moduleName, moduleExports, options)

where options has a following shape:
const options: {virtual: Boolean} = {virtual: true};

hm, I'd prefer not having to add a new API at all. setMock should just know to do the right thing. It's ok to change _getNormalizedModuleID and all.

@cpojer updated

Removed _virtualModules from implementation (replaced by options propagation), added a test scenario for multiple "virtual" modules.

@facebook-github-bot import

We'll add this in a separate pull request. We have refactored quite a lot in Jest and this solution is not quite applicable any longer.

Let me know if I can help with a new implementation.

Do you have any updates on it?

Yes, it's going to be in the next release, coming out around Monday June 13th.

@cpojer Did that actually get added? I still get an error if I try to mock something that doesn't exist locally.

Yes this was shipped using jest.mock('moduleName', fn, {virtual: true}).


Noto Sans Myanmar 2.104 [WIP]

This addresses some of the issues in https://github.com/googlefonts/noto-fonts/issues/1926; @ohbendy will add some drawing fixes before this is releasable.

@ohbendy : is it release-able? I saw that you added some work. are you done?

@simoncozens should I check those fixes or are you confident they address all the issues reported in that thread on Mon?

I’m happy with them; I don’t want to make you test any more Myanmar shaping for quite a while…

In that case yes we can release this version. Just another reminder it's only a few little fixes for Mon language, the fonts are generally quite badly broken still :-)


Fix index during generation of xml files

@sebastienrousseau with the index set at 1 there was always one transaction missing.
The test were still all 100% successfull

@sebastienrousseau it seems that you did this to fill in the some general parameters in the xml with the first row.
Can you describe what is taken into accoutn exactly here?


Text Editor keeps freezing after updating Atom-IDE

Atom ver: 1.23.3
Atom-IDE-ui ver: 0.8.1
The crash seems to have started after updating atom-ide-ui package. Before updating everything worked fine. After updating the application freezes after 20-30 seconds and I have to force close

You said it yourself, the issue is related to the IDE package not Atom.

Yes, please report this to atom-ide-ui instead.


Fuzzy introduction to installation in README.md

Under the section "New installation" in README.md, the first paragraph says:

If you have followed Part 1, Part 2, and Part 2.5, and/or Part 3 of guides for creating a Secure Node, you should be ready to install this on your node.

It is not clear at all which "guides for creating a Secure Node" this is in reference to. There is no such guide in the readme, I can find no such guide in the zen repository, nor anywhere else except for perhaps old entries on blockoperations.com or zen-solutions.io.
It does not make sense to write something like that, and then go on with instructions for how to install. If creating a secure node is not about installing and configuring, then what is it.

When the beta first started the guides mentioned were the only ones available.  We will get this rewritten/referenced.  Thanks!

I suppose links to third parties isn't very desirable though.

Full installation guides have been created and are available at https://zencash.atlassian.net/wiki/spaces/ZEN/pages/7537322/Installation


PLT-1255 Explicit import lists in Agda spec

PLT -1255 Explicit import lists.
The Agda specification is rewritten to be explicit about what is imported from each module by means of using .
Criteria:

All imports go at the top of the file (where possible, some imports are parameterized by a definition in the current file), in two groups: standard library imports, and project imports.

We want to make imports explicit, but if the list of imports is very long (say > 180 characters), then everything in the module may be imported.

Datatype constructors are only imported explicitly when there are at most two of them. In other cases, we explicitly import the datatype and then open it. For example, assuming mydatatype has more than 2 constructors:

open import Some.Module using (MyDatatype;somefunction)
open MyDatatype

This is a compromise between being explicit about and having too long lists of imports (inspired by Haskell’s MyDatatype(..))

Imports which are not open need not have explicit imports, as the module is going to be explicitly mentioned when the imported name is used.

No unused imports.

Unused Pragmas were deleted.
There were files that were not updated in a while and didn't typecheck anymore/ referenced non-existent files. These were removed.

It would be great to somehow ensure that all present .agda files do get type checked. Perhaps ask Lorenzo? Can't find his GitHub handle.

Is there some kind of Agda project file that specifies the files that agda should work on? At the moment we just go in at Main.lagda and let agda pull stuff in from there...

Criteria ...

This is all very good... but it's currently not going to get written down anywhere. How will anyone know that these are the criteria that we are following? To me this looks like the beginning of an Agda style guide, and I think we should explicitly encode it that way. Currently we have STYLEGUIDE.adoc but it's Haskell-specific, I suggest just making it generic and having two top-level sections, one for Haskell and one for Agda.

I suggest just making it generic and having two top-level sections, one for Haskell and one for Agda.

This sounds good to me.

Comparing benchmark results of 'nofib' on 'a1d030b47' (base) and '5728585' (PR)

Results table

If  you follow the details link on the CI job,  you'll see some logs. It's a bit difficult to see, but there is a genuine failure:
plutus-metatheory-lib-plutus-metatheory> Setup: can't find source for MAlonzo/Code/Algorithmic/Reduction in src,

but then it failed to report the status properly for some reason :/

You probably need to delete some modules from the cabal file since you deleted the agda sources for them.

Thank you very much for your help, Michael, I really appreciate it.
All the best,

Mauro

On Thu, Dec 1, 2022 at 12:45 PM Michael Peyton Jones <
@.***> wrote:

You probably need to delete some modules from the cabal file since you
deleted the agda sources for them.
—
Reply to this email directly, view it on GitHub
https://github.com/input-output-hk/plutus/pull/4978#issuecomment-1333966839,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHDDMQCYV3PESORH2QAADDWLDBYNANCNFSM6AAAAAASKNWIJY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Is there some kind of Agda project file that specifies the files that agda should work on? At the moment we just go in at Main.lagda and let agda pull stuff in from there...

there is a common approach of having an Everything.agda file for this purpose. Main.lagda is not going to pull everything in, especially if we separate out some proofs such as behavioural equivalence. We could create such a file or maybe use index.lagda.md for this.

This is all very good... but it's currently not going to get written down anywhere. How will anyone know that these are the criteria that we are following? To me this looks like the beginning of an Agda style guide, and I think we should explicitly encode it that way. Currently we have STYLEGUIDE.adoc but it's Haskell-specific, I suggest just making it generic and having two top-level sections, one for Haskell and one for Agda.

sounds like a great plan!


Added College Portal (Basic)

Created this basic college portal to demonstrate the use of array of objects.
Eager to learn and contribute more.
Thank you.

Congratulations for your Open source contribution. Don't forget to add a star on this repo.. Happy hacking

Congratulations for your Open source contribution. Don't forget to add a star on this repo.. Happy hacking

Thank you 😊


bk on NetBSD

FYI, I've packaged bk for NetBSD.
Due to the on-going package freeze ahead of the Q4-release, the package is currently in the WIP-repo, https://mail-index.netbsd.org/pkgsrc-wip-changes/2020/12/22/msg018889.html
Once the freeze is over, I'll import the package into the main branch.

Cool, do you need me to do anything? I don't think this needs to be an issue, maybe better in the new discussions tab.

No, the package builds and works fine. Just thought, you'd like to know it. Feel free to close this issue.

@aeosynth bk has now been imported into the main branch.

@aeosynth bk has now been imported into the main branch.


Proposal on how to store validation results

Background: To make sure that performance claims of the pipeline can be easily validated, and we can also show validation results in the documentation, we need to store the output of the pipeline (and potentially the individual algorithms) on the TVS dataset.
Requirements:

The data should be available without credentials
The data should be available to the RTD build pipeline
It should be easy to download the data
It should be easy to check if results have been updated for some reason

Proposal:
We store the results as PLAIN TEXT JSON FILES in a different Git repo.
This way they can be easily downloaded (we can use pooch for automatic downloads).
Having them as plain text, allows us to easily diff results (e.g. when updating an algorithm).
Having them in git/github, means we don't have to maintain a separate system and we get the ability to version the data if required.
Considerations:
Why not in the same git repo? - While the data is not huge, I don't want to slow donw clone times for people who just want ot work on the code
Will the results not be to large for git? - I don't think so. We are talking a couple of Mb per algorithm block, which should be within the limits of what github allows (100 Mb per file, 5 Gb overall)

We will do it this way.


Version YM 5.6.0, after hiding the application in the tray and restoring, the player control buttons are not displayed.

Describe the bug
Version YM 5.6.0, after hiding the application in the tray and restoring, when hovering over the application icon in the taskbar, the player control buttons are not displayed.
To Reproduce
Steps to reproduce the behavior:

Launch the application.
Click the cross in the upper right corner of the application window.
The application will collapse into the tray.
Expand the application by running it again (the expand button on the tray icon does not work, double-clicking on the tray icon does not work either).
Hover over the application icon on the taskbar.
There will be no player control buttons.

Expected behavior
The expectation is that after you have deployed the application from the tray, the player control buttons will appear on the taskbar when you hover the cursor over the application icon.
Screenshots/Video

Client info (please complete the following information):

OS: Windows 10 Pro 22h2
Modification version [e.g. 1.6.0]
Yandex Music version [e.g. 5.6.0]

Thanks for your report. I can reproduce this 2 bugs. They are identified and will be fixed in next release.

Fix released 1.6.1


[CELEBORN-1239][FOLLOWUP] Deprecate celeborn.quota.configuration.path config

What changes were proposed in this pull request?
Deprecate celeborn.quota.configuration.path config. User celeborn.dynamicConfig.store.fs.path instead.
Why are the changes needed?
DefaultQuotaManager is removed in #2298, which causes that celeborn.quota.configuration.path is useless. celeborn.quota.configuration.path could be deprecated that uses celeborn.dynamicConfig.store.fs.path to config quota.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
No.

cc @AngersZhuuuu.

LGTM. Mreged into main(v0.5.0).


If we delete the whole line and do an undo the X mark is going down

Describe the bug
If you delete any X marked lines in nvim tutor the X mark goes down even if you do undo

To Reproduce

1.Open nvim kickstart tutorial tutor and try to delete any line with X mark in it
it will got down now undo with u
Desktop

OS: WSL
Terminal: bash

Neovim Version
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1692716794
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/__w/neovim/neovim/build/nvim.AppDir/usr/share/nvim"

I think should be an issue for the neovim repo, kickstart didn't create :Tutor.

(Closing since this seems like a nvim issue, not a kickstart issue -- unless i find out otherwise later)


Clean code vs runtime data checking

Bad:
function combine(val1, val2) {
  if (
    (typeof val1 === "number" && typeof val2 === "number") ||
    (typeof val1 === "string" && typeof val2 === "string")
  ) {
    return val1 + val2;
  }

  throw new Error("Must be of type String or Number");
}

Good:
function combine(val1, val2) {
  return val1 + val2;
}

The example does promote clean code. However, this example has discarded the important runtime type checking and necessary validations and seems incomplete. I agree that we should have "combine" function to do just the "combine", but if other team members get overly confident that the combine function would perform validation/data type checking as well, wouldn't this promote confusion/bugs instead? Appreciate your insight on this.

You can possibly create an assertion:
const assertsValidCombineArgs = (val1, val2) => {
    const areArgsString = typeof val1 === "string" && typeof val2 === "string")
    const areArgsNumber = typeof val1 === "number" && typeof val2 === "number"

    if (!areArgsString || !areArgsNumber ) {
       throw new Error("Combine args must be of type String or Number");
    }
}

function combine(val1, val2) {
  assertsValidCombineArgs(val1, val2)
  // now we are sure, that val1 and val2 are either string or number

  return val1 + val2;
}

Fact, it looks like an oversight on the author's part.


sw_engine SwShape: Refer to number of points, when create outline

When appendPath is called, the size of the pts array is estimated based on the cmd list.
If cmd array is greater than pts array, when referencing pts in cmd,
it access to out of array of pts.
So refer to ptsCnt together with cmdCnt.

Because outline.pts created using realloc() in _growOutlinePoint() is not initialized to {0, 0}, it is expected that it will eventually cause the same problem.


Ability to display the search phrase in the title

https://github.com/newsboat/newsboat/issues/2043

Coverage decreased (-0.04%) to 59.247% when pulling 5c43616954ed05c3f42c7099aa0f12a9e8449e3a on bogdasar1985:display_search_phrase_in_title into 78506f2fbb5c1c6af8ff8405781a79d7c645d703 on newsboat:master.

That is also should be documented.

Almost there! :)

@Minoru Great! Please, check IRC channel. I suggested something there. I will open an issue if there is no answer.


Show current EVE-server time on the UI

I want to add a small clock to the left menu showing current EVE time.

I would suggest moving this to some place where it can be seen at all times, ex. in the top bar


Auto scroll from assembly results in "Cursor position outside buffer"

Error executing lua callback: ...compiler-explorer.nvim/lua/compiler-explorer/autocmd.lua:87: Cursor position outside buffer
Example:
#include <iostream>

using namespace std;

int main(int argc, char **argv) {

  cout << "You have entered " << argc << " arguments:"
       << "\n";

  for (int i = 0; i < argc; ++i)
    cout << argv[i] << "\n";

  while (1 == 1) {
    cout << "yes" << endl;
  }
}

Compilled with gcc 11.3 -O0.

Compiling with -O3 results in even more of these errors.

Hi. I've noticed this behavior before but I did not have the time to investigate. It seems that the problem comes from what the godbolt REST API sends back in the asm field when making an /api/compiler/g113/compile POST request. Some of the entries in the asm field that are used for line highlighting/jumping are lines that are outside the source buffer (eg: 616, 880). This means that we are either not setting a necessary config option in the compile body or there is a problem with the REST API itself. In the latter case,  we should probably open an issue upstream. Either way, I think that wrapping the api.nvim_win_set_cursor() with a pcall might fix this temporarily until we find out what botches the REST API response.

The lines that are outside the buffer seem to be corresponding to library header files. Check lines 67 or 68 from the REST API response using dev tools here: https://godbolt.org/z/6nvch3aPh . I'll make sure to filter them before adding them to the highlights table.

This should be fixed. Feel free to reopen this if it still happens.

Thanks for the insights.
I don't think it fixed the bug, because the underlying problem is that the highlighter uses line number from other files than the buffer.
When the imported file has a line number which is smaller than the current buffers line number, it is going to highlight false lines.

Feel free to cherry-pick it
https://github.com/krady21/compiler-explorer.nvim/commit/0787a64b0133057dcc67f32c73eb93cba044d591


New Scraper: Planning- Omaha Municipal Land Bank

Create a new scraper for Planning Omaha Municipal Land Bank
Website: https://planning.cityofomaha.org/boards/omaha-municipal-land-bank

No meetings!


fix(readme): width parameter names were incorrect

Motivation
Rename the minwidth and maxwidth parameters in the README.md file to the correct names (min_width and max_width, respectively).
Proposed changes

update README.md

Test plan
Doc changes do not require tests.

Wrong branch in PR, but the change was merged into GH-111


VSCode not breaking in source

This is probably more than a question than bug but figured I would ask. I'm not able to break in source.
Video in this ZIP:
vsCodePowerShell.zip
Steps to reproduce

Start .NET Core Launch configuration

Expected behavior
Should stop at the entry point or at a breakpoint I set.
Actual behavior
Doesn't stop at entry point. If I set a breakpoint, it says that no symbols are loaded for the current document.
Environment data

@adamdriscoll Finding breakpoints and stoponentry failing on Windows ONLY. Filed the above issue with  the vscode group, because I'm stumped at this point. Hoping that they can point me either to a vscode bug or a mistake we made.

Thanks for the follow up, @ealexjordan! I'll wait for their reply.

VS Code does not have .NET support, so I have moved #10678 to https://github.com/OmniSharp/omnisharp-vscode/issues/690


Cyrilic font issue in ohmyzsh

From @casufi on July 1, 2017 14:12
I set Zsh as my default shell for bash for Windows after that I installed "oh my zsh" as default theme for Zsh https://github.com/robbyrussell/oh-my-zsh
I am using default theme "rubyshell" for command prompt  but I have some issue with the unicode characters and me unable to set "Ubuntu" as default font for the bash for windows

https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/robbyrussell.zsh-theme
Copied from original issue: Microsoft/WSL#2275

From @fpqc on July 3, 2017 2:44
You can't use opentype fonts in conhost right now.

From @SummerSad on July 12, 2017 2:9
You can change the default font in CMD with fonts here https://github.com/powerline/fonts

Having the same issue, i did install couple of fonts from https://github.com/powerline/fonts
Still the same issue, icons and glyohs in zsh theme doesnt show properly on Ubuntu bash...
Any fix for this?!

We've some interrelated explorations going on right now, but nothing to announce at this time.

This is probably going to be resolved with the font fallback support of the DX renderer in Terminal, but leaving open to verify.

Hey I know this issue is like, 4 years old now, but @casufi - does this work in the Windows Terminal now? can you set the font you were looking for and get the right powerline characters?

Hello @zadjii-msft I am using https://github.com/powerline/fonts/tree/master/DejaVuSansMono font and everything is working fine


Remove dead repos from defaults list

Background
See KSP-CKAN/NetKAN-Infra#155; the dev, RemoteTech, SCANsat, and Trajectories options in this list are 5 years out of date:

Even if you install a version of KSP from 5 years ago, these options would still not be useful, since they were pre-releases and there would long since have been normal releases of these mods with the relevant changes in the meantime.
Changes
Now the outdated options are removed. default and MechJeb2-dev remain because they are still actively updated.
(KSP-CKAN/NetKAN-Infra#155 still needs some documentation added to the repos to be closed.)

Yep, that all makes sense to me.


Issue with executing userscripts inside documents that require TrustedTypes

See the linked issue: https://github.com/Rob--W/dont-track-me-google/issues/53

@dnmTX

Slimjet Version <IP_ADDRESS> (based on Chromium 111.0.5563.41) (Official Build) (64-bit)

Can it be reproduced with Chrome?

Can it be reproduced with Chrome?

I unfortunatelly have only Slimjet installed,no other browsers are present here. Trying to keep it tight and clean on my end 😉

Issue is reproduced with AG and with Tampermokey in Chrome. Can't be reproduced in Firefox. Maybe some security updates in latest chromium could cause the problem and require a workaround on AG side ?

The developer of the user script of the Mouseover Popup Image Viewer a few days ago made it so that his script began to work, for example, in the comments of Disqus. https://github.com/tophf/mpiv/commits/master

The developer of the userscript MPIV @tophf I mentioned above is also one of the developers of the Violentmonkey.

The developer of the userscript MPIV @tophf mentioned above is also one of the developers of the Violentmonkey.


Various improvements

Update to Mobile.framework that starts up faster
Clean up sagas
Block UI until node is started

Awesome. Will defs test this later!

you ever see this on this branch?

this is with a valid name/pass

No, but don't think i've tried to log in, only sign up. Trying now.

Log in worked fine on iOS

okay, but login is broke in android in this branch.
just merged it into my branch and will try to fix

appears it doesn't start in android any more. calling a test here and get isSignedIn() on null object reference

seems that without the Onboarded flag the node doesn't start. But login happens before onboarding.

see my coments, pretty sure signin is broke in android. going to merge and we can fix from master


clean up history events after workflow execution is completed

adding new timer task to clean up history events for completed workflow execution after their retention time expired.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Default prometheus exporter port for routinator

Prometheus maintains a list of allocations of default ports for exporters, and routinator has been added to the list as port 9556.
This could be reflected as a recommendation or a default in config.rs, or in documentation (README.md, doc/routinator.1) as a value for listen-http.

Thanks for reserving the port!
We currently don’t spin up the HTTP server if listen-http is missing; I feel we should probably keep it that way. So maybe this should go into the documentation.

Addressed in #92, an example of listen-http was missing from the sample routinator.conf file, so that was added as well, featuring the same allocated port number.


client request & connection counts disappearing and reappearing

I see some weird behavior on the dashboard which I may or may not be able to reproduce, where the "requests" and "connections" number for one particular client are disappearing then reappearing at exactly 1 Hz.
(The labels are there, just not the numbers.)
There are multiple clients, and this is just happening to the last one.

Screenshots with and without.


Bugfix/incorrect min max

Min max options are working incorrectly:
If I set
minDate -> 15.06.2021, then it allows to select 01.06-15.06. First argument should be date, not this.options.minDate. Same situation for maxDate.
  private isDateSelectable(date: Date): boolean {
    if (this.options.minDate && isBefore(this.options.minDate, date)) {
      return false;
    }
    if (this.options.maxDate && isAfter(this.options.maxDate, date)) {
      return false;
    }
    return true;
  }

This PR fixes it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Pawel Czekaj seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

and please keep package-lock.json file, also rebase against current master otherwise I cannot merge it.

@jkuri can you publish npm package? Thanks in advance

@yadue already done.


checksum error while generating reddit dataset

Hi,
I tried to download and generate reddit dataset and followed "Setup and Generation" in readme.md.
When I run "python scripts/reddit.py generate --small",
I got error from this lines.
https://github.com/microsoft/dstc8-reddit-corpus/blob/a2f0180effadc6cf5ba049626958641bcaa62c38/dstc8_reddit/tasks/download.py#L64
Then, I just deleted those two lines and got this error.

ERROR: [pid 52794] Worker Worker(salt=071717358, workers=36, host=storm, username=jglee, pid=45172) failed    BuildDialogues(date=2017-11)
Traceback (most recent call last):
File "/home/jglee/anaconda3/envs/dstc8-baseline/lib/python3.7/site-packages/luigi-2.8.8-py3.7.egg/luigi/worker.py", line 184, in run
raise RuntimeError('Unfulfilled %s at run time: %s' % (deps, ', '.join(missing)))
RuntimeError: Unfulfilled dependency at run time: FilterRawSubmissions_2017_11_30e5e4658e

How can I solve this?
What am I doing wrong?

IIRC there was some maintenance happening with Pushshift, so these files might have changed. I'll look into it, thanks for pointing this out. You can circumvent this in the meantime by downloading the file directly from here and placing it in that folder


Problems in compile terminal no longer show up in marker

Not sure who shall own this, it seems corresponding task is not creating the diagnostics

I will take a look.

@bpasero I'm not able to repro this. Tested with both desktop and in web with a Codespace. My steps:

Open microsoft/vscode.
Make an edit in a file that will cause a compile error.
Close the file. This ensures that any errors that follow will come from the build task, not from the typescript extension.
Run the default build task.
See error show in problem view and in the status bar. ✔

Is it possible that you had the file open, had the error, then closed the file? The tasks system has always had the behavior that for typescript that will cause the error to go away until there's a file change that causes the build task to print the error again. This is because the typescript extension and the problem matcher for our build task use the same error source to prevent duplicate errors.

Is it possible that you had the file open, had the error, then closed the file? The tasks system has always had the behavior that for typescript that will cause the error to go away until there's a file change that causes the build task to print the error again. This is because the typescript extension and the problem matcher for our build task use the same error source to prevent duplicate errors.

Yeah possibly. The reason this frustrated me is that I had pushed changes to our master branch that included compile errors. I typically expect an error from the git commit whenever I have compile errors and wasn't sure why I did not get it here this time.

If you have "typescript.validate.enable": true (default), then this is unavoidable, since the problems from the task will conflict with the problems from typescript. You can set that setting to false, then change the build task to show errors for "allDocuments" instead of "closedDocuments". Or, we can decide that we are happy to have errors get duplicated (once from the task, once from typescript). Typescript's errors only come from the open files, which is why we have this issue in the first place.

I suppose the tasks system could listen for file changes then re-apply all of the last problems.


Feature Request: Expand library with more variants of interruptible operators (happy to open PR)

Description:
The current library provides a stop_iter function, which is a great start for creating interruptible operations. However, to enhance the library considering common ML usecases, I'm proposing expanding the library with more variants of interruptible operators.
Proposed New Features:
Interruptible Context Manager:
A context manager that allows for easy creation of interruptible code blocks. Example usage:
with interruptible() as check_interrupt:
    for item in large_dataset:
        if check_interrupt():
            break
        process_item(item)

Interruptible Decorator:
A decorator to make entire functions interruptible. Example usage:
@interruptible
def long_running_process():
    for step in many_steps:
        check_interrupt()
        do_step(step)

Interruptible Iterator Class:
An iterator class with its own interruptible context. Not sure if the current stop_iter allows nesting. This ensures nesting is handled. Example usage:
for item in InterruptibleIterator(large_dataset):
    process_item(item)

Progress Bar Integration:
Integration with tqdm to provide interruptible progress bars. Example usage:
with InterruptibleTQDM(range(100), desc="Processing") as pbar:
    for item in pbar:
        if pbar.interrupted:
            break
        process_item(item)

I can start a pull request these features if you think it's a good idea. The code will remain clean and in a single-file.

Hey! Thanks for the suggestions, I was planning on adding context manager support and enabling a decorator is not far off so I've created #3. I'll merge it soon.
That said, I don't plan to add more fancy stuff, ideally this is very simple single function library, if you want more feature feel free to fork :)


Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client when trying to setup redirects + handle 404

I created a minimal repo here to show what's happening.
I created a global middleware to handle 301 redirects that should work like that:

When someone visits any url mapped inside redirects/redirects.js, they should 301 redirects to the "dst" url
When someone visits any url that ends with a trailing slash (exept the homepage) they should redirect to the same url without the trailing slash (example: /products/ redirects to /products)

If you visit /example you'll be redirected correctly to /example/redirect
If you try to visit any random url that ends with a trailing slash (example: /asgasg/asgasg/) you'll get an error like that:
[nitro] [dev] [unhandledRejection] Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client                                                                   20:15:52     at new NodeError (node:internal/errors:371:5)     at ServerResponse.setHeader (node:_http_outgoing:576:11)     at setResponseHeader (file:///C:/Users/fmozz/Desktop/WEB/storyblok-redirects-404/node_modules/h3/dist/index.mjs:670:18)     at Object.errorhandler [as onError] (file:///C:/Users/fmozz/Desktop/WEB/storyblok-redirects-404/.nuxt/dev/index.mjs:484:5)     at runMicrotasks (<anonymous>)     at processTicksAndRejections (node:internal/process/task_queues:96:5)     at async Server.toNodeHandle (file:///C:/Users/fmozz/Desktop/WEB/storyblok-redirects-404/node_modules/h3/dist/index.mjs:1329:9) {   code: 'ERR_HTTP_HEADERS_SENT' }
In production (deployed to vercel) this throw a 500 error page.
It's been weeks without understanding what could be the problem here.
Any Idea?

For anyone struggling with this, I replaced nuxt middleware that handles trailing slash + redirects with vercel.json
{   "trailingSlash": false,   "redirects": [     {       "source": "/example",       "destination": "/example/redirect",       "statusCode: 301   ] }

Hi @alvarosabu, yes, this was fixed with version 3.4.1 of nuxt, thanks!


Is getting birthday support in the beta endpoint https://graph.microsoft.com/beta/me/profile?

Is your feature request related to a problem? Please describe.
The documentation here suggests that for MSA accounts, birthday will be returned as null, however when I try this in the graph api explorer with an MSA account that has a birthday set, it works. Is this because of how the explorer tenant/environment is set up?
Describe the solution you'd like
We implement age-gating in our Microsoft 1st party consumer product (Clipchamp), and currently we need to ask the user for their birthday, even when they have it set in their Microsoft account. We would like to be able to query that information through GraphAPI.
Describe alternatives you've considered
I think we could get this information from Jarvis, but we haven't done that integration, and I know this is an old way of doing things. We'd like to avoid implementing something outdated that we will have to replace with GraphAPI at some point.
Additional context

Nevermind - that documentation is about the /user endpoint and we can use the beta/me/profile endpoint to get this info


replace $modal with $uibModal

The library doesn't work with the current angular-ui-bootstrap because they replaces all $modal occurrences with $uibModal. The PR fixes that and updates the dependencies.

This has been addressed in the latest merged pull request. thanks for the input!

Thanks AndyP, we too are looking forward to moving to angular 1.4
and modern angular-bootstrap finally!
On Wednesday, March 9, 2016, Andy Perlitch<EMAIL_ADDRESS>wrote:

This has been addressed in the latest merged pull request. thanks for the
input!
—
Reply to this email directly or view it on GitHub
https://github.com/DataTorrent/malhar-angular-dashboard/pull/159#issuecomment-194431854
.


Adding affine transformation option

@RemiDelaunay
can you please remove globalnet branch (use the issue number to lead you branch name next time ;) ) - i close this now and will review when loaders ready.


ResourceLoader load_threaded_get_status  progress: Array = [] is always [0]

Bugsquad note: This issue has been confirmed several times already. No need to confirm it further.

Godot version
4.0 dev
System information
Linux Ubuntu 20.04.3 LTS
Issue description
From Godot Documentation:
● ThreadLoadStatus load_threaded_get_status(path: String, progress: Array = [])
Returns the status of a threaded loading operation started with load_threaded_request() for the resource at path. See ThreadLoadStatus for possible return values.
An array variable can optionally be passed via progress, and will return a one-element array containing the percentage of completion of the threaded loading.
But progress value is always  [0]
Steps to reproduce
It is simple to reproduce, run this Project: https://github.com/VP-GAMES/Godot4InteractiveSceneChanger
Add print(_progress) in func  _update_progress() [Line 53] in this script: https://github.com/VP-GAMES/Godot4InteractiveSceneChanger/blob/main/addons/interactive_scene_changer/InteractiveSceneChanger.gd
Output
[0]
[0]
[0]
[0]
.
.
n
Minimal reproduction project
No response

I can't reproduce
0.5
0.5
0.5
0.5
0.5
0.5
0.25

Fixed in godot 4 alpha 12 (I tested it)
Output is float value from 0.0 - 1.0
[0.0]
[0.1]
[0.3]
[0...]
[0..]
[0.]
[1.0]

Bug is still in beta 2. progress[0] output is always 0.

Also having this issue in beta 4.

This bug is till in Beta 5 too

Can confirm, Godot 4.0 beta 6, always [0] until last moment and then it's suddenly [1]. There is no graduation between.

It would be useful to have a minimal reproduction project that actually exhibits the issue. It doesn't seem to be the case in the OP's project.

progress_bug.zip
Here's a small project. Have a look at the output. I'd expect to see 0.1, 0.2, 0.3 ... 1.0 or something like that but all one sees is 1. It may be due to the scene files it's loading being so small, but stuff them with some big gltf scene or something.

the bug is still in godot 4 beta 10

It also happens to me in godot 4 beta 10. It goes from 0 directly to 1.

progress_bug.zip
Here's a small project. Have a look at the output. I'd expect to see 0.1, 0.2, 0.3 ... 1.0 or something like that but all one sees is 1. It may be due to the scene files it's loading being so small, but stuff them with some big gltf scene or something.

Thanks! I tested, adding a big .glb in scene0001.tscn to be able to have more than one load step, and I can confirm the bug. It seemingly never worked in this scenario.
https://github.com/godotengine/godot/issues/56882#issuecomment-1195423772 reported it working in 4.0 alpha 12, but I think it's a different case.
Looking at the code:
https://github.com/godotengine/godot/blob/91713ced81792b10fdc9367b7f355738e5d52777/core/io/resource_loader.cpp#L389-L409
For a resource with dependencies, the progress value might be valid and report basically the dependency count. But in the else case, load_task.progress seems to always be 1.0. And indeed I don't see any code setting progress to a value different from 1.0.

Same bug? #65380

Same bug? #65380

Indeed. @gotnospirit has a proposed solution there, would be good to have a PR unless you think it's not the right approach. https://github.com/godotengine/godot/issues/65380#issuecomment-1242892124

Besides fixing #65380, I am not sure this is a bug and I don't think its possible to get reliable progress in all types of scenes. Let me explain how the threaded loading algorithm works so you understand why:
Scenes contain two types of resources:

External resources (other resources stored on disk)
Internal resources (sub-resources stored inside the resources you are loading).

To get the perfect load %, you would need to amount to all the tree of external resources until the very end. The problem is that, this is not know from the beginning because threaded loading has a limit on how many resources are being loaded at the same time.
This means that, at the beginning of the load, you only know the resource being loaded has N external resources, but not how many subresources they have. So, if you are loading a resource that is a single scene that has a subscene in another file, you don't know all the resources the subscene has.
The "correct" way to solve this would be, at export time, check the dependency chart of every resource and save it in some metafile, so you can tell in advance how many "steps" are needed to load the resource. This is a lot of work and beyond 4.0 expected feature set. It will probably get added at some point in the future.

The current algorithm should work going from 0 to 1 reliably because it splits every scene progress in

0-50% - All external resources
50-100% - All internal resources
Clearly, from this issue, it doesn't work like that. It's stuck at 0 and then suddenly jumps to 100.
I do not care that the rate is not constant. I don't care if the algorithm is not perfect, that the jumps are uneven, but I need the loading bar to make sense to my players and not look like the game's stuck immediately.

Perhaps some kind of 'fake' progress that goes log slow until the recursion starts popping back up to the top level? I wouldn't mind an overall progress (at the top level) and then a different behaviour while Godot is plumbing the unknown depths of ones scene trees.

@reduz Your suggested solution is not bad but it is massively engineered in this case, as @Zireael07 pointed out we do not need a perfect percentage.
In many games and applications we are shown "Loading 2/10 files" which then changes to "Loading 42/389" etc. In unity this is shown when building an executable, the number of files is variable and also you usually only see 2 number snapshots of this before it jumps to the next resource category.

An actual percentage progress is not really necessary, just providing a "loaded file number" and a "total loaded + pending file number" would be completely adequate for showing to players in a loading screen.
So many games do not bother to show accurate percentages, like in The Sims where they just show nonsensical text. Sure there is a progress bar, but in some games it jumps around and that does not matter. What matters is being able to show progress. ANY progress.

I believe the old Windows file copy/download dialog is also a good notorious example, it was jumping around all the time and it still made sense on the whole.

This is an image from Windows XP, but even on Windows 11 now the file counter is not stable, although more stable because it enumerates them before it starts.
Again, this is not perfect and people might want an accurate progress percentage so they can use it for analytics reporting, preparing cutscenes or gameplay, but that is not the most common usecase. The most common use case is just showing some form of progress for the user. Currently there is 0 of that.

Besides fixing #65380, I am not sure this is a bug and I don't think its possible to get reliable progress in all types of scenes.

The bottom line is we need to give users some indication that the game has not crashed and is still loading. That's the whole point. A crashed game results in a refund, a bad review, and additional lost sales.
In Godot 3, the ResourceInteractiveLoader identified some 130 loading stages in my game and was able to give a finely detailed percentage. Now in Godot 4 it goes from 0 to 1. That is a major downgrade and is far too coarse. Continuous progress with 100% accuracy is unnecessary, and wasn't provided in 3.

The current algorithm should work going from 0 to 1 reliably because it splits every scene progress in
0-50% - All external resources
50-100% - All internal resources

There's two steps right there. You can easily get a list of all external sources and files that contain the internal resources and take a percentage of that. Or you can also get all of the file sizes of the files and the resources in the PCK and calculate based upon bytes loaded off the disk.
Even 25% chunks would be helpful. But surely there is a more reasonable solution. What did GD3 RIL do? Why can't you do that again?

@TokisanGames You pointed out what I wanted to say in a much more concise way 👍

What did GD3 RIL do? Why can't you do that again?

Godot 3 did not have threaded resource loading AFAIK, which is the differentiator here that adds complexity.

Godot 3 did not have threaded resource loading AFAIK, which is the differentiator here that adds complexity.

ResourceInteractiveLoader was the progress providing loader in GD3. It was removed in GD4, and now the only class available with an interactive loading poller is the threaded function of ResourceLoader. However it doesn't actually provide what the documentation says it provides.
It doesn't matter to me, and probably most other gamedevs, whether the loader is technically threaded or a single threaded process. The only thing that matters is an engine provided mechanism for providing progress to the end user. This ticket and the several other duplicate issues are not about threads, but about progress indication. The loader defaults to a single thread anyway. Multithreaded is broken.
Right now on my game, my title screen takes 13-17 seconds to load. I'm using single threaded mode and I get 0 for most of that time, then the last two frames are .75 and 1. So basically no progress.
In multithreaded mode my game may or may not load. I just tried three times. 2 failures stuck in a loop, one partial load. The game ran but half the assets were missing. In all three instances, progress started and ended at .874625. Never 0 or 1. So no progress and no load.

Still happening on 4.0rc3

The current algorithm should work going from 0 to 1 reliably because it splits every scene progress in
* 0-50% - All external resources

* 50-100% - All internal resources

The algoritm @reduz  described in a comment above does not seem to be working or I should have seen at least 0.5 somewhere. What I'm loading is a huge tscn with lot's of external resources, so at least in the 0-50% range I should be getting something, right?
I agree with the other comments, even if it was just counting the list of external resources in the tscn/tres and not going any deeper than that it would be a lot better.  I always had the impression the number of "stages" in Godot's 3.x ResourceInteractiveLoader was related to the list of external resources as they were usually close when loading scenes with it.
I also agree with the other comments this is a big "break" in relation to 3.x, is there any chance that there will be any improvements in this before 4.0 stable? Or is this going to be in a later release in favor of a more complex fix?
Even if it only shows progress for .tscn and .tres files I think it's already an improvement.

Ok people. I've spent some time to debug this and I can confirm there is a problem. First I thought it was an issue with the memory synchronization between threads (because progress on each thread it's just pointer to a float). I did an experiment on replacing all progress pointers from pointer to a float to pointer to std::atomic. That did not help. Though I think it will backstab you if you try to load resources using subthreads.
Then I did some more tracing and found out that the progress for loading external resources is just not reported: Hello? Where is the progress report? It does report progress for internal resources, though "resources_total" value (obtained from "load_steps" field).
After fixing this (in both Text and Binary ResourceLoader) it starts showing progress, but there's another issue. Documentation for ResourceLoader::load_threaded_get_status() states:
An array variable can optionally be passed via [param progress], and will return a one-element array containing the percentage of completion of the threaded loading.

Notice "containing the percentage of completion". But if you look at it's implementation it will be obvious that it returns value in range from 0 to 1. Not an end of the world, but some consistency would be nice.
And lastly, it's all good and dandy, unless you want to use subthreads. This part never worked for me. If my scene loads fine in single threaded mode, it produces errors if I do subthreads. And the reason for that is that both Text and Binary resource loaders in case of subthreads fire a request to load an external subresource, but they never wait for them to finish loading. And when those loaders proceed with initializing internal subresources or main resource, in a lot of cases it ends up having external resources not loaded yet and thus complains about missing resources. There's just no waiting for them. Not sure if it was ever tested. And I believe once it will work, then it will start having those thread memory synchronization/stale memory issues.

Notice "containing the percentage of completion". But if you look at it's implementation it will be obvious that it returns value in range from 0 to 1. Not an end of the world, but some consistency would be nice.

In programming, 0-1 indeed often is used to represent percentage. This should be clarified in the docs I think, it's not an implementation issue as such IMHO.

@RandomShaper I checked your PR and it's a great improvement. I especially like moving logic on spawning new load threads from particular resource loaders into central ResourceLoader. However, that PR won't fix the external resources counting problem, which seem to be the case here. I was holding my PR to figure out subtask loading, but since you've already took care of it, I will post my PR.

is happent the same to me

This bug is still present in 4.2.1 web exports.
extends Node

@export_file("*.tscn") var scenePath
@onready var progressBar := $%ProgressBar as ProgressBar

func _ready():
	ResourceLoader.load_threaded_request(scenePath, "PackedScene")

func _process(_delta):
	var progress = []
	var status = ResourceLoader.load_threaded_get_status(scenePath, progress)
	print(progress)
	if status == ResourceLoader.THREAD_LOAD_LOADED: # Finished loading.
		get_tree().change_scene_to_packed(ResourceLoader.load_threaded_get(scenePath))

	elif status == ResourceLoader.THREAD_LOAD_IN_PROGRESS:
		progressBar.set_value(progress[0])


Optionally avoid global event hooks

I played around with the library a bit and found that I can customize different behaviors by subclassing the sqlalchemy-file classes. I can do it without modifying the library code at all, the only thing that trips me is the global setup for event hooks. Is there any chance there could be an option to disable this global setup, or at least remove the hooks after loading the module? It would make the library quite a bit more flexible. In particular, #54 could be implemented externally. I'm not sure what's the right mechanism for that that's backwards compatible, though.

Yes, I tried to make it easier to override File class for a custom logic. But you need to specify upload_type when creating your file.
Column(FileField(upload_type=MyCustomFileClass))

I can add an option to disable/enable the changes tracking.
But this can lead to inconsistencies between your database and your object storage.

Indeed, I can subclass File and that works very well. I would also like to subclass StorageManager, but I don't see a way to update event hooks to use that subclass instead, so I was thinking if there was an option not to register them automatically, I could do that manually with my subclass instead.


Suggestions for Reader integration on top of the effects api

I would like to make all dependencies that are involed in side effects to be exchangable. It seems that the most common solution for this problem is the usage of a Reader (my first time using it).
What would be the best way to integrate it in elm-ts? I already experiment a little bit with it and this is what I came up with. I needed to write some code around the elm-ts functions to get it working.
import { empty } from 'rxjs/observable/empty'
import { Observable } from 'rxjs/Observable'
import { Option } from 'fp-ts/lib/Option'
import { perform, Task } from 'elm-ts/lib/Task'
import { Program, Html } from 'elm-ts/lib/Html'
import { program, Location } from 'elm-ts/lib/Navigation'
import { Reader, asks, reader } from 'fp-ts/lib/Reader'

// The new Cmd Signature
export type CmdR<env, msg> = Reader<env, Observable<Task<Option<msg>>>>

export const none: CmdR<any, never> = reader.of(empty())

export type SubR<env, msg> = Reader<env, Observable<msg>>

// Adaption of program to accept CmdR for init, update and subscriptions
export const programWithReader = <env, model, msg, dom>(
  locationToMessage: (location: Location) => msg,
  init: (location: Location) => [model, CmdR<env, msg>],
  update: (msg: msg, model: model) => [model, CmdR<env, msg>],
  view: (model: model) => Html<dom, msg>,
  subscriptions?: (model: model) => SubR<env, msg>
): Reader<env, Program<model, msg, dom>> => {
  return asks((env) => program<model, msg, dom>(
    locationToMessage,
    location => {
      const [model, cmd] = init(location)
      return [model, cmd.run(env)]
    },
    (msg, model) => {
      const [newModel, cmd] = update(msg, model)
      return [newModel, cmd.run(env)]
    },
    view,
    model => subscriptions ? subscriptions(model).run(env) : empty()
  ))
}

// Cause our side effect is wrapped in a Reader we need to wrap perform accordently
export const performR = (readerTask: Reader<env, Task>, f: (a: a) => msg): CmdR<env, msg> => {
  return readerTask.map(task => perform(task, f))
}

I limited the access to the Reader to the commands to prevent the leaking of effectfull dependencies to the rest of the application (view, init and update functions).
I used this code in your elm-ts-todomvc example to make localStorage to be exchangable in unit tests or to make the app server side renderable (where no localStorage is avaibale).
Would this be something reasonable to integrate in elm-ts itself?

the most common solution for this problem is the usage of a Reader

Many people prefer to inject the dependencies explicitly, so another option is using some kind of MTL style. See this PR

@gcanti thanks for the feedback will try it out

@gcanti am I right that it doesn't make sense to apply the full mtl-style from the fp-ts to elm-ts? So making it more generic to the interface MonadLocalStorage<M>? Cause I don't know how to transform from any monad M to Task which is used by elm-ts. Is this even possible?

I don't know how to transform from any monad M to Task which is used by elm-ts. Is this even possible?

Theoretically you need a natural transformation, from M to Task, i.e.
toTask: (fa: HKT<M, A>) => Task

That's what fromIO (from the Task module) really is. For example in
const saveToNamespace = (M: MonadLocalStorage) => (value: string): Task<void> => fromIO(M.setItem(NAMESPACE, value))

So a generalization would be something along the lines of
interface MonadLocalStorage<M> {
  URI: M
  setItem: (key: string, value: string) => HKT<M, void>
  getItem: (key: string) => HKT<M, Option<string>>
}

interface MonadTask<M> {
  URI: M
  toTask: (fa: HKT<M, A>) => Task
}

however in this case it's not worth it as I can't come up with another sensible instance other than IO, thus MonadLocalStorage can just return a concrete type
interface MonadLocalStorage {
  setItem: (key: string, value: string) => IO<void>
  getItem: (key: string) => IO<Option<string>>
}


XUnit code lens (run test, debug test) not appear in solution workspace

VScode version: 1.19
OS: Mac OS X Hight Sierra
Similar https://github.com/OmniSharp/omnisharp-vscode/issues/1292
XUnit code lens appears in the project like workspace (one project only - csproj on top level).
XUnit code lens does not appear in the solution like workspace (sln on a top level, projects inside folders).
Steps to reproduce:

Create solution 'dotnet new sln'
Create test folder 'mkdir Test', 'cd ./Test'
Create test project 'create classlib'
Put this to csproj

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="xunit" Version="2.3.1" />
    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
  </ItemGroup>
</Project>

Open workspace on csproj level, open test class - code lens appears.
Open workspace on sln level, open test class - code lens doesn't appear.

This issue was moved to OmniSharp/omnisharp-vscode#1934


Please invite me to the GitHub Community Organization

Name
Thirumalai
Discord Username (if applicable)
whoseluffy
Additional Context
Looking forwards to work with the worldwide team

hello


Improve multi-node tests

This PR improves our multi-node testing capabilities by:

introducing a spawn_connected_nodes function and the related Topology object, allowing us to automate the creation of various test scenarios
adds the PeerId and listening addresses to the Node object used in tests, to remove the need for calling .identity() every time a node is created

These new functionalities are not used everywhere yet and can probably be improved further, but it's a good starting point.

seems that the wait that I removed was a bit too optimistic; I'll bring it back to that one test