🐛 Bug Report: Out of Memory Error when Collating TechDocs for Search

📜 Description
Currently when we enable TechDocs search in the Backstage Demo site we run into an Out of Memory error which crashes the container. This happens shortly after start up and causes a crashes loop.
Some important details:

This seems to only happen with the new backend system (have not had time to test it on the legacy backend to confirm)
We deploy to Heroku and only have 1gb of RAM and have this set in our Dockerfile: ENV NODE_OPTIONS "--max-old-space-size=1000" (locally this seems to break between 1250 and 1500)
We are hosting the generated TechDocs on a GCS bucket
The file it's attempting to read is roughly 20mb: search_index.json
As this is a Demo we are using SQLite as our DB which is in-memory and Lunr for search indexing which is also in-memory

👍 Expected behavior
We should not hit an out of memory error when collating TechDocs for Search.
👎 Actual Behavior with Screenshots
First we see "Collating documents for techdocs via DefaultTechDocsCollatorFactory" in the logs, then it tries to get the search_index.json for one of the entities, in this case for: https://demo.backstage.io/catalog/default/component/backstage. There is a short delay and then we get this error and the app crashes:
<--- Last few GCs --->

[1:0x17938870]    16712 ms: Mark-sweep (reduce) 1240.7 (1271.2) -> 1239.8 (1271.5) MB, 432.3 / 0.0 ms  (average mu = 0.145, current mu = 0.010) allocation failure; scavenge might not succeed
[1:0x17938870]    17326 ms: Mark-sweep (reduce) 1240.9 (1271.5) -> 1240.2 (1272.0) MB, 609.2 / 0.0 ms  (average mu = 0.067, current mu = 0.007) allocation failure; scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0xb8097c node::Abort() [node]
 2: 0xa98f08  [node]
 3: 0xd420c0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xd42290 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xf20844  [node]
 6: 0xf327dc v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 7: 0xf0e960 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 8: 0xf0f938 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 9: 0xef1aec v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [node]
10: 0xee879c v8::internal::FactoryBase<v8::internal::Factory>::AllocateRawArray(int, v8::internal::AllocationType) [node]
11: 0xee8958 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [node]
12: 0x10c6e58  [node]
13: 0x11416d0  [node]
14: 0x1142c14 v8::internal::KeyAccumulator::GetKeys(v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::KeyCollectionMode, v8::internal::PropertyFilter, v8::internal::GetKeysConversion, bool, bool) [node]
15: 0x12a06cc v8::internal::Runtime_ObjectKeys(int, unsigned long*, v8::internal::Isolate*) [node]
16: 0x167d76c  [node]

👟 Reproduction steps
This is pretty tricky, I have a branch that can be used at a starting point here: https://github.com/awanlin/backstage/tree/debug/techdocs-search
To us this branch to test with do the following:

Configure proper access to a GCC bucket and generate the TechDocs, this is the workflow that does this for the demo site: https://github.com/backstage/demo/blob/master/.github/workflows/techdocs.yml
Run yarn install, yarn tsc and yarn build:backend --config ../../app-config.yaml --config ../../app-config.local.yaml
Run docker image build .  -t backstage --progress=plain
Then run docker run -it -p 7007:7007 backstage

Notice: after a minute or so it will crash with the out of memory previously shared
📃 Provide the context for the Bug.
As this causes a crash loop we aren't able to enable TechDocs search in the Demo site. This would be nice to showcase there for those looking at Adopting Backstage!
🖥 Your Environment
I think the critical environment specific details are: the size of the index file, using GCS bucket, the new backend system, and the limited amount of RAM.

[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?
No, but I'm happy to collaborate on a PR with someone else

Interesting. Last fix we did for OOM recently was due to insufficiently bounded parallelism. Looking at the code of the collator, it is slightly hard to follow but it does try to leverage a limiter. Might need to dig deeper into that code.

yeah that's an interesting point - i was hoping to look a bit closer at this today but didn't have the time to - if there's any way thar you can boil this down to really being ONLY about that collator or so, that'd of course be stellar

I think the issue is in the Lunr indexer, which keeps all objects in memory until the collator finishes emitting items.
https://github.com/backstage/backstage/blob/49cff6ae0f589786b0597397ed73f6aa6912c418/plugins/search-backend-node/src/engines/LunrSearchEngineIndexer.ts#L58

@vinzsvi but for a search_index.json that's just 20 MB? 🤔

Hi,
I think we are facing the same on our production and pp environment (without any user activity)

We are still using the legacy backend system
Techdoc is using the recommended approach and hosted on S3 endpoint (minio)
Catalog crawling on Bitbucket Server
Running 1.23.4 of backstage

Or monitoring discover OOM after 2-3 days even without any user activity on the portal. We can see the memory is increasing until reaching the limit

We can see on the logs before oom
{"level":"info","message":"::1 - - [01/Apr/2024:22:19:27 +0000] \"GET /api/catalog/entities/by-name/component/default/********** HTTP/1.1\" 200 - \"-\" \"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)\"","service":"backstage","type":"incomingRequest"}
{"level":"info","message":"::1 - - [01/Apr/2024:22:19:27 +0000] \"GET /api/catalog/entities/by-name/component/default/*****-terraforms HTTP/1.1\" 200 - \"-\" \"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)\"","service":"backstage","type":"incomingRequest"}
{"documentType":"software-catalog","level":"info","message":"Collating documents for software-catalog via DefaultCatalogCollatorFactory","plugin":"search","service":"backstage","type":"plugin"}
<--- Last few GCs --->
[1:0x6354370] 323556081 ms: Scavenge 503.3 (520.4) -> 501.7 (520.4) MB, 4.26 / 0.00 ms (average mu = 0.712, current mu = 0.698) allocation failure;
[1:0x6354370] 323556089 ms: Scavenge 503.4 (520.4) -> 501.7 (520.4) MB, 3.36 / 0.00 ms (average mu = 0.712, current mu = 0.698) allocation failure;
[1:0x6354370] 323556168 ms: Scavenge 503.4 (520.4) -> 501.6 (524.4) MB, 76.78 / 0.00 ms (average mu = 0.712, current mu = 0.698) allocation failure;
<--- JS stacktrace --->
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----
1: 0xca5580 node::Abort() [node]
2: 0xb781f9 [node]
3: 0xeca4d0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
4: 0xeca7b7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
5: 0x10dc505 [node]
6: 0x10f4388 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]

Thanks

The recommendation is to switch to another search engine in production, as mentioned here: https://backstage.io/docs/features/search/search-engines#lunr

Note: Lunr is appropriate as a zero-config search engine when developing other parts of Backstage locally, however its use is highly discouraged when running Backstage in production. When deploying Backstage, use one of the other search engines instead.

Unless a configuration issue we are using the postgres search engine
  const searchEngine = await PgSearchEngine.fromConfig(env.config, { database: env.database });
  const indexBuilder = new IndexBuilder({
    logger: env.logger,
    searchEngine,
  });
  indexBuilder.addCollator({
    schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
      discovery: env.discovery,
      tokenManager: env.tokenManager,
    }),
  });
  indexBuilder.addCollator({
    schedule,
    factory: DefaultTechDocsCollatorFactory.fromConfig(env.config, {
      discovery: env.discovery,
      logger: env.logger,
      tokenManager: env.tokenManager,
    }),
  });

  indexBuilder.addCollator({
    schedule: schedule,
    factory: AnnouncementCollatorFactory.fromConfig({
      logger: env.logger,
      discoveryApi: env.discovery,
    }),
  });

Unless a configuration issue we are using the postgres search engine
  const searchEngine = await PgSearchEngine.fromConfig(env.config, { database: env.database });
  const indexBuilder = new IndexBuilder({
    logger: env.logger,
    searchEngine,
  });
  indexBuilder.addCollator({
    schedule,
    factory: DefaultCatalogCollatorFactory.fromConfig(env.config, {
      discovery: env.discovery,
      tokenManager: env.tokenManager,
    }),
  });
  indexBuilder.addCollator({
    schedule,
    factory: DefaultTechDocsCollatorFactory.fromConfig(env.config, {
      discovery: env.discovery,
      logger: env.logger,
      tokenManager: env.tokenManager,
    }),
  });

  indexBuilder.addCollator({
    schedule: schedule,
    factory: AnnouncementCollatorFactory.fromConfig({
      logger: env.logger,
      discoveryApi: env.discovery,
    }),
  });

Interesting thank you for the debugging info 🙏. Definitely something to look into it

Hi @jonesbusy, your logs says DefaultCatalogCollatorFactory which is not the one for TechDocs but for the Catalog itself. This seems to be a similar but different issue then the one I logged. Can you review your logs to confirm that it's consistently the DefaultCatalogCollatorFactory?
When I was having issues with some bad content causing our indexing to fail completely I added an indexerBatchSize, the default is 1000. You could try adjusting that to see how it goes?
Also, just a more general comment that search runs on a schedule to keep it's indexes up to date so it's not necessarily surprised that it could use memory even when users are not actively using it.

I can see both task running more less at the same time
{"documentType":"software-catalog","level":"info","message":"Collating documents for software-catalog via DefaultCatalogCollatorFactory","plugin":"search","service":"backstage","type":"plugin"}
....
{"documentType":"software-catalog","level":"info","message":"Collating documents for software-catalog succeeded","plugin":"search","service":"backstage","type":"plugin"}
...
{"documentType":"techdocs","level":"info","message":"Collating documents for techdocs via DefaultTechDocsCollatorFactory","plugin":"search","service":"backstage","type":"plugin"}
...
{"documentType":"techdocs","level":"info","message":"Collating documents for techdocs succeeded","plugin":"search","service":"backstage","type":"plugin"}

probably due to the
  const schedule = env.scheduler.createScheduledTaskRunner({
    frequency: { minutes: 10 },
    timeout: { minutes: 15 },
    initialDelay: { seconds: 15 },
  });

The oom always follow the execution of those tasks

Thanks! What's the size of your catalog and how many entities have TechDocs? Can you try running with debug on for the logs? It will print out the entities in each batch that way. I might pair that with a smaller default batch size as well. Would help tell if this is related to a large search_index.json file like I ran into or if it's a slight different issue.

I will answer with more details early next week but in our preproduction environment we have perhaps 50 techdocs entity.
For the catalog it's similar but if we consider user and groups it's more than 2000 thousand (not sure if relevant for the search indexer).
That's why it confuse me because our catalog and techdoc are very small dor the moment.
Thanks for the helps ans tips to debug this issue.

Thanks for the follow up. Yeah, it's all very odd to me. My experience with PR and search was very solid, memory usage was pretty minimal, never had OOM. The Catalog had about 750+ entities with about 80% having TechDocs. We had about 500+ Users and Groups.

From what I understood this as also been disabled on the demo backstage : https://github.com/backstage/demo/blob/b4d9b44c8cfb8ee5b517a23b91d0de7db12a1b3f/packages/backend/src/index.ts#L31
On our side we still have high memory usage and trigger OOM after some point
We are not on Backstage 1.27.5 and all plugin migrated to new backend system

What I'm not really sure is the engine used for each Lunr or postgres (not sure were to look the config)

@jonesbusy, yes, this issue was logged specifically for the issue we ran into on the Demo site. The Demo site is an outlier though as it doesn't follow the recommended patterns for a "production" deployment - it runs on SQLite and uses Lunr for search. It's also resources constrained.

interesting, I didn't realize this was due to the new BE and the tech docs search, it started when I upgraded Backstage and switched 90% of the plugins to the new BE + updated to the latest Docker image in the doc.
In our case, we solved it with the old way of setting node memory node-options=--max-old-space-size=XXXX and increasing a bit the container available RAM, since then we saw very few restarts but I'm following this issue as I'm using this plugin.
I CC @legendSebastianoL that's my work account.

Hi @sebalaini (@LegendSebastianoL), this issue is really specific to the unusual AND not recommended setup we have for the Demo site.
If you are using both SQLite as your Database and the Lunr search engine this is not the recommended setup for any non-local environment. I recommend using Postgres as your database and at minimum Postgres as your search engine, Elasticsearch would be a more advanced option. If you have already done that and are still having OOM issue then I would log an issue for that as it's likely not to be the same issue identified here.

our setup uses PG both locally and in prod but I think we aren't using the PG search engine anymore since we switched to the new BE, this is our current BE
backend.add(import('@backstage/plugin-app-backend/alpha'));
backend.add(import('@backstage/plugin-proxy-backend/alpha'));

/**
 * auth plugin
 */
backend.add(import('@backstage/plugin-auth-backend'));
backend.add(import('@backstage/plugin-auth-backend-module-github-provider'));
backend.add(import('@backstage/plugin-auth-backend-module-okta-provider'));

/**
 * catalog plugin + OKTA users + GH discovery + AWS discovery + open API
 */
backend.add(import('@backstage/plugin-catalog-backend/alpha'));
backend.add(OktaUserProvider);
backend.add(import('@backstage/plugin-catalog-backend-module-github/alpha'));
backend.add(import('@backstage/plugin-catalog-backend-module-aws/alpha'));
backend.add(import('@backstage/plugin-catalog-backend-module-openapi'));

/**
 * scaffolder + catalog plugin
 */
backend.add(import('@backstage/plugin-scaffolder-backend/alpha'));
backend.add(import('@backstage/plugin-scaffolder-backend-module-github'));
backend.add(
  import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);

/**
 * permission plugin
 */
backend.add(import('@backstage/plugin-permission-backend/alpha'));
backend.add(
  import('@backstage/plugin-permission-backend-module-allow-all-policy'),
);

/**
 * search plugin
 */
backend.add(import('@backstage/plugin-search-backend/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));

/**
 * techdocs + search plugin
 */
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha'));

/**
 * explore + search plugin
 */
backend.add(import('@backstage-community/plugin-explore-backend'));
backend.add(import('@backstage/plugin-search-backend-module-explore/alpha'));

/**
 * all the others externals plugins
 */
backend.add(import('@backstage-community/plugin-sonarqube-backend'));
backend.add(import('@backstage/plugin-kubernetes-backend/alpha'));

/**
 * internal plugins
 */
...

/**
 * TODO legacy plugins to migrate
 */
backend.add(legacyPlugin('healthcheck', import('./plugins/healthcheck')));
backend.add(legacyPlugin('tech-insights', import('./plugins/techinsights')));

I remember this config in the old BE but can't see anything in the new, is there some doc about how to setup the search in the new BE with PG?

OK I think this should add the PG search engine right? backend.add(import('@backstage/plugin-search-backend-module-pg/alpha'));
after adding the plugin I added this config:
search:
  pg:
    highlightOptions:
      useHighlight: false

and the highlight disappeared, so I guess now we are using the postgres search engine

As the Lunar search engine is not recommended for non-local environments, we are closing this issue. If you are still experiencing a similar problem with other search engines, please open a new issue 🙌🏻

Thanks @LegendSebastianoL it's exaclty what I needed and was missing import and config (I didn't find anywhere this documentation).
@camilaibs I confirm now that the search is done on Postgres. I will reopen an other issue if I still experience OOM in the next few days.

hey @jonesbusy the doc TBH is missing, I just tried to use the new standard to import plugins in the new BE and checked that the plugin in the upstream had the new BE config :)


Small error in PowerShell command

The PowerShell command to put a CanNotDelete lock on the SOA record has a misplaced space.
-ResourceType" Microsoft.Network/DNSZones/SOA" should be -ResourceType "Microsoft.Network/DNSZones/SOA"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0290c16b-f205-94bb-23c3-4981ec8b0ac3
Version Independent ID: 3ad049c0-a292-c616-06e6-8d7b4b3dd756
Content: Protecting DNS Zones and Records - Azure DNS
Content Source: articles/dns/dns-protect-zones-recordsets.md
Service: dns
GitHub Login: @rohinkoul
Microsoft Alias: rohink

@gerardvanderland Thank you for bringing this to our attention. We will get a PR filed and a fix published to the public facing version of the document.


Zappa deployment throwing 404 error

Context
I am using connexion for my Flask application. I am getting a 404 error \ while accessing teh endpoint. I have tried to dummy down the issue I am facing at https://github.com/ctippur/zappa-connexion-sample

I have had success deploying applications using connexion and zappa. I am trying to use newer versions of the libraries to deploy code. Looks like the app gets initialized but I get a 404 error on any endpoint.
I am able to test locally without any issues.
I also downloaded the lambda code and was able to run the application locally as well.

My python version is 3.6.3
Zappa version - 0.48.2
Expected Behavior

The '/' endpoint should return the current time.
Actual Behavior

I get a 404 error.
Possible Fix

Steps to Reproduce

https://github.com/ctippur/zappa-connexion-sample/blob/master/README.md
Your Environment

Zappa version used: 0.48.2
Operating System and Python version: MacOS High Sierra 10.13.2
The output of pip freeze:https://github.com/ctippur/zappa-connexion-sample/blob/master/requirements.txt
Link to your project (optional): https://github.com/ctippur/zappa-connexion-sample
Your zappa_settings.py:  https://github.com/ctippur/zappa-connexion-sample/blob/master/zappa_settings.json

Do you see the time when you access /dev/?

It’s the same case
Sent from my iPhone

On Apr 3, 2019, at 13:06, João Miguel Neves<EMAIL_ADDRESS>wrote:
Do you see the time when you access /dev/?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

https://um8wz2hhyh.execute-api.us-east-1.amazonaws.com/dev/ that’s the link
Sent from my iPhone

On Apr 3, 2019, at 14:00, Shekar Tippur<EMAIL_ADDRESS>wrote:
It’s the same case
Sent from my iPhone

On Apr 3, 2019, at 13:06, João Miguel Neves<EMAIL_ADDRESS>wrote:
Do you see the time when you access /dev/?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Any takers on this please? I am completely blocked.

Hi, it looks like you may have figured this out already. Based on this issue , try updating your zappa_settings.json line from
"app_function": "swagger_server.app.app"
to
"app_function": "swagger_server.app"

Hi all,
I faced the same issue and came here for the solution, and @michellecsw comment helped me a lot.
For any one who's reading this comment, I believe in any case if you get Code: 404 for the API request you may find this issue here. This is actually not an issue in the zappa library. When we prepare the zappa settings file, we need to make sure Flask app is accessible from zappa framework. i.e. lambda handler in zappa only calls the method app.run(port=PORT). Hence the prerequisites must be done.


Taylorwaggoner update members

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 250 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~5 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Deploy preview for landscape failed.
Built with commit 20f2146bc66f3be64d41890fb24fef56c99ac621
https://app.netlify.com/sites/landscape/deploys/5d44ad402884c10008c122d5

Deploy preview for landscape ready!
Built with commit d3e667ac2faddd9756a1063165f120c252a8e74c
https://deploy-preview-1340--landscape.netlify.com

LGTM


69 add capacity for footnotes in tables

I recovered the file and made the updates to the footnotes with Luca.

Closes #69
Closes #67

@kwheelan thanks for this during busy times.
So we met on Thursday and @sarraha786 had a certain idea for modifying ACFR template so that the footnote 'Note:' message doesn't show on certain sheets, but now thinking about it doing this on Python might be easier?
Regarding testing by Marc's contacts, I still need to check this but I think they used the main branch code. So I need to run their templates against our latest dev code to see if it's different.
I've also just made a PR for a quick fix--realized page wasn't loading after conversion was complete.

@lucakato Sounds good -- I think doing it in Python would be easier, but either way works

Hi, I addressed the edits for the readme and changing the name of the file,
but I ran into this message on my terminal and I wanted to run it by you
both before I do anything.
[image: Screen Shot 2024-10-01 at 11.50.05 AM.png]
On Mon, Sep 30, 2024 at 8:53 AM Katrina Wheelan @.***>
wrote:

@lucakato https://github.com/lucakato Sounds good -- I think doing it
in Python would be easier, but either way works
—
Reply to this email directly, view it on GitHub
https://github.com/closup/process-xbrl/pull/95#issuecomment-2383108005,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATD6TK6LNLIUPXUFKSNARR3ZZFCUBAVCNFSM6AAAAABOQ2DIBOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBTGEYDQMBQGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Sarrah Ahmed(She/Her)
University of Michigan | Class of 2024
School of Information  | BSI
248.971.4092 | @.* | LinkedIn
https://www.linkedin.com/in/sarrah-ahmed-b80861187/

Hi, I addressed the edits for the readme and changing the name of the file, but I ran into this message on my terminal and I wanted to run it by you both before I do anything. [image: Screen Shot 2024-10-01 at 11.50.05 AM.png]

the image doesn't show!

Hi, I addressed the edits for the readme and changing the name of the file, but I ran into this message on my terminal and I wanted to run it by you both before I do anything. [image: Screen Shot 2024-10-01 at 11.50.05 AM.png]
…
On Mon, Sep 30, 2024 at 8:53 AM Katrina Wheelan @.> wrote: @lucakato https://github.com/lucakato Sounds good -- I think doing it in Python would be easier, but either way works — Reply to this email directly, view it on GitHub <#95 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATD6TK6LNLIUPXUFKSNARR3ZZFCUBAVCNFSM6AAAAABOQ2DIBOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBTGEYDQMBQGU . You are receiving this because you were mentioned.Message ID: @.>
-- Sarrah Ahmed(She/Her) University of Michigan | Class of 2024 School of

Information | BSI<PHONE_NUMBER> | @.* | LinkedIn https://www.linkedin.com/in/sarrah-ahmed-b80861187/

Hi, I addressed the edits for the readme and changing the name of the file, but I ran into this message on my terminal and I wanted to run it by you both before I do anything. [image: Screen Shot 2024-10-01 at 11.50.05 AM.png]

the image doesn't show!

@sarraha786 have you tried git pull? what happens when you do git status?
also, I recommend using GitHub Desktop it'll make things easier


TapTargetSequence doesn't work after the first launch

[✓] I have verified the issue exists on the latest version
[✓] I am able to reproduce it

Version used:
1.12.0
Android version:
9
Hi,
Thanks for your library, it's very nice !
I am currently trying to create a button to launch a "tutorial".
Everything works fine for the first launch.
Once the sequence is finished, I can no longer restart the same sequence from the beginning.
An animation is launched beforehand and it works as well as a Toast for every launch but the sequence does not work. Did I miss something?
Declaration of TapTargetSequence :
TapTargetSequence tapTargetSequence = new TapTargetSequence(this)
Declaration of Help Button :
final ImageButton helpButton = findViewById(R.id.helpButton);
For each target :
tapTargetSequence.target(TapTarget.forView(view, mode, description)
                        .cancelable(false)
                        .tintTarget(true)
                        .transparentTarget(true)
                        .outerCircleColorInt(color)
                        .textColor(R.color.white)
                    );

Help button onClick :
helpButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        menu.open(true);
                        Handler handler = new Handler();
                        handler.postDelayed(new Runnable() {
                            public void run() {
                                Toast.makeText(ConnectBluetoothActivity.this, "Tutorial start !", Toast.LENGTH_SHORT).show();
                                tapTargetSequence.start();
                            }
                        }, menu.getDurationOpen());

                    }
                });

Minipomme

Okay it's working but I don't know if it's the good practice
TapTargetSequence tapTargetSequence;
List<TapTarget> tapTargets = new ArrayList<>();

tapTargets.add(TapTarget.forView(view, mode, description)
	.cancelable(false)
	.transparentTarget(true)
	.outerCircleColorInt(color)
	.textColor(R.color.white)
);

helpButton.setOnClickListener(new View.OnClickListener() {
	@Override
	public void onClick(View view) {
		tapTargetSequence = new TapTargetSequence(ConnectBluetoothActivity.this);

		for (TapTarget tapTarget : tapTargets) {
			tapTargetSequence.target(tapTarget);
		}
		menu.open(true);
		Handler handler = new Handler();
		handler.postDelayed(new Runnable() {
			public void run() {
				tapTargetSequence.start();
			}
		}, menu.getDurationOpen());

	}
});


IPC error on every shutdown

Do a search, reload window:
  ERR Cannot read property 'trigger' of null: TypeError: Cannot read property 'trigger' of null
log.ts:171
    at Object.onLastListenerRemove (file:///Users/roblou/code/vscode/out/vs/base/parts/ipc/node/ipc.cp.js:107:46)
    at Object.dispose (file:///Users/roblou/code/vscode/out/vs/base/common/event.js:116:56)
    at Object.onLastListenerRemove (file:///Users/roblou/code/vscode/out/vs/base/common/event.js:599:46)
    at Object.dispose (file:///Users/roblou/code/vscode/out/vs/base/common/event.js:116:56)
    at file:///Users/roblou/code/vscode/out/vs/base/common/lifecycle.js:19:56
    at Array.forEach (<anonymous>)
    at Object.dispose (file:///Users/roblou/code/vscode/out/vs/base/common/lifecycle.js:19:19)
    at FileWatcher.dispose (file:///Users/roblou/code/vscode/out/vs/workbench/services/files/node/watcher/nsfw/watcherService.js:89:42)
    at file:///Users/roblou/code/vscode/out/vs/workbench/services/files/node/watcher/nsfw/watcherService.js:62:47
    at Object.dispose (file:///Users/roblou/code/vscode/out/vs/base/common/lifecycle.js:41:41)
    at RemoteFileService.FileService.dispose (file:///Users/roblou/code/vscode/out/vs/workbench/services/files/electron-browser/fileService.js:859:55)
    at Emitter.fire (file:///Users/roblou/code/vscode/out/vs/base/common/event.js:154:41)
    at EventEmitter.<anonymous> (file:///Users/roblou/code/vscode/out/vs/platform/lifecycle/electron-browser/lifecycleService.js:65:35)
    at emitTwo (events.js:126:13)
    at EventEmitter.emit (events.js:214:7)

Similar
TypeError: d.dispose is not a function
    at lifecycle.ts:24
    at Array.forEach (<anonymous>)
    at dispose (lifecycle.ts:24)
    at dispose (lifecycle.ts:34)
    at Set.forEach (<anonymous>)
    at ChildProcess.<anonymous> (ipc.cp.ts:227)
    at emitTwo (events.js:126)
    at ChildProcess.emit (events.js:214)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198)


Swamy/28aug2022 deploy docker image to aks

Codecov Report

Merging #115 (571f33e) into main (47cc293) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #115   +/-   ##
=======================================
  Coverage   36.15%   36.15%
=======================================
  Files          12       12
  Lines         260      260
=======================================
  Hits           94       94
  Misses        166      166

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Skill Exp Cards

///Note!! you may know about many of these things already. These are just reminders with a bit of context to help out.\\
-Skill Exp Cards: Context: skill exp cards consist of moms (URs) https://llsif.fandom.com/wiki/Idols'_Mothers , purple (SSRs) , classmates (SRs) and yazawa kids (R's) currently only yazawa kids and I think classmates are obtainable through Live chest awards. To obtain all of them players will need a scouting banner, or exchange for them through sticker shop & point shop. (Shop -> Sticker Shop or Shop -> Point Shop) Credit to r0dr4t for skill exp reminder! In regard to the scouting banner, players were forced to use blue tickets to get skill exp, which was exchangeable through the Sticker Shop.
Thank you auahdark. <3

For now, support units can be obtained through serial codes. 1fd7c161eff56de2ec57aed33c52660d8dda68c8
The serial code is: https://youtu.be/Qk4KcP1VGIc (yes, the URL is the serial code).


Speech Sample Solution

PLEASE put up accurate info!!!!!    Got the Azure keys.  Downloaded the sample form Nuget.  Made the changes and copied the code.  Project build no issues.  WONT CONNECT.  No issues with the code so debugger doesn't kick out.   Tried new codes etc.  Nothing.    I am thinking credential issue.   SpeechFactory wants strings for keys and region.   Azure gives me an endpoint URL.   ON A LARK I plug in the  region part of the url.  NOW IT WORKS!!  Guys there is nothing that even remotely points in that direction.  The sample code just says "insert your info here".  No example of what it should be.  The MSDN docs for SpeechFactory.FromSubscription just say to pass a string.  No example of what it should.    Create new solution,  new console project, go to Nuget. etc.. complete pix.  BUT NOTHING FOR THIS.  Azure just say make API call to https://westus.api.cognitive.microsoft.com/sts/v1.0.    Cant bill client for hours lost due to this<EMAIL_ADDRESS>
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 862500ac-276e-ebad-c555-97ab0f5c5cd5
Version Independent ID: 9a4351c7-4d98-f2b7-9fb1-8ae1c00f23b6
Content: Quickstart: Recognize speech using the Cognitive Services Speech C# SDK for Windows - Microsoft Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/quickstart-csharp-windows.md
Service: cognitive-services
GitHub Login: @wolfma61
Microsoft Alias: wolfma

@glerler Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@wolfma61 Hi, this is a document suggestion, can you please check it and update the document as necessary? Thanks a lot!

You points for the followup and response.

List of regions and the correct string to use ?   I went looking and if such an animal exists I couldn't find it.
2.
Portal just gives a URL endpoint to make calls to along with the keys.  No mention of regions.
3.
I got it to work by pulling what looked like region out of the URL string.
Thanks for the timely response
Glenn L. Erler
Erler Technology Associates
Site Development – Network Support – DB Solutions
Glenn<EMAIL_ADDRESS>480.200.6000
The document(s) and/or file(s) attached to, and the contents of this email is intended only for the individual or entity to which it is addressed, and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by telephone and email and delete this and any copies permanently from your system.

From: Mark Hillebrand<EMAIL_ADDRESS>Sent: Wednesday, June 27, 2018 11:27:27 AM
To: MicrosoftDocs/azure-docs
Cc: Glenn Erler; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Speech Sample Solution (#10825)
Thanks, @glerlerhttps://github.com/glerler, for the feedback, and sorry for the confusion.
For now we've added an example of a region into the code, cf. https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-csharp-windows, and also added a new region overview page, https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions.
The API reference docs will be changed as well, but they are on a different publishing cadence and will see the update only on the next refresh of the Speech SDK.
Hope this helps,
Mark
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/10825#issuecomment-400783605, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACsXhzMvdKDajWt9rbzsvABv3T7qfKsbks5uA86PgaJpZM4U4qcr.

#please-close

The sample has been updated.
The supported regions are now listed on the regions page.

@glerler
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


Fix too-small request sizing after making a large request.

Background:
To minimize the number of requests, nearby features are grouped into batches which can be fetched in a single request. While processing the first feature of the batch, we fetch all the data we need for the entire batch.
However, because our HTTP library holds the entire request in memory, to keep memory usage reasonable, there was logic to cap the max size of that http request.
Bug:
If you ever hit that max http request size while fetching a feature batch, each subsequent feature in that batch would require 2 requests per feature — one to read the feature's length and another to read the feature's data.
This could add up to a lot of requests - see https://github.com/a-b-street/15m/pull/8#issuecomment-2237792900
This faulty logic would fix itself upon starting the subsequent feature batch, until/unless another large request was encountered.
Fix:
We now calculate the size of the batch each request, rather than just once per batch.
I also added a test client to test this and hopefully any other future request related bugs in the future.

Sorry, I don't think this is ready to merge yet. The actual http client we use is behaving pretty differently from the test API client. Which is not giving me a lot of confidence in the testing strategy I just introduced. 😞
I think it might be an interaction between the built in "generic" overfetch strategy of our chosen http library and the more fine tuned overfetch strategy in this library.

After a good night's rest, I realized it is in fact fixed!
The thing that confused me was the new logging in our http library. It looks like this:
TRACE [read_logger] Read 64778736-64778739 (4 bytes). Total requests: 4579 (7912092 bytes),read,64778736,64778739,4,4,4579,7912092
TRACE [read_logger] Read 64778740-64779295 (556 bytes). Total requests: 4580 (7912648 bytes),read,64778740,64779295,556,556,4580,7912648
TRACE [read_logger] Read 65180376-65180379 (4 bytes). Total requests: 4581 (7912652 bytes),read,65180376,65180379,4,4,4581,7912652
DEBUG [read_logger] Read 65180376-65182287 (1912 bytes). Total requests: 44 (14523928 bytes),http-range,65180376,65182287,1912,4,44,14523928
TRACE [read_logger] Read 65180380-65180895 (516 bytes). Total requests: 4582 (7913168 bytes),read,65180380,65180895,516,516,4582,7913168
TRACE [read_logger] Read 65180896-65180899 (4 bytes). Total requests: 4583 (7913172 bytes),read,65180896,65180899,4,4,4583,7913172
TRACE [read_logger] Read 65180900-65181359 (460 bytes). Total requests: 4584 (7913632 bytes),read,65180900,65181359,460,460,4584,7913632
TRACE [read_logger] Read 65181360-65181363 (4 bytes). Total requests: 4585 (7913636 bytes),read,65181360,65181363,4,4,4585,7913636
TRACE [read_logger] Read 65181364-65181831 (468 bytes). Total requests: 4586 (7914104 bytes),read,65181364,65181831,468,468,4586,7914104
TRACE [read_logger] Read 65181832-65181835 (4 bytes). Total requests: 4587 (7914108 bytes),read,65181832,65181835,4,4,4587,7914108
TRACE [read_logger] Read 65181836-65182287 (452 bytes). Total requests: 4588 (7914560 bytes),read,65181836,65182287,452,452,4588,7914560

At I glance, I saw "Total requests: 4588" which would be an absurdly high number of http requests. That's what gave me pause.
But upon closer inspection, I realized that as well as http-requests, the http-client logs reads from it's in own in memory buffer. There are two slightly different kinds of log lines, the lines are labeled in their second comma delimited field with read or http-range. read corresponds to the in memory buffer, and the http-read ones correspond to the number of http requests.
So actually, this bbox query requires 44 http requests, which is pretty reasonable given the dataset / query.

Just confirming this fix works excellently in for a case with 1000s of tiny polygons packed together. An example goes from >1000 requests (mostly with ~300 byte responses) and over 30s of waiting to ~30 requests and subsecond. Thanks again!

Thanks for testing @dabreegster, and with I will approve and merge. :)

@michaelkirk thanks for this nice improvement!


Different behaviour between coordinate extent and parent extent

What platform were you using when you found the bug?

React Flow / Svelte Flow version: 12

Live code example
https://codesandbox.io/p/sandbox/frosty-raman-vz4qfz
Describe the Bug
Extent "parent" will prevent the node from exiting the parent, while a coordinate extent will prevent only the node origin from exiting the extent.
Steps to reproduce the bug or issue
Make a child node with coordinate extent
Expected behavior
Child node is entirely limited to the extent same as when using "parent" extent
Screenshots or Videos
No response
Additional context
No response

This is fixed in the newest release 12.3.0


Set final version for beta 12.0

Codecov Report

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

@@           Coverage Diff           @@
##           master     #665   +/-   ##
=======================================
  Coverage   81.69%   81.69%
=======================================
  Files          72       72
  Lines        2731     2731
=======================================
  Hits         2231     2231
  Misses        500      500

Flag
Coverage Δ

#py27
81.67% <ø> (ø)
:arrow_up:

#py36
81.67% <ø> (?)

#py37
81.67% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


bug/infer_table_structure usage not used by all partitioners

Describe the bug
Currently the infer_table_structure and skip_infer_table_types parameters of the auto() partition method only gets applied to images and pdf doc types. This should be taken into account for any other partitioners that extract table content.
To Reproduce
Run a pptx doc (i.e. example-docs/layout-parser-paper-with-table.jpg) through the partition method and it can be viewed that no matter what the parameters are set to, the text_as_html is still populated with the table content.
Expected behavior
Running the partitioner over any doc type with the right parameter combination will omit table data.

FYI in https://unstructured-io.github.io/unstructured/bricks/partition.html we have a table that shows all doc type with table support

@rbiseck3 are we sure that's the behavior we want?
To me, infer_table_structure means "take extra time to use inference to detect tabular structures from images where no explicit tabular structure is available".
In the case of DOCX, PPTX, and HTML, that explicit table structure is immediately available and there is no perceptible time penalty for computing the .text_as_html once we have the text.
I'm inclined to think this behavior is already just how we would want it. If an end-user has no use for .text_as_html they can simply ignore it, as they would most metadata I expect for any given element.

Closing, we did a refactor on skip_infer_table_types and infer_table_structure in the spring.


Seeing issue with the deployment on chef 12.22.1 after recent update to this cookbook

:speaking_head: Foreword
Thank for taking the time to fill this bug report fully. Without it we may not be able to fix the bug, and the issue may be closed without resolution.
:ghost: Brief Description
A clear and concise description of what the bug is.
Getting NoMethod Error  -----> unified_mode true
:pancakes: Cookbook version
Version of the cookbook where you are encountering the issue. 7.0.0
:woman_cook:  Chef-Infra Version
Version of chef-client in your environment. - 12.22.1
:tophat: Platform details
Operating system distribution and release version. Cloud provider if running in the cloud.
chef_version=12.22.1
platform=amazon
platform_version=2018.03
Steps To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

:police_car: Expected behavior
A clear and concise description of what you expected to happen.
:heavy_plus_sign: Additional context
Getting this error from this morning
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/cron/resources/access.rb
NoMethodError
undefined method `unified_mode' for #Class:0x0000000004d93790
Cookbook Trace:
/var/chef/cache/cookbooks/cron/resources/access.rb:24:in `class_from_file'
Relevant File Content:
/var/chef/cache/cookbooks/cron/resources/access.rb:
17:  # Unless required by applicable law or agreed to in writing, software
18:  # distributed under the License is distributed on an "AS IS" BASIS,
19:  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20:  # See the License for the specific language governing permissions and
21:  # limitations under the License.
22:  #
23:
24>> unified_mode true
25:
26:  property :user, String,
27:            name_property: true
28:
29:  action :allow do
30:    with_run_context :root do
31:      edit_resource(:template, '/etc/cron.allow') do |new_resource|
32:        source 'cron_manage.erb'
33:        cookbook 'cron'

Resolved in #135


How do you use the provided sorts with browserify?

The README says to use the following with browserify:
// npm install tablesort
var tablesort = require('tablesort');

tablesort(el, options);

But what if I want to use (for example) tablesort.number.js? I couldn't find an easy way to use this from browserify, so I ended up copying the tablesort.number.js code.
Thanks for an excellent library.

See dupe of https://github.com/tristen/tablesort/issues/94


New prometheus config

Why I am making this change
I thought it would be good to have an example config for scraping the log-cache-adapter.
What approach I took
You run the ./run-prom.sh bash script, and it runs prometheus and a
background job to regularly refresh the oauth bearer token from cloud
foundry.

Whats the best way of reviewing this?
I think I've got it running, not sure what we should be expecting

I guess have an explore of things you get for the query {job="log_cache_adapter"} and see if you get any useful metrics?

This is a useful query for working out what kinds of metrics are available -
sum by(__name__)({job="log_cache_adapter"})
I've added it as part of my PR - https://github.com/alphagov/prometheus-aws-configuration-beta/pull/147, as I think it's a useful way of starting on the journey of writing alerts.
Any ideas as to what the metrics here in the log_cache_adapter mean?

@kentsanggds log-cache-adapter is the thing that will hopefully replace paas-metric-exporter. so there should be cpu, memory, disk usage, requests, that kind of thing.

@kentsanggds I don't think that matters for the purpose of this PR. This PR is just to show people how they can grab the metrics in the first place


XDM Lifecycle Data

[x] Lifecycle Data sent as XDM events
[x] Device and Environment info as XDM data
[ ] Share data as XDM Shared State
[x] End to end testing
[x] Document the automatically collected data

@emdobrin We can create a separate issue for Phase 2 which includes  Share data as XDM Shared State based on our plans.
`


Add dependency getter makefile rule

Looks like I forgot to automagically install Net::XMPP for folks. I'll probably need similar for IRC bot module code I'm working on.
Anyways, then I can just make my dep rule get fired off as part of make test and make installl. See PR #1

Resolved via 07b4f2567c04d7af6f6eb75395b68d1bc60ddbe7


Switch window Issue

I try all three way called select window by url, name and title but getting same error.
my xpath is correct i also verify that.
here is my sample code
################### Clicking below link open new window
Click Link   xpath=//div/a[contains(text(),'Browse')]
Capture Page Screenshot
${window_names}=    Get Window Names
${main_window_name}=   Get From List   ${window_names}  0
${child_window_name}=   Get From List   ${window_names}  1
#${child_window_url}=   Switch To Window    ${child_window_name}
Select Window   name=${child_window_name}
  ################### Below screen shot also give child window screen shot
Capture Page Screenshot
    ################### below line give an error

Create Equipment IO                                                   | FAIL |
Element 'xpath=//a[text()='Planned Devices']' did not appear in 5 seconds
Wait Until Page Contains Element   xpath=//a[text()='Planned Devices']

Hi Sunil,
Even I found the problem in Switch window so I have added an extra Keyword in Browser library which will support such scenario. Even switch to Frame was not Fluent .
You can implement using multiple ways , below is one example where you can switch to another window by Page Title ( You can apply any other content Logic):
@RobotKeyword
@ArgumentNames({"windowsTitle"})
public void changeFocusToWindow(String windowsTitle) throws InterruptedException {

			WebDriver driver = getCurrentWebDriver();
	Set<String> windowsHandle = getWindowsHandler();
	logging.info("Count of open Windows by WebDriver Instance "+windowsHandle.size());
	for (String sHandler : windowsHandle) {

		if (driver.switchTo().window(sHandler).getTitle().contains(windowsTitle)) {
			//windowHandleDriver=driver.switchTo().window(sHandler);
			logging.info("After Window context Switch the current working Window Page title is " + driver.getTitle());
			break;
		}
	}
}

Let me know if any issue.

@sunil31925
You can copy the code and try. The above code works for me as the driver instance is single and we are switching between the windows.
Try and let know .

Ok, now it's work for me. Thanks you so much
Sent from my iPhone

On Jul 26, 2015, at 6:35 PM, Asit<EMAIL_ADDRESS>wrote:
@sunil31925
You can copy the code and try. The above code works for me as the driver instance is single and we are switching between the windows.
Try and let know .
—
Reply to this email directly or view it on GitHub.

No worries Sunil.
Which company you work for and are you liking the Robot Framework ?

Trail demo going on let see how's thing going
Sent from my iPhone

On Jul 28, 2015, at 6:52 PM, Asit<EMAIL_ADDRESS>wrote:
No worries Sunil.
Which company you work for and are you liking the Robot Framework ?
—
Reply to this email directly or view it on GitHub.

Its simple and useful if manual testing team use the Robot Default or user generated keywords to convert test cases to Robot Test cases steps. But if that's not the case and for a complex project and application under test is complex where you have AJAX and FRAMES, multiple windows then you have to think.
I started using from few months but I like to code in Java rather call the keywords . Good if you implement EventfiringwebDriver top of the default WebDriver and work on that. This way beforeElement click you can add a common selenium EXPECTEDCONDTION.
Good luck
Cheers
Asit


Add a one piece anime quiz game

Is your feature request related to a problem? Please describe.
A simple game to enhance your one piece knowledge
Describe the solution you'd like.
Quick recap of all the major fun arcs of one piece
Describe alternatives you've considered.
mobile apps but they take up a lot of your phone storage
Add any other context or screenshots about the feature request here.
No response

Please assign this issue to me @swapnilsparsh

@samarsajad Thank you for providing your insight but it is not required as of now


refactor: Upgrade mobx and mobx-react

Optimize root store
Fix App detail helm body css
Fix home, app test to fit with mobx

fix #227

fix #319


badges regarding log and syslog are incorrect

Hi some of the crate badges have wrong version on them (the link is prepared for different crate for instance clap for log)
Also in intro.md the category is "command line" instead of debugging for the log related examples.
Some of these problems are fixed in https://github.com/brson/rust-cookbook/pull/70
I will fix it later today once pulls are settled.

Thank you! Eventually we could even have a test that runs in Travis and makes sure all the badges are hooked up correctly.

I guess that it would have to be done anyway as currently there is no connection between version on the badge and one in the Cargo.toml which will be a problem at some point.


can not install 0.5.1 bee

i can upgrade bee from 0.5.0 to 0.5.1.
but if i install without previous version of bee, it stops
root@Bee09:~# sudo dpkg -i bee_0.5.1_amd64.deb
Selecting previously unselected package bee.
(Reading database ... 143695 files and directories currently installed.)
Preparing to unpack bee_0.5.1_amd64.deb ...
Unpacking bee (0.5.1) ...
Setting up bee (0.5.1) ...

I'm having the same issue on Centos 8, can't even revert back to the older version with older data

@iljooyoon can you please explain what if i install without previous version of bee, it stops means?
what stops?

@XO39

what files were in conflict?
we explicitly check if that folder exists and create if not https://github.com/ethersphere/bee/blob/master/packaging/rpm/pre#L9
please collect logs with sudo journalctl -f -u bee

@vandot Sorry, I don't really remember those file, after more than ten retries to make work, at the end I had to downgrade to v0.5.0 get it working again, unfortunately I had to start over without the backup files, that means new ethereum address and all. :(

But since I just started over from scratch, I'll try to do the upgrade again and report again here in this issue.

Here is what I've tried so far:
With older version of both bee-clef (v0.8.7) and bee (v0.5.0) installed, I tried the following:

sudo rpm -i bee-clef_0.4.8_amd64.rpm, got the following errors:
  file /usr/bin/bee-clef-keys from install of bee-clef-0:0.4.8-1.x86_64 conflicts with file from package bee-clef-0:0.4.7-1.x86_64
  file /usr/bin/bee-clef-service from install of bee-clef-0:0.4.8-1.x86_64 conflicts with file from package bee-clef-0:0.4.7-1.x86_64
  file /usr/bin/clef from install of bee-clef-0:0.4.8-1.x86_64 conflicts with file from package bee-clef-0:0.4.7-1.x86_64

Then: sudo rpm -U bee-clef_0.4.8_amd64.rpm , this worked.

And then I did sudo rpm -i bee_0.5.1_amd64.rpm, failed with the following errors:

 file /etc/bee/bee.yaml from install of bee-0:0.5.1-1.x86_64 conflicts with file from package bee-0:0.5.0-1.x86_64
 file /usr/bin/bee from install of bee-0:0.5.1-1.x86_64 conflicts with file from package bee-0:0.5.0-1.x86_64
 file /usr/bin/bee-get-addr from install of bee-0:0.5.1-1.x86_64 conflicts with file from package bee-0:0.5.0-1.x86_64

Then I did sudo rpm -U bee_0.5.1_amd64.rpm this finally works, but sudo bee-get-addr stopped working, and it just hangs with no output at all.

Then I just removed every thing and started over from scratch:

sudo rpm -i bee-clef_0.4.8_amd64.rpm no issue
sudo rpm -i bee_0.5.1_amd64.rpm this didn't work, just hangs forever and I had to cancel it with Ctrl-C, and then get this error chown: cannot access '/var/lib/bee/keys': No such file or directory, but also says it already installed, and the /var/lib/bee// only contains the password file and nothing else.
sudo yum remove -y bee I had to remove it, then;
sudo rpm -i bee_0.5.0_amd64.rpm this works, then;
sudo rpm -U bee_0.5.0_amd64.rpm this also works, but again, sudo bee-get-addr stopped working, and it just hangs with no output at all.
After I start the bee service and check the status, it just doesn't work, I only get one line of log: time="xxxx-xx-xx xx:xx:xx" level=info msg="version: 0.5.1-65ec2d0" and nothing else, and the log is also the same. But if I set clef-signer-enable to false, I then get output, but this time with this warning: cannot continue until there is sufficient ETH (for Gas) available on xx..., althogh I've funded the account from the Disocred #faucet-channel.

@iljooyoon can you please explain what if i install without previous version of bee, it stops means?
what stops?
Installation has stopped. Please understand that English is poor.

@XO39 thank for the report, I checked it now, you are right for rpm -i and  rpm -U we will change it inside docs to yum localinstall you use same command for install and upgrade, after the upgrade bee and bee-clef should be started but they are not, I will fix this
@iljooyoon new/fresh install doesn't automatically start the service, because you first have to fund the node etc, after fresh install you have to sudo systemctl start bee
for both main issues were caused by bad bee-clef 0.4.8, its fixed in bee-clef 0.4.9

@XO39 thank for the report, I checked it now, you are right for rpm -i and rpm -U we will change it inside docs to yum localinstall you use same command for install and upgrade, after the upgrade bee and bee-clef should be started but they are not, I will fix this
@iljooyoon new/fresh install doesn't automatically start the service, because you first have to fund the node etc, after fresh install you have to sudo systemctl start bee
for both main issues were caused by bad bee-clef 0.4.8, its fixed in bee-clef 0.4.9

hm... "stop" means..
if i type "root@Bee09:~# sudo dpkg -i bee_0.5.1_amd64.deb"
then install logs appear, and stop.
prompt doesn't appear
[error]
root@Bee09:~# sudo dpkg -i bee_0.5.1_amd64.deb
Selecting previously unselected package bee.
(Reading database ... 143695 files and directories currently installed.)
Preparing to unpack bee_0.5.1_amd64.deb ...
Unpacking bee (0.5.1) ...
Setting up bee (0.5.1) ...
[normal]
root@Bee09:~# sudo dpkg -i bee_0.5.1_amd64.deb
Selecting previously unselected package bee.
(Reading database ... 143695 files and directories currently installed.)
Preparing to unpack bee_0.5.1_amd64.deb ...
Unpacking bee (0.5.1) ...
Setting up bee (0.5.1) ...
~~  maybe some more logs.. ~~
root@Bee09:~#

This bug was fixed in bee-clef 0.4.9.


Ruby missing ?

Currently removing default system Ruby. I guess I could leave that in, but not going to advertise it as part of the features until we actually have a recommended setup for it.

Ref https://github.com/jpadilla/juicebox/blob/master/scripts/minimize.sh#L18

There could very well be a Python, Ruby, or Go focused version of Juicebox so I don't think it's a bad thing to remove Ruby.

@froi Maybe. Existing build has a custom build and setup for Python and Go. Decided to remove the default system Ruby because it didn't follow that customized/recommended setup that I did with the others. If there's anyone doing Ruby workshops or has a good setup I'd love to have it included as well.

@jpadilla is the custom/recommended setup derived from somewhere or just how you like it?

@froi I guess it's how I like it, based on "experience". Not saying it's the only or best way though.
Using apt-get or not, I guess it depends. Some things don't have an updated official repository, so either use one that is, or just a manual installation.
Re: java.sh it'd be interesting to see what's the size of the final OVA with that.

Resolved in 839ce71f1dfaa533cd6dcdd68c50c38d3c40b4a2


Macro: When switching from macro mode to micro mode from full screen mode, full screen mode is reset and viceversa

Steps to Reproduce

Open Ketcher and switch to Macro mode
Make full screen mode
Switch to Micro mode
Repeat same steps for Micro mode

Actual behavior
When switching from macro mode to micro mode from full screen mode, full screen mode is reset and viceversa
Expected behavior
When switching from macro mode to micro mode from full screen mode, full screen mode is preserve and viceversa
Screenshots
https://github.com/epam/ketcher/assets/62464241/be524afc-8469-4c9c-bee3-be02880f4e61
Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 112.0.5615.138 (Official Build) (64-bit)

Ketcher version
Version 2.17.0-rc.1

Autotests added.


Tunde asked for the numbers to be a counter, I said we should evaluate that as a stretch goal when we are finished with the site as it is

To determine what is their highest priority stretch goal

this is a strech goal


Multiadmin in the latest version does not work in Tcadmin Panel

When trying to start the server it constantly gives this error
[15:54:34] Starting this instance with config directory: "configuracion-del-servidor"...
[15:54:34] Using global config "scp_multiadmin.cfg"...
[15:54:34] Using server config "configuracion-del-servidor\scp_multiadmin.cfg"...
[15:54:34] Executing "SCPSL.exe"...
[15:54:34] Starting server with the following parameters:
SCPSL.exe -multiadmin:<IP_ADDRESS>:1 -batchmode -nographics -silent-crashes -nodedicateddelete -id15744 -console61715 -port7777 -logFile logs\2021-02-01_15_54_34_SCP_log_7777.txt -sharenonconfigs -configpath configuracion-del-servidor -appdatapath configuracion-del-servidor
[15:54:34] MultiAdmin v<IP_ADDRESS> (https://github.com/ServerMod/MultiAdmin/)
Released under MIT License Copyright c Grover 2021
Unhandled Exception: System.InvalidOperationException: Cannot see if a key has been pressed when either application does not have a console or when console input has been redirected from a file. Try Console.In.Peek.
   at System.Console.get_KeyAvailable()
   at MultiAdmin.ServerIO.InputHandler.<WaitForKey>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MultiAdmin.ServerIO.InputHandler.<GetInputLineOld>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MultiAdmin.ServerIO.InputHandler.<Write>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

I don't know whether to create another Issue, so I'll put it here, I've had a problem for a long time that once a day the server freezes and does not write to the console again, it doesn't let the players enter and I have FastRound disabled and the Idle too.
I have tried to see the console when this happens at the moment I do not have older logs since they are deleted alone by the panel that I use, what if this file is created every time it happens
2021-02-24_03_54_MA_<IP_ADDRESS>_debug_log.txt

As of MultiAdmin v<IP_ADDRESS> you should be able to use console_input_system: Original as a workaround for this issue.


Sectors do not contain "Undefined", and term "Accessories" is not well defined

To be in line with the default behaviour of OSH, the sectors list needs to also contain the term "Undefined". In addition, when migrating from OAR, many apparel product types are called "Accessories", which may be mapped into that sector, so this term needs to be removed and replaced with "Home Accessories".

Data tables were amended.

I wouldn't say that all Accessories belong to one type of sector - e.g. there are automotive accessories, home accessories, apparel accessories. The term Accessories may be too broad / undefined to include in our sector list.
Apparel accessories maybe should map to Apparel, Automotive Accessories to Automotive and Home Accessories to Home Goods


Automate Tern's Release Process

This is a raw version and is currently in development.
@rnjudge @nishakm How is this for a start. I've tried to mimic the instructions in a user-friendly manner. Please suggest further improvements needed for the same.
For Issues: #885

Closing this as someone else has started work on it.


Muter has a verbose flag which reveals more information about what's happening while it's running

It could get very verbose, but I found it useful investigating an issue to be able to see the build and test process's standard output. Seeing the standard error may also be useful. see #72

This is issue is being closed as Muter now saves all the logs it writes into your project's root directory.


SQL Server Logon.aspx is always shown

Hi, everyone.
I have used the sample, however, Logon.aspx is shown with every request.
I set the forms cookie manually in the code, when I hit Logon.aspx the user is authenticated, however, the logon.aspx is shown anyway.
The url looks this way: serverName/ReportServer/logon.aspx?ReturnUrl=/ReportServer/localredirect?url=%252fReports.
An it goes again and again.
Does anyone know how to fix this issue?
Thank you

I've run in to this in an earlier version of SSRS (2014?). in my case it was just a typo and not following the sample to a "T".
If you are 100% that you have no config typos and all is in place as per the Sample Instructions, then I would locally debug this if/else:
        if (passwordVerified)
           FormsAuthentication.RedirectFromLoginPage(txtUser.Text, false);
        else
           Response.Redirect("logon.aspx");

...and maybe consider changing the 2nd Redirect parm (bool PersistantCookies) to true instead of false.
*in web.config of /ReportServer directtory- this is the line that tells SSRS to go to your custom Login.aspx page for auth (instead of using Windows/NTLM auth):

...make sure that is all good with no typos, etc.- might just be missing the sqlAuthCookie cookie due to accidental typo.

Hi, I ran into the an issue. I see error:
he permissions granted to user '*****' are insufficient for performing this operation. (rsAccessDenied) Get Online Help
I tried logging back in but the 'Settings' are now grayed out.
Any help you can provide.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83233

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/84244

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/91923

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/92036


feat: add Mempool and its API

This change is

Codecov Report
Attention: Patch coverage is 0% with 15 lines in your changes are missing coverage. Please review.

Project coverage is 58.88%. Comparing base (eba70cb) to head (17d9cd1).

Files
Patch %
Lines

crates/mempool/src/mempool.rs
0.00%
15 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #43      +/-   ##
==========================================
- Coverage   61.93%   58.88%   -3.06%
==========================================
  Files          10       11       +1
  Lines         289      304      +15
  Branches      289      304      +15
==========================================
  Hits          179      179
- Misses        105      120      +15
  Partials        5        5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add link to optunahub-registry

Motivation & Description of the changes

Add links to optunahub-registry and its documentation from the optunahub docs.

@HideakiImamura Could you review this PR?


Error in Input Component

Describe the bug
The Name isn't shown, otherwise the placeholder is shown in Input Component
To Reproduce
Steps to reproduce the behavior:

Go to (http://localhost:3000/users)
Click on edit of one user
See error

Expected behavior
The Name isn't shown, otherwise the placeholder is shown.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

So the bug is that the current user information is only shown as a placeholder instead of being "real" text?

Done
will be closed by #151


Semi colon between commands

There is a missing semi-colon in npm start

This is Indeed the way to set environment variables, No semi colon Needed.


updated with correct example for module

Change description

Description here

This PR is updating the README with an accurate example of what is expected when deploying
Type of change

[x] Bug fix (fixes an issue)
[ ] New feature (adds functionality)

Related issues

Fix #1

Checklists
Development

[ ] Lint rules pass locally
[ ] Application changes have been tested thoroughly
[ ] Automated tests covering modified code pass

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Code review

[ ] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
[ ] "Ready for review" label attached and reviewers assigned
[ ] Changes have been reviewed by at least one other contributor
[ ] Pull request linked to task tracker where applicable

@chrischildresssg I just went with the format/examples that were used before I started to update the README. Whatever direction we think is best, I open to.

It appears there's a conflict, unfortunately.  I see no reason not to approve, otherwise.


No BatchCount available in Python SDK

There is no batch_count argument available for the ForEachActivity() in the Python sdk. Looks like it just automatically defaults to 16 parallel copies at a time.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 633f2967-1c61-51de-5787-a6ca7ac5bdae
Version Independent ID: d2862926-36d8-4e84-0c93-afdef9e373e2
Content: ForEach activity in Azure Data Factory
Content Source: articles/data-factory/control-flow-for-each-activity.md
Service: data-factory
GitHub Login: @sharonlo101
Microsoft Alias: shlo

Thanks for the feedback! We are currently investigating and will update you shortly.

@gstream1 I see a 'batch_count' parameter here:
https://docs.microsoft.com/en-us/python/api/azure-mgmt-datafactory/azure.mgmt.datafactory.models.foreachactivity?view=azure-python
Is this not working or not what you are referring to?
We are closing this issue for now, but we can reopen anytime if you can clarify your issue.


Proposed new architecture

It might be about time to split this repository in 12. One for each consensus, CLI client, common utilities, interfaces and protobuf files (including a common error proto).
Here is what I'm envisioning:
Proposed architecture:

Already done major work in this direction with many crates inside a single workspace in the Rust code base.
Advantages:

We can work independently without stepping on each other's toes (as much!), i.e.: allow for independent evolvability
Complete rewrites can be made without involving others (as long as it keeps to consistent interface)
Smaller, highly coherent and lowly coupled Go modules are formed
Modules are also usable in the wider open-source community (as well as our own projects)
Simplified testing
Easier to train new engineers on the system
Stronger separation of concerns

Disadvantages:

Time investment to make the move
Difficulty in migrating code from other code-bases we're based on
In terms of Github metrics to advertise strong community, we won't have >1k commits to start with

Would welcome your thoughts.

I agree with all the points above. As the project becomes more complex with overlapping parts/ideas there is definitely a need for separation of concerns.
This will allow for:

greater plugabilty, trying new algorithms
testing and error tracking
maintainability / goal should be less overall complexity
reducing cognitive load etc.

Great idea.
Potential problems are:

There might be some overlap/issues with some modules using the same dependencies with different versions
volatile interface, especially in the beginning

I think it is not time to split go-lachesis repository in 12 yet. It might be sense if we have well working parts (consensus, network, etc) with no volatile interfaces. At the moment we don't have any of this: poset and posposet are in development stage now, poset and node is not splitted well, and so on. Partitioning by go-packages is enough for independently working at this stage. Single github repository is necessary for fast change review and discussion.
All we need is a review before merging (@Samuel ;)) and cover note for changes (@dev10 ;)). And some knowledge about other teams tasks through coordinator. Separated repositories don't make it easier.

The first question is what this repository is for?
If it is for lachesis consensus algorithm as stated in the name, then swirlds, paxos, raft consensus implementations in the scheme above should better be in separate repositories.
If it is for, let call it 'Fantom consensus algorithm', which implements all of mentioned above consensus algorithms it is better to rename the repo and reorganise internal structure of it reserving place for all these algorithms.
But the root question is that we are in fact having two implementations of lachesis algorithm which are conflicting for going into master of this repo. These implementations would share some basic functionality (e.g. transport protocol, serialisation), though would need some specific functionality (e.g. storage engines) for better performance.
I think it would be better to retain this repo for lachesis consensus algorithm only, so we place other consensus algorithms in separate repos, but the implementations of these algos should use basic functionalities of this repo as much as possible. Then we need to try to harbour two lachesis implementations in this repo to make them interchangeable until we see which is better.

@Maxime2, great! I am about the same. We have a few ways to implement Lachesis consensus:

src/poset - is a Swirlds transformation;
src/posposet - is coming in PR #161 (approve it, please);
lachesis prototype by @Maxime2  - is not published yet;

And it is nice for project, we will see which implementation is better later.

Thanks for your input. Will keep this proposal open for a little while, to give time for the team to give their viewpoints.
BTW: Here is what I was thinking in terms of repository dependency hierarchy:

For the -lib repositories, it may be useful to do version negotiation at the config level here, so we can have, e.g.: two versions of lachesis running side by side so we can:

experiment with upgrade scenarios;
benchmark changes
find bugs present in one version but absent in others (consensus-lib would implement generic consensus tests)

The shared common repository [repositories?] will do regular things like: logging, error handling, configuration handling and related, using proper libraries for this, but setting constants like log format, ensuring consistency across all our code bases.

As mentioned above, at this stage of development, divided into repositories can be premature and costly. Looks like dividing into go-packages in one repository will be enough for now. But maybe I just haven't information about implementation of the Raft, Paxos and Swirlds, who will work on it?
Anyway, for the beginning you need to try identify common interfaces by which will be possible to divide the repository in the future.
Also, as I see, there is no block that will start the service from specified in the configuration consensus and transport.

@Maxime2 is the following the most recent implementation of Jiho and Sang-min's work; https://github.com/Fantom-foundation/go-lachesis/tree/maxime-21-feb-lachesis-clotho
There are three primary objectives currently which are causing conflicts.

Consensus -> Clotho/Atropos selection, @Maxime2 can you share the implementation?
PoS -> As supplied in this PR
Dynamic Participation -> As proposed by Martin and implemented by @dev10

@devintegral can you do a diff on @Maxime2 consensus implementation to see if it can be merged into this? The PR itself looks good, we just need to merge 1 and 2 and then relook at 3.
@Maxime2 & @devintegral is it possible to merge these two? That would be first prize.

@andrecronje, it is impossible to merge 1 and 2, because they have different approaches: predetermined vs non predetermined peers list, on-going vs on-demand events processing, etc. We should drop one approach to merge code into single package.
I suggest to have two consensus packages: 'src/poset' and 'src/posposet' at master, and choose one later, when we've got full knowlidge about their strengths.
I see it is possible to merge 1 and 3 into 'src/poset',  because 3 is based on 1.

@andrecronje Here is how I see the state of things at the moment:

current master branch is a long running attempt to morph Babble's implementation of Swirlds into Lachesis. It has problem with consensus beyond 5 nodes. Due to that "morphing" it doesn't look like a well organised and clean code base;

so when @devintegral was tasked with PoS, they just re-implemented poset in more clean and organised way to the lachesis paper (though making changes into leaf events which I see deleterious), but put their implementation into separate posposet, so now additional work is required to test its ability to reach consensus on 15+ nodes.

Jiho and Sang-min's implementation has a different (pipelined) architecture and approach to a lachesis implementation, so I need to make a lot of reorganisation and cuts to redundant code, but having to share it with posposet implementation makes it even complex task.

The latest changes as of today are in this branch: https://github.com/Maxime2/lachesis/tree/20-mar-lachesis-clotho-atropos . It is a work in progress.
Having played with it I would say it works much faster than previous poset implementation, is reaching consensus to atropos on 15, 25, 35 and 65 nodes (juts have not checked on more nodes, but think it will work).
However we found several issues with lachesis using this implementation which need to be resolved before we could make final consensus to sort all events uniformly on all nodes:

An event which will becomes atropos can have atropos time assigned before becoming atropos
An event can be assigned atropos time more than once and these times could be different.
That mean we currently do not have any mechanism in lachesis that tells us an event is in final stage and ready to be accepted and pushed out to clients (will not receive any modification into frame of the chain that will change the event ordering).

I perceive any modifications to lachesis either it is dynamic participation either PoS premature at this stage as lachesis itself is not finalised and its architecture may be substantially changed in future development. In addition, I believe, these modification would need further research into correctness of these modification (e.g. these modifications do not break consensus and all nodes have the very same order of events in consensus).
BTW: May I ask for PoS task specification so I have it in mind when developing Jiho and Sang-min's prototype?

@Maxime2, you have not to share your efforts on Jiho and Sang-min's implementation with posposet implementation. Posposet is pretty independent package, and I'm in charge of its tests.
All I want is announce my reseach direction and share results into master branch as soon as possible to prevent a double efforts.
So, what is your objection against both poset and posposet in master at the moment?

@Maxime2 please review the PR 161 and check in it.
For Sam's suggestion, I think it's not suitable at this stage. This repos is only for lachesis consensus and its variants.

Thanks for all your input.
@quan8 you say this repo is just for lachesis, but if you look through the codebase and its PRs, there is clearly more going on. Abstracting out the consensus layer will enable the other layers to evolve independently, as long as they maintain the same interface.
Additionally it will allow benchmarking and debugging with different versions, expansion of use-cases—implementing Raft and/or Paxos will enable private, trusted blockchain scenarios—and altogether better modularity.
There will be a major rearchitecture at some point, the only questions on the table are: how & when.

In terms of the mutually exclusive work by @Maxime2 and @devintegral, I would like to you both to suggest ways of extracting out this capability to 1 or 2 other repositories, and hiding it behind a conditional (so that we can switch between these two implementations). In the process, we will naturally need to make many of the dependent components more abstract. So would be good to get your insights, rather than just me going through with the risk of making many components over/under abstract.
Thanks

@devintegral , please announce your research direction, what is PoS task requirements and specification. If posposet is pretty independent package why it replicates all functionality of poset, - this doesn't not look like a good architectural decision if you want to avoid efforts duplication (putting aside it is an improved, in therms of code quality, version of lachesis known to have problem with consensus at scale and some correctness flaws).
So the main objections to posposet: it is premature optimisation and modification to the lachesis algorithm which came at time of other modifications into the same code aiming to solve found problem with lachesis algorithm; it seems was not tested if it can reach consensus on 15+ nodes; it seems slower than new prototype.
@SamuelMarks , before suggesting any changes in attempt to join (or split up) it is better to know what PoS task is about, its specification and requirements, which I am not aware yet. As well the information about other possible uses of lachesis would be appreciated and beneficial for lachesis development.

@Maxime2, you will get PoS task specification in section 7.1 of https://swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf. My research direction is described at #161 header: "make possible to build decentralized trustless network".
To make a new src/posposet package is the only just architectural decision. Modification of src/poset seems not good because:

poset is totally based on predefined fixed peer list. It is not consistent with PoS idea;
poset is not lachesis, it is a long running attempt to morph swirlds into lachesis;
it is easier to write ~3,000 lines of posposet code than refactor of ~11,000 lines of poset;
src/node has overkill dependence on src/poset. Hence, it should be refactored with posed together;
such deep refactoring of poset would break other teams work;

So, as previously mentioned, src/posposet is not premature optimisation, it is research.
Agreed, src/posposet should be tested better. And it will be done. But it does not make sence until your team aproved #161 research direction.
Posposet will make opportunity to compare it with your unpublished solution and combine the both into the best result.

@devintegral section 7.1 of https://swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf is a generalisation of Swirlds. May I see your research document reflecting it into Lachesis, in particular, why PoS approach was reflected for voting but not for time calculation; and have you proved you have the same value of  MinMax here https://github.com/Fantom-foundation/go-lachesis/blob/7ce8564514e144c4aa6bf3d634e383c96d55e0d6/src/posposet/poset.go#L303 on every node independently on selection of nodes forming the stake ?
You perhaps not get PoS task correctly, because it has nothing against fixed peer list, it assumes that each peer is not equal, and nothing else. So it could be predefined fixed peer list with assigned weight to each peer. Moreover cited paper says the PoS system is the same as original if you set weight 1 to each peer.
It is clear the re-run in case of stake change gives the biggest impact on performance when PoS is implemented. Have you done any research on possibility to avoid it?
Obviously the PoS specification doesn't require poset reengineering. I would prefer to change peers for that task rather than poset.

@Maxime2, move this question to #161, please. This issue is not about src/posposet, it is about repository organization.

@devintegral moved.

outdated


@media query definition doesn't parse operations

Setting @media query sizes as variables like:
@sizeDefaultDesktop:980px;

This works:
@media (max-width: @sizeDefaultDesktop) {
    ...
}

This doesn't:
@media (max-width: @sizeDefaultDesktop-1) {
    ...
}

Notice the -1 operation going on. Parentheses doesn't help either.

Tested: Also breaks with the required whitespaces around the operator (i.e. (max-width: (@a - 1))).
A note before anyone tries to fix that:
The W3 Spec proposes two media-features:
@media screen and (device-aspect-ratio: 16/9) { … }
@media screen and (aspect-ratio: 16/9) { … }

The <ratio> value is a positive (not zero or negative) <integer> followed by optional whitespace, followed by a solidus (‘/’), followed by optional whitespace, followed by a positive <integer>.

If we start to evaluate the media features, we get
LESS: @media screen and (aspect-ratio: 16/9) { … }
CSS: @media screen and (aspect-ratio: 1.7777778) { … }

Not sure what's the better solution here.


Add SVG  element support to SVGMobject

Add support for SVG <line> elements to SVGMobject

Add unit test, unit test SVG file, and unit test data file

Changelog / Overview

Motivation

The <line> element is a standard SVG element: https://www.w3.org/TR/SVG11/shapes.html#LineElement
Explanation for Changes
Adds SVG <line> element support to SVGMobject.
Testing Status

Add unit test for SVGMobject with SVG file that has a  element.
Further Comments

The diff might standout since I reorganized the order of the methods in the file to match the order of the if/elif block in get_mobjects_from.
Checklist

[ x] I have read the Contributing Guidelines
[ x] I have written a descriptive PR title (see top of PR template for examples)
[ ] I have written a changelog entry for the PR or deem it unnecessary
[x ] My new functions/classes either have a docstring or are private
[x ] My new functions/classes have tests added and (optional) examples in the docs
[ ] My new documentation builds, looks correctly formatted, and adds no additional build warnings

Reviewer Checklist

[ ] The PR title is descriptive enough
[ ] The PR is labeled correctly
[ ] The changelog entry is completed if necessary
[ ] Newly added functions/classes either have a docstring or are private
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings

Thank you for your contribution! At a first glance, this looks good to me -- although I'd appreciate if @MrMallIronmaker could take a closer look at this.
On a general note: I don't think it should be reverted now, but in future please make sure to only reorder code blocks if absolutely necessary; the PR gets a bit less comfortable to review if there is a lot of moved code. (This is more of a personal remark than an official ManimCommunity guideline.)

LGTM. Note that this line doesn't obey the stroke-width property, but currently nothing in Manim does.


Update IDAKLU time stepping in tests and benchmarks

Description
This PR updates the IDAKLU tests and benchmarks to use the updated t_eval and t_interp arguments. This will speed up the github actions a bit and better reflect the performance of the IDAKLUSolver in benchmarks.
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[x] Optimization (back-end change that speeds up the code)

Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[x] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[ ] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

Project wide coverage change is just from time conversion routines. It looks like util.py should be reworked a bit in the future. Probably a bunch of the functions can be cleaned up or tested better


Sprig rendering has gotten very slow since I made site live.

I launched a site today with Sprig. An eCommerce one and while the sprig components were quite fast rendering on staging site now that there is traffic on the site they are a show stopper
https://share.johnhenry.ie/qGuXKPx8
Up to 50 secs while the page loads in under a second. One of these components is just a svg with a conditional in it
Using Blitz on the site also.
Craft Craft CMS <IP_ADDRESS>
Sprig 1.3.3

Yup, that doesn't look right at all. There's a calculator.js script that is also taking close to 50s to load, so seems like a server issue.

Ok I think I sorted it. I added a sprig rule to Cloudflare to bypass and turn off anything it doesn't need and also add it to exclude it in Blitz. It was showing tampered message for an age with components but once I cleared Blitz cache it all seemed to work again.

Will look at calcualtror.js thanks. that should not be on every page

Ok I think we are good now. Closing out.


making a dynamic sidebar for modules

hi how can i make a dynamic sidebar for modules so it gets module names and routes then make anchor tags in sidebar dynamic?
any idea how to do this ?
i thin i shoud use config files for each modules and save my data, then retrive it? but how get all module's config data

Hi,
This isn't related to this package. It's up to your to develop that feature.
On AsgardCMS laravel-sidebar is used.

thanks for quick reply !
one mor thing how can i loop through configs ?
like this :
@foreach(Module::enabled() as $module)
{!! config($module.name) !!}
@endforeach

i'm stuck at config section don't know how to pass variable via string

You can get the name from the module and append the rest of the config key to it within the config helper.
Like so:
{!! config($module->getLowerName() . '.name') !!}


Incorrect URL Generation with Custom APP_URL

Laravel Version
11.16.0
PHP Version
8.3.9
Database Driver & Version
No response
Description
Description:
When using the URL https://abcde-psdfxxx-8000.app.cloudstudio.work/ as the APP_URL, the default framework page generates incorrect URLs. For example, the {{ route('register') }} directive results in the path https://8000.app.cloudstudio.work/register. Similarly, all asset URLs are also generated with this incorrect host header.
Steps To Reproduce
1、Set APP_URL in the .env file to https://abcde-psdfxxx-8000.app.cloudstudio.work/.
2、Start the Laravel development server using php artisan serve.
3、Access the application at https://abcde-psdfxxx-8000.app.cloudstudio.work/.
4、Check the generated URLs for routes and assets on the default framework page.

Did you put the url between quotes? What happens if you try APP_URL="https://abcde-psdfxxx-8000.app.cloudstudio.work" (also notice no trailing slash)

Closing this issue because it's inactive, already solved, old or not relevant anymore. Feel to open up a new issue if you're still experiencing this.


Add example to docs how to get attr value of root listItem

As explained here: https://github.com/IonicaBizau/scrape-it/issues/58#issuecomment-283753413

Ah, the example in the readme is generated from example/index.js?


No issue, just a question

Hi @weierophinney
shouldn't be better to have $allowedSchemes as a static property?
maybe also add a '' => null key-value pair?
kind regards

shouldn't be better to have $allowedSchemes as a static property?

Why? To allow adding schemes? or...? The problem with making it static is that it could be overwritten with garbage values. If the ability to use custom schemes is something you want, that can be accommodated in other ways; let me know if that's what you want.

maybe also add a '' => null key-value pair?

Why? What's the use case?

Hello @weierophinney ,
no, what i meant is that allowedSchemes should be a class property not an instance property, since all the instances should allow either http or https (or empty) scheme name or, in other words, the validity of a scheme name should not be related to a single instance but to URIs in general. I was thinking it still as a protected property. If a new scheme is allowed, shouldn't it be still class-related (even if only for a subclass) and not for a single instance. For example Josh codeguy in slim 3 also uses a static variable in a method to validate (filter) the scheme name before assigning it. In your same implementation there  is  - rightfully - no way (not even in the constructor)  to assign different instance values to the allowedSchemes array, because it's simply used as a constant-like property for scheme-name validation.
Forget about my second comment: it could make sense because an empty string is a valid scheme for the interface (as codeguy did), but it doesn't make sense to associate it with a port value (and you use the hash-map to determine if it has a standard port, not just the keys as slim-3 implementation)
kind regards


Add troubleshooting guide for Clarinet, Stacks JS, and API docs.

Marking this issue complete as the PR is merged.


Context length exceded

I get this error when running any command on Amazon.co.uk:
"This model's maximum context length is 8192 tokens. However, your messages resulted in 8661 tokens. Please reduce the length of the messages."
I guess this is done while trying to maximize the number of tokens within the GPT-4 maximum context size?

I think problem is scrawl all html, so always get over tokens. I think should not only use GPT, I think should combine with https://webscraper.io and action base on that.

You're right about using Webscraper, it's a good solution. What if we implement a method to preprocess the HTML content before sending it to GPT-4, reducing the token count while preserving relevant information?

How to overcome this issue then?