Fix running of web e2e tests locally

Short description

@wdio/selenium-standalone-service has been deprecated, and was removed from Webdriver in version 8.14.6 (https://github.com/webdriverio/webdriverio/pull/10905). We are currently on Webdriver version 8.35.1, so don't need selenium-standalone anymore. Also, it breaks at least my local version of running the web e2e tests, so I removed it.

Does not work locally for me:
Error: Error: Failed to initilialise launcher service unknown: Error: Couldn't initialize "@wdio/selenium-standalone-service".
Error: Cannot find module<EMAIL_ADDRESS>imported from<EMAIL_ADDRESS>
You need to delete node_modules and reinstall to check if it works without a package you removed

Runned on the CI, see here

What happens when you remove node_modules and then do a re-install?


Too many web socket connections

Beforehand, clients opened to many web socket connections, especially for the notifications. Therefore, changes were made to the server and web client to reduce the web socket subscriptions and improve the performance. See this PR for the changes made.
This changes now need to be adapted to the Artemis iOS app as well. In detail the NotificationWebsocketServiceImpl needs to be adapted to the new web socket topic and handle incoming messages appropriately.

See #64


Bug fix to only include quota label from job in quota request

Signed-off-by: Diana Arroyo<EMAIL_ADDRESS>

Merge


Queued Job Executions

Consider how to deal with QUEUED job executions in the v6 REST API.
Original idea:
Update the v6 job detail API and v6 job execution detail API to return a "faked" job execution detail for QUEUED job executions (when job_exe.exe_num = job.num_exes and job status is QUEUED). Applicable job exe fields (such as resources) can be populated from querying the appropriate queue model. Consider whether this should be done to the v6 job exe list API or whether those docs should be updated to mention that only scheduled job exes (not QUEUED status) will appear.

Yeah, I think we'll leave it as is for now. Closing...


Unpack sets inside add_*_constraints! functions

add_*_constraints!: unpack sets inside contraint builder functions
add_transport_constraints!: remove unused function argument

Related issues

Closes #892

Checklist

[x] I am following the contributing guidelines

[x] Tests are passing

[x] Lint workflow is passing

[x] Docs were updated and workflow is passing

Should we standardise the sets creation?  I'm leaning towards yes.

Should we standardise the sets creation?  I'm leaning towards yes.

I would say yes, too. The investment ones are more tricky, so I suggest leaving them like that for a moment, I might change them for the variable creation. All the other sets should be standardized if possible.
Thanks!


MultiplayerSynchronizer Replication Tab Missing

Godot version
4.0.alpha13
System information
Windows 10
Issue description
The replication tab that pops up at the bottom of the game engine UI does not always display.
Steps to reproduce
I've seen it pop up once, and if I switch to another scene and come back, it is gone.
I'm able to get it to pop up again by modifying the scene file, .tcsn directly, and the having Godot report that the scene is malformed, and then undoing the change.
I've reverted my project down to Godot 4 Alpha 12 and can see the Replication tab consistently.
Minimal reproduction project
No response

Duplicate of #63621 (and already fixed in master)

Duplicate of #63621.

awesome, thanks everyone!


[Event Request] codeunit 249 "VAT Registration Log Mgt." - OnBeforeCheckVIESForVATNoField

Please add a new Publisher Call OnBeforeCheckVIESForVATNoField in Fct. CheckVIESForVATNoField of codeunit 249 "VAT Registration Log Mgt."
Add local Var. in Fct. CheckVIESForVATNoField

IsHandled: Boolean;

Add Publisher Call in Fct. CheckVIESForVATNoField:

    begin
+       IsHandled := false;
+       OnBeforeCheckVIESForVATNoField(RecordRef, VATRegistrationLog, RecordVariant, EntryNo, CountryCode, AccountType, VATNoFieldName, IsHandled);
+       if IsHandled then
+           exit;
        RecordRef.GetTable(RecordVariant);

Add new Publisher:

+    [IntegrationEvent(false, false)]
+    local procedure OnBeforeCheckVIESForVATNoField(var RecordRef: RecordRef; var VATRegistrationLog: Record "VAT Registration Log"; RecordVariant: Variant; EntryNo: Code[20]; CountryCode: Code[10]; AccountType: Option; var VATNoFieldName: Text; var IsHandled: Boolean)
+    begin
+    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10897.


NRF target-plmn-list is an array which is not parsed correctly

Hello,
in the file https://github.com/free5gc/nrf/blob/72c93a38cb17930f87901c28f3eb51277ce55d39/internal/sbi/producer/nf_discovery.go#L273C1-L273C47    it handles a discovery that arrives with a target-plmn-list
According to the 3GPP Standard  the target-plmn-list is an array of PlmnId  but the code doesn't handle correctly the [] of the array
I tested with a curl request after I had registered the NFs,
curl --http2-prior-knowledge  -H "User-Agent: SCP" -H "Content-type: application/json" "http://X.Y.Z.W:V/nnrf-disc/v1/nf-instances?target-nf-type=AUSF&requester-nf-type=AMF&target-plmn-list=[{"mcc":"999","mnc":"01"}]"
I added an extra log line before the issue to see it, if you see a correct discovery request gives an error
2024-06-10T13:25:25.789628634+02:00 [INFO][NRF][DISC] Handle NFDiscoveryRequest
2024-06-10T13:25:25.789733796+02:00 [WARN][NRF][DISC] Before the error the string is   [{"mcc":"999","mnc":"01"}]
2024-06-10T13:25:25.789782108+02:00 [WARN][NRF][DISC] Unmarshal Error in targetPlmnListtruct:  json: cannot unmarshal array into Go value of type models.PlmnId
2024-06-10T13:25:25.791295270+02:00 [INFO][NRF][GIN] | 200 |  <IP_ADDRESS> | GET     | /nnrf-disc/v1/nf-instances?target-nf-type=AUSF&requester-nf-type=AMF&service-names=nausf-auth&target-plmn-list=[{"mcc":"999","mnc":"01"}] |
An incorrect request without the []  doesn't show the error
curl --http2-prior-knowledge  -H "User-Agent: SCP" -H "Content-type: application/json" "http://X.Y.Z.W:V/nnrf-disc/v1/nf-instances?target-nf-type=AUSF&requester-nf-type=AMF&target-plmn-list={"mcc":"999","mnc":"01"}"
2024-06-10T13:32:16.912941652+02:00 [INFO][NRF][DISC] Handle NFDiscoveryRequest
2024-06-10T13:32:16.913020873+02:00 [WARN][NRF][DISC] Before the error the string is   {"mcc":"999","mnc":"01"}
2024-06-10T13:32:16.918108251+02:00 [INFO][NRF][GIN] | 200 |  <IP_ADDRESS> | GET     | /nnrf-disc/v1/nf-instances?target-nf-type=AUSF&requester-nf-type=AMF&target-plmn-list={"mcc":"999","mnc":"01"} |

Hi, @albertoberlin
Thank you for your feedback.
This error will be fixed after the NRF refactor is released.
You can refer to this PR to check on the progress of the refactor.
Regards,


reduce is missing

Knex has the option for a reduce operation on the query, directly reducing all records:
knex.from('table').reduce((result, record) => {
  return `some complex operation on the entire record`
})

This doesn't work with Objection:
Model.query().reduce(...)

Results in:
reduce is not a function

It seems to be missing from the Objection QueryBuilder. Now of course I could first map all records, which returns a promise and then apply (bluebird) reduce on that promise but I have some complex cases where there is no purpose for a mapping operation and I directly want to reduce the record into something. It makes no sense to add a bodus: .map(x => x) inbetween.

Thanks, I'll reduce to 0.9 version.

I can take a stab at this, unless someone else is already working on it.

Was this taken out? My result is
.query(...).where(...).reduce is not a function

@tleytek Objection (nor knex) no longer use Bluebird, hence function is no longer available. Instead, you should await query and call reduce on result array.


20220519

must review first before committing @Ortega082

When this has been confirmed, this Pull Request is indeed closed


Enforce unique instance names when adding instance

Also check the following are each valid strings:
Named type
Instance Name
Module Name
Generator Name
Record key
Valid string is: [a-zA-Z_-$][0-9a-zA-Z_-$]*

PR is #227


[Scaffolder] Action to set custom variables to reuse in the template

Feature Suggestion
Dummy action dummy:variables that takes anything as input and provides it as output
Context
I'm using fs:rename to modify the path and name of my skeleton files. This requires a bit of concatenation and replacing
Since I need to provide links to the files in several places, it's a hassle and I will make mistakes sooner or later
I tried using Nunjucks variables
... some stuff...
steps:
  ${% set catalogInfoPath = "catalog/" + parameters.component_id | replace("[ -\s. ]", "_") + "_catalog-info.yaml" %}
  ${% set dagPath = "dags/" + parameters.component_id | replace("[ -\s. ]", "_") + "_dag.py" %}
    - id: fetch-template
      name: Fetch Catalog Info
      action: fetch:template
      input:
        url: ./skeleton
        values:
... some other stuff...

But I was getting this warning from the catalog
YAML error at url:[path to my gitlab repo]/template.yaml, YAMLSyntaxError: All collection items must
 start at the same column

So to give some reasoning why the nunjucks variables don't work, it's only the values in the steps that are templated. Not the entire yaml document, so it's why you were getting that error as the yaml is not longer valid.
I'm wondering if it makes sense to have another option for this instead and treat this as first class. But it needs some more thought.
Something like:
context:
  variables:
    catalogInfoPath: catalog/${{ parameters.component_id| replace("[ -\s. ]", "_") }}_catalog-info.yaml

steps:
    - id: fetch-template
      name: Fetch Catalog Info
      action: fetch:template
      input:
        url: ./skeleton
        values:
          catalogInfoPath: ${{ context.variables.catalogInfoPath  }}

It's kind of similar to https://github.com/backstage/backstage/issues/9461 in a way.
Overall I prefer an action, because you can execute arbitrary code in there to populate an environment, but then it's up to every company to implement their own version of an action that can have outputs that can take inputs and do whatever with them, so not sure that theres a use for dummy:variables in this case.

The context idea is definitely more intuitive for this purpose. I'm just not sure how to implement it, whereas the action is pretty straightforward to do.
Who can we ping to have some thoughts on this, so we can move forward?

There's a few people out on vacation right now unfortunately, so I'm kind of the only maintainer working at the min.
I want to try and spend some time this week fleshing out the idea of merging this and #9461 together I think, as I think it solves both tickets and use cases pretty nicely.
Will update later this week.

Ping pong! Any news?

So i'm thinking for now we can treat them as separate features, probably want to rethink about the naming and the API for the entity manifest a little more with some more of the @backstage/maintainers when they come back from holiday next week if thats OK? Gonna add some labels in here for us so that we pick it up next week,.

related https://github.com/backstage/backstage/discussions/16655

Had raised the issue #18396 which introduces a similar idea to https://github.com/backstage/backstage/issues/12767#issuecomment-1192546383. Also see #9461 .

I think that we should perhaps merge both this ticket and the #9461 into something actionable soon and come up with a proposal on what we should do next and what the API looks like.


Config file housekeeping

Pytest added support for pyproject.toml configuration files in the latest release, so thought it made sense to consolidate there where possible. Not possible yet:

.flake8: They're holding off on support. (Ticket)
tox.ini: Has TOML support, but only as inline INI multiline string. (So possible, but suboptimal)

Critical Changes
Changes
Issues Closed

@jstvz the Release Test workflow failed with Couldn't read '../.coveragerc' as a config file


3.0.0-2.4.0

Release 3.0.0-2.4.0 aka beta freeze
Added
Added Favicon
New and improved primary nav (both look and interaction)
Added expanded-state utility for getting/setting aria-expanded
Changed
Updated Video Code to make it usable on Events pages.
Changed gulp JS unit testing task from gulp:unit:js to gulp:unit:scripts
Updated Meredith Fuchs bio and images.
Added indent rules for var, let, and const in ESLint config file.
Replaced old Grunt legaccsy plugin with Gulp mq-remove plugin
Added ability for acceptance --specs test flag to accept list of test files.
Changes big_radio macro to radio_big and checkbox_bg to checkbox_big.
Updated Dep Dir title to include "Acting"
Removed
Disables tests for landing page events, since we don't currently have events.
Removed Ombudsman from nav for beta freeze.
Fixed
Fixed issue with logic displaying the Event summary state.
Fixed missing IE only stylesheet for older systems/browsers.
Fixed skip-navigation link for keyboard navigation.

:+1:

:+1:

:+1:


new freecam exe

https://discord.com/channels/555224628251852811/555224758837444632/1184352049580736544
"automatic H3 ansel patcher"

wrong repo - https://github.com/solderq35/hitman-tech-tips/issues/1


refactor: replace ithacanet with ghostnet

Legal requirements:

License text

MIT in the root directory: done
Copyright added in text: done
TODO: Add email behind company name<EMAIL_ADDRESS>

File header
/*

Copyright (C) 2022, vDL Digital Ventures GmbH<EMAIL_ADDRESS>
SPDX-License-Identifier: MIT
*/

DCO: Installed through the app see here

The legal requirements should be put into the readme

Here is the documentation for SPDX. This can be linked in the readme.md
https://spdx.dev/ids/

@royscheeren if there are multiple commits and one of them is not correctly signed-off then the solution is the following:

Rebase the branch
If you have a local git environment and meet the criteria below, one option is to rebase the branch and add your Signed-off-by lines in the new commits. Please note that if others have already begun work based upon the commits in this branch, this solution will rewrite history and may cause serious issues for collaborators (described in the git documentation under "The Perils of Rebasing").
You should only do this if:
You are the only author of the commits in this branch
You are absolutely certain nobody else is doing any work based upon this branch
There are no empty commits in the branch (for example, a DCO Remediation Commit which was added using --allow-empty)

To add your Signed-off-by line to every commit in this branch:
Ensure you have a local copy of your branch by [checking out the pull request locally via command line](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally).
In your local branch, run: git rebase HEAD~5 --signoff
Force push your changes to overwrite the branch: git push --force-with-lease origin refactor/network

I did set the sign-off criteria now manually to pass


Write premissions

Ended up installing manually😭
Also posted this issue here as well.

Same problem, manuall installation does not help

are you using
Apple Swift version 4.1 (swiftlang-902.0.48 clang-9<IP_ADDRESS>)

if you append
--verbose

do you get
error: unknown option --enable-prefetching; use --help to list available options

If so, same issue as
#151

@rob-nash Yes, its the same issue.

Updating marathon to 3.0.0 fixed the issue.


PNPM should be implemented and tested using create-react-app

Is your proposal related to a problem?

PNPM is one of the next-gen popular package managers that is speed and more efficient in case of storage.
Many people want to use it with create-react-app.
Describe the solution you'd like

Add support for pnpm create react-app, current version when we use this command. It will then use npm to install the react, react-dom, etc.

A better option would be: pnpm dlx create-react-app my-app --template typescript.
pnpm dlx is kind-of the equivalent of npx :)

Hi there @ImBIOS,
I've added this to my .npmrc:
auto-install-peers=true
public-hoist-pattern[]=*eslint*
public-hoist-pattern[]=*prettier*
public-hoist-pattern[]=@types*

(the last thing solves the bug with the testing-library types)
But still, I got warnings from pnpm that I have missing peer-dependencies..

Also, it means it still needs to be officially tested, right?

I agree :)

A few more (less problematic) warnings that I have:

@itayperry The beauty is... when I use Next.js -which is React Framework- with PNPM, even with Tailwind installed. I got no error or warning at all 😂
Trust me, it works.

They are 2 different things.. create-react-app has nothing to do with Next, but I see your point.

I got warnings from pnpm that I have missing peer-dependencies

This may change in pnpm 8.0.0, which will automatically install peer dependencies:

https://github.com/pnpm/pnpm/releases/tag/v8.0.0-alpha.0

A better option would be: pnpm dlx create-react-app my-app

This is equivalent to pnpm create react-app my-app, just a longer command, potentially harder to remember. In any case, either work.

@karlhorky wow great!!
Thank you ✨

For those who want to go down with the ship

This does not contribute to the discussion, most devs who do not require SSR still use create-react-app.
My team is now moving to Vite (but they have some weird bugs e.g. https://github.com/vitejs/vite/issues/11468)

For those who want to go down with the ship

This does not contribute to the discussion

I disagree that the first part of my sentence did not add to the discussion - I believe this warning is important and contributes to the discussion, to avoid having users believe that create-react-app should be relied upon or that there will be any further support.
However, I wrote it quickly and thought it was an understandable, which it probably is not. I've edited my comment to be more explicit about the warning.


Spring Cloud gateway mvc, virtual threads and threadlocal

With the new spring cloud gateway mvc, and virtual threads enabled - how do i pass use threadlocal information for a single virtual thread? My ask is i want to store the logging id which is unique per request. If mvc handles each request in seperate virtual thread - how do i maintain the context of the virtual thread and where?

I might not fully understand your question, but, as I see in my project on Java 21 and MVC gateway, the context and tracing are passed from the MVC gateway to all the called microservices.

None of this is specific to spring cloud gateway and I don't have any particular knowledge of the combination of virtual threads, org.slf4j.MDC and thread locals.
This stackoverflow looks promising https://stackoverflow.com/questions/77937111/utilizing-logging-mdc-with-virtual-threads


Sonarr V4 support

Description
Currentlyy Jellyseerr isn't working with Sonarr V4.
This is an early request as V4 is in development.
sonarr:v4 tag available
https://github.com/hotio/sonarr/pkgs/container/sonarr
Desired Behavior
Being able to add a Sonarr V4 instance to Jellyseerr as well.
Additional Context
No response
Code of Conduct

[X] I agree to follow Overseerr's Code of Conduct

Sonarr v4 has no Language Profiles. The rest of the API should be the same. Perhaps having a Sonarr Version dropdown and not trying to get language profiles when v4 is selected would suffice? I can help with some initial support for this.

Sonarr v4 is now supported on jellyseerr. Specifically Sonarr V<IP_ADDRESS>

@Fallenbagel just be aware, the compatibility is due of back porting the endpoints. This is only a temporary fix, as Overseerr (and to that extend) Jellyseerr aren't supporting V4 (yet). It's still deprecated and still needs a proper fix.

@Fallenbagel just be aware, the compatibility is due of back porting the endpoints. This is only a temporary fix, as Overseerr (and to that extend) Jellyseerr aren't supporting V4 (yet). It's still deprecated and still needs a proper fix.

The only thing is the language profile that's breaking the connection. So nothing to be too much scared about going on from here

You should look at properly supporting V4 and not relying on a fix from Qstick to get some third party applications working. Besides, continuing to use deprecated endpoints creates unnecessary warnings on Sonarr event logs that something is using a deprecated endpoint.

Hitting an endpoint that is depreciated - and thus likely to be removed eventually - and not fixing it doesn't really make logical sense nor does it fix the issue.
All closing this does is kicks the can down the road where eventually the same issue will occur and Sonarr won't be supported.

@bakerboy448 Yeah I gathered that this is not "support for v4" from seeing "deprecated" language profile and no relevant commits on the develop branch, but it does make sonarr usable for the time being. I'm a bit confused about where the development is happening. Is the plan for jellyseerr to eventually merge this from upstream overseerr or PRs will be accepted in this repo?

@bakerboy448 Yeah I gathered that this is not "support for v4" from seeing "deprecated" language profile and no relevant commits on the develop branch, but it does make sonarr usable for the time being. I'm a bit confused about where the development is happening. Is the plan for jellyseerr to eventually merge this from upstream overseerr or PRs will be accepted in this repo?

For overseerr specific feature like sonarr v4, we would like the PR to go upstream so we can merge from there

How is full support for Sonarr v4 - and especially the change to Language Profile - coming along?

How is full support for Sonarr v4 - and especially the change to Language Profile - coming along?

Afaik, language profile is now handled by custom formats and is completely deprecated. We are keeping the option for just legacy support. You should be handling the languages through custom formats.

:tada: This issue has been resolved in version 2.1.0 :tada:
The release is available on:

v2.1.0
GitHub release

Your semantic-release bot :package::rocket:


503 Error on POST Requests: LdContextNotAvailable in Stellio Context Broker

Hello,
I'm new to Stellio.
I am currently following the API walkthrough provided in the Stellio documentation and encountered an error while trying to post to the Beekeeper as the first step. Here's the error message I received:
{
  "type": "https://uri.etsi.org/ngsi-ld/errors/LdContextNotAvailable",
  "title": "A remote JSON-LD @context referenced in a request cannot be retrieved by the NGSI-LD Broker and expansion or compaction cannot be performed",
  "status": 503,
  "detail": "Unable to load remote context (cause was: JsonLdError[code=There was a problem encountered loading a remote context [code=LOADING_REMOTE_CONTEXT_FAILED]., message=There was a problem encountered loading a remote context [code=LOADING_REMOTE_CONTEXT_FAILED].])",
  "instance": "/ngsi-ld/v1/entities"
}

I have ensured that all steps were accurately followed.
Could you please provide guidance on how I can proceed with the walkthrough despite this issue?
Is there a workaround or a specific configuration I should check?
Any guidance on how to resolve this would be greatly appreciated.
Thank you in advance for your assistance.

Hello @dr-yst,
I think following PR is related to this: https://github.com/easy-global-market/ngsild-api-data-models/issues/205
Problem seems to be a broken link in the context. Once fixed your requests should run successfully.

Hi @dr-yst,
As said by @lucboj, there was a broken link in the JSON-LD context used in the API Quickstart. The PR has been merged, it should now work again.

@lucboj @bobeal
Thank you very much for the prompt response and resolution!
I confirmed that everything is now working properly.
I really appreciate your help.


Failing CI: Prost requires Rust 1.71.1

Describe the bug
Prost bumped it's MSRV from 1.70 to 1.71.1 on it's v0.13.3 release
This clashes with arrow-flight MSRV 1.70, causing CI errors
Additional info
The 1.70 MSRV was set on https://github.com/apache/arrow-rs/pull/4490, on Jul 8, 2023, more than one year ago
Rust 1.70 was released on 1 June, 2023, while 1.71.1 on 3 August, 2023:  ~2 months of difference
I think we can safely bump arrow-flight MSRV from 1.70 to 1.71.1, otherwise pin prost to v0.13.2.

label_issue.py automatically added labels {'arrow'} from #6437

label_issue.py automatically added labels {'arrow-flight'} from #6437

label_issue.py automatically added labels {'documentation'} from #6434


Refactor/fix previous metrics

Fix the computation of the metrics for the case of large number of samples (bigdata).
Clean and refactor code.

All these files belong to ADAPT so I'm closing this PR.


Spooling fixes

so you closed this one?

Yeah I had to revert the changes I made since it didn't really fix anything.


continueWhile

This is more of a performance or memory leak/resource management item but as far as I can tell the way continueWhile is written will effectively create a chain of tasks that will keep growing each iteration until the loop completes.   In a small loop this probably does not matter but in a long running or infinite loop this grows indefinitely until failure.
I believe this can be prevented by using a completion source to manage reporting loop completion and avoiding continueWithTask or related anything that chains the .then's together.  The continuation could be rewritten as a Task returning method so returning false ends the loop.  the result of each iteration would use continueWith and proxy the error to the task completion source or dispatch the next iteration if result is good.

Thanks for bringing up your concern! Would you be willing to provide a PR with this optimization?

I'm not sure that's right.  The existing code chains tasks, but task chains don't keep their history in memory -- only whatever is still being waited on (which in the case of a continueWhile will just be the last operation).  Tasks are explicitly designed to hold their references in the other direction and they relinquish the reference once the task is completed.  Have you actually seen a leak here?

before looping, continueWithTask will create a task completion source who's value will not be set until the task returned by the continuation is completed.
The continuation calls onSuccessTask to start the next iteration of the loop and returns a task completion source who is not completed until that inner task is completed.  Each loop will generate a task completion source that wont be completed until its subtask is completed.
each iteration will create a new task completion source that does not complete until the new iteration completes and that new iteration cannot complete until the next iteration...
thus the chain will keep growing until the loop is done or out of resources.


dosnt work

i use the premium one press generate and cmd opens wait 2-30 seconds try to login and it saying i cant that the acc dosnt exist probably ratted

did u used the exe?
Cause the releases are outdated. Use the CLI version instead (they are in the ValogenPremium folder)

yo ! do you have discord please for some info


Project needs a license

suggestions for license

MIT
Apache 2.0

TODOS:

[ ] add LICENSE file
[ ] add standard license info in README.md
[ ] add [project] license = {file = "LICENSE"} in pyproject.toml

@anthonywu I went with the MIT license. PR here if you want to have a quick look :)


lwf can't load in android phone that is not rooted

the lwf loadlibrary having a problem loading th libs when i am using not rooted phone but in some phone it is fine. i mean if i use rooted phone who has access in other lib folder. i think the problem is in the liblwf-pure2d.so because i try to call it in the data/data/packname/libs but it can't call the libgnustl_shared.so file so i think there is something wrong in it. but i can't edit it so tell me is there any fix about it??
I think there is something that need to change in needed .so, I hope you can help me with this.

Sorry, LWF for Pure2D is no longer supported. I recommend you to use LWF for Cocos2d-x on Android.

Ohh I see but the problem is I don't use Cocos2d-x because i use java for android. but maybe i will try it. but you dont have other .so file that can give me?

You can build it yourself. https://developer.android.com/tools/sdk/ndk/index.html

okey thanks. i will try.


storage/swift: upload fails on large objects

Getting upload errors "Too Large Object" from swift.
Related info:
https://godoc.org/github.com/ncw/swift#Connection.DynamicLargeObjectCreate
https://github.com/ncw/rclone/commit/cc7b9af50ead0ed209afd3e70fd29975180eb8db

I was able to upload a 5 GB file without a problem using:
{
  "name": "Large file download/upload example",
  "executors": [
    {
      "image": "biocontainers/samtools:1.3.1",
      "command": ["sh", "-c", "samtools view /tmp/inputs/NA21097.cram | head -n 100 | md5sum"],
      "stdout": "/tmp/outputs/stdout"
    }
  ],
  "inputs": [
    {
      "url": "swift://funnel-test/inputs/NA21097.mapped.ILLUMINA.bwa.GIH.low_coverage.20120522.bam.cram",
      "path": "/tmp/inputs/NA21097.cram"
    }
  ],
  "outputs": [
    {
      "url": "swift://funnel-test/outputs/NA21097.cram",
      "path": "/tmp/inputs/NA21097.cram"
    },
    {
      "url": "swift://funnel-test/outputs/NA21097_100.md5sum",
      "path": "/tmp/outputs/stdout"
    }
  ]
}

did you try it with #356 yet?

Yeah I tested it and have everything working in #356.


Update server architecture on wiki

With the merger of #322 and #331, the server architecture has changed in a significant manner. There are now new threads, multiple maps will be able to be served/transitioned between clients, and the introduction of a message bus. These updates are noteworthy and should be documented in the wiki.

Moving this to Segs.io repo as it should go on the new wiki.segs.io


[SampleRequest] Mounting an ISO (either from datastore or host computer)

Hi....
I'm trying to find way how to mount iso to virtual cd-rom. So far I'm totally lost in this issue.
Can anybody help me with this?
Thanks

@alans09, by host computer you mean, ESXi host? I've got an example on how to mount an ISO from datastore...


Honkerdam Octopuses: Good First Issues Recommender -  promote and make contributing to OS projects easier

Project Name
Good First Issues Recommender
Description
Good First Issues Recommender helps to make the first step and start contributing to open source easier.
The vast number of projects and issues can be a real blocker for people who would like to start their journey in open source.
We employ the power of  collaborative filtering to make contributing easier.
Build
Yes
Train
Yes
Analyze
No
Challenge Topic / Topic Category

[ ] Customized Information Extraction
[ ] Education
[ ] Enhancing Accessibility in Healthcare Through AI
[ ] Mitigating Natural Disasters in a Changing Climate
[ ] Reducing Food Waste Through AI-Powered Innovation
[ ] other - World Issues
[X] other - Open-Source
[ ] other - Scientific Computing
[ ] other

Project Repository URL
https://github.com/vflores-io/honkerdam_octopuses
Deployed Endpoint URL
No response
Project Video File (not folder) Link (ensure viewer access)
https://drive.google.com/file/d/1DYKMaiIEVch8375XCLcOdmUTfEAj-zLD/view?usp=sharing
Team Members
@vflores-io , @anopsy

Your project addresses a genuinely important and relatable challenge—making the first step into open-source contributions easier. Personally, I’ve faced this very problem, and having a tool like this would have been incredibly helpful!
The current implementation is already a strong example of "Build"—it’s a tangible product that delivers value and directly solves a real-world issue.
Here are some suggestions for potential next steps:
LLM-Powered Chatbot: Introducing a chatbot to assist users with common questions on their journey to resolving their first issue could take this project to the next level. Focusing on a specific niche, such as AI inference engines or vector databases, would allow you to fine-tune the bot for maximum utility in that domain.
Advanced Similarity Models: Enhancing the issue and profile similarity analysis with more sophisticated models could significantly improve the recommendations. Leveraging vector similarity and large-scale LLMs, hosted on platforms like Modal, would provide greater accuracy and better performance. The current approach using simple fully connected layers and sigmoid activation, while functional, has clear room for enhancement.
Overall, this is an impressive and practical solution with strong potential for further growth and impact!

Thank you for your valuable feedback and suggestions. It took me over three years to start contributing because I struggled to choose the right project and identify a good starting point. Our goal was to create an MVP that works, and we can now refine it further. Your suggestions align perfectly with our vision. We also plan to expand the idea and make this project the go-to resource for anyone looking to start their open-source journey.

Thank you @naumnaum for your insightful feedback. We believe this tool can significantly lower the entry barriers to open source contributions. Our goal is to make programming more accessible from the very beginning, creating a more welcoming starting point.


Link a closed workshop request to the event it created.

Fixes #937.

I'd change phrasing to something like:

Warning: This request was closed (see related event).

or

Warning: This request was closed (related event).

Done.

I'll merge once we have v1.8 open. Thanks @narayanaditya95 !


chore: prepare release 2023-07-18

Summary
This PR has been created using the yarn release script. Once merged, the clients will try to release their new version if their version has changed.
Version Changes

javascript: 5.0.0-alpha.73 -> prerelease (e.g. 5.0.0-alpha.74)
java: 4.0.0-SNAPSHOT -> minor (e.g. 4.0.0-SNAPSHOT)
php: 4.0.0-alpha.71 -> prerelease (e.g. 4.0.0-alpha.72)
go: 4.0.0-alpha.20 -> prerelease (e.g. 4.0.0-alpha.21)
kotlin: 3.0.0-SNAPSHOT -> minor (e.g. 3.0.0-SNAPSHOT)
dart: 0.1.1+3 -> minor (e.g. 0.2.0)

Skipped Commits
It doesn't mean these commits are being excluded from the release. It means they're not taken into account when the release process figured out the next version number, and updated the changelog.

Commits without language scope:

docs: update release process (#1773)
chore: optimize docker image (#1770)
chore: refine renovate config (#1747)
chore: deps upgrade (#1732)
chore: only setup dart when required (#1731)
chore: forward dart version (#1695)
chore: add release using docker (#1690)
docs: add migration guide for copyRules/settings/synonyms (#1686)

Commits with unknown language scope:

fix(scripts): release script with ssh (#1777)
fix(ci): setup dart deps for release (#1775)
fix(scripts): esm release (#1772)
chore(deps): dependencies 2023-07-17 (#1748)
chore(renovate): don't use includePaths (#1745)
chore(renovate): add regex for most dependencies (#1744)
chore(deps): dependencies 2023-07-10 (#1705)
fix(cts): generate lock and package.json for javascript (#1721)
fix(scripts): unused imports in go tests (#1719)

wouhouuu it works again, had to add this https://github.com/algolia/api-clients-automation/pull/1778/files#diff-b6ba63450a068cc6cd2b3680ea4e6f622bf9097eef5210671a3603ef26d2e0a6R224

Is it expected that we lose the packageName from each js package?

not it shouldn't 🤔 I'll try to see why it did that


Rust Injector System Should Use SHA256

Once #335 is merged, we will need to add the ability to use the SHASUM verification of the injected payload.  Even though the actual risk is incredibly small, it will give auditors of this approach more confidence in the injector system.

[ ] Verify functionality of the actual rust SHASUM code
[ ] Recompile the rust binary with MUSL
[ ] Re-commit to the repo
[ ] Re-upload using the injector README instructions
[ ] Update the packager injector code to pass the SHA256SUM to the rust binary in the ephemeral pod

Closed with #449


cleaning up package.json, removing global install of bower

set version to a real version
set name to the real name
removed global bower install from install script. don't mess with my global state! I set bower and grunt-cli to be local dependencies so that the test script and the postinstall script work regardless of whether you have these installed globally or not
changed install script to postinstall script. This is makes more sense given the nature of what we're doing in the script
changed repo, bugs, and homepage urls to correct urls
removed authors
set license to MIT license from ISC
moved devDependencies to dependencies. There is no need for the discrepancy on a non-lib package

:+1:
Wow, global bower install. That's a little bit pretentious.

Thank you!


Add support for .Net Core 2.0

This is enhancement.
Topshelf current version is not supported by .net core 2.0 applications.

I'm starting to dig in to this a little bit. For now, just looking at .net core on Windows.  (so still windows service) - I'm not ready to look at running as a Daemon under linux / mac - has anyone else looked at these scenarios?

I've only started looking at linux and mac Daemon implementations, they look pretty involved with respect to install/uninstall.
Actual porting of the existing functionality appears to be pretty straightforward. Running .NET Portability Analyzer against a fork of TopShelf produced this spreadsheet. Majority of the issues are associated with the top level library(TopShelf) as seen on the Portability_Summary sheet. As expected issues mainly centered around usages of: System.ServiceProcess, System.Configuration.Install, and Microsoft.Win32. The unsupported breakdown is shown on the Details sheet. Replacing System.ServiceProcess, System.Configuration.Install, and Microsoft.Win32 has already been accomplished: https://github.com/dasMulli/dotnet-win32-service, implementing similar changes would speed up the TopShelf port to .Net Core 2.
Should the changes be done in the existing repo or create a separate TopShelfCore repository as many projects have elected to do?

I've only started looking at linux and mac Daemon implementations, they look pretty involved with respect to install/uninstall.
Actual porting of the existing functionality appears to be pretty straightforward. Running .NET Portability Analyzer against a fork of TopShelf produced this spreadsheet. Majority of the issues are associated with the top level library(TopShelf) as seen on the Portability_Summary sheet. As expected issues mainly centered around usages of: System.ServiceProcess, System.Configuration.Install, and Microsoft.Win32. The unsupported breakdown is shown on the Details sheet. Replacing System.ServiceProcess, System.Configuration.Install, and Microsoft.Win32 has already been accomplished: https://github.com/dasMulli/dotnet-win32-service, implementing similar changes would speed up the TopShelf port to .Net Core 2.
Should the changes be done in the existing repo or create a separate TopShelfCore repository as many projects have elected to do?

Is anyone actively working on this? I'd sorely like to use topshelf in netcore land. Can I assist?

Some of these APIs are coming in the windows compatibility pack for .net core

@kieranbenton I've forked the repo and done a little recon on what it would take to convert the current solution to .NetCore but I haven't had time to actually do any of the changes.

Maybe you could use https://github.com/dasMulli/dotnet-win32-service?

I think Topshelf should support .NET Core by supporting windows as it always did and "just running" on linux at first. Linux has quite a few options to register services, depending on the distro, and it's quite easy to add it manually with systemd, upstart or supervisord. It's a different system.
I'm looking into moving some windows services to Linux with netcore2, and all I expect from Topshelf is not requiring specific linux code to work. It should start and handle linux signals to stop, and that's it.

Anybody tested this? Working well?

Have an error when trying to install service.
netcoreapp2.0
 $ Service.WebApi install Topshelf.HostFactory Error: 0 : An exception occurred creating the host, Topshelf.HostConfigurationException: The service was not properly configured: [Failure] Command Line An unknown command-line option was found: ARGUMENT: install

I got same error also.
myService.exe install

[17:17:35 ERR] An exception occurred creating the host
Topshelf.HostConfigurationException: The service was not properly configured:
[Failure] Command Line An unknown command-line option was found: ARGUMENT: install
[Failure] Command Line An unknown command-line option was found: ARGUMENT: install

I've used TopShelf in the past and pulled it in for a DotNet Core service I was building out. Unfortunately, I didn't track that it wasn't working yet. Thus, I've got some work hinged on this getting ironed out, so let me know if you need some testing.

Any updates on this? I'm using TopShelf 4.1.X and is still happening the same error. Thanks in advance

Does it support for .net core 2.0 now?

Well you can build around Windows Compatibility Pack for Windows Services on Windows and Console for Linux and encapsulate that using Topshelf and be netstandard2.0 so that consumers can use the same structure cross-platform and just rely on Topshelf.

That sounds like a great idea. Looking forward to your pull request 👍

This SO post may help: https://stackoverflow.com/questions/46561660/net-core-2-0-windows-service

We are currently using TopShelf to build our Windows Services for an ASP.Net Web API Backend. This project is being migrated to .Net Core 2. Can you give us a timeline for when TopShelf will support .Net Core 2? Thanks.

The compatibility seems to support ServiceBase, but it doesn't support the installers. So the service would not be able to self-install as previously supported.

So the develop branch now supports this, but you must install via sc or other installers, as the service installers aren't part of the compatibility pack.
22baba8dff7ba47b12b761b03c15006a0d3cd44c

Do you plan to release the updated Nuget package?

I can put the -develop packages to NuGet, the release packages require the release version of the windows compatibility package to become available.

@phatboyg Looks like the final version of the windows compatibility package is now available on nuget

So when topshelf will support .net core apps?

@phatboyg I noticed that #448 got merged. Is there an ETA for the next release? Maybe you can at least publish a new prerelease package on nuget so we can test Topshelf with .NET Core. Or is still something missing to use it?

Am willing to kick the tires and give feedback on a pre-release package as soon as one is available.

I built topshelf from latest develop and used it to make windows service on .net core 2. it works :)

Pre-release package on nuget.org please :)

Using this I no long has access to RunAsPrompt() calling HostFactory.Run, in fact I can no longer find the extensions in the dll at all. Is that intended?

I am using topshelf-develop package (<IP_ADDRESS>-develop) with dotnet core 2.0  and trying to build my application but I am receiving "'HostConfigurator' does not contain a definition for 'RunAsLocalSystem' and no extension method 'RunAsLocalSystem' accepting a first argument of type 'HostConfigurator'
could be found "  error while building the application.
I even tried to run my application with latest version of topshelf package (4.0.4) with dotnet core. But that throws error while running the application . which is as below. "Topshelf.HostFactory Error: 0 : An exception occurred creating the host, System.TypeLoadException: Could not load type 'System.ServiceProcess.ServiceAccount' from assembly 'System.ServiceProcess, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=xyzzzz'.".
I understand from the above conversation that topshelf latest package is still not supporting dotnet core. But If the latest develop version of topshelf supports dotnet core2.0  then has anyone encountered error while building the application just like me?
And I would be eagerly waiting for stable version of topshelf supporting dotnetcore2.0 with windows os to start with as we have multiple applications in dotnet core. This would be really helpful.

@pmunshi007 The prior conversations were with respect to code built from the repo. However I see <IP_ADDRESS> was published 4 days ago. Try that are report back.

Trying to install latest version <IP_ADDRESS> and getting this error on Console App (Net Core 2.0).

Unable to find package TopShelf.ServiceInstaller. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages, nuget.org

I was just about to report that the preview release <IP_ADDRESS> could not be installed because the package TopShelf.ServiceInstaller was not published.

@coolhome not sure if we should create a new issue;

This worked for me - Install-Package Topshelf -Version <IP_ADDRESS>-develop

@replaysMike The installation also worked for me, but the example from here fails at x.RunAsLocalSystem();. It cannot resolve the symbol. Any ideas?

I really appreciate the efforts in getting TopShelf to work with .NET Core, thanks.
I'm using TopShelf version <IP_ADDRESS>-develop in a .NET Core 2.1 console app.
Works fine when I run the application either via debugger or dotnet run. However I can't seem to install it as a windows service.
I gather the built-in service installer doesn't work with .NET Core, so I've been trying sc.exe.
e.g.
sc.exe create TestConsumer DisplayName= "TestConsumer" binpath= "C:\PROGRA~1\dotnet\dotnet.exe c:\services\TestConsumer\TestConsumer.dll"

This creates the service, but it won't launch.
A timeout was reached (30000 milliseconds) while waiting for the TestConsumer service to connect.
Hoping someone can provide a snippet or example of how to install a .NET Core TopShelf service. In case it's relevant, I'm using this setup code.
HostFactory.Run(host =>
{
	host.Service<SomeConsumingService>(service => {
		service.ConstructUsing(s => { return new SomeConsumingService();});
		service.WhenStarted(s => { s.Start(); });
		service.WhenStopped(s => { s.Stop(); });
	});

	host.SetDescription("Test consumer service");
	host.SetDisplayName("TestConsumer");
	host.SetServiceName("TestConsumer");
});

@acorkery I think (for now) you need to be using self-contained deployment.

@damianh Thanks for the reply. Sorry, I'm just not clear on this. Do you mean deploy it as a standalone console app, i.e. not registered with Services Control Manager? Is there a benefit to using TopShelf in this scenario at all then?

@acorkery  (forgive me if I'm wrong here @damianh) I suspect you need to compile you solution to TestConsumer.exe instead of TestConsumer.dll.

Had supported for .netcore apps ?
What version can be used in production environment?

It's in develop, it will be released as 4.1 soon.

Added alternative: https://github.com/icenorge/DotNetCore.WindowsServices/

It's in develop, it will be released as 4.1 soon.

Do you have a date as to when it will be out?

I think it was released a few months ago.
https://www.nuget.org/packages/topshelf
On Thu, Nov 22, 2018 at 8:54 AM AnandNagaraja<EMAIL_ADDRESS>wrote:

It's in develop, it will be released as 4.1 soon.
Do you have a date as to when it will be out?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Topshelf/Topshelf/issues/393#issuecomment-441037591,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMBmwILe6sEVIhUGZyd__Z9CGnu-N6cks5uxqyIgaJpZM4PdpVP
.

I didn’t have any issues with using it for Kestrel. I simply hosted the kestrel instance in a service, worked fine.


Switch dependencies to OEDA infrastructure

Remove dependencies to Caerus infrastructure. These include:

[x] Geonames elasticsearch image hosted on Caerus Dockerhub
[x] mitie-py wrapper from Caerus Github
[ ] word2vec model stored on Caerus S3

All of these become irrelevant in v2.


feat: Blake2s round precompile

This PR implements gadget and syscall for Blake2s round function.
The integrated code that allows using this syscall in external sphinx programs is located in zkvm branch of RustCrypto.
The following is a comparison of single Blake2s hashing inside Sphinx program without / with precompile:
summary: cycles=5989, e2e=2.196652208, khz=2726.42, proofSize=1789916 (without precompile)
summary: cycles=4401, e2e=2.104103333, khz=2091.63, proofSize=3188917 (with precompile)

TODO:

Explore if it makes sense to extend the precompile to round_x10 or any other possible imprevements from performance perspective.

The constraints look good, though I'm taking a better look to see if we can do some optimizations (for example, by using transition constraints and chaining the calls to the compression function, avoiding extra memory accesses).
I was wondering where the test vectors came from. There are some proposed in the RFC and was wondering if they cam from there. Would it also be possible to show a full end-to-end test that computes a full hash using the precompile. The classic would be checking BLAKE2s-256("abc") = 50 8C 5E 8C 32 7C 14 E2 E1 A7 2B A3 4E EB 45 2F 37 45 8B 20 9E D6 3A 29 4D 99 9B 4C 86 67 59 82.

@adr1anh, this precompile implements single round function of Blake2s - not a whole compress function, so I extracted the test values by injecting printlns directly into the macro code, using Blake2s("") initially. Then, in order to guarantee that it will work, I used sphinx program from https://github.com/argumentcomputer/zk-light-clients/pull/241 that runs single hashing using randomised input passed from the following unit-test in Kadena LC, which compares the outputs of hashing performed in-circuit and out-of-circuit.


Azure Storage Explorer overloads system on large uploads

When uploading large files on resource constrained hardware, the azure storage explorer does not set AZCOPY_CONCURRENCY_VALUE=AUTO. This causes azcopy to use a huge amount of threads locking up the system and ultimately severely negatively impacting the transfer speed.
For example, on my system (Macbook Pro 15" i7) it spins up 256 threads for concurrent upload even though when running azcopy manually with the concurrency value enabled it stabilized on 4-8 concurrent upload threads due to other activities on my machine and the available bandwidth.
The storage explorer should set AZCOPY_CONCURRENCY_VALUE=AUTO as an env variable before executing azcopy commands.

@JorickvdHoeven at this time the AzCopy team has recommended to use that we not use AUTO as the default value of AZCOPY_CONCURRENCY_VALUE. If you wish to use that value though, you can configure that via the in app settings. Go to:
Settings -> Transfers -> Network Concurrency -> choose Adjust dynamically
This is the equivalent of AUTO. Let us know if you have any further questions.


Remove uservoice.js from feedback component

And make it "generic"

In the end I removed the feedback component as a whole. We'll need to revise how to provide this in the future, but not for 1.0.0


Locale: Use native browser code to convert dates/times to OS specificed format

When there's time, tweak all the time/date code that prints times and dates to be in the locale specific format.
Also report the time locally.

This has been partially implemented.


Remove version: Zint.Zint version <IP_ADDRESS>

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/zint/files/zint/2.4.2/Setup_Zint_<IP_ADDRESS>.exe/download
OK
(Automated message - build 923)

Close with reason: Package still available;


Documentation: 'nuxt-og-image' in installation page

Additional context

I wanted to change it in a PR but I don't know where the content of this part is

Thanks! Have pushed up a fix


Desired behaviour, coerce_year = None

Setting coerce_year to None, still coerces the year to 2021 (line 860 in _parseTimes
It seems this should not be coerced?
S.

This is desired behavior for 8760 TMY data.  Mainly because if you look at an actual TMY file, each month has a different year that it came from, so it's impossible to filter on date.  If you have 8760 data, you need to coerce to some sort of year.  if you pass a starttime with a year in it, it will default to coercing to that year.  if you don't, it defaults to 2021.  Note that non-8760 data which is presumably measured will not have this behavior.  and if your dataset spans multiple years, it will prevent you from coercing.
This is from def _saveTempTMY:

    if len(tmydata) == 8760:
        print("8760 line in WeatherFile. Assuming this is a standard hourly"+
              " WeatherFile for the year for purposes of saving Gencumulativesky"+
              " temporary weather files in EPW folder.")
        if coerce_year is None and starttime is not None:
            coerce_year = starttime.year
        # SILVANA:  If user doesn't pass starttime, and doesn't select
        # coerce_year, then do we really need to coerce it?
        elif coerce_year is None:
            coerce_year = 2021
        print(f"Coercing year to {coerce_year}")

OK, I'll check it out.


Implement visualization for boolean expressions

Create a specific visualization component for boolean expressions. The main layout should be organized ANDs and ORs. Given the expression foo == 0 || bar || baz the visualization should be similar to this:
 foo = 0
--- or ---
    bar
--- or ---
    baz

This can be achieved using https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/Element#column.
The component should handle nested expressions by alternating vertical and horizontal layouts:
 foo = 0
--- or ---
        |
   A   and   B
        |
--- or ---
    baz

The top level should always be laid out vertically regardless of whether it's OR or AND.
The component should be invoked by checking the type of the value passed in here: https://github.com/finos/morphir-elm/blob/dd1506f7208c87e15357db2813caa4e73c3d0707/src/Morphir/Visual/ViewValue.elm#L22
SDK.boolType is the value type to look for. To get the value type out of a Value () (Type ()) you can use the utility function here:  https://github.com/finos/morphir-elm/blob/dd1506f7208c87e15357db2813caa4e73c3d0707/src/Morphir/IR/Value.elm#L360

Sample:
original =
  a || b || (c && d)

irVersion : Value
irVersion =
  or a (or b (and c d))

visual =
  or [ a, b, (and [ c, d ]) ]

type BoolNode
  = BoolNode AndOr (List BoolNode)
  | Leaf Value

type AndOr = And | Or

visual2 : BoolNode
visual2 =
  BoolNode Or [ Leaf a, Leaf b, BoolNode And [ Leaf c, Leaf d ] ]

Sample:
original =
  a || b || (c && d)

irVersion : Value
irVersion =
  or a (or b (and c d))

visual =
  or [ a, b, (and [ c, d ]) ]

type BoolNode
  = BoolNode AndOr (List BoolNode)
  | Leaf Value

type AndOr = And | Or

visual2 : BoolNode
visual2 =
  BoolNode Or [ Leaf a, Leaf b, BoolNode And [ Leaf c, Leaf d ] ]

If I have the BoolNode expression of the whole value Expression.
I am trying to visualize it.
My Approach is
evaluateBoolNode : (Context -> Dict Name RawValue -> TypedValue -> Element msg) -> BoolNode -> Element msg
evaluateBoolNode viewValue boolNode =
 case boolNode of
    BoolNode andOr nodeList ->
        let
            evaluatedList =
                nodeList
                    |> List.map
                        (\listValue ->
                            evaluateBoolNode viewValue listValue
                        )
        in
        case andOr of
            And ->
                Element.column
                    [ Background.color (rgb 0 0.5 0)
                    , Border.color (rgb 0 0.7 0)

                    -- Some More Attributes
                    ]
                    evaluatedList

            Or ->
                Element.row
                    [ Background.color (rgb 0 0.5 0)
                    , Border.color (rgb 0 0.7 0)
                    ]
                    evaluatedList

    -- Something to Do with the layout part But not able to figure out where How to show the whole list in the required output.
    Leaf value ->
        viewValue value

Now I need some suggestions and hints to start the visualization.

If I have the BoolNode expression of the whole value Expression.
I am trying to visualize it.
My Approach is
evaluateBoolNode : (Context -> Dict Name RawValue -> TypedValue -> Element msg) -> BoolNode -> Element msg
evaluateBoolNode viewValue boolNode =
 case boolNode of
    BoolNode andOr nodeList ->
        let
            evaluatedList =
                nodeList
                    |> List.map
                        (\listValue ->
                            evaluateBoolNode viewValue listValue
                        )
        in
        case andOr of
            And ->
                Element.column
                    [ Background.color (rgb 0 0.5 0)
                    , Border.color (rgb 0 0.7 0)

                    -- Some More Attributes
                    ]
                    evaluatedList

            Or ->
                Element.row
                    [ Background.color (rgb 0 0.5 0)
                    , Border.color (rgb 0 0.7 0)
                    ]
                    evaluatedList

    -- Something to Do with the layout part But not able to figure out where How to show the whole list in the required output.
    Leaf value ->
        viewValue value

Now I need some suggestions and hints to start the visualization.


Bug/documentation mistake: cbRequest not providing request object in first response value

Hi Dave,
Testing out cbRequest on a createUAC call doesn't appear to yield any result, just a null value:
<EMAIL_ADDRESS>  {
    localSdp: b_endpoint.local.sdp,
    headers: b_outbound_headers
  },
  {
    cbRequest: (req) => console.log(`Received request - ${req}`),
    cbProvisional: (res) => console.log(`got provisional response: ${res.status}`)
  }
)

With this in place, my console outputs:

0|app    | Received request - null
0|app    | got provisional response: 187

Some digging into the code (http://davehorton.github.io/drachtio-srf/api/srf.js.html#line250) shows me the function returns null,obj instead of just the obj. Given cbProvisional only returns the obj, I'm unsure if this is a documentation mistake or not.
The following docs mislead this:
https://drachtio.org/docs ("Canceling an INVITE we sent")
http://davehorton.github.io/drachtio-srf/api/Srf.html#~uacProgressCallbacks
Cheers!

Docs are wrong. Signature is (err, req)
Sent from my iPhone

On Jun 23, 2019, at 12:24 AM, Whitey<EMAIL_ADDRESS>wrote:
Hi Dave,
Testing out cbRequest on a createUAC call doesn't appear to yield any result, just a null value:
<EMAIL_ADDRESS>{
localSdp: b_endpoint.local.sdp,
headers: b_outbound_headers
},
{
cbRequest: (req) => console.log(Received request - ${req}),
cbProvisional: (res) => console.log(got provisional response: ${res.status})
}
)
With this in place, my console outputs:
0|app | Received request - null
0|app | got provisional response: 187
Some digging into the code (http://davehorton.github.io/drachtio-srf/api/srf.js.html#line250) shows me the function returns null,obj instead of just the obj. Given cbProvisional only returns the obj, I'm unsure if this is a documentation mistake or not.
The following docs mislead this:
https://drachtio.org/docs ("Canceling an INVITE we sent")
http://davehorton.github.io/drachtio-srf/api/Srf.html#~uacProgressCallbacks
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

fixed in upcoming docs release

fixed, many thanks for pointing this out!

Hi,
The following doc needs to be fixed, too.
https://drachtio.org/api#srf-create-uac

thanks!  Just committed a fix, will push later today


tools: fpgainfo : kjkadjkjkdjbmnbsmbmsbm - brief

nm,nv,v,v,vmv,d Desc -1
n,fns,fm,nfm,sfns,fnmsf, Desc -2

Coverage increased (+0.03%) to 66.224% when pulling 5cd5f4a2917c2c26f614fbb870418d414b7f6dd3 on debarati/testgithub into 2f7a7298cdd0115930f594f236a9e65e814edf58 on master.


Add InputStream and OutputStream classes and default object

This is an alternative to #39.
It includes most of the changes discussed there.
The main difference is that there are not 3 kinds of arguments (e.g. device, input_device and output_device) anymore.
Instead, there is only one kind of argument (e.g. device) which can optionally hold a pair of values (first for "input", second for "output").
The attributes of the default object can also optionally hold pairs of values, eg. pa.default.channels = 2, 1.
The most common case, however, will be to assign single values which are used for both input and output.
To get/set single values for only one of input/output, pa.default["input"].channels and pa.default["output"].channels can be used, respectively.
Also, as discussed in #39, the functions default_input_device() and default_output_device() are incorporated into pa.default.device.

I like the Stream/InputStream/OutputStream hierarchy. This seems cleaner to me than the previous approach.
The Default-Value handling still seems convoluted though. I currently don't have time to work on that, but there's probably a more concise way of doing it.

I also think the class hierarchy is better than in #39.
Combining input_* and output_* and * to one single name also made things much simpler to use, in my opinion.
I only had to add the helper functions _split() and _unique() to convert between single values and pairs.
I'm looking forward to your suggestions for making it more concise!

I added a commit (81d0d98b8bf494963302e35f4afccc03a208b4e6) that removes the dubious descriptor class and replaces it by a "normal" class, which hopefully makes the code easier to understand.
The setters still accept single values as well as pairs of values, but the getters now always return pairs, even if the two values are equal.
I think this is necessary to allow a sane implementation, but actually the behavior isn't that bad, either. It may be even superior to before.

You're raising an interesting point here.
I think prior to Python 2.6 it was clear that the EAPF style is more Pythonic and isinstance() should be avoided. Since the introduction of abstract base classes this has changed and now the documentation says:
"Note, however, that duck-typing can be complemented with abstract base classes."
Also, we have to use isinstance() anyway to handle strings separately.
So yes, I think we should check for an ABC, but why would you still not support collections.Iterable?
We would just have to add one call to tuple() to the implementation. And as a (probably good?) side effect, this would force a copy of the data and make the values immutable.
I think we can drop the indexing. Or does it make any (intended) difference?
And do you really want to allow length-1-sequences (and length-0-sequences) and ignore the rest if more than 2 items are given?
Wouldn't it be more helpful and less error-prone to raise an error in those cases?
In other words:
if (isinstance(value, collections.Iterable) and
        not isinstance(value, str)):
    value = tuple(value)  # convert iterable to sequence
    if len(value) != 2:
        raise ValueError("Iterables must have exactly two items")
    return value
else:
    return value, value

It makes no sense to support iterators-that-are-not-sequences, and then check for their length or convert them to tuple. That defeats the purpose of them not being sequences.
It's true though that we don't have to support sequences longer than 2:
if (isinstance(value, collections.Sequence) and
    not isinstance(value, str) and
    len(value) == 2):
    return tuple(value)
else:
    return value, value

Do you really not want to raise an error for len(value) != 2?

It makes no sense to support iterators-that-are-not-sequences, and then check for their length or convert them to tuple. That defeats the purpose of them not being sequences.

I don't get it. It makes perfect sense to me.
For example, array.array() from the standard library accepts an iterable and immediately converts it to something that has a length.
Why would you want to force a user who happens to have an iterable with two elements to convert it to a sequence before being able to use it with PySoundCard?
I don't want to make PySoundCard deliberately less flexible without having a good reason.
And up to now, I haven't seen a good reason.
I think it is a better design decision to allow iterables, but if you insist on not supporting them anyway, just say the word!

Show me a usage example, then, that requires iterables-that-are-not-sequences. This code is specifically about making one-or-two things always-two things. We don't need to make this into a generalized multi-assignment facility.

I'd like to split this discussion in half. Let's do the class structure refactoring first, and talk about the default object separately. I realize that I'm not comfortable with the default object yet.

Show me a usage example, then, that requires iterables-that-are-not-sequences.

I don't have an example, that's the beauty of it!
I think when designing a library API, we shouldn't limit it to the use cases we can currently imagine.
In this context, I like the saying of Bjarne Stroustrup (he uses this regularly in his talks, but I couldn't find a better source right now):
"... that allows programmers to express ideas beyond what I can imagine ..."
He is of course talking about language design, but I think the same holds for API design.
Apart from that, I really like how Python embraces the concept of "iterable" within the core language. This is one of the design decisions that make Python code really beautiful. Iterables are very Pythonic. Therefore, I try to define APIs in terms of iterables rather than sequences wherever reasonable.
Of course, more genericity often has a cost (that's why YAGNI is a good principle in application code). In our case that's the cost:
value = tuple(value)  # convert iterable to sequence

One very simple line. That's not a lot.
We now have to decide if it's worth adding this one line.
As I said, IMHO it's the better design choice to not unnecessarily restrict the API to sequences, but if you insist on this restriction (as a stylistic choice), just say it.
This is to a large part a matter of personal preference, and if we can't find an agreement, it's your job to decide.

Let's do the class structure refactoring first, and talk about the default object separately.

That's not so easy, the class implementation depends on the default values.
Scattering the default values all over the place is definitely a code smell, so they should probably be moved to a common location (probably at the module level).
That's what I tried to do with the default object.
I'm open for suggestions how to improve the handling of default values, but I'm not willing to spend/waste time/energy/work in writing and testing an inferior implementation just to change it back to something reasonable right afterwards.

I realize that I'm not comfortable with the default object yet.

That's OK.
Any suggestions for improvement?
Any details that are especially uncomfortable?

I have yet another suggestion:
def _split(value):
    """Split input/output value into two values."""
    if isinstance(value, str):
        # iterable, but not meant for splitting
        return value, value
    try:
        invalue, outvalue = value
    except TypeError:
        invalue = outvalue = value
    except ValueError:
        raise ValueError("Only single values and pairs are allowed")
    return invalue, outvalue

This is incidentally much closer to the original implementation before daa9d0ffa7848ee2604c2a77223f691962d8399f.
I think this is up to now the most readable (a.k.a. Pythonic) and overall "best" solution.
It also doesn't impose any unnecessary restrictions on the user.
And it always returns a tuple.
Neither the type tuple nor Iterable/Sequence are explicitly mentioned, which I think is a good thing.

This is a really nice solution for _split! Thank you for figuring this one out!
Regarding the default object:

It is only read at Stream construction time, and later changes to the default object don't affect existing Streams. This is confusing, since it means that there are two separate places for configuring Streams: The default object, which affects Streams before a Stream is created, and the Stream object, after Stream creation.
I don't like how most constructor arguments of the Stream classes can either be explicitly mentioned, or get taken from the default object. There should be one obvious way to do things. Either we use the default object exclusively or we use the Stream constructors. Maybe we can refactor this so that the user has to pass **defaults to the Stream constructor to get the desired result.

We should do another Skype call to figure this one out. Your current solution works well within the current framework. We should probably make a list of all the metadata required to open a Stream in portaudio, and try very hard to minimize the amount of user decisions.

Most of the changes from this PR were done in #51.
The default object was removed, but it may be re-introduced with #53.
I'm closing this PR, any further discussion should happen in #53 (or elsewhere).


Extract requestId on UploadClickConversionsResponse

Most of the endpoints that I see have a requestId as a field of the response, but it seems that in the case in the case of UploadClickConversionsResponse, there is no way to access the requestId unless it's attached to a GoogleAdsException, which is not thrown in the case of partial failures.
How can I access that field using the Java library?

Hi,
The only response type I'm aware of that has request_id as a field is SearchGoogleAdsStreamResponse. For everything else, the request ID is returned as a trailing metadata header named request-id. SearchGoogleAdsStreamResponse is a special case because it's for a streaming request.
The library logs request IDs for every request, and you can see how that's implemented in LoggingInterceptor. You could try something similar, but that would require adding your own io.grpc.ClientInterceptor, which isn't exactly straightforward.
Backing up a bit, could you elaborate on why you want to programmatically capture the request ID?
Thanks,
Josh, Google Ads API Team

Thank you for your explanation @jradcliff, it's true I was always looking at SearchGoogleAdsStreamResponse. We will try building the client using our own ClientInterceptor.
The reason for our need is that in the case of an issue or a partial failure, GoogleAds support will ask for the request_id and we are not able to provide it to them at the moment.

Our ideal would be to access that field and store it easily on our side, but enabling the logging can be a decent workaround.
Thank you

We ended up using the rest api for that endpoint. We will revert back to grpc if this is available in further release.
Thanks,
Julien

Hi Julien,
We recently released a fix in the API so the server will populate the request ID on the partial failure error.
You can get to this value as follows:
      if (response.hasPartialFailureError()) {
        GoogleAdsFailure googleAdsFailure =
            ErrorUtils.getInstance().getGoogleAdsFailure(response.getPartialFailureError());

        // Prints the request_id from the partial failure error.
        String requestId = googleAdsFailure.getRequestId();
        System.out.printf(
            "response.partial_failure_error.request_id: %s%n", requestId);
        // Prints the message from each partial failure error.
        googleAdsFailure
            .getErrorsList()
            .forEach(e -> System.out.println("Partial failure occurred: " + e.getMessage()));
      }

Cheers,
Josh


Auto restocking

Wondering if you might add an auto restocking feature similar to what this addon does...
https://mods.curse.com/addons/wow/vendomatic
Seems like something that might work well in Vendorer. Maybe could add the option to the shift click item menu that  you already introduced?

Possible but I'm just wondering what is the use case for this kind of feature nowadays. All spell cast reagents having been removed there isn't much to restock. Would it be used for crafting reagents?

Yeah, I guess it's not as handy of a feature as it used to be. Vendor wise, I mostly use it to auto stock water and food.
I used to use an addon called StealYourCarbon that also restocked from your bank also, which was handy for crafting, but the addon broke with 7.0.


Enhance Logging With Timber

Current Implementation
Currently the app uses the native android logging framework. To do that, every class holds a reference to a dedicated logging tag, which is given the logger, in case it is used. Example:
https://github.com/corona-warn-app/cwa-app-android/blob/43412bdabe128dc674ec8a9ef8baa80d37292a3a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiver.kt#L38
Suggested Enhancement
There is a leightweight library called Timber, which automatically sets the logging tags to the calling class. We suggest to change the implementation for all logging calls towards Timber.
Expected Benefits
Timber optimizes the developer experience inseveral cases, eg. it automatically makes sure that the tag is at most 23 characters long (more details here). We could alsoget rid of the tag in every class that is currently hardcoded.
We would be happy if we could supply you with the corresponding PR 👍
Best Regards
Robert Jakobs & Tim Brüggenthies (@timbrueggenthies)

Hi @Magoli1
Thank you for the suggestion! While this would provide some improvements on development side, it does not seem to introduce critical benefits. As every library included has to be thoroughly checked we add these kind of things very carefully after much consideration beforehand.
Therefore we will not be able to add the library at this point in time, and I'm closing the issue for now.
Nevertheless, thank you for the poposal!
Marc


how to use it without node.js

Hi,
I would love to use this plugin but it seems the only way to do it is via node.js. Is it possible to implement it without node.js, as a standalone js plugin for d3.js?
Thanks,
Nikhil

Hello,
I got this to work in a browser (hack hack) by commenting out the first section of d3-gauge.js (exports and other nodejs stuff before the instructions), and including d3-gauge.js, d3.js, mutable.js and the simple.css and simple.js in the top level document.
In simple.js I replaced the module.exports with a var:
// var go = module.exports = {
var defaultOpts = {
This works ok. Thanks [thlorenz] (https://github.com/thlorenz) for sharing with the community!

+1


Add link inside tooltip

Hello there!
Is it possible to place a link inside the tooltip, like
<span class="simptip-position-right simptip-movable simptip-multiline simptip-info" data-tooltip="To view this file you need the free Adobe Acrobat Reader. Click to open.">
Greetings from Germany!

Hi,
Unfortunately, you can't use HTML tag in this version of Simptip. Maybe next version :)
Kind regards

Thank you for your reply!


Feat get repositories

In provider/describer/repository.go file i implemented the logic of fetching repositories of an user
consideration: i didn't write the connection to client as wrapper. because i didn't know what is the usecase for my task.

Wrong repository merge request


Add i18n property and internationalisation possibilities.

I have modified the code to fit multi-lingual purposes.
Done by importing pythons gettext class based api and adapting printed strings with gettext.translation. Added new constant LANGUAGE and manifest property main_language.
I've tested the solution and after small bug fixes it worked seamlessly.

Forgot to mention: Added german translation too.

Great job, thank you very much for this! I have changed formatting for some translations (moved punctuation out of translation in most cases) and fixed repeat (names of internal states were translated too).


Simlinks created to directories with / in the destination break, but not putting / in the destination works fine

Description:
If a simlink is created to directory/, really weird things happen if you cd to the simlink.
However, if a simlink is created to that directory, and the destination is just directory (Not directory/) everything works fine).

in bash, type these commands.

cd ~
mkdir bash_bug
cd bash_bug
ls #It's empty
#Create a directory structure
for i in `seq 1 10`; do mkdir $i; echo "trash" > $i.trash; done
#list it
ls
cd 1
ls #It prints nothing
cd ~
#Create a simlink without putting / in the destination.
ln -s bash_bug/ bug
#create one with no /.
ln -s bash_bug nope
cd bug
ls
cd microsoft
ls
cd 1
ls
cd google
ls
cd microsoft
ls
pwd
cd ../linux/is/great
pwd
cd ~/nope
ls
cd microsoft
cd google
cd 1
ls
cd microsoft

Expected results
When following a simlink There should be no difference between bug and nope

Actual results (with terminal output if applicable)
See this. Basically, I can cd into anything on bug, but the real directory doesn't change.

[~ ]$cd ~
[~ ]$mkdir bash_bug
[~ ]$cd bash_bug
[~/bash_bug ]$ls #It's empty
[~/bash_bug ]$for i in `seq 1 10`; do mkdir $i; echo "trash" > $i.trash; done
[~/bash_bug ]$ ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bash_bug ]$cd 1
[~/bash_bug/1 ]$ ls #It prints nothing
[~/bash_bug/1 ]$ cd ~
#Create a simlink without putting / in the destination.
[~ ]$ln -s bash_bug/ bug
#create one with no /.
[~ ]$ln -s bash_bug nope
[~ ]$cd bug
[~/bug ]$ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bug ]$cd microsoft
[~/bug/microsoft ]$ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bug/microsoft ]$cd 1
[~/bug/microsoft/1 ]$ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bug/microsoft/1 ]$cd google
[~/bug/microsoft/1/google ]$ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bug/microsoft/1/google ]$cd microsoft
[~/bug/microsoft/1/google/microsoft ]$ls
1         1.trash  3        4.trash  6        7.trash  9
10        2        3.trash  5        6.trash  8        9.trash
10.trash  2.trash  4        5.trash  7        8.trash
[~/bug/microsoft/1/google/microsoft ]$pwd
/home/user/bug/microsoft/1/google/microsoft
[~/bug/microsoft/1/google/microsoft ]$cd ../linux/is/great
[~/bug/microsoft/1/google/linux/is/great ]$pwd
/home/user/bug/microsoft/1/google/linux/is/great
[~/bug/microsoft/1/google/linux/is/great ]$cd ~/nope
[~/nope ]$ ls
1  10  10.trash  1.trash  2  2.trash  3  3.trash  4  4.trash  5  5.trash  6  6.trash  7  7.trash  8  8.trash  9  9.trash
[~/nope ]$cd microsoft
bash: cd: microsoft: No such file or directory
[~/nope ]$cd google
bash: cd: google: No such file or directory
[~/nope ]$cd 1
ls
[~/nope/1 ]$ls
[~/nope/1 ]$

Windows build number Windows version: Windows 10 (64-bit) build 14393

sorry, discovered a bunch of stuff while actually looking into writing this issue. Let me fix up the description to reflect that.

Hi @derekriemer -- thanks for posting!  This looks to me like a duplicate of #650 , which has been fixed in the recent Creators release (available eventually through Windows Update, or you can manually install it using the upgrade tool here).  Could you take a look at that ticket and see if you agree that it's a similar / the same issue?  Also, if you'd be willing to install the update, it would be useful to know if it fixes this for you.

Thanks @aseering, I agree this is a duplicate so closing this one out.  @derekriemer - if you continue to see issues after installing Creators Update please reopen.

I'll post after I upgrade to creators. Since I'm a full time student in
college, I probably won't upgrade to creators until right after the
semester ends, in mid may, and I'll get back asap when I do.
Thanks for the quick response.
On Wed, Apr 12, 2017 at 10:23 AM, Ben Hillis<EMAIL_ADDRESS>wrote:

Closed #1891 https://github.com/Microsoft/BashOnWindows/issues/1891.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/BashOnWindows/issues/1891#event-1040473479,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFGivTetTaADTlu_XrjLfBsXOaDV5PDOks5rvPpsgaJpZM4M7dEi
.

--
Derek Riemer: Improving the world one byte at a time!

University of Colorado Boulder Department of computer science, 4th
year undergraduate student.
Accessibility enthusiast.
Proud user of the NVDA screen reader.
Open source enthusiast.
Skier.

Personal website http://derekriemer.com


Add Machine Learning Tutorials

I've added a curated list of Machine Learning tutorials which are broken down by topics. My new list (https://github.com/ujjwalkarn/Machine-Learning-Tutorials) is significantly different from the other Machine Learning List (https://github.com/josephmisiti/awesome-machine-learning). My list contains awesome tutorials, articles, code implementations and other resources categorized by Machine Learning Algorithms/Models which is useful for folks trying to learn and understand these and implement them from scratch, while the other list focuses on machine learning frameworks/libraries and software (categorized by languages) but does not provide any tutorial for each model/algorithm. My list is also quite different from the Awesome Data Science List (https://github.com/okulbilisim/awesome-datascience) for to the same reason.

Added.


[Storage] Fix ranged download for client-side encryption

This change addresses a couple of issues with a ranged blob download (specifying offset and length) with client-side encryption enabled that can occur in rare circumstances. There is one fix for V1 and a separate fix for V2.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-blob

/azp run python - storage - ci

Running just blob Live tests here: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1756885&view=results


Guitar/app acc

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

spring

#5532

hi @zhoxing-ms
All checks have passed. It's part of dev tools feature which is relevant to PR as shown in link below
https://github.com/Azure/azure-cli-extensions/pull/5522
Can you please help to review?


Adapt the scaling advice from original help article

Quite a lot of re-implementing some of the advice from the original scaling help article, to try to make it easier to understand.

I fixed some wording and formatting to be consistent (usage of open/closing brackets instead of different sentences).
I also unified the growth trend for data being stored for aggregation and data in current blocks since the growth factors were exactly the same and added link to the shards terminology


Inserted missing * on line 972

Q
A

Is bugfix?
yes/no

New feature?
yes/no

Breaks BC?
yes/no

Tests pass?
yes/no

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

Merged. Thanks!


PIR not triggering motion alert/signal in Homebridge - Red light flashes ok on Sonoff RF

What issue do you have? Please be as thorough and explicit as possible.
PIR not triggering motion alert/signal in Homebridge - Red light flashes ok on Sonoff RF
Shows up ok as a motion sensor in your Plug-in (great plug-in by the way)
Green light fires on the PIR, RED light flashes on the RF module, but nothing in Home App.
Details of your setup.
(1) Homebridge UI-X

Which version of Homebridge
1.3.8

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.

Ubuntu Focal Fossa (20.04.3 LTS)
Node v14.18.2
NPM v6.14.15

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

v8.7.1 - Has never worked

Which eWeLink devices do you have that are causing issues? Please include product models if applicable.
PIR CT60M

Please paste any relevant logs below.
Not getting any errors

Hi @currybeast
Can you put the plugin in debug mode from the plugin settings, restart, then wait for the plugin to load.
Then trigger the motion sensor, and show me all logs that appear in the homebridge log?

Many thanks for responding so quickly, but I turned on logging on and performed the detection, but I cant find the log file anywhere??!!  Any clues?  Really sorry to waste your time.

Log file is normally located at /var/lib/homebridge/homebridge.log.

homebridge.log
config.txt

From the logs there is no “notification” from ewelink that the sensor was activated, so this why the plugin isn’t marking it as activated.
Could you try again?
Are you using the same credentials in the plugin config as the account that the rf bridge is added to? ie not a shared device?

Thanks again, just checked it all, yes I operate 2 accounts as recommended as they get logged out.  So I have a primary account on the app on my phone, then all accessories are shared to a second account that is dedicated to Homebridge.   All accessories work ok, except the PIR on the RF Bridge, but the PIR shows shows up in Homebridge ok via the secondary account, but never triggers.  I suppose the debug is not showing as its not signalling at all.

You should try configuring the plugin with your main ewelink account credentials.
I personally have never recommended using a “shared” account.
It doesn’t log you out of the ewelink app.

Many thanks again.  I have changed Homebridge over to the primary account now.  Not sure where I read to do the sharing, but I do remember that when logging into the ewelink app concurrently on multiple devices, it used to log you out of the other.  But does not seem to do it now.  I have removed the RF bridge and PIR and re-added in the ewelink app and its the same.  They show up ok in Home app, red light flashes on RF Bridge when PIR is triggered, but no trigger in Homebridge.  There is no evidence of the PIR activity in the log either other than startup device detection, looks the same as before.  Have I not done something in the ewelink app?  Is there anything to configure in there first after adding the devices?

Do you have the plugin set to any mode like auto or cloud or local?

It's in Hybrid [Recommended] mode

Any luck at all with incoming notifications the last few days? Sorry i’ve been busy and not really had a chance to look into this.
Happy new year!

Hi,
Closing this just as been a little overwhelmed with issues recently.
If this is still an issue or a feature you would like implemented then please do re-open this ticket!
Thanks for your understanding!


Excess property checks (including the effects of spreads)

It would be nice to allow Ezno to have more guards and checks than Typescript. One of those is performing excess property checks on spreading (which Typescript doesn't do), link to the issue: https://github.com/microsoft/TypeScript/issues/39998
I'm pretty sure there are other common footguns that Typescript has which would be nice to avoid here with a more strict typing. Great work!

This is a good suggestion. I haven't implemented excess property checks or spreading into a object yet but when I get around to it I will have a look at catching this!

I think this can be implemented here by raising a warning if expected_type != TypeId::ANY_TYPE and if the expected type does not have a property (aka the get_property == None)
https://github.com/kaleidawave/ezno/blob/24fb424f668df8fafb3e66ba76850ef6261e4b20/checker/src/synthesis/expressions.rs#L1060-L1069

took a look at implementing this. Looks like this approach would result in new excess property warnings in these test cases:

Objects Checks
Getters
Assignment

In all three cases there is technically an excess property on the assignment, but curious to get your thoughts on whether that's actually what's desired here.

Awesome! Thanks for taking a look @PatrickLaflamme
Yes I understand that Objects Checks and Assignment will raise new warnings for excess properties. Once this feature is added you can add a new bullet point to the markdown.
Unsure about the Getters one though, I don’t an excess property there? If you have it working then you can put in a draft PR and I may be able to understand that one :)

My mistake, it's actually Generic Extends, not Getters.
Agree getters would be a concern.


Use the browser preferred languages in locale selection [WIP]

Hey Nic,
Could you elaborate on this a bit more?:
https://github.com/OpenConext/OpenConext-engineblock/pull/405/commits/ff2f0cd65f3ae138ba8005b46c568fa1958ed488#diff-83a7f2880ad7a7ee600777c27091769fR34
Shouldn't secure/httponly at least be configurable instead of being hardcoded to false?

@tvdijen for now we are trying to mimic the cookies set by other applications in the platform. Those are set without the "httpOnly" and "secure" flags.
Since you are asking for it, however, I will add the possibility to override these defaults using parameters in ini_parameters.yml.

The comment triggered me by suggesting incompatibility with the rest of the suite..
Thanks for the changes! I think we should have safe defaults whenever possible, even when we're talking locale-cookies..

With regards to the cookies, we share your sentiment (secure by default, configurable, etc), but that is indeed out of scope for this issue. It will be done at some point in the future as part of the larger refactoring though.

@nicwortel would like to see a feature added that tests the following scenario's:

when I make the first visit and don't have a lang cookie, a cookie is set with the configured default locale
when I make a consecutive visit, the expiration of the cookie is updated (not sure we can check this, but would be nice), but the locale not
when I visit a page, the UI reflects the locale in the cookie
when I change the language in the UI, the cookie is updated and the UI reflects the locale change

This could be tested against a simple error page, for instance (no need for a SAML auth): https://engine.vm.openconext.org/authentication/proxy/idps-metadata?sp-entity-id=urn:example.org generates a quick and simple error page, which can be translated through UI interaction.

Re the cookie parameters discussion: we want the settings to be the same as they are now, because otherwise all current cookies will not be recognised. That means not secure and not httponly. This is not a security problem for the language cookie of course.
For new deployments I would indeed recommend to set the secure flag, just because it's good practice to always set it, and will reduce noise from security checkers that claim that this is a risk.
I'm not so sure about httponly, since I can imagine that at some point there would be a need to access language info from JavaScript, even though that's not done today.
All of couse only applies to the language cookie; our other cookies are already secure+httponly.

I'm not so sure about httponly, since I can imagine that at some point there would be a need to access language info from JavaScript, even though that's not done today.

For future reference, the language (potentially retrieved from a cookie) can be injected in a JavaScript configuration when rendering the page, see discover.phtml. We are doing this to render requestAccessUrls with the correct language.


PM-6264: Fix handling nulls

Off-topic, but probably not worth another PR: could you maybe fix a typo expressions.rs:266?

@mmzx I fixed the typo. But what should have been fixed is using jsons in general :)