text:
Update mongoose.js

Fixed the MongoDB Connection issue

@b3h3m0th Check

Nice!

thx


text:
Add domain reputation check

This test will check a domain or URL for phishing and malware issues against the Google Safe Browsing and PhishTank lists. You can use this tool to verify if a domain or URL is suspected of containing malicious code, harmful programs, or is a suspected phishing site.

Safe Browsing

This is one site listed as threat to test with reputation scanner: http://ianfette.org/

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
New bUnit v2 render pipeline

Draft PR to get some feedback on the direction.

[x] Uses access to ComponentState to minimize the number of objects created.
[ ] BunitComponentState tracks children, may be useful with FindComponents implementations
[x] A root component is the only one that actually has markup rendered for it.
[x] Child components know what part of the root markup is theirs and makes that visible via a slice of the root markup span.
[ ] A root component creates and owns AngleSharp nodes (perhaps updated via diffing on re-renders to reuse existing node instances)
[ ] Child components know the sub-nodes from the root they are responsible for. This could be determined via source information on AngleSharp nodes?

The ultimate goal is to replace BunitRendere with BunitRendereV2 without changing anything in all existing tests.

Would love your input on this approach @linkdotnet before I go further in this direction.

source: gharchive/pull-request

repo: bUnit-dev/bUnit


text:
EVA-CLIP-18B weight  is not available at HuggingFace

How to load the EVA-CLIP-18B model ?

@shyammarjit have uploaded 18B model to HuggingFace(https://huggingface.co/BAAI/EVA-CLIP-18B)

Thank you.

authors: Quan-Sun shyammarjit

repo: baaivision/EVA


text:
New User: Cuvva

has been run through svgo
size is 500x200

@thejameskyle I think this one should be good to go. Have gone through the checks which have failed in other PRs. Thanks.

Thanks

authors: billinghamj thejameskyle


text:
Fix valgrind warning in patindex

Description
When using ICU functions, lengths should be in UTF 16
In icu_find_matched_length() we were mistakenly using
UTF-8 length of substr in icu_compare_utf8_coll().
Replaced it to use UTF 16 length instead
Issues Resolved
[BABEL-5253]
Test Scenarios Covered
patindex-AI-collations runs without any warnings in valgrind
also added some tests which depend on this change
Sign Off
Signed-off-by: Tanzeel Khan tzlkhan@amazon.com
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build 10750513211
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.376%

Totals

Change from base Build 10725260575:
0.0%

Covered Lines:
44795

Relevant Lines:
60228

💛  - Coveralls


text:
DTO equals() does not properly compare arrays

I have a property defined in my Entity like this:
@Column(sqlElementType = "text") override val countryCode: Array<String>
This is brought in to the DTO with #allScalars
The generated equals() function compares arrays by address, not by contents, which is causing comparisons to fail:
    public override fun equals(o: Any?): Boolean {
        ...
        countryCode == _other.countryCode &&
        ...
    }

I believe the right way to compare would be:
    public override fun equals(o: Any?): Boolean {
        ...
        countryCode.contentEquals(_other.countryCode) &&
        ...
    }

Try 0.8.132

authors: babyfish-ct runningjustin

repo: babyfish-ct/jimmer


text:
The version command never fails

When running bacalhau version it should always print the client version.
It currently also attempts to get the server version, but if it is unable to do so does not explain why.
This surfaced when testing with TLS and when the version command failed with a TLS error, the error was silently swallowed.
Whilst it is fine that we allow the command to run without access to the network,
we might consider any other error (e.g. there is a network but no TLS specified)
as an error and inform the user as such.

imo bacalhau version should follow similar practices to: go version, git version, docker version etc. We can use the agent version command to get the version of the server.

We can use the agent version command to get the version of the server.

Presumably after this change it means changing the update code to explicitly check the agent version.

@frrist did we do any change here? I agree that version should mainly be about the client. We can include server version as a  best effort where we eat failures and have a small timeout window.

I haven't made any changes here, but since we agree that version should mainly be about the client I can pick this work up and implement the change.

Go for it

https://github.com/bacalhau-project/bacalhau/pull/3968#issuecomment-2097525500

authors: frrist rossjones wdbaruni

repo: bacalhau-project/bacalhau


text:
Job Spec allows unset "version" field

The version field should never be unset.

related to https://github.com/bacalhau-project/bacalhau/issues/3719

duplicate of https://github.com/bacalhau-project/bacalhau/issues/3719

authors: aronchick frrist wdbaruni


text:
Slowness Using Entity Catalog with Large Number of Entities

Expected Behavior
Good user experience when using entity catalog with large number of entities, including

fast response for catalog APIs

/catalog/entity-facets

avoid fetching entire final_entities table
avoid triggering requests after page resize

/catalog/entities

optimise db query
improve search indexing

same guide about how to configure entity catalog plugin particularly for large number of entities

Actual Behavior
When user exploring entity catalog plugin, the following 2 APIs are frequently used with different parameters. In our case, some requests are quite slow.

/catalog/entity-facets

/catalog/entity-facets?facet=metadata.tags and /catalog/entity-facets?facet=kind

These 2 APIs are triggered every time loading entity catalog page. They are scanning entire final entity table and filter data in code. There is a similar feedback here https://github.com/backstage/backstage/issues/12559. When explaining relate DB query, it took 300ms to complete.
    EXPLAIN (ANALYZE) select "final_entities".* from "final_entities" where "final_entities"."final_entity" is not null order by "entity_id" asc;
                                                                    QUERY PLAN

    ---------------------------------------------------------------------------------------------------------------------------------------------

     Gather Merge  (cost=25557.93..30024.71 rows=38284 width=1327) (actual time=167.122..323.097 rows=45964 loops=1)

       Workers Planned: 2

       Workers Launched: 2

       ->  Sort  (cost=24557.91..24605.76 rows=19142 width=1327) (actual time=156.960..202.071 rows=15321 loops=3)

             Sort Key: entity_id

             Sort Method: external merge  Disk: 17296kB

             Worker 0:  Sort Method: external merge  Disk: 30280kB

             Worker 1:  Sort Method: external merge  Disk: 12712kB

             ->  Parallel Seq Scan on final_entities  (cost=0.00..12136.48 rows=19142 width=1327) (actual time=0.012..37.013 rows=15321 loops=3)

                   Filter: (final_entity IS NOT NULL)

                   Rows Removed by Filter: 317

     Planning Time: 0.065 ms

     Execution Time: 333.242 ms

    (13 rows)

/catalog/entity-facets?filter=kind=component&facet=spec.type and /catalog/entity-facets?filter=kind=component&facet=metadata.tags

These 2 APIs are triggered every time loading and resizing entity catalog page. When explaining relate DB query, it took 60ms to complete. There was a comment about "The catalog APIs themselves will largely be kept focused at more manual browsing and filtering" and "We will be bringing in Elasticsearch to support search, but it will be done in a separate search system not directly tied to the catalog." here https://github.com/backstage/backstage/issues/4961#issuecomment-802353692. Is there any update on this? Although catalog APIs is for browsing and filtering but its implementation is highly related to search. I am wondering is it possible to leverage other search approach to provide better search performance in catalog APIs?
 EXPLAIN (ANALYZE) select "final_entities".* from "final_entities" where ((((("entity_id" in (select "entity_id" from "search" where "key" = 'kind' and ("value" = 'component'))))))) and "final_entities"."final_entity" is not null order by "entity_id" asc;
                                                                           QUERY PLAN

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

     Sort  (cost=13261.02..13261.15 rows=49 width=1327) (actual time=59.862..60.985 rows=2862 loops=1)

       Sort Key: final_entities.entity_id

       Sort Method: external merge  Disk: 4048kB

       ->  Nested Loop  (cost=12841.92..13259.65 rows=49 width=1327) (actual time=25.270..46.127 rows=2862 loops=1)

             ->  HashAggregate  (cost=12841.51..12842.01 rows=50 width=37) (actual time=25.241..25.968 rows=2862 loops=1)

                   Group Key: search.entity_id

                   ->  Bitmap Heap Scan on search  (cost=12642.66..12841.38 rows=50 width=37) (actual time=13.789..24.185 rows=2862 loops=1)

                         Recheck Cond: (((value)::text = 'component'::text) AND ((key)::text = 'kind'::text))

                         Heap Blocks: exact=2580

                         ->  BitmapAnd  (cost=12642.66..12642.66 rows=50 width=0) (actual time=13.356..13.358 rows=0 loops=1)

                               ->  Bitmap Index Scan on search_value_idx  (cost=0.00..1013.09 rows=3271 width=0) (actual  time=0.869..0.869 rows=3264 loops=1)

                                     Index Cond: ((value)::text = 'component'::text)

                               ->  Bitmap Index Scan on search_key_idx  (cost=0.00..11629.30 rows=41699 width=0) (actual  time=12.184..12.184 rows=46522 loops=1)

                                     Index Cond: ((key)::text = 'kind'::text)

             ->  Index Scan using final_entities_entity_id_idx on final_entities  (cost=0.41..8.35 rows=1 width=1327) (actual  time=0.007..0.007 rows=1 loops=2862)

                   Index Cond: (entity_id = search.entity_id)

                   Filter: (final_entity IS NOT NULL)

     Planning Time: 0.660 ms

     Execution Time: 62.221 ms

    (19 rows)

/catalog/entities

/catalog/entities?filter=kind=component,spec.type=service

This API is triggered every time loading entity catalog page with 'service' type selected. When explaining relate DB query, it took 400ms to complete. Is it necessary to query both kind=component and spec.type=service condition? Seems the result for query both conditions and query spec.type=service alone is same. Or would there be other way to optimise it?
        EXPLAIN (ANALYZE) select "final_entities".* from "final_entities" where ((((("entity_id" in (select "entity_id" from "search" where "key" = 'kind' and ("value" = 'component')))) and (("entity_id" in (select "entity_id" from "search" where "key" = 'spec.type' and ("value" = 'service'))))))) and "final_entities"."final_entity" is not null order by "entity_id" asc;
                                                                                QUERY PLAN
        --------------------------------------------------------------------------------------------------------------------------------------------------------------------

         Sort  (cost=1466.86..1466.86 rows=1 width=1327) (actual time=411.529..411.594 rows=884 loops=1)

           Sort Key: final_entities.entity_id

           Sort Method: quicksort  Memory: 1691kB

           ->  Nested Loop Semi Join  (cost=1454.79..1466.85 rows=1 width=1327) (actual time=2.382..409.275 rows=884 loops=1)

                 Join Filter: (final_entities.entity_id = search.entity_id)

                 ->  Nested Loop  (cost=334.53..342.56 rows=1 width=1364) (actual time=1.735..11.049 rows=884 loops=1)

                       ->  HashAggregate  (cost=334.12..334.13 rows=1 width=37) (actual time=1.716..2.311 rows=884 loops=1)

                             Group Key: search_1.entity_id

                             ->  Index Scan using search_value_idx on search search_1  (cost=0.56..334.11 rows=1 width=37) (actual time=0.032..1.470 rows=884 loops=1)

                                   Index Cond: ((value)::text = 'service'::text)

                                   Filter: ((key)::text = 'spec.type'::text)

                                   Rows Removed by Filter: 41

                       ->  Index Scan using final_entities_entity_id_idx on final_entities  (cost=0.41..8.43 rows=1 width=1327) (actual time=0.009..0.009 rows=1 loops=884)

                             Index Cond: (entity_id = search_1.entity_id)

                             Filter: (final_entity IS NOT NULL)

                 ->  Bitmap Heap Scan on search  (cost=1120.26..1124.28 rows=1 width=37) (actual time=0.447..0.447 rows=1 loops=884)

                       Recheck Cond: ((entity_id = search_1.entity_id) AND ((value)::text = 'component'::text))

                       Filter: ((key)::text = 'kind'::text)

                       Heap Blocks: exact=884

                       ->  BitmapAnd  (cost=1120.26..1120.26 rows=1 width=0) (actual time=0.444..0.444 rows=0 loops=884)

                             ->  Bitmap Index Scan on search_entity_id_idx  (cost=0.00..106.91 rows=314 width=0) (actual time=0.027..0.027 rows=51 loops=884)

                                   Index Cond: (entity_id = search_1.entity_id)

                             ->  Bitmap Index Scan on search_value_idx  (cost=0.00..1013.09 rows=3271 width=0) (actual time=0.415..0.415 rows=3268 loops=884)

                                   Index Cond: ((value)::text = 'component'::text)

         Planning Time: 0.473 ms

         Execution Time: 411.671 ms

        (26 rows)

/catalog/entities?filter=kind=api,metadata.namespace=default,metadata.name=value1,metadata.name=value2

This API is triggered every time click API tab from service page. When explaining relate DB query, it took 80ms to complete. Every filter will add 1 query to search table in the entire query string. Is it possible to optimise it in db queries or search indexing to support some common combination like kind_api_namespace_default_metadata_name? Or would there be other way to optimise it?
        EXPLAIN (ANALYZE) select "final_entities".* from "final_entities" where ((((("entity_id" in (select "entity_id" from "search" where "key" = 'kind' and ("value" = 'api')))) and (("entity_id" in (select "entity_id" from "search" where "key" = 'metadata.namespace' and ("value" = 'default')))) and (("entity_id" in (select "entity_id" from "search" where "key" = 'metadata.name' and ("value" in ('value1', 'value2')))))))) and "final_entities"."final_entity" is not null order by "entity_id" asc;
                                                                                QUERY PLAN
        ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

         Sort  (cost=1817.80..1817.81 rows=1 width=1327) (actual time=88.564..88.567 rows=2 loops=1)

           Sort Key: final_entities.entity_id

           Sort Method: quicksort  Memory: 25kB

           ->  Nested Loop Semi Join  (cost=576.15..1817.79 rows=1 width=1327) (actual time=21.122..88.557 rows=2 loops=1)

                 ->  Nested Loop Semi Join  (cost=441.44..1679.06 rows=1 width=1401) (actual time=5.753..53.074 rows=1354 loops=1)

                       Join Filter: (final_entities.entity_id = search_1.entity_id)

                       ->  Nested Loop  (cost=334.53..342.56 rows=1 width=1364) (actual time=5.722..17.449 rows=1354 loops=1)

                             ->  HashAggregate  (cost=334.12..334.13 rows=1 width=37) (actual time=5.700..6.143 rows=1354 loops=1)

                                   Group Key: search.entity_id

                                   ->  Index Scan using search_value_idx on search  (cost=0.56..334.11 rows=1 width=37) (actual time=0.030..5.260 rows=1354 loops=1)

                                         Index Cond: ((value)::text = 'api'::text)

                                         Filter: ((key)::text = 'kind'::text)

                             ->  Index Scan using final_entities_entity_id_idx on final_entities  (cost=0.41..8.43 rows=1 width=1327) (actual time=0.008..0.008 rows=1 loops=1354)

                                   Index Cond: (entity_id = search.entity_id)

                                   Filter: (final_entity IS NOT NULL)

                       ->  Bitmap Heap Scan on search search_1  (cost=106.91..1336.49 rows=1 width=37) (actual time=0.025..0.025 rows=1 loops=1354)

                             Recheck Cond: (entity_id = search.entity_id)

                             Filter: (((key)::text = 'metadata.namespace'::text) AND ((value)::text = 'default'::text))

                             Rows Removed by Filter: 12

                             Heap Blocks: exact=2064

                             ->  Bitmap Index Scan on search_entity_id_idx  (cost=0.00..106.91 rows=314 width=0) (actual time=0.015..0.015 rows=16 loops=1354)

                                   Index Cond: (entity_id = search.entity_id)

                 ->  Bitmap Heap Scan on search search_2  (cost=134.71..138.73 rows=1 width=37) (actual time=0.025..0.025 rows=0 loops=1354)

                       Recheck Cond: (((value)::text = ANY ('{value1,value2}'::text[])) AND (entity_id = final_entities.entity_id))

                       Filter: ((key)::text = 'metadata.name'::text)

                       Heap Blocks: exact=2

                       ->  BitmapAnd  (cost=134.71..134.71 rows=1 width=0) (actual time=0.023..0.023 rows=0 loops=1354)

                             ->  Bitmap Index Scan on search_value_idx  (cost=0.00..50.28 rows=157 width=0) (actual time=0.014..0.014 rows=4 loops=1354)

                                   Index Cond: ((value)::text = ANY ('{value1,value2}'::text[]))

                             ->  Bitmap Index Scan on search_entity_id_idx  (cost=0.00..84.18 rows=314 width=0) (actual time=0.008..0.008 rows=16 loops=1354)

                                   Index Cond: (entity_id = final_entities.entity_id)

         Planning Time: 0.770 ms

         Execution Time: 88.634 ms

        (33 rows)

Steps to Reproduce

Have 40k entities in db
Inspect Network in the page and observe requests triggered
Navigate to entity catalog page
Change page size
Select "service" type
Click 1 service
Navigate API tab
Click 1 API
Click the owner in API page
Click the engineer lead in owner page
Explain mentioned db queries in db to check execution time

Context
My team is a big fan of entity catalog. As more and more entities onboarded, we are happy that the number reaches 40k and will continue increasing. Meanwhile, our user experiences slowness using the entity catalog plugin. After seeing several similar issues post in github and backstage are gaining more and more popularity, I am wondering is there a guide or any advice about using entity catalog with large number of entities or a plan to optimise the performance for entity catalog plugin.
Your Environment

DB Information:

postgres:12.8

Browser Information:

Google Chrome
Version 103.0.5060.134 (Official Build) (x86_64)

Output of yarn backstage-cli info:

yarn backstage-cli info
yarn run v1.22.18
$ /Users/yuqi.wang/Documents/repo/helix/node_modules/.bin/backstage-cli info
OS: Darwin 21.6.0 - darwin/x64
node: v16.14.2
yarn: 1.22.18
cli: 0.17.1 (installed)
Dependencies:
@backstage/app-defaults 1.0.3
@backstage/backend-common 0.14.0
@backstage/backend-tasks 0.3.2
@backstage/catalog-client 1.0.3
@backstage/catalog-model 1.0.3
@backstage/cli-common 0.1.9
@backstage/cli 0.17.2
@backstage/config-loader 1.1.2
@backstage/config 1.0.1
@backstage/core-app-api 1.0.3
@backstage/core-components 0.9.5
@backstage/core-plugin-api 1.0.3
@backstage/errors 1.0.0
@backstage/integration-react 1.1.1
@backstage/integration 1.2.1
@backstage/plugin-analytics-module-ga 0.1.17
@backstage/plugin-api-docs 0.8.6
@backstage/plugin-app-backend 0.3.33
@backstage/plugin-auth-backend 0.14.1
@backstage/plugin-auth-node 0.2.2
@backstage/plugin-catalog-backend-module-gitlab 0.1.4
@backstage/plugin-catalog-backend-module-ldap 0.5.0
@backstage/plugin-catalog-backend 1.2.0
@backstage/plugin-catalog-common 1.0.3
@backstage/plugin-catalog-graph 0.2.18
@backstage/plugin-catalog-import 0.8.9
@backstage/plugin-catalog-react 1.1.1
@backstage/plugin-catalog 1.3.0
@backstage/plugin-explore-react 0.0.18
@backstage/plugin-explore 0.3.37
@backstage/plugin-home 0.4.22
@backstage/plugin-kubernetes-backend 0.6.0
@backstage/plugin-kubernetes-common 0.3.0
@backstage/plugin-kubernetes 0.6.6
@backstage/plugin-org 0.5.6
@backstage/plugin-pagerduty 0.4.0
@backstage/plugin-permission-common 0.6.2
@backstage/plugin-permission-node 0.6.2
@backstage/plugin-permission-react 0.4.2
@backstage/plugin-proxy-backend 0.2.27
@backstage/plugin-scaffolder-backend 1.3.0
@backstage/plugin-scaffolder-common 1.1.1
@backstage/plugin-scaffolder 1.3.0
@backstage/plugin-search-backend-module-pg 0.3.4
@backstage/plugin-search-backend-node 0.6.2
@backstage/plugin-search-backend 0.5.3
@backstage/plugin-search-common 0.3.5
@backstage/plugin-search-react 0.2.1
@backstage/plugin-search 0.9.0
@backstage/plugin-shortcuts 0.2.7
@backstage/plugin-stack-overflow 0.1.2
@backstage/plugin-tech-radar 0.5.13
@backstage/plugin-techdocs-backend 1.1.2
@backstage/plugin-techdocs-module-addons-contrib 1.0.1
@backstage/plugin-techdocs-node 1.1.2
@backstage/plugin-techdocs-react 1.0.1
@backstage/plugin-techdocs 1.2.0
@backstage/plugin-user-settings 0.4.5
@backstage/release-manifests 0.0.4
@backstage/test-utils 1.1.1
@backstage/theme 0.2.15
@backstage/types 1.0.0
@backstage/version-bridge 1.0.1
✨ Done in 0.68s.

Hey :wave:
First off, thanks so much for digging into this and providing some useful numbers. This is going to be great for reference.
Secondly, we're on it. We know it's pretty slow right now, and not only the queries server side, it's also the frontend experience.
We're working on #12246 which is part of a larger piece of work to make the frontend behave better with many items in the catalog and overall improve the experience.
I'd like to keep this ticket open, and then we discuss after we've made some of the planned changes and see what we can do more in this area. Does that sound OK? :pray:

Hi,
Thanks for your reply! It's great to know that the pagination will come out soon. It will definitely help improve the performance of browsing with pagination. We will assess the performance about browsing, searching and filtering again with this change once it releases.
And how about the /catalog/entity-facets API, it's used to show available filters. Is there a plan to get rid of fetching all entities? It will affect the user experience about filtering entities as the entities increasing.

Maybe @vinzscam can elaborate a little more, I know we spoke about the facets API, but not sure what the plan was for it for the new entities API and pagination.

Hi! Thanks for this @iriswang233!
Yes, some filters uses the facets endpoint for fetching data. The plan is to revisit the facets endpoint as well in the future, but I can ensure it isn't the main issue at this point.
Maybe I could share my WIP branch. The work you've done is fantastic and it would be interesting to reassess the performance of the new catalog implementation with your catalog.

Hi @vinzscam,
Yes. It would be good to revisit the facets endpoint. For us, it takes long time and sometimes fails to load the Type filter, but user can refresh the page to get it show.

Hi team, is there any update about facets endpoints. It now sometimes takes more than 10s and fails with statement timeout.  So user can't select the components dropdown

Maybe it's possible to have some cache to return cached result if current request failed. At least the function is still ok with outdated data.

Hi! This is in progress here #14230

Request to reopen this issue

Hi, we have 4k entities in our Backstage. The number will grow and we already face the issues with slow performance trying to filter it (e.g. choosing some owner). Do you have any plans to optimise it for such cases? Thank you

authors: benjdlambert iriswang233 jhaals riginoommen vinzscam ypetrych

repo: backstage/backstage


text:
🚀 Feature: [SonarQube Plugin] Enhancement to support tabular list of sonarqube views

🔖 Feature description
Components that's currently have sonarqube setup can see code quality insights for their software at component level. But if teams or leaders wishes to see aggregated views of this information they must go through each component individually.
🎤 Context
This feature is to provide tabular lists of sonarqube views at team, system and domain levels for each component part of that grouping. This tabular component uses existing sonarqube card component functionality to extract various subcomponents like as bugs, vulnerabilities, quality gates, and so on into their own components, allowing subcomponents to be used in multiple views. Iterating over the existing sonarQubeApi.GetFindingSummary is used to retrieve code quality metric insights data for all the components.
✌ Possible Implementation
We have done these changes and would like to contribute and appreciate if you could accept that and found useful.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Hi @veerendervoskula, the SonarQube plugin has been moved to the Community Plugins repo, I'll move this issue there for you 👍

authors: awanlin veerendervoskula


text:
fix(techdocs): remove footer overlay on large screen

Uses static positions on the child links instead of the container
Resolves #15653

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hi @agentbellnorm,
Yes, it's a better solution, thanks - PR updated.

@oodamien Nice! I made another comment (sorry, should have mentioned it immediately).
To fix the DCO check, make sure all commits are made with the -s flag e.g. git commit -s -m "<message>". Or check out this thread: https://stackoverflow.com/questions/13043357/git-sign-off-previous-commits

@agentbellnorm,
Thanks for the feedbacks, PR updated.

authors: agentbellnorm oodamien


text:
Support full entity refs in the EntityPicker

Hey, I just made a Pull Request!
Fixes https://github.com/backstage/backstage/issues/16301, by passing full entity refs through the scaffolder template.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

https://user-images.githubusercontent.com/34432188/221051676-0a72b0b2-041c-488c-a179-61f8ec2337e0.mov

shoo stalebot 🌬

For what it's worth, this change broke our templates.
To resolve, we had to replace:
ui:options:
  allowedKinds:
    - Group

with:
ui:options:
  catalogFilter:
    - kind: Group

authors: catmeme sennyeya


text:
OpenSSL encryptor: deprecated key derivation used

What went wrong?
I'm getting deprecation warnings with openSSL encryption.
[2019/09/05 08:38:52][info] Using Encryptor::OpenSSL to encrypt the archive.
[2019/09/05 08:40:22][warn]   Pipeline STDERR Messages:
[2019/09/05 08:40:22][warn]   (Note: may be interleaved if multiple commands returned error messages)
[2019/09/05 08:40:22][warn]
[2019/09/05 08:40:22][warn]   *** WARNING : deprecated key derivation used.
[2019/09/05 08:40:22][warn] Using -iter or -pbkdf2 would be better.
What steps did you follow?

backup perform --trigger config
Check the log output

How is your copy of backup configured?
Use config encryption step:
encrypt_with OpenSSL do |encryption|
encryption.password = 'Some password'
encryption.base64   = true
encryption.salt     = true
end
Tell us about the computer that runs the backup gem

Operating system: Ubuntu 18.04.2 LTS
Backup 4.4.1
openssl version OpenSSL 1.1.1  11 Sep 2018

This can be fixed with a monkeypatch in config.rb.
module OpenSSLFixDeprecatedKeyDerivation
  def options
    super + ' -pbkdf2'
  end
end

require 'backup/encryptor/open_ssl'
Backup::Encryptor::OpenSSL.prepend(OpenSSLFixDeprecatedKeyDerivation)

OpenSSL 1.1.1+ or LibreSSL 2.9.1+ will be required to decrypt, and you'll need to pass -pbkdf2:
openssl aes-256-cbc -d -md sha256 -pbkdf2

#983 seems merged
is it intentionally open? Is there a plan to release version with fix?

I came back here after installing on a new VPS and searching to find my own issue from 4 years ago. How time flies. The default ubuntu 22.04 install on ruby 2.3.8 still installs 4.4.1 with this issue.
Thanks for the monkeypatch and the merged fix!

authors: jenrzzz jspeedz matkoniecz

repo: backup/backup

license: mit

license_source: bigquery


text:
[No Man’s Sky]Can you help update the code to lastest version

Now the version  v4.1.1

Now the version v4.1.3

fixed.. 4.2.2 updated
ee9703b63c7016dc14b1b74b45f2945231ad8290


text:
fix: Use cjs extension for diagnose output

I ran into a problem using the diagnostics because my package.json type is set to module. To get the diagnostics script to run I needed to rename the output file to use the cjs extension instead of js. This PR fixes that and a typo

Can you explain to me what's going on here and why this change is necessary? I'm assuming this has something to do with some internal workings of esbuild.
Also, any change should ideally be accompanied by a tests which illustrates the problem and make sure that it doesn't resurface again.

First, you should understand how Node determines if a file is CommonJS or an ES Module. See https://nodejs.org/docs/latest-v18.x/api/packages.html#determining-module-system for more info on how Node determines which to use.
Since the output script is placed into the workspace of the project that invoked the diagnose script, Node will consider the file as either a CommonJS script or an ES Module based on how that project is configured. If the project has it's package.json type set to "module", then Node will throw an error when the output file is require()d by diagnose.ts on line 161, because an ES Module cannot be required. To make Node consider the output file as an CommonJS module, it's extension just needs to be renamed to cjs.
Here's an example of that error:

Another option is to use a dynamic import on line 161 instead of require. This may be the more logical option as esbuild will output a IIFE meant for the browser by default, so the output file isn't really CommonJS. Dynamic imports are supported from Node 13 and up in both CommonJS and ES Modules. I'm not sure which versions of Node you are targeting, so it may be a breaking change to use a dynamic import.
Which would you prefer? I'll create tests as well

I don't have a strong preference towards any of the solutions. It's more important to me that there's sufficient test coverage.

I tried using a dynamic import, but it unfortunately doesn't work because TypeScript will convert it into a require() unless the module is set to ES in the compiler options. Changing the output module type won't work either because the code is require()d by node_modules/@cucumber/cucumber/lib/api/support.js and ESM modules can't be required.
I was able to add a test confirming that the change is working. It fails if you revert it to .js

I've merged and released this as v16.0.2.

authors: badeball mrkjdy

repo: badeball/cypress-cucumber-preprocessor


text:
Locale at bottom index page is not visible

I have added a new locale (German) from admin panel following the guide from tutorial but the LOCALE dropdown is not visible in the Velocity main page.

Did you also selected the local in your channel?

Ok, yesterday the new language did not function after having added it. Now I have done a new login in bagisto, readded the new language in "Channels/Currencies and Locales" and now it works. It's strange that now it works but yesterday did not work.

repo: bagisto/bagisto


text:
Shop by category dissapears on hover

Bug report
Issue Description
When you hover on the section the categories are being shown, but a lot of times when i want to go to a category the menu goes away
When i hover of category section a couple times the category menu stays and i can click on the categories
https://youtu.be/57nzPjeGUu4
Preconditions
Please provide as detailed information about your environment as possible.
1. master branch

Still happens in latest release 1.3.2

authors: EgyptianM ghermans


text:
Validation Required for Images sizes in Products configurations in Admin Configurations.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
When we check the Admin End Configurations, there in configurations related to Image Size. there we are able to add Alphabatical and negative Numerical characters.
Preconditions

Admin Should be logged in.

Steps to reproduce

Go to Admin -> Configure ->  Products -> Scroll Down -> Small, Medium and Large Images.
Add Negative and Alphabatical values.
Save the Data
We are able to save the details.

Expected Result
We should not be able to save Negative and alphabatical values.
Actual Result
Currently we are able to save the details.
Please find the screenshot here
Screenshots
No response
Additional context
No response

Checked and found that the issue has been fixed and also the PR has been merged, hence I am closing the issue. Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/de8e92a4-d4b2-483f-9aa2-33380090860b


text:
Command timeout

Can we have another argument/parameter to configure the timeout of the command?
For example: After waiting 2 minutes without any response from the endpoint. The process will exit with code 1.
Thank for your great work with this project.
Cheer.

This feels like a helpful feature to me as well. Would keep my CI jobs from creeping up to their max timeouts, thereby saving time!

+1 for a timeout parameter, a must have for CI :)

1.9.0 has already shipped with a timeout of 5 minutes. For CI environment, I think it would suffice for me.

authors: Nightbr charlex pvtri96

repo: bahmutov/start-server-and-test


text:
Set site names to be lowercase

When normalising site names as discussed in #22, they should also be set to lowercase. This will prevent mismatches between the actual domain name and site name.

mismatches between the actual domain name and site name

Can you be more specific? I just tried this and it looks like the site name in Forge can include uppercase letters, they persist into the directory name and Nginx config and everything. Is that bad?

I'd argue that uppercase letters should not be used here at all.
Specifically domain names are case insensitive, and thus default to lowercase for all other systems. Since the deploy preview uses the domain name for the forge site name, it should ensure it's lower case to make sure both match.

As an example edge case where this becomes a problem is if a user has the following config:
## Session config
SESSION_DRIVER="database"
SESSION_LIFETIME="120"
SESSION_SECURE_COOKIE="true"
SESSION_DOMAIN="${APP_DOMAIN}"
SANCTUM_STATEFUL_DOMAINS="${APP_DOMAIN}"

If APP_DOMAIN includes uppercase characters, this will cause breakage due to cookies storing the domain in lowercase.

We ran into a few other edge cases like this, and the easiest solution is to just use lowercase for the forge site name to prevent issues like these and align with all external systems and how they typically handle domain names.

Gotcha, thanks for that context 👍🏻 will do!

authors: GlitchWitch bakerkretzmar

repo: bakerkretzmar/laravel-deploy-preview


text:
Candidate: Probot

A while back I built a prototype twitter bot to demonstrate how to use the newly announced and still in beta ‘Twitter Account Activity API’.  ‘Probot’ could connect to twitter on behalf of a single user and load information about their profile, posts, and direct messages into the local process.

In addition to the webhook needed to establish a bi-direction real-time feed with the twitter api, it exposed some additional endpoint to view user data and perform simple aggregations in-memory, and was able to reply to incoming messages programmatically.
I presented this work at the Austin Twitter Developer Meetup (which I organize) and committed much of it to Apache Streams.
https://www.meetup.com/Austin-Twitter-Developer-Community/events/243185192/
The next steps to make the probot more useful were obvious at the time - give it a database, a user interface, and the ability to process arbitrarily large datasets.  I did that over the past week and I’m pretty happy with probot v0.2 - which I believe meets the requirements to be a candidate for the bounty.
https://github.com/steveblackmon/probot/tree/balaji
Probot runs on a small collection of docker containers (all OSS).  It is still a single-user application, though with more engineering could turn it into a hosted SaaS application whose users would not need to create their own twitter application or interact with anything aside from a web browser.

Once your follower data is collected (max speed is 20 x 15 x 4 = 1200 followers per hour, single shot) and loaded, you can browse, filter, search, and sort the list and send your intro message to up to 1000 profiles per day.  All of the data can be queried via SQL or the embedded database http api for external integrations.

Responses you receive while the application is running (along with any other direct messages or account activity events) are preserved in application logs with timestamps and other details, allowing you to prove consent to contact.
I’m working now to add the ability to browse, filter, and search all of your direct message conversations, and to parse consent keywords and contact details like emails or phone numbers provided into structured fields.
I would love for a community to form around this tool - as one has around Apache Streams to manage the challenge of social media data and API interoperability.  Streams contains API integrations to many more social networks beyond Twitter, support for programming on top of social network ‘export’ archive files, as well as to third-party identity resolution services demographic, psychographic, geographic, emails, phone numbers, etc… can be purchased.  Incorporating these integrations into Probot would increase its utility many-fold.
https://github.com/apache/streams

Thank you for considering this solution.  If anyone is interested in collaborating in any way, please email me sblackmon at apache dot org

Some updates:

Direct Messages are now stored in a 'messages' table, and browsable / searchable / exportable in UI
Email Addresses and Phone Numbers are parsed from 'messages' and considered 'optins', which can be browsed / searched / exported seperately
Added a dashboard landing page where metrics or status indicators can live going forward
Registered web presences where project code, docs, and binaries (docker containers) will reside:

probot.social
https://github.com/probotsocial
https://hub.docker.com/orgs/probotsocial/repositories

Pretty close on a better ingestion system using spark structured streaming and delta.io that can

backfill followers in the background as the app is used
track and monitor (in UI) backfill progress percentage (estimated)
continue where backfill left off if process is stopped and restarted for any reason

repo: balajis/twitter-export


text:
Community-Submitted Votes on Main net

We need to allow the community to submit proposals on main net:
Qualifications:

100 bnUSD fee
At least 0.1% of total BALN

Note: Remove the "minimum" of 5 days and make 5 days the requirement for voting period.

Noticed this. Should I exchange the minimum vote duration to a set vote duration? I assume this set vote duration should also be a settable gov parameter?

Correct @Skyvell

minimum duration should just be a set duration
yes, make duration settable as a gov parameter

Alright, will do.

cancelVote - owner & EOA that submitted the vote available
activateVote -  remove this entirely

Hopefully on main net 1 week from today

I see some problems with this Scott. I don't think it makes sense to keep only one of them. As it is now cancelVote can only cancel pendning votes, but if we remove activateVote, a vote needs to be activated in the definition process. The result is that the proposer can cancel a vote midvote. E.g. if the vote is on the verge of failing it could just be canceled and proposer gets refunded.

I kept both both for now. I'll write some more tests for the changes I just made then pass it on to a review. I think it's comming together now.

Hmm, I also think there is some merit to having this period between definition and activation. A user might want to get input from someone else to make sure everything is defined correctly before it's activated.

authors: BennyOptions Skyvell

repo: balancednetwork/balanced-contracts


text:
Assets cached on production despite having file changes.

Is there a way to make it so browsers force reloading of asset files such as Javascript and CSS files upon there being changes?
Particularly referring to production.css/js

How did you actually make use of cache initially? For me nothing is cached in browser, even though server returns 304 code - there still is a round-trip request.

@sochka a 304 will always make a round-trip request as it is validating that the content hasn't been modified.
In our app instance, we also have middleware that adds cache headers to various requests (depending on what is being requested, cache headers are different), something along the lines of:
var limit = 60 * 60 * 24 * 1000; /* one day */
res.header('Cache-Control', 'public, max-age='+ (limit / 1000));
res.header('Expires', new Date(Date.now() + limit).toUTCString());

@gavinbunney thanks, I've made it work using express.static and maxAge option.

authors: gavinbunney kennysmoothx sochka

repo: balderdashy/sails


text:
Assets are not being reloaded with new content. Getting 304 response

While using the framework in Windows 7, new assets are not being loaded. If any changes are made in  any JS file present in assets, the changes are not downloaded. After numerous refresh requests, still getting 304 response for JS and CSS files after editing them.

Hello,

While using the framework in Windows 7
You mean you lifting from W7 or browsing from W7 ? Both ?
If browsing, which browser it is ? Did you try another ?

While doing both. Happens in Google Chrome Version 41.0.2272.101. No I haven't tried on another browser.

Sounds like something is preventing the Grunt "watch" task from running.  You can lift your app with:
sails lift --verbose

then change a file in your assets folder and see if Grunt responds.
Without more info on this (or other reports of users seeing similar behavior) there's not much that can be done.  If more info comes to light, please re-open.

authors: arcoirislabs cyrilchapon sgress454


text:
During lifecycle callbacks, records are not instanciated with instance methods

Waterline version: 0.12.1
Node version: v5.4.1
NPM version: 3.3.12
Operating system: OS X El Capitan 10.11.5

In the model definition I have a method called isValid:
attributes: {
    isValid: function () {
        return this.expiresAt > Date.now();
    }
}

but during my beforeUpdate lifecycle callback I need to access it to set a value like so:
beforeUpdate: function (user, next) {
        //Set the finished property to true if it is failed or expired
        user.finished =  (user.state === 'failed' || !user.isValid());

        next();
    }

However upon trying to save, it throws an error saying that user.isValid is not a function. As far as I can tell, only the values are passed on to the callback. Is it possible to have the values instantiated with it's instance methods somehow?
Many thanks! 😃

This is tricky because at this point in the lifecycle you only have the information sent into the update query. If you have required attributes but are only updating non-required attributes they aren't available.
For example in this case what happens when you do Model.update({ id: 1 }).set({ foo: 'bar' })? When the beforeUpdate ran you wouldn't have access to state, expiresAt, etc.
To get around this you could always look up the record before setting the finished attribute and include that in the update.

Luckily in my application I pretty much only utilise the model save functionality, having already found the record in the database. However, I still do not have access to the objects methods? Got any recommended workaround for this?
Thanks again :)

authors: particlebanana tyronedougherty

repo: balderdashy/waterline


text:
VK_KHR_push_descriptor is not supported.

I'm sure there are other extensions higher on your list but support for VK_KHR_push_descriptor would be much appreciated. My current application uses push descriptors so I currently can't debug with render doc.

This should now be supported, I tested it against Sascha Willems' push descriptor sample and it worked there.
Please let me know if you run into any issues as there could still be bugs (the sample is quite a simplistic use, other uses might break).

repo: baldurk/renderdoc


text:
Downgrade mixpanel-browser to v2.30.1

Change-type: patch
Signed-off-by: Lorenzo Alberto Maria Ambrosi lorenzothunder.ambrosi@gmail.com

@thundron I don't think it makes sense to introduce the package-lock.json here since it's library and it will be ignored on the application side.

authors: roman-mazur thundron

repo: balena-io-modules/resin-corvus


text:
meta-balena: Update to v2.85.16

Update meta-balena from 2.85.15 to 2.85.16.
Changelog-type: patch
Changelog-entry: Update meta-balena from v2.85.15 to v2.85.16
Signed-off-by: Alex Gonzalez alexg@balena.io

@balena-ci I self-certify!

repo: balena-os/balena-connectcore


text:
[backport] Refresh containerd remotes on containerd restarted

Fix for moby/moby#36002 via moby/moby#36173
Change-type: patch
Connects-to: #142

This leads to https://github.com/moby/moby/issues/36367 which is less easy to fix once we get into that state.
The better alternative is to detect that containerd was killed and to do pkill -HUP balena-engine-daemon which tells it to reload and reconnect to containerd.

As per https://github.com/balena-os/balena-engine/pull/149#issuecomment-467130751, replaced by #152

repo: balena-os/balena-engine


text:
README: Use jetson-flash-image for container tag

so it matches the tag created by build.sh
Change-type: patch

@balena-ci I self-certify!

repo: balena-os/jetson-flash


text:
Change code highlight theme

This is how it will look, atm it the theme was not working. So fixed it.

I will merge this when ready

@balena-ci I self-certify!

repo: balena-os/leviathan


text:
Guide for Installation on Ubuntu 20.10 on Raspberry Pi 4 with Extras!

This guide is to document how I was able to install the Wifi-connect and Wifi-connect-api  using Docker on my Raspberry Pi installed with Ubuntu 20.10 (following the ZFS Guide: Ubuntu 20.10 root on ZFS for Raspberry Pi
Installations Steps
Step 1. Install Ubuntu Per the Guide above or via the Standard Noobs Installation
Step 2. Install Docker and Docker Compose for Raspberry Pi 64 (aarch64)
Step 3. Since I wanted this to be in my existing Docker Swarm/Cluster, I Added the Following Docker-Compose Configuration to docker-compose.yaml.
Note the important parts here are to Give this container Priveleged Access, Host Network, and to define the DBUS connection as it is different in Ubuntu than BalenaOS:
---
version: "3.9"
services:
  ~~~~ Other Services Here
  wifi-connect-api:
    build:
      context: "wifi-connect-api"
      dockerfile: Dockerfile-wifi-connect-api
    image: result/latest
    network_mode: host
    privileged: true
## I am not sure how Labels work as I am new to Docker, I don't think these apply without the Balena Superviosor. Someone please correct me
    labels:
      io.balena.features.dbus: "1"
      io.balena.features.firmware: "1"
    volumes:
    - "path/to/{ui_and_web-app.py}:/usr/src/app/"
    - type: bind
      source: /dev/bus/usb
      target: /dev/bus/usb
    - type: bind
      source: /var/run/dbus
      target: /var/run/dbus

Step 4. Download the Requirements and made my Adjustments to the Scripts, UI, etc:
git clone https://github.com/balena-io-examples/wifi-connect-api

Step 5. I Modified the Dockerfile that the Docker Compose kicks off to: Dockerfile-wifi-connect-api:
FROM balenalib/raspberrypi4-64-python
RUN install_packages dnsmasq curl
ENV WIFI_CONNECT_VERSION v4.2.5
WORKDIR /tmp/download
RUN curl -Ls https://github.com/balena-os/wifi-connect/releases/download/v4.4.5/wifi-connect-v4.4.5-linux-aarch64.tar.gz \
    | tar -xvz -C /tmp/download
RUN mv wifi-connect /usr/local/sbin
RUN rm -rdf /tmp/download
WORKDIR /usr/src/app
RUN pip install --upgrade pip
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
COPY . ./
ENV DBUS_SYSTEM_BUS_ADDRESS unix:path=/var/run/dbus/system_bus_socket
CMD ["python", "web-app.py"]

Step 6. Run Docker Build:
docker-compose build --no-cache

Step 7. Run Docker Up to start the instance to test:
docker-compose up -d

Step 8. Verify that Wifi-Connect Launches, You can connect, it sticks, no issues occur, Etc
Congratulations! The Docker container runs! Here are the Extras!
But how do I get a Secured Connections if I redirect? Well you can Preload a Certificate using Nginx or HAproxy.
What if I want to embed the Wifi Connect page in an site? Nginx and HAproxy also have the ability to handle this. Though configs can get tricky.
Step 9. Setup Haproxy/Nginx on your Raspberry Pi as a Reverse Proxy:
Nginx and Haproxy Install
apt-get install haproxy nginx -y

IPTables Rules config:
https://forums.balena.io/t/wifi-connect-and-port-80/221264/30
Haproxy Config
frontend HTTPS-IN
    bind *:443  ssl crt /ssl/haproxy.pem
    mode http

   # BEGIN CORS
    http-response set-header Access-Control-Allow-Origin "*"
    http-response del-header X-Frame-Options
    http-response set-header Content-Security-Policy "frame-ancestors https://*:*; sandbox allow-top-navigation allow-scripts allow-popups allow-forms allow-same-origin allow-presentation a>
    http-response set-header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization, JSNLog-RequestId, activityId, applicationId, applicationUserId, cha>
    http-response set-header Access-Control-Allow-Methods "GET, DELETE, OPTIONS, POST, PUT, PATCH"
    http-response set-header X-Frame-Options: sameorigin
    http-response set-header X-XSS-Protection: 0;

    http-request set-header X-Forwarded-Proto https if { ssl_fc }
    http-request set-header X-Forwarded-Proto http if !{ ssl_fc }

    # END CORS

    #ACL Definitions

    ## Host ACLs
    #Catch any URL with these Hostnames
    acl host_connect hdr(host) -i rPi-wc-lan-2.home.mydomain.com
    acl host_connecths hdr(host) -i hotspot.home.mydomain.com
    acl host_connectip hdr(host) -i 192.168.42.1

    # and send them to this backend:
   use_backend backend_connect if host_connect
    use_backend backend_connect if host_connecths
    use_backend backend_connect if host_connectip

backend backend_connect
        mode http
        balance  leastconn
        option tcpka
        option http-keep-alive
        option forwardfor
        server Wifi-Connect hotspot.home.mydomain.com:45454  check  cookie app1

Nginx Configs
## This is the URL that you can access the client on IE: https://mydomain.com:port/wifi-connect/
        location  ^~  /wifi-connect/  {
                proxy_pass https://hotspot.home.mydomain.com:443/;
                proxy_set_header Host $proxy_host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-Proto $scheme;
        }

Step 10. Adjust the code in the Sample Script to point to a DNS entry that is set to the IP of the Gateway:
This will redirect your Phone, mobile device to the HTTPS link of the local IP of the gateway, while allowing you to also access the Wifi Interface from outside the pi, should it be connected to the LAN and you don't want your users to access the CLI or RDP/VNC into the desktop.
@app.before_request
def before_request():
    if (request.host == 'rpi-wc-lan-2.home.mydomain.com'):
        return redirect('https://rpi-wc-lan-2.home.my.domain.com:443')
    elif (request.host != 'hotspot.home.domain.com'):
        return redirect('https://hotspot.home.domain.com')

Step 11. Modify the index.html in the UI folder to remove all prefixed / in links.
From:
<link rel="shortcut icon" href="/img/favicon.png">

To:
<link rel="shortcut icon" href="img/favicon.png">

Even More Extra's and Goodies
What if I want the Device to Dynamic Update it's FQDN?
Well, I have made a small bash script and followed the following Guide to setup a External DDNS server using Bind9 on Ubuntu 20.10. There are quiet a few difference in the bind that they used in their version, but the gist is there and it works perfectly.
Step 11.
Server Side:

DDNS Guide

Client Side:
Example Bash script, call using rc.local, systemd, cron or some other method of your choosing:

Register.sh (rename from .txt) -- register.txt

I have sanitized and stripped this down, so you will need to replace  domains, paths, usernames, etc.  but you can adjust the Sed commands to modify the web-app.py file that you mounted via a volume instead of having it read only on the Docker File System.
Sources:

Web-App.py -- Example Code -- https://github.com/balena-io-examples/wifi-connect-api
ZoL - Ubuntu - RPi 4 -- https://openzfs.github.io/openzfs-docs/Getting Started/Ubuntu/Ubuntu 20.04 Root on ZFS for Raspberry Pi.html#step-1-disk-formatting
OpenResty -- Open Source API -- https://blog.openresty.com/en/ubuntu20-or-install/
Docker -- https://docs.docker.com/engine/install/ubuntu/
Docker-Compose (PIP3) -- https://docs.docker.com/compose/install/
Wifi-Connect -- https://github.com/balenablocks/wifi-connect
This Reddit Post -- https://www.reddit.com/r/homeassistant/comments/j5g4v2/i_got_bt_working_in_docker_only_took_hours/ and his subsequent Free Software Servers

Other Potentially Similar Issues:

https://github.com/balena-os/wifi-connect/issues/238
https://github.com/balena-os/wifi-connect/issues/222
https://github.com/balena-os/wifi-connect/issues/352
https://github.com/balena-os/wifi-connect/issues/121

I'd like to know what version of python you're using, thanks

balenalib/raspberrypi4-64-python  python is 3.11，What should I do, thanks

repo: balena-os/wifi-connect


text:
Write Blog on implementing custom windows and aggregators

Write an article explaining the required abstract objects (Windows, Aggregator) which need to be implement in order to write a custom window or an aggregator.
Explain what each the member functions of abstract object does.

Please refer to the article
https://medium.com/ballerina-techblog/writing-ballerina-streaming-extensions-304c9f815861

repo: ballerina-platform/ballerina-lang


text:
NullPointerException related to Transaction Statement

Description:
following error occurred when using transaction statement
[2021-08-09 15:17:31,632] SEVERE {b7a.log.crash} - null
java.lang.NullPointerException
        at org.wso2.ballerinalang.compiler.desugar.TransactionDesugar.getInternalTransactionModuleInvokableSymbol(TransactionDesugar.java:669)
        at org.wso2.ballerinalang.compiler.desugar.TransactionDesugar.invokeRollbackFunc(TransactionDesugar.java:490)
        at org.wso2.ballerinalang.compiler.desugar.TransactionDesugar.createRollbackIfFailed(TransactionDesugar.java:450)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.createTrxInternalOnFail(Desugar.java:5392)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.visit(Desugar.java:5487)
        at org.wso2.ballerinalang.compiler.tree.statements.BLangTransaction.accept(BLangTransaction.java:66)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8087)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8128)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewriteStmt(Desugar.java:8138)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.visit(Desugar.java:1268)
        at org.wso2.ballerinalang.compiler.tree.BLangBlockFunctionBody.accept(BLangBlockFunctionBody.java:57)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8087)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.visit(Desugar.java:1313)
        at org.wso2.ballerinalang.compiler.tree.BLangFunction.accept(BLangFunction.java:73)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8087)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8145)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.visit(Desugar.java:806)
        at org.wso2.ballerinalang.compiler.tree.BLangPackage.accept(BLangPackage.java:165)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.rewrite(Desugar.java:8087)
        at org.wso2.ballerinalang.compiler.desugar.Desugar.perform(Desugar.java:456)
        at io.ballerina.projects.internal.CompilerPhaseRunner.desugar(CompilerPhaseRunner.java:232)
        at io.ballerina.projects.internal.CompilerPhaseRunner.performBirGenPhases(CompilerPhaseRunner.java:150)
        at io.ballerina.projects.ModuleContext.generateCodeInternal(ModuleContext.java:397)
        at io.ballerina.projects.ModuleCompilationState$4.generatePlatformSpecificCode(ModuleCompilationState.java:132)
        at io.ballerina.projects.ModuleContext.generatePlatformSpecificCode(ModuleContext.java:333)
        at io.ballerina.projects.JBallerinaBackend.performCodeGen(JBallerinaBackend.java:157)
        at io.ballerina.projects.JBallerinaBackend.<init>(JBallerinaBackend.java:141)
        at io.ballerina.projects.JBallerinaBackend.lambda$from$0(JBallerinaBackend.java:115)
        at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1133)
        at io.ballerina.projects.PackageCompilation.getCompilerBackend(PackageCompilation.java:150)
        at io.ballerina.projects.JBallerinaBackend.from(JBallerinaBackend.java:114)
        at io.ballerina.cli.task.CompileTask.execute(CompileTask.java:65)
        at io.ballerina.cli.TaskExecutor.executeTasks(TaskExecutor.java:40)
        at io.ballerina.cli.cmd.RunCommand.execute(RunCommand.java:163)
        at java.base/java.util.Optional.ifPresent(Optional.java:183)
        at io.ballerina.cli.launcher.Main.main(Main.java:59)

Steps to reproduce:
consider following code segment (from https://ballerina.io/learn/by-example/transaction-statement.html?is_ref_by_example=true)
import ballerina/io;

public function main() returns error? {

    transaction {
        doStage1();
        doStage2();

        check commit;

    }
}

function doStage1() {
    io:println("Stage1 completed");
}

function doStage2() {
    io:println("Stage2 completed");
}

Affected Versions:
slbeta3

Are you trying this on distribution snapshot built from https://github.com/ballerina-platform/ballerina-distribution/blob/master?

Are you trying this on distribution snapshot built from https://github.com/ballerina-platform/ballerina-distribution/blob/master?

yes

I tried the Snapshot built from ballerina-lang (https://github.com/ballerina-platform/ballerina-lang) which is in jballerina-tools folder.

I tried the same on the master branch and couldn't reproduce it.
This issue is observed when there is a mismatch between the version in https://github.com/ballerina-platform/ballerina-lang/blob/master/compiler/ballerina-lang/src/main/java/org/ballerinalang/util/BLangCompilerConstants.java#L58 and the transaction-internal version used in https://github.com/ballerina-platform/ballerina-distribution/blob/master/gradle.properties#L47.
Try syncing the https://github.com/ballerina-platform/ballerina-distribution from the upstream and using --no-build-cache  argument when building the distribution.

Code segment executed without any issues after following mentioned steps.

authors: DamithaSenevirathne pcnfernando


text:
Program hangs after pop operation

Description:
I am trying to debug/run the following project.

After executing the line 35 in the following file (message_processor.bal) the program hangs.

import ballerina/regex;
import ballerina/udp;
import ballerina/io;

# OPERATION type
public enum OPERATION {
    JOIN = "JOIN",
    SEARCH = "SER",
    UNDEFINED = "UND"
}

type Message record {|
    string host;
    int port;
    OPERATION operation;
|};

type JoinMessage record {|
    *Message;
|};

public function processMessage(udp:Datagram datagram, string host, int port) returns error? {
    Message|error message = getMessage(datagram, host, port);
    if (message is JoinMessage) {
        io:println("New joinee to the network " + message.host + ":" + message.port.toString());
    } else {
        io:print(message.message());
    }
}

function getMessage(udp:Datagram datagram, string host, int port) returns Message|error {
    byte[] dataArr = datagram.data;
    if (dataArr.length() > 0 && dataArr[dataArr.length() - 1] == 10) {
        byte _ = dataArr.pop(); //Issue here
    }
    string data = check string:fromBytes(dataArr);
    string[] args = regex:split(data.trim(), " ");
    match args[0] {
        "REG" => {
            JoinMessage message = {host: host, port: port, operation: JOIN};
            return message;
        }
        _ => {
            Message message = {host: host, port: port, operation: UNDEFINED};
            return message;
        }
    }
}

Steps to reproduce:
Project : https://drive.google.com/file/d/1Hvf-UwsTcy72oJaGqlQw-zXCZMjSR99-/view?usp=sharing
Affected Versions:
SL-GA-rc1

Simplified version
import ballerina/io;
import ballerina/udp;

service on new udp:Listener(8080) {

    remote function onDatagram(readonly & udp:Datagram datagram)
        returns udp:Datagram|udp:Error? {
        byte[] dataArr = datagram.data;
        byte _ = dataArr.pop(); // it hangs here
        io:println("Received by listener: ", string:fromBytes(datagram.data));
        return datagram;
    }
}

As datagram is readonly, data is also readonly. readonly variables are immutable. Therefore, pop operation cannot be applied. You can get the error by trapping the error as follows.
error|byte byteOrError = trap dataArr.pop();

Closing with https://github.com/ballerina-platform/ballerina-lang/issues/34788#issuecomment-1018538902

authors: Maninda malinthar shafreenAnfar


text:
Constraint JSON to Same Struct type coversions shouldn't be unsafe

Converting constraint JSON to same Struct (which is same Struct type to create constraint json) shows as a unsafe conversion. Since its same Struct it should be safe.
struct Person {
    string pName;
    string gender;
}

function sampleFunction() {
    json<Person> personJson = {};
    Person person = {};

    //Unsafe conversions
    personJson = <json<Person>> person;
    person = <Person> personJson;
}

As per 0.985.0 Spec. There are no conversion operations defined. The only way to achieve this to use seal/convert.
function sampleFunction() {
    json<Person> personJson = {};
    Person person = {};

    personJson = person.seal( json<Person>);
    person = personJson.seal(Person);
}

@mohanvive  Pls note.

@hasithaa @mohanvive  Json to same struct type conversions/stamp is not assignable hence it should be unsafe ( which is correct behavior with 9.9.0 impl).  If not we need to make them assignable as well.

Fixed in https://github.com/ballerina-platform/ballerina-lang/pull/12713 .. But, it is not unsafe since respective types are not assignable.

authors: hasithaa keizer619 mohanvive warunalakshitha


text:
Update examples for mapping constructor changes

Purpose
$title.
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/21101
Check List

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

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

[ ] Increased Test Coverage
[ ] Added necessary documentation

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

Codecov Report

Merging #21776 into stage will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            stage   #21776   +/-   ##
=======================================
  Coverage   14.67%   14.67%
=======================================
  Files          51       51
  Lines        1404     1404
  Branches      216      216
=======================================
  Hits          206      206
  Misses       1182     1182
  Partials       16       16

Continue to review full report at Codecov.

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

authors: MaryamZi codecov-io


text:
Disallow in match guards function/method calls that may mutate the value being matched

Purpose
$title.
A function/method call will be allowed in a match guard only if

the matched expression's type is a subtype of readonly or
the function/method is isolated and all of the arguments have types that are subtypes of readonly

public function main() {
    int x = 1;

    match x {
        0 if isValid(x) =>  { // OK since the type of the expr being matched is a subtype of `readonly`
        }
    }
}

int val = 0;

function isValid(int i) returns boolean => i > val;

public function main() {
    record {} x = {};

    match x {
        var {a, b} if removeA(x) =>  { // no longer allowed, since the type of the expr being matched and the type of the argument are not subtypes of `readonly`
        }
        var {a, c} =>  {
        }
    }
}

isolated function removeA(record {} rec) returns boolean {
    if rec.hasKey("a") {
        _ = rec.remove("a");
        return true;
    }
    return false;
}

Fixes https://github.com/ballerina-platform/ballerina-lang/issues/33097
This PR also fixes the following.
Fixes #33186 - No semantic error on invalid static type of match guard
Fixes #33180 - Code analysis doesn't happen for the match guard
Check List

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

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

[ ] Increased Test Coverage
[ ] Added necessary documentation

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

@MaryamZi @gimantha We need to capture this as a breaking change and inform the team.

authors: MaryamZi hasithaa


text:
Fix Fields Missing when a Query Having Duplicate Fields

Purpose
Fixes:  #1277
Examples
N/A
Checklist

[x] Linked to an issue
[x] Updated the changelog
[x] Added tests

Shall we check the reduced test coverage too?
Maybe a false positive, but better to check it.

authors: DimuthuMadushan ThisaruGuruge


text:
Explicitly include the native and ballerina sources in code coverage

Purpose
$ subject
Fixes: https://github.com/ballerina-platform/ballerina-lang/issues/42141
Examples
Checklist

[ ] Linked to an issue
[ ] Updated the specification
[ ] Updated the changelog
[ ] Added tests
[ ] Checked native-image compatibility

Coverage has increased upto 77% https://app.codecov.io/github/ballerina-platform/module-ballerinax-aws.redshift/commit/843d65054e00e2946775032ff53d82b89896a341/tree


text:
Support for YAML configuration

Added support for yaml configuration files. Additionally main now perfers .yaml over .conf and can create a default .yaml file if no configuration files are found.

Don't know what happened with all the commits there, sorry. Maybe I should have branched off from the dev branch and not the master branch. Shall I give it another try?

It's fine. Those changes won't change anything. The CI is failing because I accidently pushed a style violation to dev :cry: Testing it locally atm and will merge if it works. Thanks !

Oh, I was wrong, there is still 1 style violation:
************* Module homeassistant.bootstrap
C:117, 0: Unnecessary parens after 'if' keyword (superfluous-parens)

Also, could you remove home-assistant.conf.example and create home-assistant.conf.yaml?
I'll work on updating home-assistant.io today.

I have added an example yaml config now and removed the old one. The only thing that does not seem to work is the custom component example.py. A few modules are bit troublesome for me to test since I don't own any of the devices.

The example component is not working because yaml transforms the following:
example:

into
{
  "example": None
}

Where components expect the value to be a dictionary instead of None.
This can be fixed by replacing lines 80-82 in bootstrap.py with:
    # Make a copy because we are mutating it.
    # Convert it to defaultdict so components can always have config dict
    # Convert values to dictionaries if they are None
    config = defaultdict(
        dict, {key: value or {} for key, value in config.items()})

When that's done it's ready for merging :smile:

To help users migrate we'll need to write a blog post summarizing the changes. If you like it you can do it. I have no problems doing it myself.
Writing a blog post is as easy as cloning the website repo and adding a new file to the _posts folder.

Sure, I'll take care of a blog post!

Merged it, thanks !
For your blog post, add author: to the YAML on the top to have it display your name as author. Make a pull request back to my branch and we can push it out.

authors: balloob theolind

repo: balloob/home-assistant


text:
chore: fix typo

Minor typo fixture.

@kullmanp could you check this?

repo: baloise-incubator/spectral-ruleset


text:
Exchange with Zurich Insurance on next OXD - 14-15

Wie sichert man ab, dass keine sensiblen Daten oder „Intellectual Propety“ geleackt werden (Sign-Off?).
Welche Formalien / OSS Lizenzbedingungen muss man als Firma berücksichtigen, bevor man als Contributor frisch einsteigt. (Quellcode-Ownership, Verantwortung am Schaden usw.)
Wie behaltet man einen Überblick über sämtliche Beiträge?

It was a pleasant conversation. Very intensive session with lots of reference material and information to work with. Thank you, @christiansiegel @MarkusTiede

authors: MarkusTiede RCBiczok

repo: baloise/open-source


text:
Aggregating manual test results

When running Flashlight tests via Maestro with flashlight test <maesto test file> the results are nicely aggregated into a single result, which makes comparing against different runs easy. Is it possible to do this when manually executing tests? Not sure if it doesn't exist, or I've just missed it in the docs.
We have found that due to the time Maestro spends letting the app go idle our tests aren't quite as accurate as we'd like them to be. So instead we've been manually running tests via flashlight measure, running ~5 times, then grabbing the worst result. Is there a way to merge results like what is done when automating measures, but with manual tests? Happy to help with this if it doesn't exist, just point me in the right direction.
Thanks heaps, love the tool it has massively changed our performance measuring game.

Hi @RhyG,
You're right, there's no way to do this out of the box with flashlight measure (except dowloading each JSON of measures from the webapp individually and merging them via a script, but that'd be tedious)
Changing flashlight measure
At the moment, when we click on the "Start" button, the socket sends the "start" event from the webpage to the CLI which we listen to here https://github.com/bamlab/flashlight/blob/main/packages/commands/measure/src/server/ServerSocketConnectionApp.tsx#L31
This will create a new result (instead of a new iteration) in here https://github.com/bamlab/flashlight/blob/main/packages/commands/measure/src/server/socket/socketState.ts#L49
Might make sense to restructure the page and make it so we have a start/stop button and:

a button to add a new result
a button to add a new iteration

If you're interested in doing this, happy to provide some more guidance!
Maestro being slow
We also noticed Maestro can be pretty slow at starting and stopping tests, is that also what you're experiencing?
We actually have a fork that can be used with npx @perf-profiler/maestro@rc but it's not ideal, we should hopefully soon open a PR to Maestro to remedy this

Thanks for the response @Almouro, I'll hopefully find some time to poke around and see what I can do. Super appreciate the help.
That's a big part of the slowness we're seeing yeah, interesting to hear others are experiencing it. We also have noticed that Maestro seems to "wait" for arbitrary amounts of time to allow the app to go idle to some degree, which means the JS thread and FPS have time to recover beyond what a regular user would experience. I'll check out your branch and see if it helps out at all. Thanks again!

authors: Almouro RhyG

repo: bamlab/flashlight


text:
在你demo上导入相册视频 AVAssetExportSessionStatusFailed 并-[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'闪退了是什么原因

提bug前必看
请先回答下列三个问题，否则不允处理，谢谢配合。
1、我最新的Demo是否有这个bug？【如果Demo没问题，请升级新版】
答：
2、你用的是什么版本？升级到最新版后是否正常？
答：
3、是否有改动过我库内部的代码？【如有，请说明改动点】
答：
bug内容描述
我如何复现这个bug？
截图
其它说明
有没有其它要补充的？比如你的初始化TZImagePickerController的代码

模板填一下哈，特别是复现步骤。。

authors: banchichen xiaochengmomo

repo: banchichen/TZImagePickerController


text:
Upgrade root dependencies

Description
Upgrade root dependencies (spring boot 2.7.2, jacoco, aws bom and lombok), closes #268
Category

[x] Feature
[ ] Fix

Checklist

[x] The pull request is complete according to the guide of contributing
[ ] Automated tests are written
[x] The documentation is up-to-date
[x] The pull request has a descriptive title that describes what has changed, and provides enough context for the changelog
[x] If the pull request has changed structural files, you have implemented an UpgradeAction according to the guide

Great!!!

authors: juancgalvis santitigaga

repo: bancolombia/scaffold-clean-architecture


text:
[Bug]: 1.5.0 imports only a subset of highlight files

Bug Report Checklist

[X] I have searched the existing issues to avoid duplicates
[X] I have checked the plugin's documentation

Plugin version
1.5.0
Obsidian version
1.6.7
macOS version
macOS Sonoma
What happened?
Installed the 1.5.0 update, clicked the button to trigger an import; new popup appears, "will overwrite all books", clicked yes. Import only brought in 18 highlight files, where before there were 100+
The issue occurs when
Importing all books
How many books do you have in your Apple Books library?
100+
Code of Conduct

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

I checked the developer console for error messages and didn't find anything

@banj I made some tests on Sonoma and Sequoia with my books (mysteriously, currently, I have 18 books with highlights), and there is a strange glitch with the setting responsible for syncing highlights across devices. As a result, highlights are not synced to the "main" database and the plugin cannot see pull them. I can see that the list of books when importing a single book is not complete as well. So, my assumption is that the problem is not related to the plugin itself. But I will investigate further a bit later.
I managed to find a temporary workaround: go to Books - Settings - General tab - Syncing section - re-enable Collections, bookmarks, and highlights checkbox. This will force Books to re-check your collection and all the “missing” entries appear in the database. As soon as these entries appear, the plugin immediately retrieves them.

Thanks for looking into it - funny coincidence about the book count! All the highlights were syncing with 1.4.0 immediately prior to updating, but I did go ahead and uncheck. exit, then open and re-check the sync setting you specified. No change after 15 minutes but I'll give it a bit more time and try again.
The really odd thing is that there's no obvious pattern to the 18 books that do have highlights syncing, they span the alphabet (so not the first 18 matching), many haven't been recently opened, etc.

To add on: I went into a book that had no highlights and added one, then re-triggered the import, and it didn't come through. Under the previous version I did this a few times and they came through immediately.

To add on: I went into a book that had no highlights and added one, then re-triggered the import, and it didn't come through. Under the previous version I did this a few times and they came through immediately.

That's the same behavior I'm observing on my side, and as long as the bulk import code wasn't affected during the new release, I'm slightly confident that the root cause is not the plugin itself (but it's pretty much strange behavior, indeed).
You can also try to download artifacts from the 1.4.0 release and place them into the plugin's folder of your obsidian vault.
In my case, the behavior hasn't changed, and if you confirm that the version 1.4.0 produces the same output, the root cause is not the plugin itself. This issue would probably be a good idea to introduce some kind of a debug mode.

Great idea, I downloaded the main.js, manifest.json, and style.css assets and overwrote the 1.5.0 files in the obsidian vault. When I restarted obsidian I could see that the version had rolled back to 1.4.0, and I triggered the import; there was no popup for overwriting that you added in 1.5.0, confirming it rolled back to the previous version of the methods. The import brought all the highlight files (195 total) over successfully.

A-ha, got it, thank you for confirming this. I'm further investigating this behavior.

Hi @banj. Some updates from my side - I still can't fully reproduce the issue you're struggling with.
I was testing the plugin on both Sonoma and Sequoia, trying versions 1.4.0 and 1.5.0. No issues. There is a short delay when syncing new highlights from iPhone or iPad (that was my concern), but they are still getting added to the database after a while and the plugin can fetch them. From Mac all the new highlights are synced instantly.
Still buried in debugging... 🫠

Ugh, let me know if there's anything I can do to support debugging. I had a look at the commit and at first I thought that either the backup logic or the loop (for (const combinedHighlight of highlights)) saving the highlights might be the cause-- then I was having a look at the two new methods that SaveHighlightsToVault method was refactored into, but I haven't come up with anything helpful

@spoof Thank you for the investigation, it shed some light to this case.
You received the error because the regex expects the location to point to a range of characters. However, it seems that the location you provided points to a single character, that's why the whole sequence fails and match returns null.

Could you please confirm that you have a single character highlight somewhere in your books?
You said that changing the sorting back to 'By creation date' (which one?) fixed the issue. However, 'By creation date (from oldest to newest)' is the default setting that is populated after the plugin installation. What was the previous value set for this setting?

@banj May the p.1 be related to your case as well?

I probably have a few typo highlights in my books collections, and I also have a habit of highlighting across paragraph breaks which makes it appear as separate highlights-- but I'm not sure of a good way to figure out where that might be. I notice that prior to v1.5 the full collection imports, so does that mean that the previous version could handle single character highlights?
I leave the sorting selection on the default setting

Been away from Obsidian for a couple weeks and just catching up with this now. For me import now stops at 16 books. Nothing useful to add to what's been said above except to provide another confirmation of the error. None of my new/most recently highlighted books are in the 16 which still import, which implies that it is failing on something that had been there previously (and did import previously).

I notice that prior to v1.5 the full collection imports, so does that mean that the previous version could handle single character highlights?

Well, not quite. The v1.5 introduced an intermediate mechanism (which is mandatory) to handle the order of rendering highlights. Depending on the selected sorting criterion, this mechanism works with either highlight dates or locations and returns the desired order of highlights. Versions before v1.5 don't have such a mechanism and highlights were rendered "as is" according to how they are stored in the database. There was a related issue (#19) about that.
@spoof showed the location that potentially caused an error, and that made me think about situations on how and when Apple Books could generate such a location. During my research some of the sources pointed out that single character highlights may generate such a location identifier. So that was my initial assumption backed up by the fact the this corner case is indeed not handled by the plugin. However, testing v1.5 on my collection of books didn't confirm that, even single character highlights have the expected location identifiers. So, I just wanted to check up with you to understand whether or not this is related to your case.
P.S: my sincere apologies for such a long time figuring out the root cause of this bug, my spare time is limited now but besides that I just want to properly identify the root cause and come up with a reliable solution.

authors: bandantonio banj mbarritt


text:
🛑 MXN Celo On-ramps is down

In fef7274, MXN Celo On-ramps ($QUOTE_ENDPOINT) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MXN Celo On-ramps is back up in 980d56c after 18 minutes.

repo: bandohq/upptime-monitor


text:
'_currInvokeSuperClsName'相关逻辑是什么来历？

怎么感觉是天外忽来一掌，把人给打蒙了....
求讲解讲解。

解决JS同时替换了子类和父类的同一个方法，在子类调用super的这个方法时取到的方法不正确导致死循环的问题。

子类和父类同时修改了methodA方法，子类在OC调用[super methodA]时会去到JPForwardInvocation，这时slf是子类，失去了父类这个上下文，结果调用了子类的methodA，导致死循环

这样多线程应该还是会有一定问题

我简单试了下，按你举得例子目前是会跑到子类的methodA里面，应该也不大对。
@bang590

JPForwardInvocation 如果拦截到的Invocation的selctor转化成JPSelector能够响应，说明是一个替换方法，则从Invocation中取参数后调用JPSelector的IMP，所以为了解决这个问题加了
if (superClassName) _currInvokeSuperClsName = superClassName;
[invocation invoke];
if (superClassName) _currInvokeSuperClsName = nil;


text:
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil

当前使用版本(必填,否则不予处理)
3.4.0
该问题是如何引起的？(确定最新版也有问题再提!!!)
偶然后会出现，出现之后就一直会报错，重启之后过5天左右又会出现
重现步骤(如果有就写完整)
非必然出现
报错信息
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:92)
at com.sun.proxy.$Proxy90.myMethodC(Unknown Source)
at com.xxxx.xxxx.service.impl.UserServiceImpl.myMethodA(UserServiceImpl.java:441)
at com.xxxx.xxxx.service.impl.UserServiceImpl.myMethodB(UserServiceImpl.java:429)
at com.xxxx.xxxx.service.impl.UserServiceImpl$$FastClassBySpringCGLIB$$f928a5f2.invoke()

无法定位

同样出现相同问题  版本 3.4.2  重启之后就好了   是否会再次出现不定
堆栈信息
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:92)
at com.sun.proxy.$Proxy132.selectOrderListByForm(Unknown Source)
at com.wolwo.manage.app.service.impl.DrugOrderServiceImpl.pageOrder(DrugOrderServiceImpl.java:80)
at com.wolwo.manage.app.service.impl.DrugOrderServiceImpl$$FastClassBySpringCGLIB$$61e80eb5.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
at com.wolwo.manage.app.service.impl.DrugOrderServiceImpl$$EnhancerBySpringCGLIB$$f9e4b179.pageOrder()
at com.wolwo.manage.api.controller.DrugOrderController.page(DrugOrderController.java:48)
at sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
... 52 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.reflection.ExceptionUtil
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 70 common frames omitted

我也是出现同样的问题，偶尔打包部署后会出现这种问题，重新打包即可解决
Caused by: java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:92)
at com.sun.proxy.$Proxy182.chargebackRecordList(Unknown Source)
at com.furen.order.core.service.impl.TChargebackServiceImpl.chargebackRecordList(TChargebackServiceImpl.java:81)
at com.furen.order.core.service.impl.TChargebackServiceImpl$$FastClassBySpringCGLIB$$c7dd349b.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at com.furen.order.core.service.impl.TChargebackServiceImpl$$EnhancerBySpringCGLIB$$10d40b39.chargebackRecordList()
at com.furen.order.core.controller.TChargebackController.chargebackRecordList(TChargebackController.java:36)
at sun.reflect.GeneratedMethodAccessor1789.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)

repo: baomidou/mybatis-plus


text:
关于弃用和删除AbstractBaseExecutor、MybatisSimpleExecutor、MybatisBatchExecutor、MybatisReuseExecutor的问题

当前使用版本(必填,否则不予处理)
3.5.2
近期我们在使用MP的时候，发现升级MP（3.1.2到3.5.2）后，有很多内容发生了较大改变，其中AbstractBaseExecutor、MybatisSimpleExecutor、MybatisBatchExecutor、MybatisReuseExecutor 实现了ibatis的 Executor接口，继承了BaseExecutor 抽象基类，这些类，从3.4.0开始弃用，3.4.3的时候就删除，查了一下发版记录，并没有找到为什么要弃用和删除这些类的说明。
搜了一下issue，也没找到相关弃用和删除相关功能的issue，
咨询一下这里是出于什么考量要弃用和删除相关的类呢？

@miemieYaho 您好，请教一下，废弃和删除上述这些类的目的是为了避免重复，让用户直接使用原生Mybatis提供的功能吗？

@nieqiurong
您好，这个commit:
https://github.com/baomidou/mybatis-plus/commit/701facf74238eac6af5ee8b5d9f92c5c2613a1e3
的message是同步执行器代码.，意思是为了保持MP的代码功能和原生Mybatis的能力一致吗，还是说遇到了实际的问题在解决相关问题进行的改进，没有找到相关的发版说明，只能看代码提交记录。

这几个都是为了老的分页插件服务的,新的分页插件不需要这些当然就删了

这几个都是为了老的分页插件服务的,新的分页插件不需要这些当然就删了

好的，感谢您的答复。
3.3.0之前的版本，功能是有问题的，我们遇到了，原因就是MP中的类和Mybatis原生的实现不一致，commit: https://github.com/baomidou/mybatis-plus/commit/701facf74238eac6af5ee8b5d9f92c5c2613a1e3
修复了这些问题，后面MP升级相关的类都被删了，用户直接使用Mybatis原生的类，目前已经不会遇到相关问题了，但我们还是想了解一下我们演进的原因，所以提问题了。
另外现在删了相关的类之后，我通过搜索代码，当前的MP中已经找不到Executor的实现了。相关的功能是直接使用Mybatis原生的SimpleExecutor、ReuseExecutor、BatchExecutor加以替代，我们MP不再额外提供Executor的实现了是吗？

嗯

authors: darren-wang miemieYaho


text:
Collision in intersection . What caused it?

I have completed the installation of BARK and the configuration of the environment. But when I run the examples by "bazel run //bark/examples:intersection"  , I found that multiple agents often collide in the running results, and the whole running is not very smooth. I want to know why there is a collision in this example.

Hi,
Sorry for our late consideration. There were some delays due to the Christmas holidays.
I looked at the example. The model BehaviorIntersectionRuleBased is not yet adapted to the newest geometry implementations.
I switched the example to use the model BehaviorIDMClassic. The IDM is a car-following model but can be adapted to intersections with careful parameter tuning.
# at what maximum lateral distance between vehicle shapes are other vehicles considered in the IDM calculations: We use a high value for vehicles giving way and low value for vehicles taking way
param_server_give_way["BehaviorIDMClassic"]["MaxLatDifferenceToBeFront"] = 15.0

# at what minimum longitudinal distance are other vehicles considered in the IDM calculations: We can avoid vehicles blocking the intersection by increasing this value. However, a to high value increases the risk of collisions
param_server_give_way["BehaviorIDMClassic"]["MaxLonDifferenceToBeFront"] = 4.0

# By increasing the minimum spacing parameter of the IDM vehicles brake such that the intersection area is not blocked
param_server_give_way["BehaviorIDMClassic"]["MinimumSpacing"] = 8.0

You can adapt these parameters to your use case.

When the "step_time=0.2" , The whole operation looks very stuck. I tried to change this number to 1 and 0.05, but the effect was not very good. How can I solve it?

When the "step_time=0.2" , The whole operation looks very stuck. I tried to change this number to 1 and 0.05, but the effect was not very good. How can I solve it?

repo: bark-simulator/bark


text:
This is a wonderful project... but could you have a real-world example in your examples

Its a little confusing without seeing a specific task..

@ftrotter we added examples, let us know if you have any other questions

authors: ablyler ftrotter

repo: barracudanetworks/forkdaemon-php


text:
Oxygen Project XPR conflict

It seems that there was a syn issue with the swiML.xpr file. On my local computer I am now pushed to used the file in the archive folder swiML (Christoph Bartneck's conflicted copy 2023-11-02).xpr. Do we each need to have a separate project file or should we try to bring them back together. If so, how?

Christoph has to resolve the sync issue at home

resolved.

repo: bartneck/swiML


text:
Redux boilerplate

Great starter kit! I've been looking a lot to find some alternative to Redux to decrease a lot of boilerplate. Just checked your components and they are the same as mine (bulky connect statements within React components, numerous action string constants and 'switch' statements within reducers).
I've been working on large app and was not satisfied with a lot of redux boilerplate.
Unfortunately i was not able to find elegant alternative and had to build own one based on Reactive Programming (yeah, React Native is reactive, but Redux doesn't). Could you check https://github.com/aksonov/react-native-reactive ? I believe it could fit into this starter kit perfectly and simplify it by 20-30%.

Hi @aksonov - I agree with your assessment of Redux - it's a lot of boilerplate though you get a very testable solution of state management.  Please feel free create a fork and replace Redux w/ your solution.
If I were start another project using React-Native, I would take a serious look at https://mobxjs.github.io/mobx/getting-started.html.

@bartonhammond Thanks for suggestion! Mobx looks really impressive. Probably i will try to use mobx inside react-native-reactive as plugin, so user could choose.

@bartonhammond Created https://github.com/aksonov/react-native-mobx and start using it in my project. Thanks again for mobx suggestion, looks even easier comparing to Calmm-JS. With React Native Router Flux MobX became much easier - no need to wrap each scene with @observer

@aksonov Glad that was of help.

authors: aksonov bartonhammond

repo: bartonhammond/snowflake


text:
Update dependencies for Angular5 please

As I can see from https://github.com/baruchvlz/angular-font-awesome/issues/25, Angular 5+ support has been added and also everything seems to be working very fine in our application on 5.1.1 right now.
However building results in the following warning:
warning " > angular-font-awesome@3.0.3" has incorrect peer dependency "@angular/core@>=4.0.0 <5.0.0 || >=4.0.0-beta <5.0.0".
Would be great if you could update the dependencies appropriately.
Thanks,
Philipp

Nevermind, just realized the fix is already checked in and just the new version is not yet available on NPM.
Guess you can just close the issue as soon as the release is available.
Thanks for your great work!

My mistake, had forgotten to publish the changes. Thanks for the reminder :+1:
v3.0.4 is published

authors: baruchvlz pfeigl

repo: baruchvlz/angular-font-awesome