Wrong "Set Theme" button toggling

Issue Type: Bug
I opened theme extension and click enable / disable fast.
I see "Set Theme" button when extension is disabled and no "Set Theme" when it is enabled.
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:37.209Z)
OS version: Darwin arm64 21.5.0
Restricted Mode: No
Remote OS version: Linux arm64 4.9.253-tegra

I can repro this. First assigning to @sandy081 for extension details page.

Cool, thanks @sandy081!


Ability to populate the dropdown via msg input

Description
Like D1, I would need the ability to set a dropdown from a msg. This becomes very important when building cascading dropdown selections.
For dashboard 1, this is achieved by sending an array to msg.ui_control as documented here: https://github.com/node-red/node-red-dashboard/blob/master/config-fields.md#ui-widget-configuration-via-msgui_control
Here is such an example:

[{"id":"cd6b9e25db2ed794","type":"ui_dropdown","z":"c37c71daed7c269d","name":"","label":"{{topic || 'Two'}} Options","tooltip":"","place":"Select option","group":"38165372aba08372","order":2,"width":0,"height":0,"passthru":true,"multiple":false,"options":[{"label":"One","value":1,"type":"num"},{"label":"Two","value":2,"type":"num"}],"payload":"","topic":"topic","topicType":"msg","className":"","x":1100,"y":280,"wires":[["3e79f665ca6d46ee"]]},{"id":"256c68ff5a8ce08e","type":"inject","z":"c37c71daed7c269d","name":"2 opts","props":[{"p":"ui_control.options","v":"[{\"label\":\"Yes\",\"value\":1,\"type\":\"num\"},{\"label\":\"No\",\"value\":0,\"type\":\"num\"}]","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":850,"y":280,"wires":[["cd6b9e25db2ed794","3a4aef5bc67ef8ae"]]},{"id":"3e79f665ca6d46ee","type":"debug","z":"c37c71daed7c269d","name":"debug 4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1260,"y":280,"wires":[]},{"id":"3a4aef5bc67ef8ae","type":"change","z":"c37c71daed7c269d","name":"","rules":[{"t":"delete","p":"ui_control","pt":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Yes or No","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":890,"y":320,"wires":[["cd6b9e25db2ed794"]]},{"id":"662ecf7bb0c670b8","type":"inject","z":"c37c71daed7c269d","name":"3 opts","props":[{"p":"ui_control.options","v":"[{\"label\":\"One\",\"value\":1,\"type\":\"num\"},{\"label\":\"Two\",\"value\":2,\"type\":\"num\"},{\"label\":\"Three\",\"value\":3,\"type\":\"num\"}]","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":850,"y":360,"wires":[["d46755457dc20c9f","cd6b9e25db2ed794"]]},{"id":"d46755457dc20c9f","type":"change","z":"c37c71daed7c269d","name":"","rules":[{"t":"delete","p":"ui_control","pt":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Three","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":890,"y":400,"wires":[["cd6b9e25db2ed794"]]},{"id":"38165372aba08372","type":"ui_group","name":"Default","tab":"280075a18e37c694","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"280075a18e37c694","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]

Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

I see that dynamic specification of the options has already been documented in the docs and the node's help text but it does not seem to work.  Has it been implemented yet?

Sorry, typo in testing on my part. For me it is working.  Presumably this can be closed.

@Steve-Mcl can this be closed now?

Can confirm this now implemented and is documented here


I'm using a combination of immer middleware and typescript, but my computedState type doesn't exist!

Here is my code：
import { StoreApi, useStore } from 'zustand';
import { createStore } from 'zustand/vanilla';
import { devtools, persist, subscribeWithSelector } from 'zustand/middleware';
import { immer } from 'zustand/middleware/immer';
import computed from 'zustand-computed';
import baseSlice from './baseSlice';
import userInfoSlice, { userInfoComputedState } from './userInfoSlice';
import type { BaseSlice } from './baseSlice';
import type { UserInfoSlice, UserInfoComputedState } from './userInfoSlice';

interface RootSlice {
  _hasHydrated: boolean;
  setHasHydrated: (state: boolean) => void;
}

type ComputedState = UserInfoComputedState;

export type BoundStore = RootSlice & BaseSlice & UserInfoSlice;

const computedState = (state): ComputedState => ({
  ...userInfoComputedState(state)
});

const createBoundStore = () => {
  return createStore<BoundStore & ComputedState>()(
    devtools(
      subscribeWithSelector(
        persist(
          computed(
            immer((set, get, store) => ({
              ...baseSlice(set),
              ...userInfoSlice(set, get),
              _hasHydrated: false,
              setHasHydrated(state) {
                set({ _hasHydrated: state });
              }
            })),
            computedState
          ),
          {
            name: 'boundStore',
            onRehydrateStorage: () => (state) => {
              state?.setHasHydrated(true);
            }
          }
        )
      )
    )
  );
};

The following screenshot shows the properties of my computedState:

I merged the type of computedState

but!!!

I am configuring this according to the documentation, and the computed properties are fetched as expected, just the typescript exception, what should I do to fix this typescript error?

Because your create call is createStore<BoundStore & ComputedState>, the innermost middleware (immer in this case) is expecting that the initial store you return include the computed state.
Try using createStore<BoundStore>.

I'm getting typescript errors when I do it your way.

But the code can get the value of the property normally

PS. You can see the ComputedState in my first screenshot

Could you provide a reproduction in a TypeScript playground? This is the closest I got, but as you can see, the store is properly returning the computed state.
Additionally, you could try explicitly typing the order of mutators on the Immer middleware the way I do in that playground. It appears that, when contained within the computed middleware, the mutators get lost.

Okay, figured out the issue with the Zustand maintainer. Immer itself may still allow you to "set" the computed state, which should not be possible, but I've opened #2696 to address that issue on Zustand's side. As far as the type inference goes, I'm releasing version 2.0.0 of zustand-computed which should address the type inference issues by using a new pattern, createComputed, which will nicely bundle up the computeState function and any appropriate options and return a middleware for you to use.

OK， thanks, I will upgrade to zustand-computed

I upgraded zustand-computed to version 2.0 and still get typescript type errors.

Since I'm using zustand-computed in combination with immer middleware and typescript, can you write an example that combines immer and typescripty with zustand-computed, I'd like to see the example you've written, or can you update your github docs, thank you!


RIOT: update commit

Fixes lock outs in radio.

What's the status for this PR? WiP?

It's ready to be merged/reviewed

@xkevin190 could you review this?


Fix {Any} to {*} per jsdoc

{Any} ends up being interpreted as an object/class that's literally called Any. JSDoc calls for {*} to be used when you don't care about the type passed in.

Coverage remained the same at 100.0% when pulling 4bc264aaa126c34862154549ee31c5f9037f9be5 on rocketfiber:master into 09523b20df214339ef75e38cf64d4c324265c45e on KyleRoss:master.

Thanks for the changes!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@all-contributors please add @pleonasm for doc


Cop idea: Native Hash#slice vs other slice implementations before native code

https://github.com/fastruby/fast-ruby#native-hashslice-vs-other-slice-implementations-before-native-code
Describe the solution you'd like
HASH = {
  title: "awesome",
  description: "a description",
  author: "styd",
  published_at: Time.now
}

KEYS = %i[title author other].freeze

# bad
def my_method
  HASH.select { |k, _| KEYS.include? k }
end

# bad
def my_method
  memo = {}
  KEYS.each { |k| memo[k] = HASH[k] if HASH.key?(k) }
  memo
end

# bad
def my_method
  KEYS.each_with_object({}){ |k, h| h[k] = HASH[k] if HASH.key?(k) }
end

# good
def my_method
  HASH.slice(*KEYS)
end

Rubocop
ydakuka@yauhenid:~/Work/project$ bin/rails_docker rubocop -V
1.57.2 (using Parser <IP_ADDRESS>, rubocop-ast 1.29.0, running on ruby 2.7.8) [x86_64-linux]
  - rubocop-capybara 2.19.0
  - rubocop-factory_bot 2.24.0
  - rubocop-performance 1.19.1
  - rubocop-rails 2.22.0
  - rubocop-rake 0.6.0
  - rubocop-rspec 2.25.0
  - rubocop-thread_safety 0.5.1

I've benchmarked it.
ydakuka@yauhenid:~/ruby-docker-app$ docker run ruby-app
Warming up --------------------------------------
Hash#native-slice      202.858k i/100ms
Array#each             101.785k i/100ms
Array#each_w/_object   108.415k i/100ms
Hash#select-include     51.502k i/100ms
Calculating -------------------------------------
Hash#native-slice         3.455M (±12.1%) i/s -     17.040M in   5.026208s
Array#each                1.959M (± 4.9%) i/s -      9.771M in   5.000275s
Array#each_w/_object      1.492M (± 3.8%) i/s -      7.481M in   5.021919s
Hash#select-include     597.746k (± 7.2%) i/s -      2.987M in   5.026822s

Comparison:
Hash#native-slice   :  3454522.1 i/s
Array#each          :  1959078.5 i/s - 1.76x  slower
Array#each_w/_object:  1491852.2 i/s - 2.32x  slower
Hash#select-include :   597745.9 i/s - 5.78x  slower

I think the following example is also bad:
# bad
def my_method
  HASH.select { |k, _v| HASH.key?(k) }
end

I've dug into the real-world- repos and found that the pattern (Hash#select-include) is pretty popular.


Resuming to pull a model is not working via API

If I start to pull a model via /api/pull and then abort the request at let's say 2% and re-request it, it will not resume and start from 0%.
If I do it via ollama pull model it correctly resumes....
Did some more testing:
Start via /api/pull, go to 2%, abort -> run ollama pull model, no resume...
Start via ollama pull model, go to 2%, abort -> hit /api/pull, it resumes...
latest version, macos

hi @DennisKo, this is an interesting one. Thanks for reporting it. We will investigate this further. Were you testing this with the same model in both cases?

Yes, same model mistral. I am aborting both via a simple kill command (ctrl+c) in both cases. There is no abort controller in my fetch('/api/pull') implementation...

@DennisKo can you post the logs from the server for the POST /api/pull request? Specifically there should be something that looks like:
downloading <digest> in X Y MB part(s)
I just tested this and the resume functionality appears to be working correctly. I tried repulling a partially downloaded model, then hit Ctrl-C, and then started it again using the same command. Here's the output:
% curl -X POST http://localhost:11434/api/pull -d '{"name": "mixtral:8x7b-instruct-v0.1-q8_0"}'
{"status":"pulling manifest"}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349530240}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8349616788}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8350818181}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8351762955}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8352549760}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8353061866}
{"status":"pulling d68d6a651780","digest":"sha256:d68d6a65178011b746d215273d6a1f607f78be24a53532cf99618a32c2f382a2","total":49625198848,"completed":8353622270}

You can see it takes a moment before it starts getting the correct new data, but it does resume from the correct location, and it starts pulling new data.

I actually got confused in my test setup it seems. It was not because of the difference of api or cli, it was the way I was aborting AND killing the API server (ollama serve).
So new situation is:  if I kill the API server, restart it and try to resume it does not work. Is this even a bug then? Or is that expected?

This is actually expected. The API server cleans up all of the partially downloaded images every time it restarts. You should be able to turn this off by setting OLLAMA_NOPRUNE=1 when you start the server.

This is actually expected. The API server cleans up all of the partially downloaded images every time it restarts. You should be able to turn this off by setting OLLAMA_NOPRUNE=1 when you start the server.

Ah nice, I could not find anything about that. In my quick tests with OLLAMA_NOPRUNE it still had problems with resuming if you shut down the server with a SIGINT. If I abort the API request via a proper client abort, it correctly resumes, even after a server restart.
But I don't know if thats still the same issue, so I think we can close this one.


Feature Request: Inherit Local Filename Extension from Training, Mask Images

The name '/tmp/mul.tif'  should probably be '/tmp/mul.{}'.format(extension) or something like that, so that it will be sure to work with VRTs.  The same for /tmp/mask.tif'.

VRTs seems to work without doing this.


Change in status clears comment

I type comment to an issue first and change status later, comment field gets cleared. It's very annoying. This bug affects website only, JOSM plugin works differently.

This is from the UserVoice forum.

Closing since we have removed the web application.


tweak memory request for some helm sync tests

follow up experimentation https://github.com/GoogleContainerTools/kpt-config-sync/pull/662 - trying to find the minimum resource request we can make and still have these tests pass in CI

Is this indicative of a performance regression? I'm wondering if this may be a breaking change for some users

@sdowell You are correct that there is a huge performance hit that we should fix. I will try to address it.


Inconsistant behaviour

I have a array of IDs, for example 3 of them. When calling User.find(IDs).exec(console.log) I get the three records.
When I call User.find().where(IDs).exec(console.log) I get all records.
I have to do User.find().where({id: IDs}).exec(console.log) to get the ones I wanted
Moreover, when calling User.find().where(IDs[0]).exec(console.log) I get the correct one.
Very inconsistant, perhaps a bug with calling .where with an array

It should always be called with { id: IDs }. Passing a primary key into a query is only a valid query on a findOne method. This should return an error.

so only .findOne... then I agree, the rest should all throw errors as you said... including .find(), where which are working fine now if passed an array of IDs (at least with mongo)

Marked as a bug, so keeping this open.


Docklands Dojo not searchable on map

I searched for "Docklands" and "CHQ" but I can't find it.

When I zoom in to the location also I cannot find it - I just get a cluster of "2" and when I click on "2" nothing happens:

Dojo listing is here: http://zen.coderdojo.com/dashboard/dojo/ie/the-chq-building-ifsc-dublin-docklands-dublin-1-ireland/dublin-docklands-chq
Are we indexing the "name" field for the map search? If not I think we need to be.

@tangentfairy we are not searching by name when doing searches on the map. We only search for locations. I think I can make the search to look into the name field too. About the pin, I don't have a solution for that yet. It might be because there are two dojos in the exact same location, cause it seems to work in other places where we have a cluster of 2. I'll look into this.

There's a test Docklands Dojo, I am going to mark it deleted.
Yes, it would be great to make it search by name field also as that is usually more specific!

Oddly enough the test docklands Dojo is already marked deleted, but it still shows up on the map.

@tangentfairy I discovered it's not from DocklandsTest that we get two dojos in same place. "Crumlin, Dublin @ Loreto Crumlin Girls School" seems to be held in the exact same location. I'll see if it's possible to split that cluster into two, but it will be difficult to user to select one or another even if I put two distinct pins, cause the map will put them in the same place.

Well Crumlin is nowhere near the Docklands so I'd say if we can edit the coordinates to 53.3290806,-6.2975074 for Crumlin in the db then that will sort the issue. And very unlikely for two Dojos to have the exact same coordinates.

fixed & deployed

Cristian is looking into making sure that when you search "Docklands" for example, the map will not zoom to Australia.

fixed this. It just needs to be deployed :)

Fixed, thanks @ckiss

Reopening, found another instance of this that I'm looking into now (two Dojos on the map that seem to be at the same location!).

Fixed now


[proposal] make API more Node.js style

Current signature of read & write functions is
ops.read(path, fd, buffer, length, position, cb)
ops.write(path, fd, buffer, length, position, cb)

I think it's easier to understand that on read you set the buffer data on the callback and get the readed lenght from there. In the same way, in write the length is somewhat superfluous, since you already has the length of data you want to write in the buffer. This changes can simplify the API without loosing performance at the same time.
Something similar could be done in the other operations with the error argument, accepting null for success and any thruthy value to notify an error has occurred. Error code could be inspected (specially util for overlay filesystems, where the real filesystem error from the 'fs' module could be directly reused) or use a generic one if none valid could be found.

The length can probably go away yea. I'm gonna iterate a few other things a do a new major release with that at some point. I'm also ok with supporting regular errors but I wanna keep the low level style api where you have to write to the buffer. This makes memory management easy as is the same api fs.read /fs.write uses in node core.

At this moment I have this on my overlay-like filesystem:
ExclFS.prototype.read = function(path, fd, buffer, length, position, callback)
{
  fs.read(fd, buffer, 0, length, position, callback)
}
ExclFS.prototype.write = function(path, fd, buffer, length, position, callback)
{
  fs.write(fd, buffer, position, callback)
}

Removing the length would allow to simplify write to:
ExclFS.prototype.write = fs.write.bind(fs, null)

I understand about the point of make it more similar to current fs module, but since read also return the buffer as the value of the callback, I though it would be more coherent with other Node.js APIs.

The buffer read returns is the same buffer you pass in though. I think they just added that for convenience.

The buffer read returns is the same buffer you pass in though. I think they just added that for convenience.

Probably... What I don't fully understand is why you need to give it explicitly the buffer were to write the readed data instead of generate a new one. Performance if you re-use it on several reads, maybe?

Yep. Basically helps a lot with gc since you have to allocate a bunch of small buffers

Ok, that makes sense.

Good discussion here.
It seems to me that we should be moving towards an API with the fuse bindings that is the same as the API at https://github.com/nodejs/node/blob/master/lib/fs.js Could probably port a good amount of the fs code.
If we can make sure the low-level methods match, we should be easily able to implement readFile and writeFile the same way node does. cc @mafintosh
Related: #16

@frank-dspeed, maybe we could fix this now by using Promises instead of callbacks?

@piranna i don't want to change the api at present my fork should not add a new api style this can be fixed in the fuse-nativ package later. At present its the Most importent for me to have a working version.
but you can easy use Promises as the api stays stable.

also we can move the diskussion to https://github.com/direktspeed/node-fuse-bindings

@piranna i don't want to change the api at present my fork should not add a new api style this can be fixed in the fuse-nativ package later. At present its the Most importent for me to have a working version.

Ok.

also we can move the diskussion to direktspeed/node-fuse-bindings

Done at https://github.com/direktspeed/node-fuse-bindings/issues/5


Ability to Upload Scheduling Goals to All Plans with Mission Model ID

Addresses #69
Updated scheduling "upload" method such that if you do not have to specify the plan-id, the scheduling goals will upload to each plan in the specified model.

Since there are already so many queries in this class, I might suggest you use an existing query instead of adding get_all_activity_plans_by_model. You can filter the results from list_all_activity_plans in the scheduling command, for example:
for plan in filter(lambda p: p.model_id == model_id, aerie_client.list_activity_plans()):
    plan_id = plan.id
    # etc.


update DG diagrams.

Codecov Report

Merging #213 (bf3328e) into master (5af4ec4) will increase coverage by 0.20%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #213      +/-   ##
============================================
+ Coverage     69.09%   69.30%   +0.20%
- Complexity      666      670       +4
============================================
  Files           102      102
  Lines          2288     2287       -1
  Branches        286      285       -1
============================================
+ Hits           1581     1585       +4
  Misses          605      605
+ Partials        102       97       -5

Impacted Files
Coverage Δ
Complexity Δ

...edu/cakecollate/logic/commands/RequestCommand.java
87.09% <ø> (ø)
10.00 <0.00> (ø)

...main/java/seedu/cakecollate/model/order/Order.java
97.40% <0.00%> (+5.09%)
28.00% <0.00%> (+3.00%)

.../seedu/cakecollate/model/order/DeliveryStatus.java
75.00% <0.00%> (+6.25%)
9.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Error on parsing

Heya there .. I am getting
ERROR: Unable to parse /home/fohlen/workspace/inexor/flex/src/connector/index.js: Assigning to rvalue
when generating JSDoc configuration with ES6 code.
The code can be found here.
Using the --debug flag didn't give me more information on what's going wrong.
How could we debug and fix this?

I'm not able to reproduce this issue using the current version of the code and JSDoc.


Add code splitting in mission control

The problem faced currently?
Right now in a remote setup, the mission control takes around 30-60 seconds to load since its total size is around 4.5MB.
How can we solve it?
We can use the code splitting and the lazy/suspense features in ReactJS to reduce the initial load time.

If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you.
👍

Done. Coming in v0.19.3


[SPARK-46203][SQL][HIVE] Support get partitions by names in partition filter

What changes were proposed in this pull request?
In this path, we introduce a new switch that enable filtering partitions in Spark side, and then get target partitions by the high performance API Hive#getPartitionsByNames.

Add a switch spark.sql.hive.getPartitionByName.enabled that enable doing partition filter in Spark and get partitions by name through HMS.
Unify the listPartitionsByFilter call through ExternalCatalogUtils to make sure most partition prunes can use the new switch.
Implement listPartitionsByNames api in different catalogs.

Why are the changes needed?
Hive#getPartitionsByFilter API is low-performance and would cause Hive MetaStore backend DBS suffer heavy load if there are many calls to tables containing many partitions. There are mainly two advantages of this path:

Improve the performance of listPartitionsByFilter when querying tables containing large partitions.
Reduce the load on the db behind Hive MetaStore and maintain the health of HMS.

Does this PR introduce any user-facing change?
Yes, the user can turn on spark.sql.hive.getPartitionByName.enabled if the spark app needs do partition filter on tables containing large number of partitions.
How was this patch tested?
Add a unit test.
Was this patch authored or co-authored using generative AI tooling?
No.

cc: @pan3793 @LuciferYang Could you help take a look?


New term: Malpighian tubule lower domain

Preferred term label
Malpighian tubule lower domain
adult Malpighian tubule lower domain
embryonic/larval Malpighian tubule lower domain
embryonic Malpighian tubule lower domain
NOTE: I'm not completely convinced this isn't a subdivision of 'main segment of Malpighian tubule' FBbt:00005792.
Synonyms
Textual definition
The part of the Malpighian tubule linking the main segment of the Malphighian tubule to the ureter
the definition should be understandable even for non-specialists. Include a PubMed ID to refer to any relevant article that provides additional information about the suggested term.
Suggested parent term
is_a
Malpighian tubule segment FBbt:00005789
adult Malpighian tubule segment FBbt:00005728
embryonic/larval Malpighian tubule segment FBbt:00001899
embryonic Malpighian tubule segment FBbt:00005637
part_of
Malpighian tubule FBbt:00005786
adult Malpighian tubule FBbt:00005725
embryonic/larval Malpighian tubule FBbt:00001896
embryonic Malpighian tubule FBbt:00005634
NOTE: the other Malphigian tubule segments are not part_of Malpighian tubule (at any stage); Malpighian tubule segment IS part_of Malpighian tubule (intial, transitional, main Malpighian tuble segments have is_a relationship to Malpighian tubule segment. So maybe the new terms should also not be part_of Malphighian tubule)
Attribution
FBrf0098338 (see Figure 2A)

By the way...I need this for an allele I'm adding to the Frequently Used GAL4 Drivers table.


String#tr with empty String

Hello!
"aabbcc".tr("b", "")

Output:
Index out of bounds (IndexError)
[4311543] *CallStack::unwind:Array(Pointer(Void)) +87
[4311434] *CallStack#initialize:Array(Pointer(Void)) +10
[4311386] *CallStack::new:CallStack +42
[4295912] *raise<IndexError>:NoReturn +24
[4397942] *Char::Reader#next_char:Char +38
[4338141] *String#tr<String, String>:String +14253
[4305298] *__icr_exec__:String +130
[4292040] ???
[4304873] main +41
[140625133621969] __libc_start_main +241
[4290714] _start +42
[0] ???

In Ruby:
"aacc"

It's not cool :(

It should at least give a better error message, but I'm actually not sure about special case. You can just use String#delete for it.

@jhass Okay, thanks, I will use String#delete now.

@paddor I'm not understanding why throwing an ArgumentError is the correct solution to this. What's wrong with replacing something with an empty String from a conceptual /  usability standpoint? I think this solution violates the Principle of Least Surprise. I would absolutely expect it to work like @AlexWayfer did.
I like that if the exception is going to be thrown it says "to can't be empty" and that does help, but still...

also, if this issue is no longer up for debate because of the "don't crash if replacement is empty" commit, it should be closed. If it is up for debate though, let's debate! ;)

@masukomi Maybe you wanna read up on the discussion on #3129.

#3129 is merged, behavior is expected, issue can be closed?


[Pluralsight] How can i only accept download with specific parameters ?.

Checklist

[x] I'm reporting a feature request
[x] I've verified that I'm running youtube-dl version 2020.03.24
[x] I've searched the bugtracker for similar feature requests including closed ones

Description

So, I have found that download link from pluralsight have different download speed.
Here what I found
first link : First_link
With that kind download link, I have found that maks download speed is only between 10-32 kb/sec
But when I get download link like this : second_link
The download speed is normal at 5 Mb/sec.
Then I'm trying why I can have a different kind link, I'm checking with IDM, if the download link getting before the video play I ll get first_link format, but when I click download link after the video was playing I get the second_link format.
I just thinking if i can only start download when I get link that contains parameter expiretime such like second_link

Actually you could try to download via idm.
Just put the command --get-url
it will catch the direct link and you can paste it to IDM

Actually you could try to download via idm.
Just put the command --get-url
it will catch the direct link and you can paste it to IDM

Nice info, but then how can I get the file name, because the download link doesn't show it.


Add webkit-font-smoothing to Button component

Done
Add webkit-font-smoothing to Button component
QA

Pull this feature branch
Run npm i
Run npm test - verify no failures
Run npm start
View Button component in Storybook
Verify the font-smoothing rule is being applied to buttons

Issue
Fixes #102
Hacktoberfest
I submit this fix in support of Hacktoberfest. I usually work on our own open source design system, Vanilla Framework 👋🏻

The build failure is unrelated to my changes in this feature branch and is also present on master - I've raised this as an issue here: https://github.com/pricelinelabs/design-system/issues/113

Codecov Report

Merging #112 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #112   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          21     21
  Lines         192    192
=====================================
  Hits          192    192

Impacted Files
Coverage Δ

src/Button.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@barrymcgee ran build again on your branch. All checks pass at the moment

I have mentioned in the issue #102  of the possibility to add this on the Base component. Rather than that, it looks good to me! We really appreciate your your contribution 👍

🙌🏻


[4.0.1] MCPWM fault not work (IDFGH-3473)

Environment

IDF version 4.0.1
Compiler version xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0
Operating System:     [Windows]
(Windows only) environment type: [ESP Command Prompt]
Using an IDE?: [Eclipse]
Power Supply:         [USB]

Problem Description
Changing the fault signal has no effect on outputs A and B.
Code to reproduce this issue
	mcpwm_pin_config_t pin_config =
		{
			.mcpwm0a_out_num = output_a,
			.mcpwm0b_out_num = output_b,
			.mcpwm_fault0_in_num = GPIO_NUM_14,
		};

	ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

	mcpwm_config_t mcpwm_config =
		{
			.frequency = MOSFET_PWM_INIT_FREQ,
			.cmpr_a = 50.0,
			.cmpr_b = 50.0,
			.counter_mode = MCPWM_UP_DOWN_COUNTER,
		};

	ESP_ERROR_CHECK(mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &mcpwm_config));
	ESP_ERROR_CHECK(mcpwm_stop(MCPWM_UNIT_0, MCPWM_TIMER_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_A, MCPWM_DUTY_MODE_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_B, MCPWM_DUTY_MODE_1));

	ESP_LOGI(TAG, "MCPWM Fault init...");
	gpio_pulldown_en(GPIO_NUM_14);
	ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_HIGH_LEVEL_TGR, MCPWM_SELECT_F0));
	ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F0, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));

	ESP_ERROR_CHECK(mcpwm_start(MCPWM_UNIT_0, MCPWM_TIMER_0));

I tried with mcpwm_basic_config_example.c and also not work.

Thanks for reporting, we will look into.

Some conclusions?

Hi, @Wielebny666
I can not reproduce your issue with your test code.

I would suggest that you configure IO in this way:
    mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0A, 18);
    mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0A, 19);
    mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM_FAULT_0, 5);

This is strange.
#doesn't work
		mcpwm_pin_config_t pin_config =
			{
				.mcpwm0a_out_num = output_a,
				.mcpwm0b_out_num = output_b,
				.mcpwm1a_out_num = GPIO_NUM_NC,
				.mcpwm1b_out_num = GPIO_NUM_NC,
				.mcpwm2a_out_num = GPIO_NUM_NC,
				.mcpwm2b_out_num = GPIO_NUM_NC,
				.mcpwm_sync0_in_num = GPIO_NUM_NC,
				.mcpwm_sync1_in_num = GPIO_NUM_NC,
				.mcpwm_sync2_in_num = GPIO_NUM_NC,
				.mcpwm_fault0_in_num = input_shutdown,
				.mcpwm_fault1_in_num =  GPIO_NUM_NC,
				.mcpwm_fault2_in_num =  GPIO_NUM_NC,
				.mcpwm_cap0_in_num =  GPIO_NUM_NC,
				.mcpwm_cap1_in_num =  GPIO_NUM_NC,
				.mcpwm_cap2_in_num =  GPIO_NUM_NC,
			};

		ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

#work
	mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0A, output_a);
	mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM0B, output_b);
	mcpwm_gpio_init(MCPWM_UNIT_0, MCPWM_FAULT_0, input_shutdown);

Hi, @Wielebny666
mcpwm_pin_config_t  contains other pins' configuration, if not used, you should set it to -1.

I know.
gpio.h:
    GPIO_NUM_NC = -1,    /*!< Use to signal not connected to S/W */

hi,
are you sure this doesn't work?
mcpwm_pin_config_t pin_config =
{
.mcpwm0a_out_num = output_a,
.mcpwm0b_out_num = output_b,
.mcpwm1a_out_num = GPIO_NUM_NC,
.mcpwm1b_out_num = GPIO_NUM_NC,
.mcpwm2a_out_num = GPIO_NUM_NC,
.mcpwm2b_out_num = GPIO_NUM_NC,
.mcpwm_sync0_in_num = GPIO_NUM_NC,
.mcpwm_sync1_in_num = GPIO_NUM_NC,
.mcpwm_sync2_in_num = GPIO_NUM_NC,
.mcpwm_fault0_in_num = input_shutdown,
.mcpwm_fault1_in_num =  GPIO_NUM_NC,
.mcpwm_fault2_in_num =  GPIO_NUM_NC,
.mcpwm_cap0_in_num =  GPIO_NUM_NC,
.mcpwm_cap1_in_num =  GPIO_NUM_NC,
.mcpwm_cap2_in_num =  GPIO_NUM_NC,
};
	ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

Here is a program that i used to test your code. It seems to run correctly. I suspect you didn't call mcpwm_fault_set_cyc_mode to specify the bahavior when a fault is detected, in which the default is MCPWM_ACTION_NO_CHANGE
`    printf("Hello world!\n");
mcpwm_config_t pwm_config;
pwm_config.frequency = 300;
pwm_config.cmpr_a = 25.0;
pwm_config.cmpr_b = 35.0;
pwm_config.counter_mode = MCPWM_UP_DOWN_COUNTER;
pwm_config.duty_mode = MCPWM_DUTY_MODE_0;
mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &pwm_config);

int output_a = 4;
int output_b = 2;
int input_shutdown = 25;

mcpwm_pin_config_t pin_config =
{
    .mcpwm0a_out_num = output_a,
    .mcpwm0b_out_num = output_b,
    .mcpwm1a_out_num = GPIO_NUM_NC,
    .mcpwm1b_out_num = GPIO_NUM_NC,
    .mcpwm2a_out_num = GPIO_NUM_NC,
    .mcpwm2b_out_num = GPIO_NUM_NC,
    .mcpwm_sync0_in_num = GPIO_NUM_NC,
    .mcpwm_sync1_in_num = GPIO_NUM_NC,
    .mcpwm_sync2_in_num = GPIO_NUM_NC,
    .mcpwm_fault0_in_num = input_shutdown,
    .mcpwm_fault1_in_num =  GPIO_NUM_NC,
    .mcpwm_fault2_in_num =  GPIO_NUM_NC,
    .mcpwm_cap0_in_num =  GPIO_NUM_NC,
    .mcpwm_cap1_in_num =  GPIO_NUM_NC,
    .mcpwm_cap2_in_num =  GPIO_NUM_NC,
};
ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F0, MCPWM_ACTION_FORCE_LOW, MCPWM_ACTION_FORCE_LOW);
ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_HIGH_LEVEL_TGR, MCPWM_SELECT_F0));

for(;;)
{
    printf("Fault pin: %d\n", gpio_get_level(input_shutdown));
    vTaskDelay(pdMS_TO_TICKS(1000));
}`

@Wielebny666 Would you please help share if any updates for this issue? Thanks.

Hi,

[...] I suspect you didn't call mcpwm_fault_set_cyc_mode to specify the bahavior when a fault is detected, in which the default is MCPWM_ACTION_NO_CHANGE.

Seriously?
my code:
[...]
ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_HIGH_LEVEL_TGR, MCPWM_SELECT_F0));
ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F0, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));
[...]

I changed nothing in the code except gpio initiation and it started working.
Difference between my and your code is in the order of calls mcpwm_fault_init and mcpwm_fault_set_cyc_mode.
I will check it again today...

OK, i admit mea culpa.
This work
	mcpwm_pin_config_t pin_config =
		{
			.mcpwm0a_out_num = output_a,
			.mcpwm0b_out_num = output_b,
			.mcpwm1a_out_num = GPIO_NUM_NC,
			.mcpwm1b_out_num = GPIO_NUM_NC,
			.mcpwm2a_out_num = GPIO_NUM_NC,
			.mcpwm2b_out_num = GPIO_NUM_NC,
			.mcpwm_sync0_in_num = GPIO_NUM_NC,
			.mcpwm_sync1_in_num = GPIO_NUM_NC,
			.mcpwm_sync2_in_num = GPIO_NUM_NC,
			.mcpwm_fault0_in_num = input_pwm,
			.mcpwm_fault1_in_num =  GPIO_NUM_NC,
			.mcpwm_fault2_in_num =  GPIO_NUM_NC,
			.mcpwm_cap0_in_num =  GPIO_NUM_NC,
			.mcpwm_cap1_in_num =  GPIO_NUM_NC,
			.mcpwm_cap2_in_num =  GPIO_NUM_NC,
		};

	ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

	mcpwm_config_t mcpwm_config =
		{
			.frequency = MOSFET_PWM_INIT_FREQ,
			.cmpr_a = 50.0,
			.cmpr_b = 50.0,
			.counter_mode = MCPWM_UP_DOWN_COUNTER, };

	ESP_ERROR_CHECK(mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &mcpwm_config));

	ESP_ERROR_CHECK(mcpwm_stop(MCPWM_UNIT_0, MCPWM_TIMER_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_A, MCPWM_DUTY_MODE_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_B, MCPWM_DUTY_MODE_1));

	ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_LOW_LEVEL_TGR, MCPWM_SELECT_F0));
	ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F0, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));

	ESP_ERROR_CHECK(mcpwm_start(MCPWM_UNIT_0, MCPWM_TIMER_0));

but, not work
	mcpwm_pin_config_t pin_config =
		{
			.mcpwm0a_out_num = output_a,
			.mcpwm0b_out_num = output_b,
			.mcpwm1a_out_num = GPIO_NUM_NC,
			.mcpwm1b_out_num = GPIO_NUM_NC,
			.mcpwm2a_out_num = GPIO_NUM_NC,
			.mcpwm2b_out_num = GPIO_NUM_NC,
			.mcpwm_sync0_in_num = GPIO_NUM_NC,
			.mcpwm_sync1_in_num = GPIO_NUM_NC,
			.mcpwm_sync2_in_num = GPIO_NUM_NC,
			.mcpwm_fault0_in_num =  GPIO_NUM_NC,
			.mcpwm_fault1_in_num = input_shutdown,
			.mcpwm_fault2_in_num =  GPIO_NUM_NC,
			.mcpwm_cap0_in_num =  GPIO_NUM_NC,
			.mcpwm_cap1_in_num =  GPIO_NUM_NC,
			.mcpwm_cap2_in_num =  GPIO_NUM_NC,
		};

	ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

	mcpwm_config_t mcpwm_config =
		{
			.frequency = MOSFET_PWM_INIT_FREQ,
			.cmpr_a = 50.0,
			.cmpr_b = 50.0,
			.counter_mode = MCPWM_UP_DOWN_COUNTER, };

	ESP_ERROR_CHECK(mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &mcpwm_config));

	ESP_ERROR_CHECK(mcpwm_stop(MCPWM_UNIT_0, MCPWM_TIMER_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_A, MCPWM_DUTY_MODE_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_B, MCPWM_DUTY_MODE_1));

	ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_LOW_LEVEL_TGR, MCPWM_SELECT_F1));
	ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F1, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));

	ESP_ERROR_CHECK(mcpwm_start(MCPWM_UNIT_0, MCPWM_TIMER_0));

and also not work:
	mcpwm_pin_config_t pin_config =
		{
			.mcpwm0a_out_num = output_a,
			.mcpwm0b_out_num = output_b,
			.mcpwm1a_out_num = GPIO_NUM_NC,
			.mcpwm1b_out_num = GPIO_NUM_NC,
			.mcpwm2a_out_num = GPIO_NUM_NC,
			.mcpwm2b_out_num = GPIO_NUM_NC,
			.mcpwm_sync0_in_num = GPIO_NUM_NC,
			.mcpwm_sync1_in_num = GPIO_NUM_NC,
			.mcpwm_sync2_in_num = GPIO_NUM_NC,
			.mcpwm_fault0_in_num = input_pwm,
			.mcpwm_fault1_in_num = input_shutdown,
			.mcpwm_fault2_in_num =  GPIO_NUM_NC,
			.mcpwm_cap0_in_num =  GPIO_NUM_NC,
			.mcpwm_cap1_in_num =  GPIO_NUM_NC,
			.mcpwm_cap2_in_num =  GPIO_NUM_NC,
		};

	ESP_ERROR_CHECK(mcpwm_set_pin(MCPWM_UNIT_0, &pin_config));

	mcpwm_config_t mcpwm_config =
		{
			.frequency = MOSFET_PWM_INIT_FREQ,
			.cmpr_a = 50.0,
			.cmpr_b = 50.0,
			.counter_mode = MCPWM_UP_DOWN_COUNTER, };

	ESP_ERROR_CHECK(mcpwm_init(MCPWM_UNIT_0, MCPWM_TIMER_0, &mcpwm_config));

	ESP_ERROR_CHECK(mcpwm_stop(MCPWM_UNIT_0, MCPWM_TIMER_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_A, MCPWM_DUTY_MODE_0));
	ESP_ERROR_CHECK(mcpwm_set_duty_type(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_OPR_B, MCPWM_DUTY_MODE_1));

	ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_LOW_LEVEL_TGR, MCPWM_SELECT_F0));
	ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F0, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));

	ESP_ERROR_CHECK(mcpwm_fault_init(MCPWM_UNIT_0, MCPWM_LOW_LEVEL_TGR, MCPWM_SELECT_F1));
	ESP_ERROR_CHECK(mcpwm_fault_set_cyc_mode(MCPWM_UNIT_0, MCPWM_TIMER_0, MCPWM_SELECT_F1, MCPWM_FORCE_MCPWMXA_LOW, MCPWM_FORCE_MCPWMXB_LOW));

	ESP_ERROR_CHECK(mcpwm_start(MCPWM_UNIT_0, MCPWM_TIMER_0));

when init via mcpwm_gpio_init
all configuration work correctly.

This problem is in all ver from 2.1 to master

Why nobody approved pull requests?
Is 4.0 branch still alive?

fixed in master branch, will be backported to 4.0 soon.

fixed in master branch, will be backported to 4.0 soon.

are you sure?

fixed in master branch, will be backported to 4.0 soon.
20 days have passed and there is still no patch in branch 4.0

Please reopen.

Thanks for reporting, and reopened the ticket, will update once the fix on release/4.0 is available on GitHub. Thanks.

Thanks for reporting and sorry for slow turnaround. Fix on release/4.0 is available at https://github.com/espressif/esp-idf/commit/fcb0206c59e0859c71e3c3013540a9779a322c0f, feel free to reopen if the issue still happens.

This problem is in all ver from 2.1 to master
Reopen, Please check other versions.

Relase v4.1 stable have this same problem.
REOPEN

Hi, @Wielebny666
Release/v4.1 have solved this problem in our internal gitlab,
but have no synchronize to github yet. We will do that as soon as possible.

Fix on release/4.0 is https://github.com/espressif/esp-idf/commit/fcb0206c59e0859c71e3c3013540a9779a322c0f, feel free to reopen. Thanks.


Remove unused imports. Win compatibility for testing

Turns out we're not actually using six

Just amended the last commit to add an-line comment regarding why the change was made.  Tests passed before this commit was amended and force-pushed, so this is ready for review @tacaswell @danielballan

Good catch with testing the wrong version of Python. I would advocate vendoring or requiring weakrefmethod rather than committing to dropping 2.x support.

This makes me a bit worried about the rest of our travis setups in that we may be testing less things on python2 than we think...

@tacaswell in most/all of the other .travis.yml's we have a line that is essentially conda create -n testenv python=$TRAVIS_PYTHON_VERSION <deps> ...
That line was missing here which is why we were not testing other pythons

but you do raise a valid point. I'll add that (check other travis ymls) to my list of things to do

And I would be in favor of just making the use of weakref conditional, PR on PR coming

Yay 2.7 is working again. Thanks @tacaswell .  Self-merging so I can finish this up at conda forge

Thanks for the review @danielballan @tacaswell


Skipping uncle cutscene quickly can make Jak invisible

Mike has been talking to Uncle, and when he skips the cutscene somewhat fast it makes Jak invisible

Fixed by #51


Save as options are not working from Notebook

Save as options are not working from Notebook. Following message is shown:
Failed to save results. Could not find a serialization provider with the specified ID 'MySQL'

ADS team will implement it.


[chore] ignore otel collector package updates in dependabot

What does this PR do?
ignore otel collector package updates in dependabot
Motivation
OpenTelemetry collector packages need to be updated with inv rather than dependabot

/merge


reimplemented unhash using Horner's method

Please feel free to cherry-pick only the first commit.

@jkramarz Both commit looks good to me. Last commit is more easier to read for me. Very good! I'll merge it. Thanks for your contribution.

@jkramarz also published as 1.0.5.


Create a "standard" for novel or other methods

We need some kind of recommendations for reviewing a method for which there is no existing standard, such that a reviewer can click "other" in the reviewer checklist generator and still get some kind of sensible advice beyond the general standard.

things you ll are currently missing are "errata papers" and "vision papers" and "none of the above"

This issue is for the none-of-the-above standard. We're making a list of other needed standards here: https://github.com/acmsigsoft/EmpiricalStandards/discussions/23


Fix for #74 - String multiline block with variable

Fix for #74 String multiline block with variable
Masks multiline string blocks, converts them separately

Has a bug... will fix and resubmit


Error while launching quickswitch

Hi!
Today I found quickswitch wasn't working, launching it from console shows this:
$ quickswitch.py
Traceback (most recent call last):
File "/usr/bin/quickswitch.py", line 247, in
main()
File "/usr/bin/quickswitch.py", line 238, in main
lookup = lookup_func()
File "/usr/bin/quickswitch.py", line 65, in get_windows
return create_lookup_table(windows)
File "/usr/bin/quickswitch.py", line 147, in create_lookup_table
if name.startswith("i3bar for output"):
AttributeError: 'NoneType' object has no attribute 'startswith'
Originally I installed quickswitch via pip and was working great (well, with the exception of bug #21) and all of a sudden it stopped working - presumably because a system update to the Python stack?
Running a 'pip install quickswitch --upgrade' tells me I already have latest quickswitch version.
My system is an F21, fully updated.

UPDATE
The problem has definitely to be with the Python libraries installed in my system - or with the package uploaded to pip; cloning the repository and compiling quickswitch-i3 produces a working copy of it.
I'm closing this ticket for now then.
Cheers.


chore: replace cloud image with ClusterImage

Signed-off-by: Allen Sun<EMAIL_ADDRESS>
Describe what this PR does / why we need it
Like what mentioned in https://github.com/sealerio/sealer/issues/1371 .
Currently in sealer's concept, CloudImage represents the Image which is built from Kubefile. CloudImage now is used to reveal a cluster with applications and Kubernetes inside.
While I am just wondering if Cloud in CloudImage is the suitable name for this situation. Cloud generally refers to a quite wide and abstract service all around the industry. Maybe CloudImage is much larger than what sealer wishes to mean.
Back to the theme, I think maybe ClusterImage is a little bit more accurate than CloudImage.
Just propose this topic to all the community and maintainer to take this into consideration.
In addition, in gravity https://github.com/gravitational/gravity, it refers to ClusterImage as well: https://github.com/gravitational/gravity#cluster-images
Does this pull request fix one issue?
fixes https://github.com/sealerio/sealer/issues/1371

Describe how you did it
none
Describe how to verify it
none
Special notes for reviews
none

our official website documentation also needs to be updated to ClusterImage accordingly.  i will replace it later.


IE 11 support

Guys, is ie 11 supported? When I use phone mask it outputs ERROR string instead of mask in ie11

in IE, firefox doesn't work

It works in IE11 but there are cosmetic issues. I dont want to open a separate issue.
The underlining that shows the mask format sometimes disappear completely and comes back after you move focus to another control then back to mask control and then back to another control. Even then, sometimes it comes back sometimes it doesn't.

I have the problem with IE11 regarding pasting any data from the clipboard.

Guys, is ie 11 supported? When I use phone mask it outputs ERROR string instead of mask in ie11

I've the same issue. 'Error' string in input.

You need to transpile it with babel yourself to support IE11.
If you are using babel already, but with the useBuiltIns: 'usage' option rather then pulling all of the available polyfills into the bundle, then you need to add the path to the library in the rule that processes stuff for the babel loader.
It should look something like this:
                {
                    test: /\.(js)$/,
                    include: [
                        resolvePath('./src'),
                        /*
                         * Vue-masked-input does not support IE11 out of the box (has Array.from)
                         * see: https://github.com/niksmr/vue-masked-input/issues/36
                         */
                        resolvePath(./'node_modules/vue-masked-input'),
                    ],
                    use: [
                        {
                            loader: 'babel-loader',
                        },
                    ],
                },


Rethink state improvements

The statedb contains our best-seen path to any particular state, with a state referencing its total time and the step taken from its parent state. Each is updated individually, so may be stale. We also have the next column which shows us the children states from any parent, which means we don't have to deserialize and evaluate again if we encounter the same state later.
When we improve part of a route, the later states will have to get improved as well so we can appropriately reprioritize them for evaluation. Right now we do that eagerly in HeapDB::record_one_internal, including the entire recursive tree. As I write this, it's been almost an hour waiting for a recreate step that's around 70% of the way through the route, for a fourth canon replacement from #182.
This can potentially explain a lot of things:

Why the best routes don't seem to improve upon the early stages of the input or the first solution found.
Why stopping the program and restarting it (deleting the db in the process) is better for finding improvements.
Why the program throughput slows down so much after running a long time.
Why mutations from #182 seem to be very slow.
Why mutations don't seem to produce better solutions (they are updating states for so long first that another thread might take an improved state and find the solution before the mutation thread is done with the db).
Why sometimes solutions find discrepancies between their state data and their elapsed times.

We need to find a more lazy approach to this. We're already geared towards understanding stale information in the statedb; what happens if we only update the new states produced in any step (including all of any solution)? Perhaps later when we retrieve a state from the queue we can check its predecessor (or all of them??)? Perhaps we can add a versioning tag somewhere that makes it easier to see if we need to rescore a state. Perhaps we can add another background thread.
I think if we only check a state's immediate predecessor when we pop from the queue, then we might not pick up on its actual best time from ancestors further away. However, if we find any solutions with that state (e.g. from the solve trie search), then we will recreate_store the entire solution and thus update those times.

Here are some things we need to do:

[ ] Stop recursing into next states in record_one_internal.
[ ] When evaluating a state, don't drop any of its children for being more than the max time. These all need to be added into the statedb, but we can exclude them from the queue.
[ ] When an unevaluated state's score is improved in the db from above max time to below it, add it to the queuedb.
[ ] When recreating a route, if we find an already-evaluated state, update it and all its children, rather than ignore it.

Wow! It's much faster at reducing the best time now!

This should be accomplished now but we really ought to have some further way to check, such as a background thread. For example, we could improve a state that has already been processed. Because it's already been processed, we never look it up in the solve trie, or we never process some descendent of that path.


TFRS - New Act Label Changes - New File Submission page - BCeID

Describe the task
Changing labels on the New File Submissions page, only accessible to BCeID users.
Labels to change:
See attached document for description of label changes:
https://app.zenhub.com/files/80058415/407136cc-938c-40c0-a2e0-742417202d8b/download
Location in app:

BCeID: From the Home dashboard page, click on the 'File Submissions' heading on the main nav bar, the click on the New Submission button.

Purpose
Changes labels and messaging to align with the language and framing used in the new Act.
Acceptance Criteria

[ ] All the labels need to be changed as per the attached document without breaking the functionality

Hey team! Please add your planning poker estimate with Zenhub @jig-patel @prv-proton


How to append new object property name  in a result row data packet query???

var data = {
   "data"={}
}
 connection.query("SELECT * FROM table",function(err, rows, fields){
       if(rows.length != 0){
            rows['new'] = [1,2,3];
             data["data"]=rows
           console.log(data);
            res.json(data);
      }
})

In console log the rows['new'] is not included...I want to append the new object to the result row and the output will be like this....
{
    "data": [
        {
            "id": 1,
            "name": "name",
            "new": [
                1, 2, 3
               ]
        } and so on
   ]
}
``

Somebody help me with this??

rows is an array.
[
  RowDataPacket { field1: value1, field2: 'value2' },
  RowDataPacket { field1: value1, field2: 'value2' }
  ....
]

so, you need to add a new object to each of array.
I think it's the way you want.
connection.query("SELECT * FROM table",function(err, rows, fields){
    rows.map(function(row) {
        row['new'] = [1, 2, 3];
    });

    data['data'] = rows;
    console.log(data);
    res.json(data);
});

Hi @dreweird this is a general how to write JavaScript question, rather than something to do with this module specifically. You'll get a lot faster answers if you ask on a site like Stackoverflow instead of the bug tracker of this module.
I believe @ifsnow has a decent example of how to accomplish your task: iterate over all the rows elements and set the new property on them, one by one.

@dreweird ideally you should avoid mutating values returned by 3rd party library, in JS it's very easy to make a copy:
   connection.query("SELECT * FROM table", (err, rows) => {
      data.data = rows.map((r) => Object.assign({}, r, {"new": [1, 2, 3]}))
      res.json(data)
   })


Upgrade 1.x - >2.x, can't becuase labelselector is immutable

Details
What steps did you take and what happened:
Tried to upgrade 1.5.1 -> 2.x, followed the values.yaml changes as best i could.  Ran through argoCD to update,  it fails to deploy because of an immutable field
exact error:
Deployment.apps "sonarr" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/component":"main", "app.kubernetes.io/instance":"sonarr", "app.kubernetes.io/name":"sonarr"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable

1.5.1 format:
image:
  repository: ghcr.io/onedr0p/sonarr-develop
  pullPolicy: IfNotPresent
  tag: <IP_ADDRESS>8
strategy:
  type: Recreate
podSecurityContext:
  runAsUser: 1000
  runAsGroup: 1000
  fsGroup: 1000
  fsGroupChangePolicy: "OnRootMismatch"
env:
  TZ: America/Los_Angeles
  SONARR__API_KEY:
    valueFrom:
      secretKeyRef:
        name: sonarr-api-key
        key: sonarr_api_key
service:
  main:
    ports:
      http:
        port: 8989
ingress:
  main:
    enabled: true
    ingressClassName: traefik
    hosts:
      - host: server.domain.tld
        paths:
          - path: /
            pathType: Prefix
            service:
              port: 8989
persistence:
  config:
    enabled: true
    type: pvc
    accessMode: ReadWriteOnce
    size: 15Gi
    mountPath: "/config"
  media:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/media
    mountPath: "/media-nfs"
  backups:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/dockerdata/backups/sonarr
    mountPath: "/config/Backups"
  dockerdata:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/dockerdata/
    mountPath: "/mnt/dockerdata"
probes:
  liveness:
    enabled: true
    custom: true
    spec:
      httpGet:
        path: /
        port: http
resources:
  requests:
    cpu: 300m
    memory: 768Mi
  limits:
    memory: 3Gi

2.x format:
defaultPodOptions:
  securityContext:
    runAsUser: 1000
    runAsGroup: 1000
    fsGroup: 1000
    fsGroupChangePolicy: "OnRootMismatch"
controllers:
  main:
    containers:
      main:
        strategy:
          type: Recreate
        image:
          repository: ghcr.io/onedr0p/sonarr-develop
          pullPolicy: IfNotPresent
          tag: <IP_ADDRESS>8
        probes:
          liveness:
            enabled: true
            custom: true
            spec:
              httpGet:
                path: /
                port: http
        env:
          TZ: America/Los_Angeles
          SONARR__API_KEY:
            valueFrom:
              secretKeyRef:
                name: sonarr-api-key
                key: sonarr_api_key
        resources:
          requests:
            cpu: 300m
            memory: 768Mi
          limits:
            memory: 3Gi
service:
  main:
    ports:
      http:
        port: 8989

ingress:
  main:
    enabled: true
    className: traefik
    hosts:
      - host: server.domain.tld
        paths:
          - path: /
            pathType: Prefix
            service:
              name: main
              port: 8989
persistence:
  config:
    enabled: true
    type: persistentVolumeClaim
    accessMode: ReadWriteOnce
    size: 15Gi
    globalMounts:
      - path: "/config"
  media:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/media
    globalMounts:
      - path: "/media-nfs"
  backups:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/dockerdata/backups/sonarr
    globalMounts:
      - path: "/config/Backups"
  dockerdata:
    enabled: true
    type: nfs
    server: server.domain.tld
    path: /mnt/sirius/dockerdata/
    globalMounts:
      - path: "/mnt/dockerdata"

am I missing something here? the values seem to lint fine to ArgoCD.   thanks!   FWIW, this is what ArgoCD shows as the deltas:

And the section in particular:

Hey, thanks for creating this issue! Unfortunately there is nothing that I can do about that. Since Kubernetes makes the labelSelector immutable an in-place upgrade of Deployments unfortunately isn't possible. I will add this to the upgrade notes!
For some more backround: https://www.datree.io/resources/kubernetes-error-codes-field-is-immutable

FWIW, I was able to work around this using ArgoCD's options:
Force, Skip Schema Validation, and Replace

this combination basically replaced the chart with the new one.  to be safe re: my PVC, i set it's retention policy to "Retain" first so it wouldn't delete in case of the forced replacement, the container came up with the new chart, and everything else persisted.  Leaving this in case anyone else runs into the same issue.
Thanks!


Micro optimization to reduce array_merge calls

Not a big win but this is a micro optimization will reduce amount of array_merge calls in case exclude-path or exclude-file options has more than one entry as Finder is doing array merge all the time notPath, notName, name are called.
see https://github.com/symfony/finder/blob/4.4/Finder.php#L286

Hey @sasezaki, @exussum12, @kubawerlos could you please take a look at these changes when you have a chance?

thanks @kubawerlos, @sasezaki


[Feature Request] corrupted backtraces are common, but too hard to debug. (IDFGH-9629)

Corrupted backtraces are very annoying to debug:

insert printfs all over my code
rerun code
insert more printf
repeat

Corrupted backtraces happen frequently during development. ESP-IDF should be easier to use. There must be a better way!
My suggestion:

a "debug mode" for corrupted backtraces, that always prints the real stack when corruption is detected
during execution, the debug mode will create a mirrored "backup" stack, elsewhere in memory. Perhaps heap memory.
"backup" stack will not hold data, just return addresses, so it can be small
if normal stack is corrupted, check backup stack, and also print that!

Perhaps we can use gcc for code insertion: https://stackoverflow.com/questions/5081123/how-to-add-code-at-the-entry-of-every-function
I feel like this feature could be developed in 2-3 days, and would save hours of development time for thousands of developers.

Here is what ChatGPT says:
You can achieve this by using a GCC feature called function attributes. Function attributes are keywords that you can use to decorate a function definition with additional properties.
Here's an example of how you can use function attributes to mirror the return addresses of all functions in your program:
`#include <stdlib.h>
/* This function attribute tells GCC to call the given function
before every function call in the program. */
void __cyg_profile_func_enter(void *func, void *caller) attribute((no_instrument_function));
/* This function attribute tells GCC to call the given function
after every function call in the program. */
void __cyg_profile_func_exit(void *func, void *caller) attribute((no_instrument_function));
/* This is the mirrored return address buffer */
void **return_addr_buf;
int return_addr_buf_index = 0;
/* This function is called before every function call in the program. */
void __cyg_profile_func_enter(void *func, void caller) {
/ Save the return address on the buffer */
return_addr_buf[return_addr_buf_index++] = __builtin_return_address(0);
}
/* This function is called after every function call in the program. */
void __cyg_profile_func_exit(void *func, void caller) {
/ Decrease the return address buffer index, as the function has now returned */
return_addr_buf_index--;
}
/* Main program /
int main() {
/ Allocate the mirrored return address buffer on the heap /
return_addr_buf = malloc(sizeof(void) * 1000);
/* Call your program's functions here */

/* Free the mirrored return address buffer */
free(return_addr_buf);

return 0;

}
`
In this example, the __cyg_profile_func_enter and __cyg_profile_func_exit functions are called before and after every function call in the program, respectively. These functions use the __builtin_return_address GCC built-in function to retrieve the return address of the current function and store it in the mirrored return address buffer.
Note that you'll need to link your program with the libgcc library, which provides the implementation of these profiling functions. To do so, you can add the -lgcc flag to your gcc command line. Additionally, you may need to use the -finstrument-functions flag to enable function instrumentation.
Keep in mind that this technique will add overhead to your program's execution, so use it only for debugging purposes. Also, note that it may not work correctly with some optimization levels or when inlining functions.

WIP PR: https://github.com/espressif/esp-idf/pull/10982

New Pr: https://github.com/espressif/esp-idf/pull/10984


add plant button in my garden screen

Looks and works great on the iPhone. However, there is some shadow above the bottom navigator, I have to tap the button multiple times when there´s no plant added to the garden yet for the bottom sheet to open, and you need to close the bottom sheet when the user taps on "Snap to identify" (identify" in lower case) or "Search by name".


Removing trivial diffs with the upstream/master branch  - 220119

Since the test //tensorflow/python/kernel_tests/math_ops:transpose_op_test

was explicitly mentioned as a test that fails without the __launch_bounds__(1024)__ attribute (see https://github.com/ROCmSoftwarePlatform/tensorflow-upstream/commit/ccd0a269a91dce81ec4cbdabc24577e251494851 )
is currently not getting run as part of single-GPU testsuite because it has the no_gpu tag on it

I manually ran it, and confirmed that it behaves the same with and without that attribute.
posting the result here
======================================================================
FAIL: testComplex128 (__main__.TransposeTest)
TransposeTest.testComplex128
----------------------------------------------------------------------
Traceback (most recent call last):
...

AssertionError:
Arrays are not equal

not equal lhs = array(1.-2.j)
not equal rhs = array(1.+1.99902344j)
Mismatched elements: 1 / 1 (100%)
Max absolute difference: 3.99902344
Max relative difference: 1.78911649
 x: array(1.-2.j)
 y: array(1.+1.999023j)

======================================================================
FAIL: testComplex64 (__main__.TransposeTest)
TransposeTest.testComplex64
----------------------------------------------------------------------
...
AssertionError:
Arrays are not equal

not equal lhs = array(1.-2.j, dtype=complex64)
not equal rhs = array(1.+1.9990234j, dtype=complex64)
Mismatched elements: 1 / 1 (100%)
Max absolute difference: 3.9990234
Max relative difference: 1.7891166
 x: array(1.-2.j, dtype=complex64)
 y: array(1.+1.999023j, dtype=complex64)

----------------------------------------------------------------------
Ran 27 tests in 7.735s

FAILED (failures=2, skipped=1)
================================================================================


Error during installation

I'm trying to install BookStack using these Instructions (https://www.bookstackapp.com/docs/admin/installation/) on Ubuntu 16.04 LTS and I get an error while running php artisan key:generate and\or php artisan migrate commands.
PHP Warning:  require(/var/www/bookstack/BookStack/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/bookstack/BookStack/bootstrap/autoload.php on line 18
PHP Fatal error:  require(): Failed opening required '/var/www/bookstack/BookStack/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/bookstack/BookStack/bootstrap/autoload.php on line 18

Do I need to perform some additional steps to set this up?

@Nixellion I feel like I've run into this myself before... but I can't remember exactly what I needed to do.
My go to reason for most errors though is permissions haha. I looked through the script and pulled out what Dan does to the respective folders in 4 of the instructions.
chown www-data:www-data -R bootstrap/cache public/uploads storage

chmod -R 755 bootstrap/cache public/uploads storage

It does look like though that the error is occurring within PHP. Are all of the dependencies installed?

Yeah, My guess is that the dependencies have not been installed with composer since it's looking inside the vendor file in that 'No such file' error.  Running the following will install composer then install BookStack dependancies:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar install

@Nixellion Did the commands that Dan posted above work to resolve your problem?

I actually went with dokuwiki for the time being, but I will try to install bookstack again alongside that, when I have some time for that, and try these commands out!
Thanks for the tips!

@Nixellion Okay, Cool. I'll close this for now then but if you have trouble when retrying feel free to comment again and I'll re-open this.

Hi @ssddanbrown
I getting same error but i have radhat system, there is no user www-data:www-data we have Nginx user I gave him all right like bookstack folder right and I installed composer with root user then gave ownership to Nginx user but still is same error I run composer I getting welcome page of composer I am not sure what I am doing wrong

@BirenGroove please open a new issue, following the issue template, with detail of your system and the exact error message you are getting.

Hi @ssddanbrown,
I got the same error too. I ran the above commands but my problem still persists. How can i solve it?

@sinan-lab Please see my previous message above yours.
The commands listed above are 4 years old and may not work as expected now.


Update languagesMd.js

sexy Russian

Improvements after watching https://www.youtube.com/watch?v=Nmibz4o11hw


cmd/go2go: can't import C

What version of Go are you using (go version)?

$ go version
go version devel +2298dab082 Thu Oct 22 00:19:08 2020 +0000

Does this issue reproduce with the latest release?
I think this is the latest commit on the dev.go2go branch.
What operating system and processor architecture are you using (go env)?

$ go env
darwin/amd64

What did you do?
I maintain a package that uses cgo and could benefit from generics. I decided to create a branch to see how I liked the generics (for what it's worth: thumbs up so far!), but I started having issues with import "C".
I created a very small Hello World example that gives me the same issues I see with my "real world" package. Single file package with the name hello.go2.
package main

// #include <stdio.h>
//
// void Hello() {
// 	printf("Hello World\n");
// }
import "C"

func main() {
	C.Hello()
}

What did you expect to see?
Hello World

If I change the file extension from .go2 to .go and do a normal go run, this is indeed what I see.
What did you see instead?
type checking failed for main
/var/folders/k6/8msxm8_x7ldbknfzp7cyzn680000gn/T/go2go-run942322282/hello.go2:8:8: could not import C (unknown import path "C": internal error: module loader did not resolve import)

Sorry, the go2go tool was for experimentation, and does not support cgo.  We do not plan to extend it to add cgo support.
If the generics proposal is approved, the real implementation will of course support cgo.


Premute Output

@bp0lr It would be good if it have a flag to save only output of permutation / alterations without resolving them.
Thank You.

Sure, that an easy one.
--save-gen was added.

@bp0lr thank you for this super fast change, having issue while generating premutations containing only a domain like example.com. As dmut only create permutations with subdomains like test.example.com not with example.com
Thank you

dmut need at less one subdomain to be able to permute / alterare / attach.
The main function of the tool is that.
If you need something to generate a subdomain list based on a main domain, there is plenty of tool for that.

@bp0lr I know there a many tools to do that same but dmut is creating some extra premutations with the provided list comparing to other tools that is why I am requesting you to please add this too.

yea, but I'm not understanding how.
for example, you have the domain main.com, and a word list with a,b,c.
you want dmut to generate a.main.com a-.main.com, a1.main.com... and the same for b,c?
If you can be a bit more clear maybe this is something that I didn't see.

@bp0lr Yes I wan't dmut to generate a list by taking domain main.com to
a.main.com
a1.main.com
1a.main.com
a-1.main.com
like that.
Thank you

sure, let do this without touching the code ;)
file 1, the subdomains that you want.
host1
host2
host3

file 2, the permutation list
dev
stage
q

one-liner
while IFS= read -r line;do echo "$line.example.com"; done <t.txt | dmut -d short.txt --save-gen
cat generated.txt

dev.host3.example.com
host3-5.example.com
host30.example.com
host33.example.com
host1.stage.example.com
host19.example.com
host1-dev.example.com
stage.host1.example.com
host1.dev.example.com
host1-0.example.com
host11.example.com
qhost1.example.com

you just need to change the main domain and fix the files name to match what are you doing.

@bp0lr done :+1: but it would be much more smooth if its done on the go by dmut , hope you consider it and add a switch to do the same process.
Thank you

@bp0lr If this still not sound good, can you please do only one thing in dmut to accept the file containing parent domain only and then do alterations by supplied list like:
cat domain.txt
example.com

cat words.txt
a
b
c

cat domain.txt | dmut -d words.txt --save-gen

@bp0lr waiting for your response.

I have added an option for situations where dmut need to work just with a main domain.
the subdomain list will be generated based on the mutations list, but no mutation / permutation will take place based on how this works.
for example, if you use dmut with the domain example.com, the list will be something like a.example.com b.example.com c.example.com.
You need to update dmut
 go get -u github.com/bp0lr/dmut

@bp0lr Thank you :100:


I'm encountering multiple 'Notifications' issues

NotificationService.php Line 132
$this->repo->create($input); should be $this->model->create($input);

when you try to edit a notification it returns a MethodNotAllowedHttpException

changed form method to POST

After that getting a reflection error
in the http/controllers/admin/notificationController.php

add “use App\Http\Requests\NotificationUpdateRequest;”
in the update method change “NotificationRequest” to “NotificationUpdateRequest”

now returning a user_id field required error

realized in the view the form is defaulting to "all" users (user_id 0) and is disabled. When you submit you get the user_id field required error.

I quit after this error since when looking at the update method it does not appear to be able to handle an "All" user notification like the create method does.

Hey @zakkyzebra I did some review and I found the issues and fixed them up and added a couple little things, sorry about the lack of functionality on this. Fixes will be released later today


Query / feature request

Hi Olivier - love this usage of D3.  Can you conceive of a way in which the cards could be grouped by a data point (into columns) and then sorted by some other data property?
i.e. Group by chakra, sorted by name;  would yield something like :

Would be interested to hear your thoughts!
Many thanks,
Nick

Interesting idea. Here is what I would do:
1 - precompute the card order inside each chakra and store it in the new property of stones "cIdx".
Add the following at the end of data.js:
var chakra = 0;
var counter = 0;
var maxCount = 0
data.forEach(function(stone){
  if(stone.chakra>chakra){
    chakra++;
    if(counter>maxCount){
      maxCount = counter
    }
    counter = 0;
  }
  stone.cIdx = counter++;
})

2 - In d3-table-cards.js, add a new "columns" layout which is the same as "cards" except for the "top" and "left" functions:
columns: {
  top: function(d, i){return d.cIdx*94+'px'},
  left: function(d, i){return (d.chakra-1)*210+'px'},
  height: 84,
 ...

3 - In index.html, add a link to user the new layout:
Columns
4 - Recalculate "totalHeight" using "maxCount".
That should work...

That’s fantastic, Olivier - thanks for the direction. We’ll give that a go and let you know how it goes.
cheers,
Nick


WindowsPEFileHeader, WindowsPEOptionHeader, WindowsPESection, and WindowsRegistryValue should be subclasses of Facet.

Per Sean Barnum, these are not subclasses of Facet. Therefore, these classes are reverted back to the way they were.


[EWEPNT] Phantasia - Crashes entering world - after character creation

Module Information

Identifier: EWEPNT
Module Name: Phantasia
Version: (C)1995

Describe the bug
Crashes entering world - after character creation
To Reproduce
Steps to reproduce the behavior:

Load Module
Enter Module
Create Character
See error

Expected behavior
Ability to create character and enter world
Screenshots
2020-10-07 22:33:56.9405 Warn MBBSEmu.HostProcess.ExportedModules.Majorbbs.prfmsg prfmsg() unable to locate message number 1965 in current MCV file EWEPNT.MCV
Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unsupported OpCode: Fdivrp')
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.Execute(IntPtr16 entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.Module.MbbsModule.Execute(IntPtr16 entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassSetState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.HostProcess.MbbsHost.WorkerThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ThreadHelper.ThreadStart()

Software Information:

OS: Windows Server 2019 Standard
Telnet Client: NetRunneer
MBBSEmu Build: 100720-7

This MIIIIGHT be caused by something weird going on in the MSG parser. We'll need to verify the resulting MCV file to see if an escape sequence isn't being handled properly.

The missing Fdivrp ordinal seems more pertinent here

🤦 missed that! hahaha


Enable prometheus server

Make the installation of the prometheus server optional.
The use case is for when you want to install a HA cluster of alert managers, for example, using helm.

Sorry, wrong email. Will resend again.


Unable to export DataFrame to CSV

I have a really basic XML file for testing purposes:
<?xml version="1.0" encoding="UTF-8"?>
<data>
    <row>
        <columnA>value</columnA>
        <columnB>2</columnB>
        <columnC>true</columnC>
    </row>
    <row>
        <columnA>value</columnA>
        <columnB>2</columnB>
        <columnC>true</columnC>
    </row>
    <row>
        <columnA>value</columnA>
        <columnB>2</columnB>
        <columnC>true</columnC>
    </row>
</data>

I can read in the XML file just fine using:
import pandas_read_xml as pdx
df = pdx.read_xml("test.xml", root_key_list=["data"])

However, if I try to export the resulting DataFrame to CSV...
df.to_csv("output.csv", index=False, encoding='cp1252')

it produces the following CSV output:
row
OrderedDict([('columnA', 'value'), ('columnB', '2'), ('columnC', 'true')])
OrderedDict([('columnA', 'value'), ('columnB', '2'), ('columnC', 'true')])
OrderedDict([('columnA', 'value'), ('columnB', '2'), ('columnC', 'true')])

My guess is, that this IS a CSV file, although with a single column (row) and the OrderedDict being the str representation of the dictionary instead of the actual values.
Running on Python 3.8, pandas 1.1.3 and pandas-read-xml 0.0.7.

Hey there
Could you please try "flattening" the dataframe before writing out to csv?
df = df.pipe(pdx.fully_flatten)

will probably do the trick.

Heya, that worked better, but still not quite right. It messes up the column names:
"row|columnA"|"row|columnB"|"row|columnC"
value|2|true
value|2|true
value|2|true

Hey
Glad it works better.
Actually, the column name thing is by design.
Sometimes entire relational databases are transmitted via XMLs, and this means the tags are often not unique column names. Imagine multiple tables existing in the same XML. Two columns in two different tables can share the same name - a flattening process needs to retain this difference. This means the node tags of the tree-like structure need to be retained during flattening. In fact the way that pandas handles this with JSON explode is similar, but the default concatenation uses "." instead of "|". I chose the pipe separator because tags can often contain periods or hyphens.
Happy to elaborate further, but XMLs are so flexible that they aren't used consistently across its many users. Unlike JSON, the way it needs to be handled is necessarily messier, which is why I suspect pandas does not have a read_xml yet.
To make it a little cleaner, either try
df = pdx.read_xml("test.xml", root_key_list=["data", "row"])

(not sure if this works)
or clean the column names after the original method with
df.columns = df.columns.str.replace('row|', '')

Okay, yeah. That's understandable.
Adding the "row" key to the root key list works a charm, thank you!


Materials converted to ES6

still waiting for one more change by @vkalpias - he's converting standard-material.js

still waiting for one more change by @vkalpias - he's converting standard-material.js

looks good to me.

looks good to me.


RT-577 :6mo button stays selected after zooming

Overview
We use the onZoomStart on that, we ate removing the focus of the range selector.
Changes in test cases because we rename the component function name and MatButtons Id.
How it was tested
Tested using run showcase app locally.
Checklist

[x] The title contains a short meaningful summary
[x] I have added a link to this PR in the Jira issue
[x] I have described how this was tested
[ ] I have included screen shots for changes that affect the user interface
[x] I have updated unit tests
[x] I have run unit tests locally
[ ] I have updated documentation (including README)

we have created another PR for the RT-577 branch.

Working on this


Code snippet screen reader issues

@dakahn
AVT 3 issues found with macOS Mojave, Chrome and VoiceOver.
For the inline code snippet VO does not:

[x] announce what the button is for. VO should announce that it is a "copy" button.
[x] announce that the text is a code snippet.
[x] announce "copied" after the button is pressed the first time. (note: copied is announced after the button is pressed twice).

For the single and multi-line code snippet VO:

[ ] Incorrectly announces that the code snippet is an editable text field.
[ ] Does not announce "copied" after the button is pressed the first time. (note: copied is announced after the button is pressed twice).

Originally posted by @snidersd in https://github.com/IBM/carbon-components/issues/1531#issuecomment-458255961

Open PR in vanilla repo here

New testing -- new issues. Reopening

Addressed inline issues with #2165
Multi-line code snippet issues forthcoming yall 🤠

not stale ⚡


Issue 299

This pull request addresses issue #299. It adds instructions on how to save netCDF files to disk and warns about opening existing netCDF files with the mode='w' argument set in the netCDF4 Dataset constructor. Adds a link to the netCDF documentation and tweaks the styling of links in the "Resources and References" section to more closely match the rest of the book.

[ ] Closes #299

LGTM!