performance use vector instead of skiplist when insert dup keys

Proposed changes
Issue Number: close #xxx
Problem summary
when insert dup keys, use vector instead of skiplist will reduce 50% loading time.
Here is my test on tpch lineitem table with 3 replica, before change code, loading 6,000,000 rows cost 12s.
{
"TxnId": 126,
"Label": "b00c488f-4bd4-4673-bbff-a6f32f5d2937",
"Comment": "",
"TwoPhaseCommit": "false",
"Status": "Success",
"Message": "OK",
"NumberTotalRows": 5999444,
"NumberLoadedRows": 5999444,
"NumberFilteredRows": 0,
"NumberUnselectedRows": 0,
"LoadBytes": 778778561,
"LoadTimeMs": 12034,
"BeginTxnTimeMs": 0,
"StreamLoadPutTimeMs": 1,
"ReadDataTimeMs": 9135,
"WriteDataTimeMs": 12006,
"CommitAndPublishTimeMs": 26
}
After using vector and sort it on flush stage, it only cost 6.4s.
{
"TxnId": 481,
"Label": "21b3634d-ab7c-4813-885e-7f6215111e7c",
"Comment": "",
"TwoPhaseCommit": "false",
"Status": "Success",
"Message": "OK",
"NumberTotalRows": 6001215,
"NumberLoadedRows": 6001215,
"NumberFilteredRows": 0,
"NumberUnselectedRows": 0,
"LoadBytes": 771862139,
"LoadTimeMs": 6434,
"BeginTxnTimeMs": 0,
"StreamLoadPutTimeMs": 1,
"ReadDataTimeMs": 4718,
"WriteDataTimeMs": 6409,
"CommitAndPublishTimeMs": 23
}
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

@zhannngchen @carlvinhust2012 Thanks for comment, now i use _row_in_blocks to store and sort dup keys, which is already exist in memtable, it no need to create a new vector and RowComparator to do this.

run buildall

run buildall

run buildall

run buildall

run buildall


scala-cli: fix completions

Description of changes
In #177661, I added a wrapper to scala-cli. This changes how the underlying program sees its own executable name (it sees the wrapped one), so to build the correct completion files we need to call it de-aliased.
This PR makes it so that we call scala-cli as scala-cli directly.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

1 package built:

scala-cli


IndexError: index 26 is out of bounds for axis 1 with size 26

Dear Ryan Cooper, I faced an issue when I try to train the letters only dataset emnist-letters.mat when I run the training - I get the below error - can you help?

Hi there, I've seen this error before with TensorFlow and Keras version mismatching. If you could compare your version of these dependencies to the ones listed in dependencies.txt and ensure that they are matching. The version of Keras that this model was developed under may not be forward compatible.
Let me know if this works for you,
Ryan

Closing as no response.


Ideas for improving performance and design hooks reasons

I've read The History and Implementation of React-Redux few days ago and I have several statements and questions:

I do not want use context for performance reason (as in v6), let's not affect React flow after each action if it doesn't change anything.
For the first statement I have question, is there any problem to subscribe on store inside single effect and call updates only when we have changes? Is it problem of making calls continuously depending on components tree?
Do we actually need Provider?
Looks like dispatching actions by action creator should work as useCallback and don't change anything at all.
The implementation of state mapper should give us an ability to use our selectors without additional effort.

Passing store reference to actual components:
<ReduxStoreProvider store={ store }>
    // ...
</ReduxStoreProvider>

const ReduxUpdateLessContext = React.createContext(null);

function ReduxStoreProvider({ store }) {
   // Store object isn't changing? So let's pass only reference to it.
   // Don't affect react flow each action
   const storeReference = useRef(store);

   return (
      <ReduxUpdateLessContext.Provider value={ storeReference }>
         { children }
      </ReduxUpdateLessContext.Provider>
}

// Then use store in effects
const storeReference = useContext(ReduxUpdateLessContext);

storeReference.current.getState();
storeReference.current.dispatch(action);

useSelectState idea:
// Looks like we should create mapper function and memoize it,
// and pass new properties if they are changed as it was in connect function.
// Return the same object reference if nothing is changed
const { key1, key2 } = useSelectState((state, [dep1, dep2]) => ({
   key1: selectorA(state, dep1),
   key2: selectorB(state, dep2),
}), [propsDep1, propsDep2])

function useSelectState(mapper, propsArray) {
   const storeReference = useContext(ReduxUpdateLessContext);
   const mapperCallback = useCallback((state) => mapper(propsArray), propsArray);
   const [mappedState, setMappedState] = useState(mapperCallback(storeReference.current.getState()));

   useEffect(
        () => {
            const store = storeReference.current;
            let previousMappedState = mappedState;

            function onStoreChanged() {
                const nextMappedState = mapperCallback(store.getState());

                if(shallowEq(previousMappedState, nextMappedState)) {
                    setMappedState(nextMappedState);
                }
            }

            // get store somehow without context?
            const cleanupStoreSubscribe = store.subscribe(onStoreChanged);

            return cleanupStoreSubscribe;
        },
        [], // prevent calling twice
    );
}

useActionCreator(s) idea:
// Do we need to know about name `dispatch` function if we have only action creators
// It was good to know when we had special mapper outside `react-redux`
const { requestA } = useActionCreators({
   requestA: requestACreator,
})
// Do we need several `useActionCreator` hooks?
// Is it excessively?
const methodA = useActionCreator(actionCreatorA);
const methodB = useActionCreator(actionCreatorB);
const methodC = useActionCreator(actionCreatorC);

// Something like?
function useActionCreator(actionCreator) {
   const storeReference = useContext(ReduxUpdateLessContext);

   // get dispatch method from Store without making additional Consumer
   // somehow!?
   return useCallback((...args) => {
       storeReference.current.dispatch(actionCreator(...args));
   })
}

Please see #1177

Also #1179 .


upgrade to akka 2.5.0

I assume the code changes for shutting down are intended?  Will these help with some of the service shutdown issues we've seen in the past?

Yeah, system. shutdown() and system.awaitTermination() methods don't exist in akka 2.5.0. The are replaced with system.terminate which returns a Future.
Not sure if this will help with service shutdown issues. We are still waiting 15 seconds for child actors to get shutdown.

Cool, looks good to me.


[Naga] Dev Env

note: we should be merging v7 staging branch to here as frequently as possible
💡 This PR is ready to be used for developing against Naga.
Updates:

✅ ~Blocked until getActiveUnkickedValidators is added to the lit-assets develop branch~

https://github.com/LIT-Protocol/lit-assets/pull/1502

✅ ~CI blocked until a rc release is cut~

~it's using this branch now https://github.com/LIT-Protocol/lit-assets/tree/rc-naga-2024-09-30~

✅ ~/web/sign_session_key/v2 seems to be missing that's why CI is failing.. awaiting for confirmation ~

✅ ~Raised a PR.. awaiting reviews & approvals~

✅ It works!

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Ansonhkg:x: Josh LongJosh Long 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.


Aquire Token with default resource (graph api)

I have the following code from the native android plugin and i need to replicate on iOS:
     ```
           final String defaultGraphResourceUrl = "https://graph.windows.net/6baa4eb1-xxxxx-7d36d";

           final AcquireTokenParameters.Builder builder = new AcquireTokenParameters.Builder();

            builder.startAuthorizationFromActivity(getActivity()).withCallback(getAuthInteractiveCallback());
            builder.withAuthorizationQueryStringParameters(null);
            builder.withResource(defaultGraphResourceUrl.trim());

            final AcquireTokenParameters parameters = builder.build();

What is the right way to add the withResource to:

[application acquireTokenWithParameters:interactiveParams  completionBlock:^(MSALResult * _Nullable result, NSError * _Nullable error) {
if (!error) {
resolve([self MSALResultToDictionary:result withAuthority:authority]);
} else {
reject([[NSString alloc] initWithFormat:@"%d", (int)error.code], error.description, error);
}
}];

Hi @kayvanhaverbeck,
Thanks to your question. we only support resource in ADAL but not MSAL.
Instead we are using scope in MSAL. For more details, please check here

Hi @kayvanhaverbeck,
Thanks to your question. we only support resource in ADAL but not MSAL.
Instead we are using scope in MSAL. For more details, please check here


feat: create fish bleeding station

Finished creating bleeding station (missing walls and roof)
Close: #262

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature

What is the current behavior? (You can also link to an open issue here)
The scene in fish-factory only has a floor and two conveyors. It does not accurately portray a fish bleeding station. See issue #262.

What is the new behavior? (if this is a feature change)
The station is now moddeled after a real fish bleeding station. The conveyors are layed out propperly and fish come from the correct direction and are transported away correctly. An area to stun the fish have also been created.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No

Other information:
Walls and a roof have not yet been put in place to make it easier to continue to work on in the scene without obstructions.

Add empty to conveyor objects


Create an uninstall ansible playbook

As we have a install playbook, it would be great to have an uninstall that takes the same inventory and removes everything from the openshift cluster.

Before this, it's should be good to add label app=enmasse to all entities configured with ansible to be able delete them by label. I'm working on it right now.

any update?

@hguerrero Playbook not yet created, but instruction on uninstall exists now:
http://enmasse.io/documentation/openshift/master/#uninstalling-messaging

@hguerrero https://github.com/EnMasseProject/enmasse/pull/2064


⚠ SceneTime has degraded performance

In 773f416, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1091 ms

Resolved: SceneTime performance has improved in 0cece0f after 6 minutes.


[iOS] Ensures the back gesture is enabled and disabled properly when the CommandBar is visible, collapsed, visible with a navigation command and collapsed with a navigation command.

[iOS] Ensures the back gesture is enabled and disabled properly when the CommandBar is visible, collapsed, visible with a navigation command and collapsed with a navigation command.
Issue:
https://nventive.visualstudio.com/Umbrella/_workitems/edit/134819
https://nventive.visualstudio.com/Umbrella/_workitems/edit/134828

Don't you also need to revert https://github.com/nventive/Uno/pull/260?

Don't you also need to revert #260?


Dask landsea masks bugfix

Fix the problem with landsea-masked PPFields, where the dask compute() calls PPDataProxy.__getitem__, which can then make a nested 'compute()' call for the landsea-mask data.
Closes #3237

[x] Contains content from #3247 , so needs that --or equivalent-- merging, and then a rebase, before merge.
[x] Also needs https://github.com/SciTools/iris-test-data/pull/52~

Passes at last :champagne:
Mergeable ? :wink:

@pp-mo Can you target the v2.2.x branch instead?
It would be good to bank this fix in a 2.2.1 release :wink:

For some reason it wouldn't rebase cleanly, so I skwished + cherry-picked it
( also backed out an unintended change to tests/test_pp_module )
So it had to be force-pushed, but there should be nothing you don't recognise from before.
But all passing so @bjlittle it's go !

@pp-mo Over to you... :wink:

Thanks for taking this on @bjlittle .   Brave  :trophy: !
I've now tried to address all your comments, and a tiny bit more tidying besides.
Please re-review.

@pp-mo Nice one!
Only one last outstanding query, otherwise LGTM :+1:

Magic, thanks @bjlittle !
Huge relief 😅


Transaction Error

I recently traded xlm from my ledger wallet to my coinbase wallet. However the transaction says that it has been confirmed however when I look into my coinbase wallet my money is not in there along with my shares. Can you please help me!?

Same thing just happened to me.

It looks like you forgot to add the memo to the transaction. Every transaction to a custodial exchange requires a valid memo for every deposit. It's impossible to change the memo once the transaction is submitted.
You need to contact Coinbase support team and provide a link to your transaction. They can process your deposit manually.

Thank you.


DNS - Reputation check McAfee GTI needs to validate server status flag.

McAfee GTI service will return server status while checking reputation for IPs and URL. ONI should validate the server status is not Safe Mode.

Fixed: https://github.com/Open-Network-Insight/oni-oa/pull/29


I592 unit test force texts

unit test is written
function force_texts() is modified/ fixed. Special case for grids:

values are stored in 'lib'
support function now only runs if the input is a dict

@nitsrek I need to close this and re-create the PR, because you're directing the merge to master instead of develop.


Change type of notification number

Change to set a number through text number instead of a drop box list.

This project is obsolete as it is built with Windows Forms, in the future I will create a better version in Mobile.


Expand Emby/PMS configuration documentation

Do you think we should do this in the README or move this to the Wiki perhaps and link in the Wiki? Or maybe add additional markdown files to the repo in a docs/ directory?

I think the project is simple enough that we can just keep a couple of sections in docs/ as needed.
"For detailed instructions on integrating with PMS or Emby, see <link to docs/01_integration.md>."
What do you think?

I can put together the docs for PMS if no one else is already working on that.

Thanks for the offer, @Croq360!  I'm working on both at the same time to make them consistent.

@Croq360 I'd appreciate if you could have a look at the instructions in PR #28 and let me know if you see any problems.  Thanks!

@eiddor - I think I already added a comment that I reviewed it and everything looked good.  Maybe in the PR itself?  Anyhow, just replicating that comment here.

Yep, I saw that - Thank you!  Just waiting on @wouterdebie to close the issue.

Thanks!


Transparent mesh sorting broken if camera is parented

I believe the fix is to change this line from
this._scene.activeCamera.position
to
this._scene.activeCamera.globalPosition.

Correct! I'll fix it


fix: skip name check for components created by pulumi

fixes https://github.com/sst/ion/issues/250

Thanks @devakrishna33!
Relaxed naming convention in https://github.com/sst/ion/commit/a3fd8fa92d559c91b89731faa6a9b843c60f95af. This will be possible in the next release.


js async with python stdout

I would like to pass a video stream from python via stdout to a video.js player embedded in an html page in eel.
How do I pass the stdout on the javascript side to the player?
I would like to be able to start/stop/pause the stdout stream.
Are there any examples available of how to accomplish such a task?
thank you

@neosin Were you able to figure it out? I need a similar solution for below code.
import eel
import subprocess

@eel.expose
def init_infra():
    clone_command = "git clone <url>"
    try:
        subprocess.check_call(clone_command,shell=True)
        #? Capture STDOUT async and pass to a js function below
        # eel.rec_output(stdout) #js function

    except subprocess.CalledProcessError as e:
        print(e.output)


New conversation added to the bottom of the conversation list view, should be added to the top

Seems like we are getting the time of the MSG_* file before it is actually created, and using that as the comparable quantity to sort conversations, will move the MsgThread object creation after file creation.

fixed


Firefox 31 (ESR) bug

Please take a look in this bug on Firefox 31:

Have any idea how solve it? Thanks.

It happens on Mac OS. I think the maintainer said that they sniff for FF on Mac and don't initialize baron there, since native scrollbars look OK anyway (hope he will correct me if I'm wrong).

Have any idea how solve it?
A bit hacky way would be to add something like "margin-right: -30px; padding-right: 30px;" to a scrollable container and then cut these 30px by setting "overflow: hidden" to a wrapper, so the native scrollbars will be hidden.

Thanks @clexit :+1:

If Firefox under Mac is not supported (as stated in #93), I suggest adding it to readme with link to this issue and especially this comment. And maybe an optional flag to modify padding (or may be enabled by default if cssGuru is off, for example).

Readme was updated.
But I will try to support Mac FF in #110.


Add InteractivityOneCore/RendererWddmCon projects

InteractivityOneCore and RendererWddmCon were the last two remaining
projects which are relevant for our internal console builds, but couldn't be
easily compiled publicly by users on GitHub. This commit adds all definitions
required to compile the two projects into dysfunctional libraries at least.
(Since the added definitions are deliberately incorrect.)
Additionally this commit fixes the AuditMode build for the two projects.
Validation Steps Performed
The two new projects compile fine.

We could probably add them as CI targets! I would be surprised if they weren't getting built already, actually: an unspecified solution build should cause all solution projects to be built.
This will make @j4james' life easier, I am certain. Thanks for putting it together!

Ah, I was thinking more like.. we would enable building them in CI for x64 but not necessarily enable audit mode. However, since you've already done the audit mode bits it can't hurt! 😄


ref returned by toRefs(props) have type Ref<X | undefined> | undefined

Vue version
latest, 3.2.37
Link to minimal reproduction
https://codesandbox.io/s/vigorous-sound-6m9x2d
Steps to reproduce
Check sandbox link provided in minimal reproduction field and run npm run type-check in terminal:

What is expected?
Expected that the type-check action returns no error in buggedComponent.vue that is
the type of optionalProperty in anyProperty assignation detects as string because all conditions that may detect and prevent undefined type are passed:

What is actually happening?
typescript compiler detects type of the optionalProperty in anyProperty assign condition as string|undefined
System Info
No response
Any additional comments?
If you dont want to check the reproduction link, there are some photos that describes the problem:

toRef()  works as expected. The prop is possibly undefined, so the generated ref possibly contains and undefined value: Ref<string | undefined>. The propblem is only with toRefs()
For toRefs(), this is a bit trickier and I'd need our TS experts like @pikax to chime in. it seems that the types of toRefs() return Ref<Type | undefined> | undefined for a possibly undefined props, which is not accurate in this scenario - the prop object will always have this key (its value just may be undefined), so we know we will always have get a Ref<string | udnefined>.
However, I think the core issue is TS rather recent differentiation between an optional property and a property whose value is undefined. The following change to the reproduction's code generates the expected type for the ref:
const props = defineProps<{
  requiredProperty: string;
  optionalProperty: string | undefined;
}>();

...and it's better reflecting reality as well: the prop can't be missing on that props object, it can only be undefined. However, this is not a proper workaround for now either, as that so-defined prop can no longer be left out when being used in a parent:

And from this perspective, the prop should really be optional, not just its valzue possibly undefined - we want to be able to completely omit it in the parent - but the property key should exist internally on the propsobject for consistency.
Tricky 🤔

For toRefs(), this is a bit trickier and I'd need our TS experts like @pikax to chime in. it seems that the types of toRefs() return Ref<Type | undefined> | undefined for a possibly undefined props, which is not accurate in this scenario - the prop object will always have this key (its value just may be undefined), so we know we will always have get a Ref<string | udnefined>.

This is only valid for props, but toRefs is used in on the user land, I believe the current toRefs definition is accurate for the type coming from defineProps.
I think we can update the return type from props to remove the optional property, props can be converted to options when we create the PublicComponent type (aka $props).

toRef() works as expected. The prop is possibly undefined, so the generated ref possibly contains and undefined value: Ref<string | undefined>. The propblem is only with toRefs()

I agree. But, I think, the main topic of this issue is that it is impossible to separate Ref from Ref

But, I think, the main topic of this issue is that it is impossible to separate Ref from Ref

If you have an optional prop (=. it can be undefined), then a ref created from that optional prop will possibly contain undefined. That's not a bug, and Vue can't solve that for you - you need to do that.
if you have a piece of code that expects Ref<string>, then check eh value's presence before calling that code. How do do that exactly is depending on your code (for details please don't use this issue, ask the community on discord or in this repo's discussions tab). Pseudocode:
const myProp: Ref<string | undefined> = toRef(props, 'myProp')

function myFn (myProp: Ref<string>) { ... }

if (myProp.value) {
  myFn(myProp)
}

This is only valid for props, but toRefs is used in on the user land, I believe the current toRefs definition is accurate for the type coming from defineProps.

True, forgot to mention it, but was aware

I think we can update the return type from props to remove the optional property, props can be converted to options when we create the PublicComponent type (aka $props).

Great, agreed.

But, I think, the main topic of this issue is that it is impossible to separate Ref from Ref

If you have an optional prop (= it can be undefined), then a ref created from that optional prop will possibly contain undefined. That's not a bug, and Vue can't solve that for you - you need to do that.
if you have a piece of code that expects Ref<string>, then check the ref's value before calling that code. How do do that exactly is depending on your code (for details please don't use this issue, ask the community on discord or in this repo's discussions tab). Pseudocode:
const myProp: Ref<string | undefined> = toRef(props, 'myProp')

function myFn (myProp: Ref<string>) { ... }

if (myProp.value) {
  myFn(myProp)
}

you would need to do the exact same thing for a possibly undefined plain variable (const myVar: string | undefined)

Did you check the reproduction?
if(myProp.value){myFn(myProp)}  // won't work

Did you check the reproduction?

Your reproduction code is invalid, you are assigning ref<string> to a string.
The only valid point is the Ref<string | undefined> | undefined which is a bug.

Did you check the reproduction?

Your reproduction code is invalid, you are assigning ref<string> to a string.
The only valid point is the Ref<string | undefined> | undefined which is a bug.

Oh, yes, sorry.
But i fixed it and anyways this returns an error:

https://github.com/vuejs/core/pull/6421 will fix that error.

Ok thank you

@pikax you sure? I think what OP try to do here is not possible without casting. Checking for .value to not be nullish will not make the ref i to `Ref, as it could be ser to undefined later again.

@LinusBorg I believe that's typescript type narrowing, it makes sense if you think about, because the ref can be undefined, even if you check if .value is undefined nothing prevents to be changed afterwards:
declare const r : Ref<string | undefined>

const refString = r.value  ? r : ref(''); // the type you are hoping to get here is `Ref<string>` if I understand you

r === refString; // true if `r.value` is truthy.

r.value = undefined; // this is type safe because `r` allows undefined

refString.value === undefined; // because they share the same instance

As you can see from the example you must use another instance since the original ref is Ref<string|undefined>

Yeah thats what i meant, basically.

@pikax you sure? I think what OP tries to do here would require casting or a new ref.
They are checking for .value to not be nullish, but that will not make the existing Ref<string | undefined> ref into Ref<string>, as it could be set to undefined later again. Object ins TS can never change their original type.
They would need to return a fresh ref, that might work, but not the same one. This works (for both variations of the demonstrated problem:
const anyProperty: Ref<string> =
  props.optionalProperty && optionalProperty && optionalProperty.value
    ? ref(optionalProperty.value)
    : ref("qwerty");

New ref ref(optionalProperty.value) is not a solution because it breaks reactivity. Yeh this works on objects but only until object reassigned. So, if anywhere in parent element code the optionalProperty reassigned, for example:
const optionalProp: Ref<{objectProp: string;}> = ref({objectProp: "the string"})

setTimeout(()=>optionalProp.value={objectProp: "no the string"})

In child element const newProperty = ref(optionalProperty.value) the newProperty won't updated.

well, then create a computed property that returns the default string if the optional prop is undefined. One way or another you have to deal with the fact that your prop can be undefined in your code.
Please use the discord community or the repo discussions to ask for further help. We want to limit this issue on this one bug we identified in the process. Thanks.

Okey and thank you for your time

same problem。
But I found something even weirder
If you dont pass in a variable to defineProps, This property will not be undefined after torefs。
The code like
const props = defineProps({
form: {
    type: Object,
    required: true,
  },
  formOptions: {
    type: Array as PropType<string[]>,
    required: true,
  },
});
const { form, formOptions } = toRefs(props);

This type will not be infer to undefined

This type will not be infer to undefined

because you set required: true

This type will not be infer to undefined

because you set required: true

but  . if I code like this。the type will be undefined
const aaa = {
  form: {
    type: Object,
    required: true,
  },
  formOptions: {
    type: Array as PropType<FormOptionItem[]>,
    required: true,
  },
}

const props = defineProps(aaa);

const { form, formOptions } = toRefs(props);

const aaa = {
  form: {
    type: Object,
    required: true,
  },
  formOptions: {
    type: Array as PropType<FormOptionItem[]>,
    required: true,
  },
} as const

without as const, TS will infer the required prop as boolean, meaning it could be true or false.

Actual in vue 3.3.4

As a workaround for now, I'm casting the return type of toRefs manually:
const { prop1, prop2 } = toRefs(props) as Required<ReturnType<typeof toRefs<PropInterface>>>;

As a workaround for now, I'm casting the return type of toRefs manually:
const { prop1, prop2 } = toRefs(props) as Required<ReturnType<typeof toRefs<PropInterface>>>;

In this case, type is lost.


Create repository with an group owner but it can't pull from server

Gitea version (or commit ref):1.13.1
Git version:2.27.2
Operating system:CentOS7.8

The package is downloaded from offical site and it version is  gitea-1.13.1.
The shell command is:
/home/jerry/gitea-1.13.1/gitea-1.13.1 web --config /home/jerry/gitea-1.13.1/custom/conf/app.ini
and app.ini as below:
`[repository]
ROOT = /home/jerry/gitea-repositories
[server]
SSH_DOMAIN       = localhost
DOMAIN           = localhost
HTTP_PORT        = 80
ROOT_URL         = http://<IP_ADDRESS>/
DISABLE_SSH      = false
SSH_PORT         = 22
LFS_START_SERVER = true
LFS_CONTENT_PATH = /home/jerry/gitea-1.13.1/data/lfs
LFS_JWT_SECRET   = aDVCeywlPGGz79m5k4ZGw9VWB9JHRgU1YGDM5w05BHg
OFFLINE_MODE     = false
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM            = false
ENABLE_NOTIFY_MAIL                = false
#DISABLE_REGISTRATION              = false
DISABLE_REGISTRATION              = true
ALLOW_ONLY_EXTERNAL_REGISTRATION  = false
ENABLE_CAPTCHA                    = false
REQUIRE_SIGNIN_VIEW               = false
DEFAULT_KEEP_EMAIL_PRIVATE        = false
#DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING       = true
NO_REPLY_ADDRESS                  = noreply.localhost
[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = true
[openid]
#ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNIN = false
#ENABLE_OPENID_SIGNUP = true
ENABLE_OPENID_SIGNUP = false
[session]
PROVIDER = file
[log]
MODE                 = console
LEVEL                = info
ROOT_PATH            = /home/jerry/gitea-1.13.1/log
REDIRECT_MACARON_LOG = true
MACARON              = console
ROUTER               = console`

Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No

Log gist:

Description
suppose the repository path is /home/jerry/gitea-repositories,and the server is <IP_ADDRESS>.
step1>create userA.
step2>create groupB and assign userA to groupB.
step3>create repositoryC and set it's onwer as groupB,then the repository will be saved at /home/jerry/gitea-repositories/groupB/repositoryC.git,and in the web page will show the pull url is:http://<IP_ADDRESS>/groupB/repositoryC.git.
step4>at the client pull the repository with url http://<IP_ADDRESS>/groupB/repositoryC.git,it will find the find the repository at /home/jerry/gitea-repositories/userA/repositoryC.git,thus occur an error.The message is like as below:
2021/01/29 15:29:45 ...r/setting/profile.go:249:Repos() [E] filepath.Walk: lstat /home/jerry/gitea-repositories/userA: no such file or directory
2021/01/29 15:29:45 Completed GET /user/settings/repos 500 Internal Server Error in 6.338544ms

Closing as stale and not able to reproduce.


Upgrade for livy 0.6.0

Hi
looks livy 0.6.0 broke the session api
any will to make that compatible ?

Yeah, definitely. I'll look at it when I get a chance.
Do you know the specifics of what they've changed off hand?

Hi @parisni - we are using Livy 0.7.0 in the integration tests. Is there something we're not testing that is broken?

Hi
we are using livy 0.6.0 installed in a cloudera cluster with kerberos and it seems the proxyUser is not set.
The session json looks like this:
{"id":13,"name":null,"appId":null,"owner":null,"state":"starting","kind":"pyspark","appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"log":[...]}

Hi @BjoernWaechter @acroz @parisni, I created a PR to resolve this issue and tested it on our cluster, now the code should work as expected.


fix: Add fallback icons for thumbnails

Details
Prevent the infinite loading for broken thumbnail images and show a fallback icon instead.
Fixed Issues
$ https://github.com/Expensify/App/issues/34601
PROPOSAL: https://github.com/Expensify/App/issues/34601#issuecomment-1902764996
Tests
Same as QA
Offline tests
Same as QA
QA Steps

Go to any chat
Send a message
Open react dev tools > components
Select the report action item message component for that chat
Manually edit the action prop: message.html, and set it to this string
Verify the image shows the "image" fallback icon when online, and "cloud" when offline.

For mobile browsers:

Send multiple attachments from user B to user A
As user A, go offline & disable cache
Open the conversation with user B
Verify the images show the "cloud" fallback icon when offline.

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/12595293/8ba1b219-c47c-4fc7-aef7-2e273dbd5c92

Android: mWeb Chrome
https://github.com/Expensify/App/assets/12595293/2cb7d252-98e4-4021-be1a-129f28df9d59

iOS: Native
https://github.com/Expensify/App/assets/12595293/b4dc8f2c-a378-4414-a53a-8d2b6e264e4f

iOS: mWeb Safari
https://github.com/Expensify/App/assets/12595293/8938e18f-b63e-49a0-8f3f-154fd99392d6

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/12595293/0d796cdf-e17a-41b4-8065-6a194daced31

MacOS: Desktop
https://github.com/Expensify/App/assets/12595293/5ae13ab3-f934-4bdb-8d8a-878d95795c66

Hey @dannymcclain, I'd like to clarify a couple of things here:
Do we want to keep the default thumbnails of the fixed size, or to adjust them to the image size? Even though the attachment might not be loaded, when uploading an attachment we set html meta attributes with the image size.
For testing purposes, I show fallback when offline here, so you can see this approach keeps the thumbnails in fixed size while switching from a fallback to the real image:
https://github.com/Expensify/App/assets/12595293/52c7a4c7-0c9c-4fd2-88b0-b0e94b9ddab0
However, this might look quite ugly – every thumbnail is of a different size.
What would you say?

Also, in your mockup I see you don't use any border – it will make the thumbnail blend in with the report action row on hover:

However, they do look better without the border 🙂

WDYT @dannymcclain ?

@paultsimura oh yeah good catch on the border—I think we should definitely include the border.
As for this comment about the different sized thumbnails—I think we should do what you're doing and keep the fallback the same size as the thumbnail. I'm curious for the @Expensify/design team's thoughts but that makes the most sense to me, even if we end up with a bunch of different sized thumbnails. It feels more accurate and will likely create a smoother transition when going from offline > online.

Yup, makes sense to me - I agree with Danny.

Agreed. If it helps with reducing the jumping between offline and online, I'm all for it

Hey @parasharrajat, this one is indeed tricky to test – I've used the repro steps from another bug, which allows to achieve an image failing to load.

Hey @parasharrajat, this one is indeed tricky to test – I've collected some reproduction steps from the related bugs, but all of them are web-only, where you can edit the image source manually or disable caches. I cannot find a way to manually force an image to fail in the current system anymore (since the Distance receipt was fixed).
e.g. https://github.com/Expensify/App/issues/36061
cc: @quinthar as you've reported the issue I mentioned above – is there a way to force Concierge Compose to send a broken image? Or should we just use the steps you provided (manually modifying the source) to test the flow, and that's it?

@parasharrajat all yours ✔

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

This is related to a fire/urgent issue, so I asked for a new C+ to test ASAP in Slack here

On iOS Safari, the cloud icon never appears despite disabling cache.
https://github.com/Expensify/App/assets/30054992/8f895b68-a14a-4397-bff8-86b61af46159

@allroundexperts could you please refresh the home page after disabling the cache & going offline? It did the trick for me – you can see the cloud icon on the mWeb safari recording

@allroundexperts for some reason, the "force offline" doesn't trigger this behavior on mWeb Safari for me either. However, if you turn off the wi-fi on your Mac, this will work. You could see the cloud icons on my safari recordings

Weird enough, still doesn't work.

I think it is an issue with mac / ios simulator, it is not picking up that you are offline even if you disabled the wifi in the mac. If it was detecting offline, you would have seen the message "You appear to be offline" in the bottom, and that is not seen in your video.

Okay. Will continue on other devices for the meantime.

@allroundexperts here's a fresh recording, maybe try the same sequence as I do: disable cache -> refresh page -> kill the wi-fi -> open the chat:
https://github.com/Expensify/App/assets/12595293/17737c06-531b-461a-bb25-0c4a50cb97dd

Still the same @paultsimura. I guess we can trust you on this one?
https://github.com/Expensify/App/assets/30054992/4ae41bd9-051a-4a4b-9d8a-a14436b9295f

Still the same @paultsimura. I guess we can trust you on this one?

This is super weird🤔 I guess the decision is up to you and the assigned Engineer

I'll give it a try with testing IOS, @allroundexperts you may continue with the rest 🙏

An easy way to test this in dev is by replacing the lines:
--    // const {html = '', text} = fragment;
++    const html = '';
++    const text = 'attachment';

here  https://github.com/Expensify/App/blob/2254c6688dc54850c5dff2b5e8f987093edb0dae/src/pages/home/report/comment/TextCommentFragment.tsx#L43

Is BetaSignIn command working for you all?

Is BetaSignIn command working for you all?

We are having site stability issues, so you probably will have problems talking to staging/production right now.

Gotcha. Thanks.

IOS Web seems to be working

IOS native is still compiling 🐌

@aldo-expensify I've tested iOS native already and it works.

@allroundexperts thanks, I ended up being able to test web and native in ios and both worked for me. Please finish the checklist so we can get this merged :)

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 1.4.41-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
cancelled 🔪

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.41-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Add option resolver support.

The option resolver will be helpfull in order to specify what soes the method is waiting for in order to prevent undefined errors.
The option resolver sould be also revised.

closes #54


loss_rcnn_box is Nan

I was able to successfully train a model with a custom dataset using the command line arguments and train.py file given. I refactored the train.py code to run with hardcoded variables instead of command line arguments. Yet in my own script, after the first step, the loss_rcnn_bbox values are Nan, which will then crash the program. What could be possible causes?
        outputs = maskRCNN(**input_data)

        rois_label = outputs['rois_label']
        cls_score = outputs['cls_score']
        bbox_pred = outputs['bbox_pred']
        loss_rpn_cls = outputs['loss_rpn_cls'].mean()
        loss_rpn_bbox = outputs['loss_rpn_bbox'].mean()
        loss_rcnn_cls = outputs['loss_rcnn_cls'].mean()
        print(outputs['loss_rcnn_bbox'].mean()) #this value is Nan
        loss_rcnn_bbox = outputs['loss_rcnn_bbox'].mean()

I have encountered Nan and sloved by reducing the learning rate, maybe you can try this methods.

Yeah , too large lr is likely to be the cause of NaN loss. BTW, it's recommend to use train_net_step.py, which include learning rate warm up for better stability of training.

Your suggestions worked! Thank you!

Any reason as to why cls_loss and bbox_loss is always zero from the beginning of training? Is it also related to learning rate?
I'm stuck at this point. Training doesn't return the expected results due to this.


Is the service trait still needed?

As FramedIo now Stream + Sink the server Service is also basically Stream + Sink.
Here is how I can make a server example (also note I don't need any boxing to reply with a future):
            let (stream, sink) = socket.framed(Codec).split();
            sink.send_all(
                stream
                .and_then(|original_line| {
                    Timeout::new(Duration::new(5, 0), &handle).unwrap()
                    .map(move |()| format!("after timeout: {}", original_line))
                })
            )

And pipelining with a limit of 5 inflight request is done in one line using buffered combinator:
            let (stream, sink) = socket.framed(Codec).split();
            sink.send_all(
                stream
                .map(|original_line| {
                    Timeout::new(Duration::new(5, 0), &handle).unwrap()
                    .map(move |()| format!("after timeout: {}", original_line))
                })
                .buffered(5)
            )

For client protocols the code might be more complex, but presumably client protocol is a Sink which embeds futures::oneshot::Complete in it, or somesuch, I need more experimentation with that.
And I think this solves 90% of the backpressure story this way.

Yeah I was wondering if service still pulls its weight as well. For pipelining I don't think it may do so, but I could imagine that for multiplexing the story is more complicated that it may not be expressed via combinators. That being said I haven't though too too hard about this yet.

The Service trait is an abstraction that provides a foundation for a request / response interaction that is symmetric across clients and servers and agnostic to the underlying protocol. It provides the foundation needed to build reusable components that are common across protocols as "middleware". Also, given that the API is symmetric for clients & servers, these middleware components are useable both in the client and the server.
If there is an alternate strategy that satisfies the stated goals, I would be happy to talk about it, but i don't see how using Stream + Sink satisfies this. Especially since protocol agnostic request / responses can't really be supported w/ Sink as it is.
All effort to date has really been around futures & tokio-core. I expect as that side of things stabilizes, effort will be redirected higher up the stack.

Well the server doesn't need to respond always in case of websockets. Is the response always required?
https://github.com/housleyjk/ws-rs/issues/111

@pyros2097 The Service trait is for request / response oriented protocols, which is not an all inclusive category


play.ht tts support

https://play.ht/

see https://github.com/vocodedev/vocode-python/pull/12 :)

closing as https://github.com/vocodedev/vocode-python/pull/12 merged!


[screengrab] Fix regression with metadata folder structure

Fixes #16050.

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Fixes https://github.com/fastlane/fastlane/issues/16050.
Description
From the issue linked above and from https://github.com/fastlane/fastlane/pull/15994 it seems that for some users the path on the Android device contains "#{locale}/images" and for some it doesn't. So as a solution, I'm simply checking if it contains this part and add it for the users where it doesn't contain it already.
No one seems to have found out why this difference is happening in the first place, but my best guess is that different Android app or system configurations lead to different behaviors. This PR fixes the issue for both cases.
Testing Steps
This is a small change and I can't test if it fixes the issue, but the reporters of https://github.com/fastlane/fastlane/issues/16050 could easily check and confirm that this fixes it for them.

We found the fix and will be fixed in #16094 😊


Fix image and package names

pls update the foldername to reflect opensuse13.2
' Images/microsoft_powershell_opensus13.2/Dockerfile'

looks good. :shipit:


Wemo BridgeWARNUNG unhandled rejection: Error: Request failed with status code 500

What issue do you have? Please be as thorough and explicit as possible.
Since latest update I'm receiving following Warning
16.8.2021, 07:16:56Wemo Bridge WARNUNG unhandled rejection: Error: Request failed with status code 500
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?
Hoobs

Which version of Homebridge/HOOBS do you have?
Hoobs 4.0.100

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.
Raspberry 4.8
Node 14.17.5
Homebridge Version 1.3.4

Which version of this plugin (homebridge-wemo) do you have? Has the issue started since upgrading from a previous version?

4.1.1

Which Wemo devices do you have that are causing issues? Please include product models if applicable.
I can't tell which of my WEMOs causing this WARNING, as it don't say exactly what the issue is

Please paste any relevant logs below.

16.8.2021, 19:18:47wemobridge stopping
16.8.2021, 19:18:52Wemo Bridge starting
16.8.2021, 19:18:55Wemo BridgeLoaded plugin 'homebridge-wemo'
16.8.2021, 19:18:55Wemo BridgeLoading 1 platforms...
16.8.2021, 19:18:55Wemo BridgeWemoInitialising plugin v4.1.1 | Node v14.17.5 | HB v1.3.4 | HOOBS v4...
16.8.2021, 19:18:55Wemo BridgeWemoPlugin initialised. Setting up accessories....
16.8.2021, 19:18:55Wemo BridgeBridge is running on port 51836.
16.8.2021, 19:18:55Wemo BridgeWemo[Blumensäule WZ Wemo] initialising with options {"logging":"standard","showAs":"outlet"}.
16.8.2021, 19:18:55Wemo BridgeWemo[Blumensäule WZ Wemo] initialised with s/n 221403K1101830 and ip/port <IP_ADDRESS>:49153
16.8.2021, 19:18:55Wemo BridgeWemo[Blumensäule WZ Wemo] http has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[Blumensäule WZ Wemo] upnp has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[Gartenlicht Garage Wemo] initialising with options {"logging":"standard","showAs":"outlet"}.
16.8.2021, 19:18:55Wemo BridgeWemo[Gartenlicht Garage Wemo] initialised with s/n 221304K11000AD and ip/port <IP_ADDRESS>:49153
16.8.2021, 19:18:55Wemo BridgeWemo[Gartenlicht Garage Wemo] http has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[Gartenlicht Garage Wemo] upnp has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[Blumensäule WZ Wemo] current state [off].
16.8.2021, 19:18:55Wemo BridgeWemo[Gartenlicht Garage Wemo] current state [off].
16.8.2021, 19:18:55Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialised with s/n 94103EF6BF427018 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[Terrasse] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[Terrasse] initialised with s/n 94103EF6BF42D754 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[UG Katzentreppe] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[UG Katzentreppe] initialised with s/n 94103EF6BF42E807 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[WZ Stehlampe Leselicht] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[WZ Stehlampe Leselicht] initialised with s/n 94103EA2B2789161 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[EG Bistro] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[EG Bistro] initialised with s/n 94103EA2B278BF75 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] initialised with s/n 231448B01004D8 and ip/port <IP_ADDRESS>:49153
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] http has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] upnp has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialised with s/n 94103EF6BF427018 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[Terrasse] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[Terrasse] initialised with s/n 94103EF6BF42D754 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[UG Katzentreppe] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[UG Katzentreppe] initialised with s/n 94103EF6BF42E807 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[WZ Stehlampe Leselicht] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[WZ Stehlampe Leselicht] initialised with s/n 94103EA2B2789161 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[EG Bistro] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"standard","transitionTime":0}.
16.8.2021, 19:18:55Wemo BridgeWemo[EG Bistro] initialised with s/n 94103EA2B278BF75 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] initialised with s/n 231448B01004D8 and ip/port <IP_ADDRESS>:49153
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] http has been established.
16.8.2021, 19:18:55Wemo BridgeWemo[WeMo Link] upnp has been established.
16.8.2021, 19:18:56Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current brightness [15%].
16.8.2021, 19:18:56Wemo BridgeWemo[Terrasse] current state [off].
16.8.2021, 19:18:56Wemo BridgeWemo[Terrasse] current brightness [11%].
16.8.2021, 19:18:56Wemo BridgeWemo[UG Katzentreppe] current state [off].
16.8.2021, 19:18:56Wemo BridgeWemo[UG Katzentreppe] current brightness [100%].
16.8.2021, 19:18:56Wemo BridgeWemo[WZ Stehlampe Leselicht] current state [off].
16.8.2021, 19:18:56Wemo BridgeWemo[WZ Stehlampe Leselicht] current brightness [100%].
16.8.2021, 19:18:57Wemo BridgeWemo[EG Bistro] current state [off].
16.8.2021, 19:18:57Wemo BridgeWemo[EG Bistro] current brightness [100%].
16.8.2021, 19:18:57Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current state [off].
16.8.2021, 19:18:57Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current brightness [15%].
16.8.2021, 19:18:57Wemo BridgeWemo✓ Setup complete. Thanks for using this plugin, I hope you find it helpful!
16.8.2021, 19:18:57Wemo BridgeWemo[Terrasse] current state [off].
16.8.2021, 19:18:57Wemo BridgeWemo[Terrasse] current brightness [11%].
16.8.2021, 19:18:57Wemo BridgeWemo[UG Katzentreppe] current state [off].
16.8.2021, 19:18:57Wemo BridgeWemo[UG Katzentreppe] current brightness [100%].
16.8.2021, 19:18:58Wemo BridgeWemo[WZ Stehlampe Leselicht] current state [off].
16.8.2021, 19:18:58Wemo BridgeWemo[WZ Stehlampe Leselicht] current brightness [100%].
16.8.2021, 19:18:58Wemo BridgeWemo[EG Bistro] current state [off].
16.8.2021, 19:18:58Wemo BridgeWemo[EG Bistro] current brightness [100%].
16.8.2021, 19:19:00Wemo BridgeWARNUNGunhandled rejection: Error: Request failed with status code 500
16.8.2021, 19:19:01Wemo BridgeWARNUNGunhandled rejection: Error: Request failed with status code 500

Hi @Schattenkaiser
Thanks for this.
Are you able to put the plugin into debug mode via the plugin settings, then restart the bridge?
Hopefully this error will then happen again, with a little bit more info in the logs showing what is happening just before the error occurs.

to me that looks quite similar?!?
16.8.2021, 20:09:30wemobridge stopping
16.8.2021, 20:09:35Wemo Bridge starting
16.8.2021, 20:09:38Wemo BridgeLoaded plugin 'homebridge-wemo'
16.8.2021, 20:09:38Wemo BridgeLoading 1 platforms...
16.8.2021, 20:09:38Wemo BridgeWemoInitialising plugin v4.1.1 | Node v14.17.5 | HB v1.3.4 | HOOBS v4...
16.8.2021, 20:09:38Wemo BridgeWemoPlugin initialised. Setting up accessories....
16.8.2021, 20:09:38Wemo BridgeWemoListener server port [37119].
16.8.2021, 20:09:38Wemo BridgeBridge is running on port 51836.
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] initialising with options {"logging":"debug","showAs":"outlet"}.
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] initialised with s/n 221403K1101830 and ip/port <IP_ADDRESS>:49153
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] http has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] [urn:Belkin:service:basicevent:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] upnp has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] initialising with options {"logging":"debug","showAs":"outlet"}.
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] initialised with s/n 221304K11000AD and ip/port <IP_ADDRESS>:49153
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] http has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] [urn:Belkin:service:basicevent:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] upnp has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] receiving update [BinaryState: 0].
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] current state [off].
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<BinaryState>0</BinaryState>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[Blumensäule WZ Wemo] receiving update [BinaryState: 0].
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialised with s/n 94103EF6BF427018 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[Terrasse] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[Terrasse] initialised with s/n 94103EF6BF42D754 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] initialised with s/n 94103EF6BF42E807 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[WZ Stehlampe Leselicht] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[WZ Stehlampe Leselicht] initialised with s/n 94103EA2B2789161 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[EG Bistro] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[EG Bistro] initialised with s/n 94103EA2B278BF75 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] initialised with s/n 231448B01004D8 and ip/port <IP_ADDRESS>:49153
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] http has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] [urn:Belkin:service:basicevent:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] [urn:Belkin:service:bridge:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] upnp has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] initialised with s/n 94103EF6BF427018 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[Terrasse] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[Terrasse] initialised with s/n 94103EF6BF42D754 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] initialised with s/n 94103EF6BF42E807 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[WZ Stehlampe Leselicht] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[WZ Stehlampe Leselicht] initialised with s/n 94103EA2B2789161 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[EG Bistro] initialising with options {"adaptiveLightingShift":0,"brightnessStep":1,"logging":"debug","transitionTime":0}.
16.8.2021, 20:09:38Wemo BridgeWemo[EG Bistro] initialised with s/n 94103EA2B278BF75 and ip/port <IP_ADDRESS>:49153.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] initialised with s/n 231448B01004D8 and ip/port <IP_ADDRESS>:49153
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] http has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] [urn:Belkin:service:basicevent:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] [urn:Belkin:service:bridge:1] initial subscription for service.
16.8.2021, 20:09:38Wemo BridgeWemo[WeMo Link] upnp has been established.
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<BinaryState>0</BinaryState>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] receiving update [BinaryState: 0].
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] current state [off].
16.8.2021, 20:09:38Wemo BridgeWemo[Gartenlicht Garage Wemo] receiving update [BinaryState: 0].
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<TimeSyncRequest>0</TimeSyncRequest>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<StatusChange></StatusChange>
</e:property>
<e:property>
<SubDeviceFWUpdateStatus></SubDeviceFWUpdateStatus>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<TimeZoneNotification>005</TimeZoneNotification>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<BinaryState>0</BinaryState>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] receiving update [undefined: 0].
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<StatusChange></StatusChange>
</e:property>
<e:property>
<SubDeviceFWUpdateStatus></SubDeviceFWUpdateStatus>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<TimeSyncRequest>0</TimeSyncRequest>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[UG Katzentreppe] incoming notification:
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<TimeZoneNotification>005</TimeZoneNotification>
</e:property>
</e:propertyset>
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current state [off].
16.8.2021, 20:09:38Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current brightness [15%].
16.8.2021, 20:09:39Wemo BridgeWemo[Terrasse] current state [off].
16.8.2021, 20:09:39Wemo BridgeWemo[Terrasse] current brightness [11%].
16.8.2021, 20:09:39Wemo BridgeWemo[UG Katzentreppe] current state [off].
16.8.2021, 20:09:39Wemo BridgeWemo[UG Katzentreppe] current brightness [100%].
16.8.2021, 20:09:39Wemo BridgeWemo[WZ Stehlampe Leselicht] current state [off].
16.8.2021, 20:09:39Wemo BridgeWemo[WZ Stehlampe Leselicht] current brightness [100%].
16.8.2021, 20:09:39Wemo BridgeWemo[EG Bistro] current state [off].
16.8.2021, 20:09:39Wemo BridgeWemo[EG Bistro] current brightness [100%].
16.8.2021, 20:09:40Wemo BridgeWemo✓ Setup complete. Have time to give this plugin a review? http://bit.ly/hbwemo-review
16.8.2021, 20:09:40Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current state [off].
16.8.2021, 20:09:40Wemo BridgeWemo[OG Yoga Zimmer Ambiente] current brightness [15%].
16.8.2021, 20:09:40Wemo BridgeWemo[Terrasse] current state [off].
16.8.2021, 20:09:40Wemo BridgeWemo[Terrasse] current brightness [11%].
16.8.2021, 20:09:40Wemo BridgeWemo[UG Katzentreppe] current state [off].
16.8.2021, 20:09:40Wemo BridgeWemo[UG Katzentreppe] current brightness [100%].
16.8.2021, 20:09:40Wemo BridgeWemo[WZ Stehlampe Leselicht] current state [off].
16.8.2021, 20:09:40Wemo BridgeWemo[WZ Stehlampe Leselicht] current brightness [100%].
16.8.2021, 20:09:41Wemo BridgeWemo[EG Bistro] current state [off].
16.8.2021, 20:09:41Wemo BridgeWemo[EG Bistro] current brightness [100%].
16.8.2021, 20:09:43Wemo BridgeWARNUNGunhandled rejection: Error: Request failed with status code 500
16.8.2021, 20:09:43Wemo BridgeWARNUNGunhandled rejection: Error: Request failed with status code 500

@Schattenkaiser are you on the homebridge discord? Could we message on there?

I have also got issues with it crashing in 4.1.1 so have reverted to an older version (v4.0.0) so my home bridge is usable again.

@jacklawry which device models do you have?

Or if you’re on the homebridge discord i’d be happy to work to resolve this on there

@bwp91 I have 1 Wemo Link (3 bulbs), 1 Wemo Insight & 1 Wemo switch

I think I have narrowed down the issue to the wemo link.
Can you try 4.1.2-beta.0 beta version to see if this has stopped the crashing (the unhandled rejection)?

@bwp91 Ok so thats now installed and 4.1.2-beta.0 seems to be working fine for me.
I wonder if the issue is related to having a bulb that broke that I cannot remove from the link but keeps showing up?

@bwp91 Ok so thats now installed and 4.1.2-beta.0 seems to be working fine for me.

Thanks for trying the beta. I have released 4.1.2 assuming that the issue has been fixed. If you continue to get errors let me know.

I wonder if the issue is related to having a bulb that broke that I cannot remove from the link but keeps showing up?

Nope, in this case it was a plugin issue that I accidentally introduced in v4.1. I would assume that the bulb is still linked to the wemo link? can you delete it via the wemo app?
Otherwise you can use the plugin config to hide/remove this accessory with the bulb serial number.
@Schattenkaiser when you get the chance can you update to v4.1.2 to check if the issue is resolved for you?

Thanks for the quick fix. I have now upgraded to v4.1.2.

@Schattenkaiser are you on the homebridge discord? Could we message on there?

Sorry, was afk the whole day.
Upgraded to 4.1.2 now, and Plugin is running without issues and warnings. Thanks for the quick fix.

after rebooting my hoobs the issue came back ?!?
18.8.2021, 07:57:45Wemo BridgeLoaded plugin 'homebridge-wemo'
18.8.2021, 07:57:45Wemo BridgeLoading 1 platforms...
18.8.2021, 07:57:45Wemo BridgeWemoInitialising plugin v4.1.2 | Node v14.17.5 | HB v1.3.4 | HOOBS v4...
18.8.2021, 07:57:45Wemo BridgeWemoPlugin initialised. Setting up accessories....
18.8.2021, 07:57:45Magichome Dynamic Platform BridgeBridge is running on port 51826.
18.8.2021, 07:57:45Wemo BridgeBridge is running on port 51836.
18.8.2021, 07:57:45Wemo BridgeWARNUNGunhandled rejection: Error: No sockets available, cannot start.
18.8.2021, 07:57:47Wemo BridgeWemo✓ Setup complete. Join the plugin's Discord community! https://discord.gg/cMGhNtZ3tW
18.8.2021, 07:57:57Magichome Dynamic Platform Bridgehomebridge-magichome-dynamic-platform
    1 - Registering existing accessory...
    Display Name: WZ TV Backlight
    Controller Logic Type: RGBWStrip
    Model: HF-LPB100-ZJ200
    Unique ID: ACCF2384DF2E
    IP-Address: <IP_ADDRESS>
    Hardware Version: 4
    Firmware Version: 4
18.8.2021, 08:07:15Wemo BridgeWemoWARNUNG[Gartenlicht Garage Wemo] has not been discovered yet so commands will fail.
18.8.2021, 08:07:28Wemo BridgeWemoWARNUNG[EG Bistro] has not been discovered yet so commands will fail.
18.8.2021, 08:07:34Wemo BridgeWemoWARNUNG[OG Yoga Zimmer Ambiente] has not been discovered yet so commands will fail.
18.8.2021, 08:07:38Wemo BridgeWemoWARNUNG[UG Katzentreppe] has not been discovered yet so commands will fail.
18.8.2021, 08:07:46Wemo BridgeWemoWARNUNG[WZ Stehlampe Leselicht] has not been discovered yet so commands will fail.
18.8.2021, 08:07:47Wemo BridgeWemoWARNUNG[Blumensäule WZ Wemo] has not been discovered yet so commands will fail.

after setting the bridge to DEBUG-Modus the error disapeared again. I turned the DEBUG-Mode off again, and now everything on the hoobs is working as expected, but there is no answer on iPhone Homekit
That's weird

The Apple-HomeKit fix is simple - just remove the exisitng Bridge from HomeKit and add the most recent version (using the hoobs QR-Code) again

Hi @Schattenkaiser
The error you received this time
18.8.2021, 07:57:45Wemo BridgeWARNUNGunhandled rejection: Error: No sockets available, cannot start.

actually has nothing to do with the original issue on here, and also has nothing to do with debug being on/off. It was a pure coincidence that it happened the time you had debug on, and didn't error when you turned back off.
This error is originating from one of the dependencies that the plugin uses to scan the network for devices. It throws this error when it can't find a socket on your system to use. So it's not something I can fix per se, but I can definitely stop it from crashing and restarting the bridge.
I am just about to release v4.1.3 of the plugin which includes this workaround!

but there is no answer on iPhone Homekit

Until devices are discovered on the network, the home app will show 'No Response' for accessories.
If the network scanner fails with the No sockets available, cannot start error, then devices will not be discovered and so the 'No Response' will remain indefinitely.
In v4.1.3, I have included a message in the logs saying to restart Homebridge if this particular error is received. It should no longer crash the bridge.


invalid suggested_unit_of_measurement

Logger: homeassistant.components.sensor
Source: components/sensor/init.py:394
integration: Sensor (documentation, issues)
<class 'custom_components.toyota.sensor.ToyotaSensor'> sets an invalid suggested_unit_of_measurement. Please create a bug report at https://github.com/DurgNomis-drol/ha_toyota/issues. This warning will become an error in Home Assistant Core 2024.5

Thanks for reporting. Will have an look into it

Did anything get found - any hope of resolving this - I have the same.
2024-07-29 08:26:45.583 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up toyota.binary_sensor
2024-07-29 08:26:45.584 INFO (MainThread) [homeassistant.components.device_tracker] Setting up toyota.device_tracker
2024-07-29 08:26:45.585 INFO (MainThread) [homeassistant.components.sensor] Setting up toyota.sensor
2024-07-29 08:26:45.590 ERROR (MainThread) [homeassistant.components.sensor] Error adding entity None for domain sensor with platform toyota
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 598, in _async_add_entities
await coro
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 831, in _async_add_entity
unit_of_measurement=entity.unit_of_measurement,
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 512, in unit_of_measurement
if self._is_valid_suggested_unit(suggested_unit_of_measurement):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 383, in _is_valid_suggested_unit
raise ValueError(
ValueError: Entity <class 'custom_components.toyota.sensor.ToyotaSensor'> suggest an incorrect unit of measurement: %.


Using meshes that are not powers of 2

Hi,
I am new to Trixi and so I apologise if this has been addressed somewhere but I could not find it.
I can see that for example in 2d, meshes are specified by initial_refinement_level which ensures that the mesh is 2x2 or 4x4 or 8x8 etc. However is there some way by which the mesh could be some other size such as 5x5 or 6x6 etc.
Vikram

Hi Vikram! Thanks for your interest in Trixi.
That's currently not possible since the only mesh we have right now is based on a single tree structure (quadtree/octree). Something like a forest of trees as in p4est could be used to get more general meshes, but that's not implemented yet. Another possibility would be to implement another mesh type that's not build on a tree structure.

Hi Vikram! Thanks for your interest in Trixi.
That's currently not possible since the only mesh we have right now is based on a single tree structure (quadtree/octree). Something like a forest of trees as in p4est could be used to get more general meshes, but that's not implemented yet. Another possibility would be to implement another mesh type that's not build on a tree structure.

Thanks.

Thanks.


Add 3mf

Would it be possible to add 3fm, as file format?

I've taken a look at it and it wouldn't be impossible to add, but quite a bit of work.
Are you looking for simply reading/modifying the files, or saving/generating them based on stl files?

Reading them in is what we would use it for.. reading the size, ml, etc


Lint and CI fixes

Pull Request Checklist

Description

This is #1220 and #1221 combined.

Tests will fail until #1225 is merged.


Fix Redirecting to intended URL after Login

This is done by redirecting with guest method instead of redirect with flashed session data.

This is working perfectly fine!


Badger 2040 - Edit to badge.py to allow selection from multiple badges in a folder

Changed behaviour:

badges (including default badge.txt) are now stored in the \badges subfolder. Both are created if missing.
badge images should be named as per text file with "-image.bin" suffix to match the text file.
State management used. Resets to default badge if state stored badge is removed.
Similar selection indicator to other menus is added, only smaller as not to interfere with the image.
Removed reference to Button C which conflicted with the dual press of A+C to return to launcher.

@LittleHobbyShop Love the idea of this and thought I'd give it a try, as I'm currently at an event where a second badge would be very useful!!
I'm running into an issue though. When I try to run the script, my badger2040 presents a warning: "Local variable referenced before assignment".
I've managed to pin it down to Line 91:
imgfile = str(file).split(".")[0] + "-image.bin"
By the point it gets to this code, in my debugging, my badger2040 has 2 badge .txt files, so fails the if condition on Line 86. In doing so, the file variable isn't defined, so when Line 91 is called, the error appears.
I've tested by adding file = BADGES[n] before the call to set imgfile and in doing so, the badge then appears on the badger2040.
Great work though!

@SimonShirley Crikey! I thought this had died! Seeing as it's now 9 months behind I'm not surprised there's a few snags with it. I'll see what I can do soon but it won't be before your event ends I wouldn't think.

@LittleHobbyShop Badger 2040W is posed for launch sometime soon. It has a few breaking changes from Badger 2040, but it should be possible to port your changes over.
I've made the first step of setting up a "badges" directory for the new firmware, but I haven't made the example aware of this since I wanted to merge your PR & credit you first before porting these very worthwhile improvements.
In my case I added a line to the bottom of the ".txt" file to link to a specific image. And in 2040W land (which uses PicoGraphics) it supports JPEG rendering, so it links to a ".jpg" rather than a ".bin" file. No conversion hassle.
The new Badger 2040W badge.py is here - https://github.com/pimoroni/pimoroni-pico/pull/633/files#diff-331fe57c205e2242f8e53d48a6cda824ae80733e85f47d7c2a863b17524b46cf
I hope to update Badger 2040 to match 2040W (switching over to PicoGraphics rather than its own custom setup, and baking in examples as a filesystem rather than hiding them)
Anyway while I totally remembered this PR, I apparently forgot to say- thank you! This is a great idea.

Badger 2040 and Badger 2040 W have been unified and are moving to https://github.com/pimoroni/badger2040
You can find the badge example here - https://github.com/pimoroni/badger2040/blob/main/badger_os/examples/badge.py
(It's the same as the one linked above, but in its new home)
A port of these changes would be appreciated, but if you should find yourself short of time let me know and I'll pull them over.


Set up Zenodo linking and citation information

Summary
We should add a citation entry to the repository, and start deploying to Zenodo so people can cite the releases.
https://citation-file-format.github.io/
https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content
Requirements

[ ] Link Zenodo to the imap_processing repository
[ ] Add a citation.cff file with the proper metadata to the imap_processing repository

Related tickets
No response

Does LASP have a Zenodo account?

That is a great question, I don't know. I have always authorized things through my GitHub-linked accounts. Are there organizational ways to handle it to get better DOIs and things? Might be worth asking in the slack channels for open-science/data-management.

My experience minting DOIs has been for datasets and that involved an organization level account with DataCite, which wasn't free. DOIs for software is new to me, and a zenodo organization level account doesn't seem necessary for this, based on information I've gathered so far. We can link to the LASP community in zenodo to keep cited software organized at an organization level.
I assume we don't have an initial release for this code just yet? I'm looking into what stage of the development process is a good time to create the DOI since they're linked to software versions. I'm not clear if we can/should create a DOI before version 1 is completed. I'll try to find out.
For now, Zenodo has been linked to the repo! Will look into citation.cff next

Awesome!

I assume we don't have an initial release for this code just yet?

We do: https://github.com/IMAP-Science-Operations-Center/imap_processing/releases

For now, Zenodo has been linked to the repo!

Fantastic, I think that will automatically pick up any releases we make now 🎉  so we can check off the first box!

Scratch that. I linked it to my forked repo...The parent repo isn't listed in my zenodo account for some reason. I'm a member of the IMAP-Science-Operations-Center repository. Does this automatically make me a member of the imap_processing repository? Just wondering if it could be a membership related issue. Though IMAP-Science-Operations-Center also doesn't show up in my list of repositories in Zenodo. I'll look into the issue

I didn't see it either, and then I had to click the "sync now" button and then it showed up.

I just enabled it under the organization, so I think we should be good.

I'm a member of the IMAP-Science-Operations-Center organization.

Do you see it now after I checked the box in your own listing? I wonder if it has to do with permissions and you being a "member" and not an "owner" so an owner is the only one who can authorize access possibly.


Colp packaging

This is just a first, very rough, step to validate csv files against our metadata. Currently validation will just return a list of exceptions, e.g. for COLP:
[['COLUMN_MISMATCH', "Invalid column(s) found in source data: {'bOROUGH'}."],
 ['COLUMN_MISMATCH', "Column(s) missing from source data: {'BOROUGH'}."],
 ['INVALID_DATA',
  'Column BBL contains 17428 invalid records, for example:<PHONE_NUMBER>.00000000'],
 ['INVALID_DATA',
  'Column MAPBBL contains 17428 invalid records, for example:<PHONE_NUMBER>.00000000'],
 ['INVALID_DATA', 'Column CATEGORY has 2 empty values'],
 ['INVALID_DATA', 'Column EXPANDCAT has 54 empty values']]

This could certainly benefit from unit tests, and there's some deduplication that can happen in the validation function. But this works against COLP for now, and there are higher priority tasks.
I'd certainly appreciate feedback on the metadata format itself. Any comments about field names, formats, etc. would be great to incorporate before we add metadata for other products. Also, we'd originally put some product specific metadata in dcpy but I'm not convinced it should live there, so for now I just put the metadata with the COLP product itself.
The next step is to add a distributions key to the COLP metadata, and use that update COLP on Socrata. I'll be working on that next.
Also, you can read commit-by-commit to get a sense of exactly what I changed in the metadata when I ported it from PDF to yml. First commit is a faithful representation, then following that are my modifications.

Sorry, this slipped from my attention today, but this looks great. Excited about where this is all going!


[BugFix] Converting string to json leads BE crash

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[x] 3.0
[x] 2.5

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 4 / 4 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/arrow_to_json_converter.cpp
4
4
100.00%
[]

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 4 / 4 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/arrow_to_json_converter.cpp
4
4
100.00%
[]

@Mergifyio backport branch-3.2

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


How to use two different sprite animations on a single entity?

I am trying to add two different animations to an entity. The first animation loops continuously while the second only plays on mouse click. The problem is that once I play the second animation, the entity stands still. It does not go back to playing the first animation. I tried the following code to make the entity play both animation but it seems like the code keeps adding extra data to the memory. How can I prevent that?
player.bind('Click', function(evt) {
    player.animate("first_anim", 1)
    .bind('AnimationEnd', function() {
      console.log(this.getReel());
      player.animate("second_anim", -1);
    });
});

The console outputs an extra reel object each time  a click happens like this:
Object {id: "first_anim",...
//Second Click
Object {id: "first_anim",...
Object {id: "second_anim",...
//Third Click
Object {id: "first_anim",...
Object {id: "second_anim",...
Object {id: "second_anim",...
and so on.

Is there some other more proper way of doing this?
Thanks.

A fiddle would help to resolve the animation issue, but it looks like your extra memory is coming from you calling .bind() on every click event.
If you want the animation switch to only happen once, use the .one() call to create a binding which will immediately unbind after it is first triggered. That might also solve your animation issue depending on what your animations are.

Thanks @Sythe2o0, that did solve the issue. I had to use .one('AnimationEnd', function() instead of .bind('AnimationEnd', function(). (I guess that's what you meant). I still have one doubt.
How does this .one() method actually work?
I thought what I am doing here is checking if the entity has been clicked and play "first_anim" if it has been clicked. That "first_anim" is bound to "AnimationEnd" event so that I can start the second animation once the first one ends. If this "second_animation" is being added to the memory multiple times, then I guess the "first_animation" should have been added multiple times too because both the click event and the AnimationEnd event are using the same .bind() method.

So you aren't binding on the animation itself, you're binding on the player. That means each time Click comes through player gets another AnimationEnd binding.
The difference is that .bind("Click") only gets called once. .one() is effectively binding and immediately unbinding once the callback has been triggered once (hence the name one).

Thanks @Sythe2o0. That was a silly misunderstanding on my part. I missed the fact that I am binding the AnimationEnd event inside the Click event. Moving the AnimationEnd event outside of the click event solved the issue too. 👍

Glad you figured out what was up!   Closing this issue as resolved.


Question: How to use eta as a templating engine for express?

(This is just a question and not a bug report)
Hello, so i checked the documentation and couldn't find a way to use the eta templating engine for express. So, how to use eta as a templating engine for express? Also, what is the file extension used for the eta templating engine?

https://eta.js.org/docs/api/file-handling

@nspeedzy https://eta.js.org/docs/api/file-handling

@nspeedzy sorry I wasn't able to get back to you sooner, but @jimsorock's answer is perfect.
For more detailed examples, you can check out https://scotch.io/tutorials/use-ejs-to-template-your-node-application. Since Eta and EJS have such similar APIs, syntax, and functionality, you should only have to tweak a few things in the tutorial.

@nebrelbug Thanks! But you guys might want to add a documentation page called "Using ETA with express". Before I close this issue, Isn't .eta the extension?

Good idea! We’ll work on updating the docs. Excited to see what you create!


Added support for passing custom s3 client

@creatorrr Thank you for making the pull request. While in general the change looks OK, I have a few questions:

What is the use case for passing a custom S3 client?
Is there a benefit to including this as a parameter, as opposed to mocking it?
I notice that the top-level interface has not changed. How does the user pass this new parameter?

Ping @creatorrr

Looks like this PR has gone stale, but I also need this functionality (see #199)
Give me a couple days, but I'm going to see if I can get this finished up.

Fixed by #201.


You'll need a new app to open this about

Description
First off, I love this tool--it works great! I'm getting an annoying issue making a certain website. Every time I open the app, Windows gives me this stupid dialog box:

Steps to reproduce issue
$ nativefier "https://textfree.us/" --inject "C:\pathToFile\inject.css" --icon "C:\pathToFile\icon.png" --name TextFree

Details

My injected stylesheet simply hides ads
It happens every time I create this website regardless if I add the extra options or not.
Other websites I've tried work like expected and don't bring this up.
I can press esc to get rid of dialog, but it's annoying anyway.

Are you nativefying a public website?

Yes

Feature request? Have you looked at nativefier --help to see if an existing option could fit your needs?

No

Full nativefier command used to build your app: <command here>

Above

Version of Nativefier (run nativefier --version): v0.0.0

7.5.4

Version of node.js (run node --version): v0.0.0

9.4.0

OS: <OS here>

Windows 10

Error message / stack trace (if any):

none

Closing as duplicate of https://github.com/jiahaog/nativefier/issues/562