Cannot build the package because of failed test cases

Please double check again. I cannot build the package because of failed test cases.
Below is the surefire report for the test cases:
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in org.opencds.cqf.RulerHelperTests
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   TestBase.runHedisCdsTests:76 » UnprocessableEntity HTTP 422 Unprocessable Enti...
[ERROR]   TestBase.runMeasureEvaluationTests:27 » UnprocessableEntity HTTP 422 Unprocess...
[INFO]
[ERROR] Tests run: 9, Failures: 0, Errors: 2, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:23 min
[INFO] Finished at: 2018-05-10T22:30:08+02:00
[INFO] ------------------------------------------------------------------------

-------------------------------------------------------------------------------
Test set: org.opencds.cqf.TestBase
-------------------------------------------------------------------------------
Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 62.823 s <<< FAILURE! - in org.opencds.cqf.TestBase
runHedisCdsTests(org.opencds.cqf.TestBase)  Time elapsed: 0.171 s  <<< ERROR!
ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException: HTTP 422 Unprocessable Entity: Can not create multiple code systems with URI "https://www.cms.gov/Medicare/CMS-Forms/CMS-Forms/CMS-Forms-Items/CMS1196256.html/fl42", already have one with resource ID: CodeSystem/2.16.840.1.1138<IP_ADDRESS>.3221.8.11
	at org.opencds.cqf.TestBase.runHedisCdsTests(TestBase.java:76)

runMeasureEvaluationTests(org.opencds.cqf.TestBase)  Time elapsed: 3.407 s  <<< ERROR!
ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException: HTTP 422 Unprocessable Entity: Can not create multiple code systems with URI "https://www.cms.gov/Medicare/CMS-Forms/CMS-Forms/CMS-Forms-Items/CMS1196256.html/fl42", already have one with resource ID: CodeSystem/2.16.840.1.1138<IP_ADDRESS>.3221.8.11
	at org.opencds.cqf.TestBase.runMeasureEvaluationTests(TestBase.java:27)

Try deleting the target directory and rebuilding.

Note that deleting the target directory will reset the database. If you don't want to do that, delete the codesystem with the https://www.cms.gov/Medicare/CMS-Forms/CMS-Forms/CMS-Forms-Items/CMS1196256.html/fl42 URI.

Thx, it built successfully at the latest commit 9f23520


Update GitHub CI workflow to use Hermit dependencies

Recently did this over in tbdex-rs https://github.com/TBD54566975/tbdex-rs/pull/45
We should use our hermit dependencies in the CI pipeline as to maintain consistency across environments

Let's also make sure we include workflow job(s) for executing the bindings; we don't want PRs merged which break bindings

Make sure CI workflows run on all PRs even if they aren't only into main; I realized that's not how it currently is when I opened #186


Update expression tests after splitting up Group component.

Som test config had to be updated in the frontend version of the expression tests after splitting out RepeatingGroup from the Group component.
Mirroring the changes in the test configs in this PR.

https://github.com/Altinn/app-lib-dotnet/commit/adac4934d36464575cc2df33af34e35450ced101 is a crude and backwards compatible way to fix the tests. If it isn't correct we need more tests.


Normal orders

About the PR

Why / Balance

Technical details

Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[ ] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

wrong branch?

wrong repo even

wrong repo even

That‘s the word, I couldn’t think of it :P

Sorry T-T


Document that modules cannot decrypt secrets from previous deployments

We had a case where a user mounted a storage directory for Edge Agent that contained files from a previous deployment of Edge Agent. As a result, the current deployment's Edge Agent tried to decrypt secrets in these files and failed, because the encryption key for modules is (intentionally) not the same for the same module ID on the same device but from different deployments.
(Edit: By "different deployments", I'm specifically referring to either deleting and recreating the device, or deleting and recreating the module. Even though the IoT Hub name, the device ID and the module ID are the same, the generation ID is different, and the encryption key for modules takes all these including the generation ID into account.)
It might be good to document on this page that any files shared between modules across deployments must not contain any secrets or they will fail to be decrypted. And perhaps specifically call out Edge Agent and Edge Hub as modules that do put encrypted secrets in those directories. (I don't think we should document that the directories must be absolutely empty, since the user might have unencrypted data there that they genuinely want to be reused.)
I'm filing this issue against this page because the user finds this out by running iotedge check, which checks specifically for Edge Agent and Edge Hub, and mentions https://aka.ms/iotedge-storage-host. That aka.ms URI redirects to the production-checklist page, which in turn contains a link to this page. I think it's better to document this here rather than on the production-checklist page because this advice is not Edge Agent- or Edge Hub- specific, even though it happens to be particularly catastrophic for those two. But if there's a better place to put this information then feel free to do that, as long as it's easily reachable from that aka.ms URL.
cc @veyalla

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

ID: 7e02119b-094f-29ba-dd91-71702627cfa6
Version Independent ID: 48c4e621-56be-593e-a68f-9f74168bf0f5
Content: Use IoT Edge device local storage from a module - Azure IoT Edge
Content Source: articles/iot-edge/how-to-access-host-storage-from-module.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@arsing Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate. We will update you accordingly.

@kgremban Can you please check and add your comments on this doc update request as applicable


⚠ Bofrost.de has degraded performance

In eac8ff9, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1152 ms

Resolved: Bofrost.de performance has improved in e4d9627.


bug(MatSpinner ): MatSpinner is not longer visible after Angular 13.2.4

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
13.2.4
Description
I have created a loading wait service which uses MatSpinner based upon existing code example
https://medium.com/@velenra/using-angular-material-spinner-with-cdk-overlay-8ab92bfbafee
https://stackblitz.com/edit/mat-spinner-and-cdk-overlay-moxmh3
The issue I am experiencing since upgrading Angular beyond 13.2.4 is the background displays but the spinner is not longer displaying.  Nothing is displayed in the browser console that I can see.
The code for the spinner is
import { Overlay, OverlayRef } from "@angular/cdk/overlay";
import { ComponentPortal } from "@angular/cdk/portal";
import { Injectable } from "@angular/core";
import { MatSpinner } from "@angular/material/progress-spinner";

// spinner so overlay and doesn't require separate component
// https://medium.com/@velenra/using-angular-material-spinner-with-cdk-overlay-8ab92bfbafee
// https://stackblitz.com/edit/mat-spinner-and-cdk-overlay-moxmh3

@Injectable({
  providedIn: "root"
})
export class LoadingWaitService {
  private readonly overlayRef: OverlayRef = null;
  private showCount = 0;

  constructor(private readonly overlay: Overlay) {
    this.overlayRef = this.overlay.create({
      hasBackdrop: true,
      backdropClass: "dark-backdrop",
      positionStrategy: this.overlay.position()
        .global()
        .centerHorizontally()
        .centerVertically()
    });
  }

  show() {
    this.showCount++;
    if (this.showCount === 1 && !this.overlayRef.hasAttached()) {
      const spinnerRef = this.overlayRef.attach(new ComponentPortal(MatSpinner));
      spinnerRef.instance.color = "accent";
    }
  }

  hide() {
    this.showCount--;
    if (this.showCount > 0)
      return;
    this.showCount = 0;
    setTimeout(() => {
      if (this.showCount === 0)
        this.overlayRef.detach();
    }, 500);
  }
}

Reproduction
Steps to reproduce:

Upgrade package.json from 13.2.4 to latest 13 version
re run the application and no spinner

Expected Behavior
The spinner displays after upgrading to new version of Angular
Actual Behavior
The spinner no longer display after Angular upgrade
Environment

Angular:  cli/13.3.6, core/13.3.9
CDK/Material: cdk/13.3.7, material/13.3.7
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

In the newer versions of Material we combined the MatSpinner and MatProgressSpinner classes since they are basically the same thing. The way we infer if it's a MatSpinner is by checking that the nodeName of the element is mat-spinner. This broke your use case, because using the MatSpinner directly in the ComponentPortal inferred it as a mat-progress-spinner. You can fix it by adding this like to your code:
spinnerRef.instance.mode = "indeterminate";

Here's a working example: https://stackblitz.com/edit/angular-djjwfs


Improve the gameplay

Add the details of contributers and improving the
gameplay.
fixes: #21
Signed-off-by: Satyam Kumar<EMAIL_ADDRESS>Before submitting pull request, please check that every commit:

[x] Has proper Signed-Off-By
[ ] Has commit message which describes it
[x] Mentioned the issue number that it fixes
[x] Is needed on it's own, if you have just minor fixes to previous commits, you can squash them
[x] Any new functionality is covered by tests

@satyamvats5 Try following the standard of commit message.
Shortlog: Commit Title

Commit description
Fixes: <if any>
Closes: <if any>
Signed-off-by: <your-name> <email>


Ip release

It has happened before; in a hectic scenario an individual is being banned by mistake.
Having a release / unban IP command could fix this issue, without restarting the server

I don't want to reveal IP addresses to moderators. How could unban work in that case?

You could extend the use of jails.txt, temp log the ban for x hours, unbanning would require the nick and trip code

i dont think anyone should have access to the user's IP addresses

This is currently the case. Although, to unban, an IP is needed since bans are per-IP.

As a ban is only a mute, maybe extend the unban command to work on nick names, so as long as they didnt left yet you can still unban them?

That's a good system. Banned people should be able to log in, and unban would then apply to their nicknames, not their IP.


🚀 Feature: ADD Mutlilanguage support

🔖 Feature description
supports multiple languages
🎤 Why is this feature needed ?
So that Apllication could be user by Diversity of users
✌ How do you aim to achieve this?
adding script that will support multiple languages
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

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

Are you willing to submit PR?
None

Could you tell me your approach for this feature?

Could you tell me your approach for this feature?

Hey @kom-senapati, sure we will intergrate a language model which will basically change the text of the website according to the selected language

Nah I would like a manual setup for some common languages like eng, hindi, spanish, etc. Use i18n react

Yup go ahead


Reorganize tests in the map package

Use map as the first example of how to reorganize the test separate from the src directory with in the same package using typescripts' project reference.    Separate this change out instead of changing the whole repo.
Will convert the rest of the package after this PR is merge.

Keep the output of the test at the same location.  It will be moved out of the other output location later.
VSCode's Debug current test is temporary broken for the map directory.  It will be fixed after the whole repo is changed.

VSCode's Debug current test is temporary broken for the map directory.  It will be fixed after the whole repo is changed.

This is covered by issue https://github.com/microsoft/FluidFramework/issues/4397, I've assigned it to you. Thanks!

*/

since i can't comment on file structure. i don't like tests and the tsconfig being at the same layer. also, should the tests be in some kind of structure? thinking about the difference between mocha and jest test, and maybe future formats like stress or something.

Refers to: packages/dds/map/test/reconnection.spec.ts:4 in 731dc72. [](commit_id = 731dc725bceef5a891d1270ff308fd1e923e2705, deletion_comment = False)

"extends"<EMAIL_ADDRESS>

or it we want tsconfig inline with code, this should move to src

Refers to: packages/dds/map/tsconfig.json:2 in 731dc72. [](commit_id = 731dc725bceef5a891d1270ff308fd1e923e2705, deletion_comment = False)

difference between mocha and jest test, and maybe future formats like stress or something.

I don't want to over engineering it upfront.  We can move them around when we see the need.


Fixed badge animation

In my last pr I forgot that moving the renderBadge() method out of the renderIcon() method will cause it to lose the animation when you press on the tab. In this pr I've fixed that. the animation is now working properly for the badge

Nice catch! Since I originally didn't test it in iOS, I didn't saw that there's an animation. Thank you

Thank you! 🎉
Going to merge it and do a patch release right now.


List of speakers overlay (issue #2211)

My approach for issue #2211 is this:
[done] defining an element "core/listofspeakers", which mainly contains information if visible or not, and behaves similar to "core/messages".
[?] Creating such an element in 0001_initial.py, where a clock is already been created.
--> ? This element does not appear in the list of elements ? Perhaps 0001_initial is never triggered, not even by creating a new database?
[done] Display this newly created object on the /projector slide if it's property "visible" is true, by including a  /templates/core/listofspeakers.html, managed by the controller SlideSpeakerListCtrl.
[done] Define a css id "speakerbox" where the design part of the overlay will be stored.
[  ] Fill the template with the information from agenda/item/speaker; if there is an agenda item with agenda.isProjected == true and speaker is not empty. Else, don't display the overlay.
I'm sorry for posting semi-works, but my last approaches were as time-intensive as they were fruitless. Maybe I could do with a prod, and a second pair of eyes may easily encounter a fundamental error I'm doing

[?] Creating such an element in 0001_initial.py, where a clock is already been created.
--> ? This element does not appear in the list of elements ? Perhaps 0001_initial is never triggered, not even by creating a new database?

Can you please explain the problem? Where does the clock not appear? Creating a new database and opening OpenSlides shows the clock on projector and on /rest/core/projector/1. If you want to add a new default projector element to the (default) projector, you have to add a new migrations file. Editing existing files like 0001_...py or 0002_....py wont help. Try python manage.py makemigrations --empty core.

Please use projector button without text (like in countdown/messages).
Add a link '>> Manage list of speakers'  (which redirects to item-detail view of current list)

done; ready for testing

Retested:

Project a customslide. Then click on edit button below projector live view. Gets  error: "Could not resolve 'core.speakeroverlay.detail.update' from state 'agenda.item.list'"

Rest works good.

@normanjaeckel Ready for first review.

One remark.

remark done

@normanjaeckel done

I am sorry but I saw some more things to discuss. Maybe we have to find a general solution for the so called resolve-find-get problem. @emanuelschuetze ?

I keep running into problems. As I understand it, the causes behind the symptoms are:

resolve only resolves on loading the state (?). The projector is only loaded once, as is the state where the projector controls reside. They keep being present, but idle, so their resolve gets out of sync, and new items won't appear.
The /projector has no working resolve in itself¹. Such a resolve would need to monitor far too much, as there are users, customslides, agenda_items, motions, agendas; which change more often than the projector is reloaded.
The same problem applies for each projector element. motions/js/projector.js, for example, just  find() the current element than to get it from a findAll(). The overlay of list of speakers has it worse; it can either load all resolves from assignment, motions, customslides, and potentially running into (1), or just find() the one element that has just changed.

¹just a non-working; in core/site.js:201

I changed the approach (in the other PR #2306). I'll keep this branch because it is very different.

closing this PR because the new one is preferred.


Speed up scripts by auto-publishing to DLL cache

This is identical to previous PR, except I separated out the extension registry stuff into separate PR #341 as requested.

NOTE: On this change https://github.com/filipw/dotnet-script/pull/342/commits/639c51855cde39ed9e973a7bdf728e75c6922009
hmm.. I had to do this to make the ScriptPackagesTests pass, but I don't think this behavior was my changes but instead I merged latest master with my delta.  The paths being generated had a mixture of forward and backslashes causing the code which was looking for the assemblies to fail.  This fixes it in the locale, but I couldn't figure out where these paths were being created, and I think a better fix is to find out who is generating mixed slash paths.
Anyone understand this part of the code?.

I don't understand why the appveyor is failing.  All of the tests pass on my machine, and it appears to be just one test which never completes on the server.  Really weird.  I don't know how to debug this.

Build restarted. Let's see how that turns out

FYI. Same issue locally on my windows VM

woot! Thanks guys!


PDF Export not exporting images

Describe the Bug
When I export a page as PDF the PDF does not include the images. It only contains the name and link of the image. Behind the name it states "Image not found or type unkown".
The weird thing about this problem is that it works for recently created pages. I cant tell since when it doesnt work but a few month ago I could export the old pages correctly.
eistik-updateanleitung.pdf
Steps to Reproduce
Export Page -> PDF
Expected Behaviour
Exported PDF includes all images
Screenshots or Additional Context

Browser Details
Chrome 114 on Windows 10
Exact BookStack Version
23.05.2
PHP Version
8.2.6
Hosting Environment
Ubuntu 22.04 VM
Docker Compose Setup from Linuxserver.io

This will usually occur if BookStack can't trace the image file to a local resource based upon the URL.
Have you perhaps changed the base URL at some point? Even if to just https:// from http://?
Otherwise, could possibly be due to image file access permissions, and existence/permissions upon the page the images were originally uploaded to, but I haven't fully validated that as I haven't been in that part of the code for a while.

If I remember correcly I had the APP_URL not set at my initial setup because it didnt work if I set it to the right URL. But I changed it to the right URL like a year ago.

The URL of the image is correct, I can open it in boostack.

Yes
http://bookstack/uploads/images/gallery/2022-02/eisitk-net-update.png
APP_URL= http://bookstack

Hi, I have updated bookstack to the latest version v23.05.2 and I have the same problem with old images.
I've runned all db migrations, but to made it work I had to delete some tables like webhooks and jobs
Essentially:

The images are correctly displayed on pages
The PDF export shows Image not found or type unknown, but clicking on the link opens the correct image
The APP_URL is correctly set in .env
When creating a page, and clicking on Insert Image menu all the oldest images are not shown

I'm working with a docker image linuxserver/bookstack:23.05.2 running on Caprover with this config
Weirdly, running it locally using docker-compose with the same image, db and config does not have this problem.

I've noticed a similar issue and I think it is due to permissions.  I have two separate user accounts, and when exporting each user only seems to see the images that other is missing.  I believe this matches to who uploaded each image.

We use the PDF export as a backup. It's very important for my department that these manuals are available when our system is down.
Is there any other way to do this? The case scenario would be to use it offline from a USB stick.

The thing BookStack generated isn't a "portable document format"  document because it does not encapsulate the images - just points to external URLs.
I suppose this is useful in some cases, like keeping images secure.
I have a work-around that I think works... first Export your page or book as HTML (which will have URLs), then open the HTML document in a browser and export that as .pdf
at least I think that works...   I am running on an isolated secure computer, so I have to put the file on a thumb drive (no e-mail for me) and take it to an outside computer.   So far I think it works.
I see that Stackoverflow has a topic on "adding an image with dompdf" so I know it's possible to export portable documents directly if BookStack wants this.
An option to include the image's filename under the image might be nice too.

Thanks for your tip. When I export the pages in HTML the images are all there. Very weird issue but at least I have a working offline backup now :)

For what it's worth, Dan, I think an option (in the admin-cli perhaps?) to validate and perhaps correct media URLs would be helpful. We've also seen this issue, and we hacked around it (to create HTML then PDF) but in our case government regulators require PDF and we can't provide HTML. So something an end user should be able to accomplish has to go to help desk. Not urgent of course, we have workarounds...

Modern browser’s native print functionality can save the results as a PDF file. This is something most users should be able to handle.

Sure you can but when you save important infomation in bookstack that needs do be available in case of an outage you need a offline backup. And the only way for this is to export all books with a script.

@mariusdill Are you using the WYSIWYG Docx Import Hack when creating pages? I am getting the "image not found or type unknown" error when exporting to PDF for a bunch of pages. The common theme is that they were created from docx files, so that import seems to break something on the export. I notized that if I edit the page, and click on each image and click the "Add/Edit Image" option to bring up the edit image window and then close it, it fixes the problem.

No but we copied a lot of images from word documents so it could be the same problem.

in our shop all images come directly from capture by cell phone cameras to bookstack.
On December 11, 2023 4:10:42 PM EST, mariusdill @.***> wrote:

No but we copied a lot of images from word documents so it could be the same problem.
--
Reply to this email directly or view it on GitHub:
https://github.com/BookStackApp/BookStack/issues/4300#issuecomment-1850893186
You are receiving this because you commented.
Message ID: @.***>

As @mdezzi mentioned I used WYSIWYG Docx Import Hack too so now I got problem exporting pdf. So I went searching database for the pages records and I found out that images had an alt tag which was broken with CRLF breaks.

Removing such breaks repairs PDF exporting. I think it's probably caused by mammoth.js library which uses .docx alt descriptions for image inserting.

@ssddanbrown I am facing an issue after exporting the document in pdf format, the images goes disappear, and showing unknown type and also giving the reference to the image, when opened image is visible. Can you look into this issue.

after clicking on the text showing actual image.

@ssddanbrown look into the issue, waiting for your help.
Iam using UbuntuOS
with apache2


nixos/metricbeat: init

Motivation for this change
Add a module for metricbeat.
(includes #116936 for now, because otherwise the tests fail)
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 117379 at 32649f76 run on aarch64-linux 1

4 packages built successfully:

logstash (logstash6)
logstash6-oss
logstash7
logstash7-oss

2 suggestions:

warning: build-tools-in-build-inputs
makeWrapper is a build tool so it likely goes to nativeBuildInputs, not buildInputs.
Near pkgs/tools/misc/logstash/6.x.nix:29:3:
   |
29 |   buildInputs = [
   |   ^

warning: build-tools-in-build-inputs
makeWrapper is a build tool so it likely goes to nativeBuildInputs, not buildInputs.
Near pkgs/tools/misc/logstash/7.x.nix:29:3:
   |
29 |   buildInputs = [
   |   ^

@ofborg build metricbeat

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/513

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/535

cc elasticsearch maintainers @apeschar @basvandijk. Could you please review this "ES-ecosystem" pr?

I was hoping for more feedback or an approval, but I've already called attention to this PR a number of times. It's time to move this forward. If anyone has improvements, I can implement them after the merge as well.
Thank you @zseri for your comments.


SubstitutingSourceProvider constructor only takes deprecated StrSubstitutor argument

The SubstitutingSourceProvider in dropwizard-configuration currently only has a single public constructor which takes an apache commons StrSubstitutor object from the org.apache.commons.lang3.text package;
The StrSubstitutor class in that package was marked deprecated in favor of one in the org.apache.commons.text package as of apache commons 3.6, which is now the version brought in by the Dropwizard Bom
Ideally the SubstitutingSourceProvider would be updated to have a constructor or static factory method that takes a non-deprecated class for its configuration, either the one recommended by Apache or potentially a Dropwizard specific class that does not directly depend on apache commons.

Ah that does appear to be an oversight on our part. Would you like to create a PR with your proposed fixes? Keeping the current (though deprecated) constructor would make this improvement a logical candidate to be included in a 1.2.1 release.

@nickbabcock I should probably be able to do that in the next week or two, yes.

I don't think we are going to fix it in 1.2.*. Warnings are not great, but I don't think it's worth to build a level of abstractions to solve a deprecation issue. The 1.3.0 version will use the new classes from commons-text.


How to get route result in action factory?

I am trying to create CRUD application using zend-expressive. My idea is to have default crud routes and if some entity needs non-default dependencies, it could be overriden.
'routes' => [
    'crud.add' => [ // default entites have default factory
        'name' => 'crud.add',
        'path' => '/crud/:entity/add',
        'middleware' => App\Action\CrudAddAction::class,
        'allowed_methods' => ['GET', 'POST'],
    ],
    'crud.add.article' => [ // articles have own factory
        'name' => 'crud.add.article',
        'path' => '/crud/article/add',
        'middleware' => App\Action\ArticleAddAction::class,
        'allowed_methods' => ['GET', 'POST'],
    ],
],

And the problem is, how could I grab entity name (from route result) in default action factory? If I have entity name I can get dependencies from container and inject them into CrudAddAction constructor.

I don't think this is possible without hacking expressive. The RouteResult is not available in the factory. You can get it only from the request. Solutions I can think of:

Hack the expressive-router, store the RouteResult in the match method and add a getRouteResult method to retrieve it.
Retrieve the RouteResult from the URLHelper, but you need to override that class and make getRouteResult() a public method.
(really really bad solution) Inject the container inside the default action and get the dependencies there. No hacking required.

Maybe there are better solutions, but if not I would go for option 2.

@xtreamwayz thx for your points. I have same opinion that option 2 is the best one.

I'd go with option 3, it is not so bad if you test it properly, and it's way better than relying on stateful service (option 2). Also, make sure to handle ServiceNotFound exception case. :)

@danizord option 3 is practically deprecated ServiceLocatorAwareInterface.
@xtreamwayz and option 4 - to create smth like RouteResultHelper and its middleware (simplified copy of UrlHelper). Done without inheriting UrlHelper.
Question is - how much cool is to rely on stateful service as @danizord mentioned.

Please do not do this: factories are pre-dispatch context, they do not know anything at all about the current request, and that for good reasons. If you need to build something aware of the current request, then make sure it is used and garbage-collected inside the action itself.
final class RouteRepositoryResolver implements RouteRepositoryResolverInterface
{
    public function getRepositoryFor(RouteResult $routingResult) : RepositoryInterface
    {
        // take decisions here...
    }
}

final class CrudPostFactory
{
    public function __invoke(ContainerInterface $container)
    {
         return new CrudPost($container->get(RouteRepositoryResolver::class)
    }
}

Now you can use CrudPost for any route:
'routes' => [
    'crud.list' => [
        'name' => 'crud.list',
        'path' => '/crud/:entity',
        'middleware' => CrudList::class,
        'allowed_methods' => ['GET'],
    ],
    'crud.get' => [
        'name' => 'crud.get',
        'path' => '/crud/:entity/:id',
        'middleware' => CrudGet::class,
        'allowed_methods' => ['GET'],
    ],
    'crud.post' => [
        'name' => 'crud.add',
        'path' => '/crud/:entity',
        'middleware' => CrudPost::class,
        'allowed_methods' => ['POST'],
    ],
    'crud.delete' => [
        'name' => 'crud.remove',
        'path' => '/crud/:entity',
        'middleware' => CrudPost::class,
        'allowed_methods' => ['DELETE'],
    ],
],

Your RouteRepositoryResolverInterface is responsible for fetching the right repository (and may actually use the service locator, in this very specific case).

@Ocramius here is another specific case;
I have a EntityManagerFactory ending with the following lines;
        // ... bunch of configuration lines..
        $evm->addEventSubscriber($translator);
        $evm->addEventSubscriber(new TimestampableListener());
        $evm->addEventSubscriber(new IpTraceableListener());
        return EntityManager::create($conf['connection']['orm_default'], $config, $evm);

and I need to pass the user's IP address from request to IpTraceableListener like:
$listener = new IpTraceableListener();
$ip = $request->getAttribute('user_ip');
$listener->setIpValue($ip);
$evm->addEventSubscriber($listener);

I also have a RealIPMiddleware which resolves remote ip address and appends it to the current request:
class RealIPMiddleware
{
    public function __invoke(Request $request, Response $response, callable $next)
    {
        $request = $request->withAttribute('user_ip', $this->resolveIP($request));
        return $next($request, $response);
    }

I truly understand the pre-dispatch context of the factories however i'm looking for a nice (or correct) way to do this. What is your suggestion?


IMN-810 - Aligning local dev AWS region with dev env (eu-south-1)

Closes IMN-810

@taglioni-r thanks for the review, I'm merging this! Just a reminder to update AWS regions in all the open/draft scaffolding PRs  as discussed 🙏


Remove portable git and update Challenges

Completely removing portable Git. As people should install Git anyways, git should be available even on a windows-system. This makes the whole app much smaller.

[ ] Update challenges to match up-to-date Git outputs

fixes #98


Issue#1 reappeared in terralith 2.2.4

Game version: 1.18.2 with fabric loader 0.14.19
Mod version: 1.0.1
Environment:
unfixed-seeds-1.0.1
Terralith_1.18.2_v2.2.4
DisableCustomWorldsAdvice-2.0
cristellib-fabric-1.0.0
fabric-api-0.67.1+1.18.2
Description:
#1
How to reproduce:
(same as #1 )
Create a world and tp to somewhere remote. ( e.g. /tp @p 123456 200 123456, This step is for convenience so you won't have to fly that far to see the fault)
Press "X" to directly exist Minecraft whilst landing.
Launch Minecraft, rejoin the world, fly straightly for several chunks and you will see the fault.

Can confirm, happens on my end as well.

Resolved in 1.0.2.


New Target for publishing symbols package

Normally, when a nuget package is published, the symbols package is created at the same time, based on the same nuspec. On rare occasions, the publication of the main package has succeeded, while the symbols package publication has failed. This can occur, for example, when a pdb file for which there is no corresponding dll has been included.
In order to deal with such a situation, a PublishSymbolsPackage target was added to the build.cake file for the console runner. That target should be integrated into the recipe itself.

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

GitHub Release
NuGet Package


PROJECT_FILES_DIR & PROJECT_NAME

need to think what to do with those environment variables define in the tmux scripts and the run image scripts

Hi, I was trying to run the px4_gazebo demo with the editor. But it seems there are no project files in the project directory

PROJECT_FILES_DIR=/local/learn/ur4

Does one have to create the game files and put it into this directory or I am missing something?
Thanks for your help. :)

When you are using the Unreal Engine Editor, the idea is that you create your own virtual environment project yourself and add the dronesimlab components to it with the instructions given by the dronesimlab wiki.


matchColumns() cleanup

Rationale
Address Issue 43009: ETL fails when aliasing built-in columns
The primary way we match import columns is by name, however there is code to also match propertyuri-propertyuri (todo verify this is still used?).  The problem is that this match is treated as higher priority than a name match, and is somewhat susceptible to generating duplicate/ambiguous matches (see issue).
The proposed fix is to treat a propertyuri-propertyuri match as low priority.
Related Pull Requests
https://github.com/LabKey/platform/pull/2222
https://github.com/LabKey/dataintegration/pull/105
https://github.com/LabKey/platform/pull/2263

Sorry, here is the clean version without the cross-branch contamination.


fix issue#105: scrollParent utility may enter infinite loop

Coverage decreased (-1.0%) to 78.313% when pulling 3af2417fb13ffa9bc01fede702af22a0f2694c76 on Sean-Lan:fix/#105 into 0fb5a4552860a4c909daf40f22a64924cd1a039d on jasonslyvia:master.

Looks good! Thanks for the contribution.


Tells me to sign in again after getting cache

[ ] The readme doesn't contain a resolution to my issue
[ ] The example doesn't contain a resolution to my issue

Versions

node: v21
prismarine-auth: 2.5.0

issue
When I use flow to sign in to my account, I have to login once more before it can join a realm. This is an issue because It’s NOT suppose to do that, so I can’t have people linking their main account to a bot for realms anti cheat. I don’t know how to explain more but it would be nice if the TODO: part worked.
Additional context
The caching doesn’t work, and it’s quite annoying. I’ve tried everything and I still cannot get it to read the cached tokens.

Can you please share the code you are using

Why are you creating an authflow before createClient? Unless you're doing it for your own needs, creating an Authflow is handled within createClient so that could be why you're having to sign in twice. Once for your own authflow and another for the authflow  within createClient.

The user links their account, and the create client is in my util file, it’s made for realm owners to link their account, and then use /connect to connect their linked account to the chosen realm. But this won’t work since I have to sign in again.

If the first authflow is your link then you need to make sure the directory match so userDir and directoryPath need to point to the same location and also the username needs to match as that is what's used to create a hash. The first argument of Authflow and username in createClient need to be the same. At the moment you're passing undefined to the authflow when it should be gamertag based on your createClient options

When I link all the cache is correct but when it tells me to sign in again it remakes 2 cache files with different names and the directory’s are good, too.

Yes that's why you need to match the username identifiers in both the authflow and the createClient as explained they are used to generate a hash for the file names.

I understand now, will undefined still work?

In theory yes if each user has their own directory but I'd define a username to be consistent so you can easily identify a user's cached files. You can use the userid that's also being used to define the directory

Yes, each user has there own folder created with their discord id.

Ok just use that as the username param then for both authflow and createClient

Omg tysm! Idk why I never tried that, I was thinking about it lol 😭


Inliner revamp

The component inlining pass has a bunch of limitations:

Cannot inline instances that are invoked multiple times with different arguments
Cannot inline invoke-with clauses

These come from the original implementation (https://github.com/cucapra/calyx/pull/829) which wanted to reduce the amount of IR copying. Towards the end, the copying was needed anyways and so the current implementation makes the wrong trade-off.
We should revamp it to copy things as much as needed to support the two cases above. Specifically, we should make use of the ir::Rewriter infrastructure to compute how to rewrite the groups and the control program.
@bcarlet mentioned the potential for implementing more heuristics to automate the decision of inlining more in the future as well. @andrewb1999 mentioned that one of the big missing optimizations in HLS tools is managing FSM sizes. Both of these are unlocked by reimplementing the inliner to be more general.

Just as a reminder for why making inlining work more generally is a good idea, it makes all the other optimizations so much more powerful. For example, see the results from @calebmkim's paper:

Fully inlining + resource sharing reduces usage by half!

Trying to implement this, and I'm trying to think of possible edge cases. Specifically, are continuous assignments that use ref cells ever meaningful?
Consider the following example:
component child () -> (out: 32) {
  cells {
    ref ref_reg = std_reg(32);
  }
  wires {
    // continuous assignment involving a ref cell
    out = ref_reg.out;
  }
  ...
}

component main () {
  cells {
    child_instance = child();
    reg1 = std_reg(32);
  }
  ...
  control {
    invoke child_instance[ref_reg = reg1]()();
  }
}

How should we handle the out = ref_reg.out assignment in the child component? After thinking about it, it seems like this assignment will never be meaningful.
This is my thinking:

The ports corresponding to the ref_reg are only ever going to be assigned to during the invoke child_instance[ref_reg = reg1]()().
child_instance.out is never going to be read from during invoke child_instance[ref_reg = reg1]()()

Therefore it seems like child_instance.out is always just going to be undefined in this scenario.
Let me know if this makes sense...

Thanks for sketching this up, @calebmkim.
To take your discussion one step farther (envisioning what this would look like with the much-maligned "general with" statement)… first, correct me if I'm wrong, but don't continuous assignments have the "magical" property that they are always active, even when the component that contains them isn't running (i.e., its go hasn't yet been set to high)? If that's the case, for continuous assignments in particular, it suffices to just copy them from the callee to the caller. So the inlined version could look like this:
component main () {
  cells {
    child_instance_add = std_add(32);
    child_instance_in = std_wire(32);
  }
  wires {
    child_instance_add.left = child_instance_in.out;
    child_instance_add.right = child_instance_in.out;
    comb group child_instance_invoke1 {
      child_instance_in.in = 32'd2;
    }
    comb group child_instance_invoke2 {
      child_instance_in.in = 32'd3;
    }
  }
  control {
    with child_instance_invoke1 {
      // copy of child control
    }
    with child_instance_invoke2 {
      // identical copy of child control
    }
  }
}

Is that right? Maybe this is exactly the same as your proposal, differing only in that I generated a std_wire for the input port to make the copying of the continuous assignments a little simpler.
Anyway, it's pretty weird to imagine how to "fake" this (skip the fictional "general with" and get the behavior we are all imagining without it). @rachitnigam's suggested approach, to somehow expose the control signals directly to the structural part of the program, could perhaps work but would require a creative idea w/r/t how to do this in general… maybe one way of looking at this is that port assignments in invoke are already working quite a bit like a generalized with and it is hard to get this functionality without invoke.
An extremely dumb idea would be to create a 1-bit register for each invocation that holds 1 when the invocation is active… this would waste a cycle to set this register, but it would maybe be a stopgap?????

correct me if I'm wrong, but don't continuous assignments have the "magical" property that they are always active, even when the component that contains them isn't running (i.e., its go hasn't yet been set to high)?

Yes, you're right (so it was a bit misleading for me to compare it to an invoke with comb group statement, since they're not exactly the same. I  suppose my point was that this example presents a similar challenge to what inlining an invoke with comb group statement would do.)

Is that right? Maybe this is exactly the same as your proposal, differing only in that I generated a std_wire for the input port to make the copying of the continuous assignments a little simpler.

Yes, we're on the same page. Your example is pretty much exactly how I would imagine inlining this example if we were to somehow suddenly support a generalized with operator.

An extremely dumb idea would be to create a 1-bit register for each invocation that holds 1 when the invocation is active… this would waste a cycle to set this register, but it would maybe be a stopgap?????

This sounds like it should work-- but it seems like it would have to waste two cycles, since we would have to set the register to 0 after the invocation, right?  Also, if we were to do this, we could use this trick to solve the problem for invoke with comb group statements too (the comb group assignments can be lowered to continuous assignments that are only triggered for a specific period of time).
However, there's a separate question of whether we would even want to implement something like this, given this latency penalty.
Here's one proposal: we could do some really simple check before doing any inlining: if there is only ever one set of invocation arguments for a given instance (and never any invoke with comb), then we do not need to write to the register (we can just inline using the current technique). If there are multiple "sets" of invocation arguments (or comb groups), then we will use this "write to a 1-bit register" technique.

Anyway, it's pretty weird to imagine how to "fake" this (skip the fictional "general with" and get the behavior we are all imagining without it).

"Faking" it sounds interesting but vague right now; I might spend some time thinking about what it would look like concretely--it may turn out that it's not possible.

After thinking about it, the general with statement seems like it is (probably?) the most natural way to solve our problem.
Here is a summary of my thinking:

We need some way of being able to activate assignments for exactly some control block.
We run into problems with dynamic control, since the compiler is free to spend as much time as it wants in between groups, for example. We still need to activate the assignments during this "in between" time, even if no groups are currently executing. Therefore, in order for these assignments to be active, they  must be continuous assignments. The problem with continuous assignments is that they are too coarse-grained to let us activate assignments for exactly a control block. The only solution I could think of is continuous assignments that are something like this:

child_instance_in.in = // magical guard that is active for a specific control stmt ? 32'd2;
child_instance_in.in = // magical guard that is active for a different specific control stmt ? 32'd3;

But it seems to me that this is basically the same thing as a generalized with operator.
This leads to the question: what are the downsides of a generalized with operator.
One is that we are going to have to think about how it affects all of our existing optimizations (e.g., liveness analysis) and we will have to deal with it in future analyses. What are the other downsides?

Meeting Summary
Why this problem matters

Inlining is a very important optimization, since it is what makes other optimizations possible (e.g., the graphs at beginning of thread). So it is worth it to try to make it really aggressive.
The 2-cycle latency penalty is not a viable long-term solution for inlining

Solution to this problem
The solution we have come up with is to explore the general with. The reason why is the following: we need some way for assignments to be active exactly for some control (e.g., child_instance_in.in = 32'd2 for the above design). These assignments either have to be placed in the general with or in continuous assignments (some sort of asymmetric par is also another solution, but general with seems to be a simpler solution).
The main downside to a general with is that it makes analysis more difficult because it introduces a bunch of conflicts in assignments. But continuous assignments do this too, and they introduce even more conflicts! In other words, general with is actually more informative for analyses than continuous assignments.
Next Steps

Look at which passes/analyses have to change with a generalized with. I'll report back on if these changes are all doable.
If we determine it is doable, then the next step is to try an implement it. It should be simple (hopefully) to implement-- you just guard the comb group assignments with whichever fsm states the control is active (we do this in tdcc). For example, child_instance_in.in =  3 <= fsm.out <= 7  ? 32'd2 .

(Note that this entire problem is only for dynamic invokes. Static invokes are easy to inline, since you can use a static par that activates the continuous assignments for exactly the length of time you want them to).

After looking through the codebase for a bit, I think a generalized with would be doable. From a quick glance, the things that need to change are the following.

Domination Analysis:  I think with comb_group { body } would be treated somewhat similarly to how we treat a par blocks. (i.e., we can almost treat it like par {comb_group; body }: neither comb_group nor anything in body dominate each other, but both are guaranteed to execute (which makes them different than something like if branches).
Live Range Analysis: similar to Domination Analysis, we can treat them kind of like par blocks.
Compaction: the function that builds the dependency graph for a given seq takes a continuous_assigns parameter, which helps conservatively insert dependencies that respect continuous assigns: for seq that exists within (possibly nested) with comb_group statements, we just have to add the assignments to comb_group as part of the continuous_assigns.
dead-assignment-removal will get more complicated, since we have to look at the control instead of locally reason about groups. (We can always "cheat" a little bit if we wanted to by being overly conservative, and treat all comb group assigns like they are continuous assignments).

There are probably some other minor things that need to change, but I think it's definitely doable if we want to take a shot.

Thanks for the analysis @calebmkim! We should also define some optimizations that shrink the scope of with before these optimizations kick in so as to reduce its overall impact. A couple of rewrites that come to mind:

If control program is not transitively affected (this is important because it includes continuous assignments) by a with, it can be moved out of the with scope.

For with c { x; y; z } if y is not affected by c, then we rewrite it to with c { x }; y; with c { z }

If we have with c { x } where x is a group, we can inline the combinational assignments into the group.

Reducing the scope of with guards is good because it also enables us to generate simpler guards for the resulting programs hopefully?

Yep, this all makes sense-- it seems like optimizations to reduce the scope of with would help.

If we have with c { x } where x is a group, we can inline the combinational assignments into the group.

I'm not quite sure this would necessarily help generate simpler guards (it will probably make the program easier to analyze)---wouldn't the assignments in c have the same guard either way (just guarded by the fsm state corresponding to x)?
Another Question
Another question: would we want to support a static with comb_group {body} statement?
One argument towards "no" is the following: we can just use a static par {body; comb group}.
Also, during static-promotion, we can just directly promote with comb_group {body} -> static par {body; comb_group}.
This allows us to avoid the extra work of supporting an extra operator.
On the other hand, there is a weird asymmetry to this, and it's probably not too much work to just add a static with operator.

par<n> { group; comb group } is pretty weird. I see why this works (because you know exactly how long group runs for). Do we actually need a static with instead of just allowing with to exist in either context?
Maybe we need to redesign the data structures a bit so that we don't stratify static and non-static control ops and then just error out when non-static is nested in static.


new version generates code that has compile errors for angular service

Hi, I'm using the "Web API or ASP.NET Core via Reflection (deprecated)" option to generate my Angular Service code.
Installing the latest version generates code that gives me compile errors in Angular.
Class ‘Foo’ used before its declaration.(error TS2449). so the order in which classes are generated is not correct. I have to go in the generated code and move classes around to make the compiler happy! this offcourse is not ideal or even excepable :(
I have a few questions.
What does deprecated actually mean? Is this option going to disappear? And if yes  I assume there is a different preferred way of handling this? What would be the preferred way?
Because if I try to use .net Assembly it generates completely different code which is not working for me. (no enum types were generated while they are properties on my input and output types) and I also get the error TS2449.
If I want to keep using the 12.2.4 version which generates the right code I will not be able to update code generation to future TS versions and RxJS versions, right?
Please advise on how to move forward with this?!

I experienced the same issue with the newest update of 12.3.0. I fixed it by downgrading to 12.2.5.
The error is for a inherited generic class. The inheritance goes like this:
BaseClass
BaseClass : BaseClass
ConcreteClass : BaseClass
I did not investigate thoroughly though.

Pretty sure its a regression of this pr: https://github.com/RicoSuter/NSwag/pull/2033

Actually it’s because i removed this line and didnt add it again:
https://github.com/RicoSuter/NJsonSchema/commit/521519b482a71a9bd70cf13ea46c4a77fea4f73b#diff-2d5a539e462d39b4234c5350f3e7f250L23


Special characters not working at all in Safari

Certain character combinations like "ff" are completely hidden in Safari, making the text illegible.
Link to PDF file: https://s3.eu-central-1.amazonaws.com/s3.envoy.rocks/uniti/sitomeca/algemene-voorwaarden/BBCtqc_Sitomeca+GTCs+v1.2.pdf
Configuration:

Web browser and its version: Safari Version 10.1.2 (12603.3.8)
Operating system and its version: OS X 10.12.6
PDF.js version<EMAIL_ADDRESS>Is an extension: no

What is the expected behavior? (screenshot from Chrome)

What went wrong? (screenshot from Safari)

Closing as duplicate of #8852.


[Android] App crashes on sponsor screen when network is offline

Describe the bug
The app crashes when opening the sponsor screen for the first time after launching the app while offline.
To Reproduce
Steps to reproduce the behavior:

Go to 'About screen'
Set 'Airplane mode'
Click on 'Sponsor'
See error

Expected behavior
App should not crash, and instead show some error.
Screenshots

Similar issue
#950

Oh, really? Thanks!

I want to try fixing this 🖐

Thank you~~! assigned!


added-font-icon-in-toc

added-font-icon-in-toc

@priyanka9634 is this change works on desktop and mobile both?


Clipping plane with Arcgis terrain cause WebGL Error

Clipping plane with Arcgis terrain cause WebGL Error

Sandcastle example:  https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/#c=rVbZbuM2FP0VIkURGXEoydTqOEFbTzANMEADJNM8xPNASYxNRCYFkvLELfLvvdpiyXGmLlAbhsW7nHt4F1K2jb5qhtKcFwUXS1TkVDCNjESa5Sw1fMPyLVrxjKGCKqORfEJmxdAylwlDulRPNGV4IRZiQxXacPadKXSJBPuO5kzzco3/rGXWaVov51IYygVTp2P090Ig+BimFIhuldxAGDXtO/+q0s83d/c8Z9l1zjbUcCnuh/ZWC9P/lCqfotOVMYWe2jbrPEmGqUqXXONUru3m0VZMG1szteHA0H6QKt+FIp/sNho83azpkt2BIZAfhnwdLcTr6KLKQvVthFU+CskF5OwSPfYcetubQ0rhiQpinZNJPIn9CLsecTzfI4SMked4MQkiHIaOH8EvBBkJfBIGPnbIxA0nQRSHo/Fx6GEcYS+MoghgJ2GD7ocuJhEhQRxGE79BD8IYe27keR4J/WPBIy/CThA7rkuI32AHnoNJ7E88EkdBA+0HASae6wQkdB3vSGziuA6ehFHsEHfidMT9AEch8A/8yGvAvbjKnu9NAjfyj8aOQ+x4kRcCt46457o4ilwohxu0GfdDD/uO67s+bG/UQn+7eCv3rtpfmFiaFdS8WeK8Xu8sbRvNFaMGho4J6P2uSZ6kQoymq71Z7OF3ittmRqGrKgK1unK2KhsOYucC/mYDOhfo7IyPUH9UKmvBXsyNyNgLeFkcnSF3hH4eOu55rHlWq8HhXUIxzTKrcX7k38YtzuNbEBAdLsRo1A/zwxDrMje8yLe/be9SmlNlddZj5GAoX7cc7RLeUS+Lg4hCqjXN+V+sB3UMzQpS8eXqME9dJkbR1FgHkvDf4nwcY8e8thk3pgd23hgexEiV1LrzL4vjKP0Ab8epeRq3xnusqiGQ66KEKci4NlSkDCVbVChmmMiq5q8umXoAENeImnotgSff31wjnNezxLJ6NoYXUC16o+Ng510Z3yhcDnzwkpnbqlCfWr11INaHLTecVlyUemX1k9tXv7HrmOzy/dodAPU1ijUcGkCsun3xu/PgI/i5zOu7XIrBZdne9dM9qv2Dk2VL9sAzs5oiZ18OqBJu6y5gtcIPv9/cXw8MBU3g8oYgRpXdYdbelSfjk5k225xdNfJf+LqQylS3t4WxbdgaGEJj2UmZPjODU627tPxkpMwTKF1vPwlNn5dKliKbIrVMqOVN4Dhvfw6O+mUv4KiCDU+RV7z0xIlU8EZxrmjGS91Xvu6F5QJ6tx8cXgoMhxPpHJp/KaZVU2Q5ex/x3MhiiiaDqJ0qkcbIdV8LYWd2l6JZxjeIZ5eLk71XqcUJVJBqDZqnMs/vYPoWJ1czG+wHbrmkVZw/gGtOt5XJyr360ggxxjMblu+92i2DecNp1rwYoowaep5wUdnIomouyBh7oVA0dr8toI9gtvKSQXuVSsHIXO90Nb0Gp0NtMmpAWW1wxdLnRL7AzmqMamc01+A3CFubsWy/ga+bnmvjfy3ABVic1hFOITT6XL+87r/ztq36f/CpxuMOygbo/0rmGmyRbox3HLo6/AM
Browser: IE, Chrome, Firefox
Operating System: Win 10 64bit

Thanks for reporting this @dhdbtkd . This does look like a bug. It's easy to see in the globe clipping plane example as well:
https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/?src=Terrain Clipping Planes.html

This may be video card or OS specific because this works fine for me (Linux, Intel).  @OmarShehata I assume from your comment that you can easily reproduce?

@mramato I can reproduce. What's your Max Texture Image Units on WebGL report?

From the error message I think Cesium may be using too many texture units
when generating draw commands for terrain tiles because the terrain system
isn't aware of the texture being used by clipping planes. @mramato you may
have more availabile texture units than @dhdbtkd.
On Thu, Jul 11, 2019, 12:15 PM Matthew Amato<EMAIL_ADDRESS>wrote:

This may be video card or OS specific because this works fine for me
(Linux, Intel). @OmarShehata https://github.com/OmarShehata I assume
from your comment that you can easily reproduce?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AnalyticalGraphicsInc/cesium/issues/7990?email_source=notifications&email_token=ABJFGNYVDZ7GHJ2Y2WOHKJ3P65MB5A5CNFSM4H7MAW4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZXGYYY#issuecomment-510553187,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABJFGN32GN4F4JOXMVDGZO3P65MB5ANCNFSM4H7MAW4A
.

Mine is 32, so that makes sense. I thought we had a test that made sure we supported the minimum but I'm guessing @likangning93 is on the right path and that two systems aren't aware of what each other are using.


Publish new release?

@benjamin-bader I was looking to upgrade our thrifty dependency and I was wondering if you have plans to release an official update of the library?
I tried the snapshots maven dependency but it's not working for CI builds (403 error from sonatype). I can work around this by hosting the dependency locally.
Let me know what your plans are. Thanks!

I do have plans!  My attention has been elsewhere lately, but we're overdue for a 2.0.0 release.  I feel a little uncomfortable declaring 2.0.0 because I don't think anyone is actually using the code I've added for Kotlin unions.  If it helps, I'd be happy to push an RC for you.
I'm surprised and concerned that you're getting a 403 from Sonatype; I hadn't thought that there was any access control at all on their snapshot repo.  Do you only see that in your CI builds?

Awesome to hear.
Yea, an 2.0 RC or 1.0.1 via mavenCentral / jcenter would be ideal.
I'm only seeing the 403 on our CI machines. We are running Buildkite (on AWS instances - I believe). The CI kicks of five parallel jobs (build, 3x lint, unit test) and pretty consistently only one of them is able to retrieve the dependency and the others get the 403 error - maybe it's some rate limiting by IP address from sonatype's end.
> Could not resolve com.microsoft.thrifty:thrifty-compiler:1.0.1-SNAPSHOT.
   > Unable to load Maven meta-data from https://oss.sonatype.org/content/repositories/snapshots/com/microsoft/thrifty/thrifty-compiler/1.0.1-SNAPSHOT/maven-metadata.xml.
      > Could not get resource 'https://oss.sonatype.org/content/repositories/snapshots/com/microsoft/thrifty/thrifty-compiler/1.0.1-SNAPSHOT/maven-metadata.xml'.
         > Could not GET 'https://oss.sonatype.org/content/repositories/snapshots/com/microsoft/thrifty/thrifty-compiler/1.0.1-SNAPSHOT/maven-metadata.xml'. Received status code 403 from server: Forbidden

You didn't feel the break because you're not using thrift unions, at least not with Kotlin codegen :)
To my embarrassment, I'd totally forgotten to implement this in Kotlin for 1.0.0, resulting in barely-working code.  The new implementation is good, but not at all compatible.  Technically that means 2.0.0, even if (nearly?) nobody is using unions these days.
I'll make an RC release tomorrow and update here.

2.0.0-RC1 is out to Sonatype, and should be visible in Maven Central in the next 15-60 minutes.  Usually it's faster, but today their server seems dog-slow so ¯_(ツ)_/¯


how to do with tch-rs like that in pytorch---"value = value[..., :1]"

I wonder how to do it with tch-rs:
        torch_tensor = torch_tensor[..., :1]

At present, I found a way like this:
        let tensor = tensor.index_select(-1, &tensor_index);


feat: network list and status check tauri commands

Description
Implement api.rs module which provides the contract between Tauri UI and underlying backend services.
Implement network_list tauri command and apply the same approach to image_list command.
Move the commands to api module which should handle the contract between UI and backend.
Implement health_check endpoint providing the actual container's statuses read from Docker.
Separate the Container states from the workspace configuration.

Motivation and Context
The Container State struct should be used as a binding between image (ImageType) and docker containers(name, id).
The actual docker status should be read from docker with the provided attributes(container id for example).
Health check

How Has This Been Tested?
Container module provides create, update and delete test cases.
То test health check I run docker and uncommented the test_health_check in module health_check.rs
I run the app and check that base node and tor images are being started correctly.

I read through the code, I don't know enough rust yet to make a meaningful contribution to CR, I have a question, though:
do I understand correctly that we will be able to invoke('health_check', 'Tor') to get a status of Tor container?
and values that we pass should be stringified versions of ImageType enum?

#200 will resolve the issue of missing gui-react/build

I'm going to switch back to building only the launchpad jobs. Here is the prove that jobs are passed as expected:


IRC support

I didn't see a channel on freenode. Is there a new place for IRC chat/support?

Hi, the project isn't really active anymore unfortunately, and since the Freenode incident a few years back I've removed most of the content from it.
Feel free to contribute to the project or to report bugs, however there'll be no guarantee that they'll be fixed in a timely manner, I'm sorry.


seq to list with scalafix

Fixes #1035

@rpless @sergeykolbasov How do you feel about this?

I'm mostly fine with this, although there are 3 cases I'm not sure about:

The paths method in Endpoint feels like it should be a Seq because there is an order
The accept argument in Negotiable also feels like it should remain a sequential
the r in Trace.fromRoute also is ordered

I'm kinda on the fence about changing these, but if people are okay with there being an implied order for the lists in these cases, then I can go along with that.

Codecov Report

Merging #1036 into master will increase coverage by 0.81%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master    #1036      +/-   ##
==========================================
+ Coverage   83.84%   84.66%   +0.81%
==========================================
  Files          50       49       -1
  Lines         941      952      +11
  Branches       50       53       +3
==========================================
+ Hits          789      806      +17
+ Misses        152      146       -6

Impacted Files
Coverage Δ

...e/src/main/scala/io/finch/endpoint/multipart.scala
75.92% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/Trace.scala
92.85% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/EndpointModule.scala
83.01% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/ToResponse.scala
96.77% <ø> (ø)
:arrow_up:

...c/src/main/scala/io/finch/generic/FromParams.scala
50% <0%> (ø)
:arrow_up:

...amples/src/main/scala/io/finch/iteratee/Main.scala
0% <0%> (ø)
:arrow_up:

core/src/main/scala/io/finch/endpoint/path.scala
100% <100%> (ø)
:arrow_up:

core/src/main/scala/io/finch/Output.scala
94.87% <100%> (ø)
:arrow_up:

core/src/main/scala/io/finch/Input.scala
100% <100%> (+9.61%)
:arrow_up:

core/src/main/scala/io/finch/ToService.scala
100% <100%> (ø)
:arrow_up:

... and 9 more

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 cd43356...3c77d8d. Read the comment docs.

Seq is that it could be substituted with mutable structures

That's a good point. Also didn't realize List extended Seq, thought it list weren't necessarily ordered, but I guess they are, so its not a problem then.


Removing bullet points from education causes issues

Hello everyone,
I want to get rid of the bullet points in the education section. At first I tried to remove the this from education.tex:
{
\begin{cvitems} % Description(s) bullet points
\item {blablabla}
\end{cvitems}
}
However, it just leaves a blank space that I want to eliminate. I tried using \vspace as suggested on Stack overflow without success. Any idea how to solve this?

You need to do that from the awesome-cv.cls file. Perhaps, you can elaborate more on what type of style you need in description.

I was trying to accomplish the same thing -- reduce the space after a cventry that didn't have bullet points. I found this StackExchange answer and found it worked for me.
Try specifying the amount of space you want to reduce. In my case, \vspace*{-4mm} immediately after the empty cvitems gave me what I wanted.

Solution on #249


output missing during TestEnv

test_cli.go:302:
    t.Assert(app.sh("echo $ENV_TEST"), Outputs, "\n")
... result *main.CmdResult = &main.CmdResult{Cmd:[]string{"/home/ubuntu/go/src/github.com/flynn/flynn/test/../cli/flynn-cli", "-a", "rabbits-advise-lyndoch", "run", "sh", "-c", "echo $ENV_TEST"}, Output:"", Err:error(nil)}
... output string = "\n"

https://s3.amazonaws.com/flynn-ci-logs/20150201071952-f2c90fac-build-bbe4bc5857ecc59e90a99e3decd5aaaee8f193c4-2015-02-01-07-25-31.txt
Error is nil but output string is also the zero value.  Seen very infrequently.

Closing, re-open if it shows up again.


Initial CentOS 7 port: Get things working

Make Zulip installation on RHEL-family Linux distributions possible #41
Testing Plan:
This has been tested to produce a working Zulip environment on a clean CentOS 7 x86_64 installation.
Notes:
This series of patches has been made to make installing Zulip on RHEL-based systems possible, at least with a basic, common setup. More elaborate cases have not been tested (and will probably fail). This is meant as a starting point so we can expand the supported feature set later.
I've also added the option --no-move-deployment to the install script. This disables moving the Zulip repository around, which is quite convenient when working on the installer.
Please let me know there are any questions on the patch set or if something could be improved.

@RikaDenia awesome, thanks so so much for working on this!  This PR looks great.  I posted a batch of comments that I expect cover most of the issues with this commit series; if you can resolve those, I expect to be able to merge most of the individual commits in this PR.

@RikaDenia hey just wanted to check in -- if you have a chance to fix any of the above items, we can incrementally merge the pieces that are ready and shrink the size of your branch.
If you're super swamped, let me know, and I can see if anyone from the core community can help with the cleanups described above.  (Also @rht FYI).

There are changes to the prod setup here that are more cleanly structured on my PR on prod setup though.

@rht if you want to revive any of those changes so we can integrate them, I'd be happy to help do so.


[AIRFLOW-3414] Fix reload_module in DagFileProcessorAgent

Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title.

https://issues.apache.org/jira/browse/AIRFLOW-3414

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
six.moves.reload_module will throw exception if the module it is trying to reload has not been loaded yet. This will be the case if we loaded custom logging class and then try to reload the default logging module. This change will make sure we always load the already loaded logging module.

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
tests/utils/test_dag_processing.py

Note that the unit test covers the case where we loaded BOTH default logging module and are trying to reload custom logging module but not the case where default logging module is not loaded. This is because the test env already has the default logging module loaded and it would be risky to modify the loaded module list. The case is instead covered in local tests( using custom logging and the cluster is healthy).
Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes flake8

@Fokko @ashb @feng-tao @XD-DENG @kaxil @saguziel @aoen @YingboWang PTAL

@KevinYang21, I am oncall this week. will take a look next week if this pr is still open

@feng-tao lol I'm oncall too :D Don't worry about it, we got plenty of committers ;) Ty for being caring.

@kaxil Thank you for reviewing! Replied the comments in their own thread.


Update onsi

This PR contains the following updates:

Package
Type
Update
Change

github.com/onsi/ginkgo/v2
require
minor
v2.20.2 -> v2.21.0

github.com/onsi/gomega
require
minor
v1.34.2 -> v1.35.0

Release Notes

onsi/ginkgo (github.com/onsi/ginkgo/v2)
v2.21.0
Compare Source
2.21.0
Features

add support for GINKGO_TIME_FORMAT [a69eb39]
add GINKGO_NO_COLOR to disable colors via environment variables [bcab9c8]

Fixes

increase threshold in timeline matcher [e548367]
Fix the document by replacing SpecsThatWillBeRun with SpecsThatWillRun
[c2c4d3c]

Maintenance

bump various dependencies [7e65a00]

onsi/gomega (github.com/onsi/gomega)
v1.35.0
Compare Source
1.35.0
Features

You can now call EnforceDefaultTimeoutsWhenUsingContexts() to have Eventually honor the default timeout when passed a context.  (prior to this you had to expclility add a timeout) [e4c4265]
You can call StopTrying(message).Successfully() to abort a Consistently early without failure [eeca931]

Fixes

Stop memoizing the result of HaveField to avoid unexpected errors when used with async assertions. [3bdbc4e]

Maintenance

Bump all dependencies [a05a416]

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

3 additional dependencies were updated

Details:

Package
Change

github.com/google/pprof
v0.0.0-20240827171923-fa2c70bbbfe5 -> v0.0.0-20241029153458-d1b30febd7db

golang.org/x/tools
v0.24.0 -> v0.26.0

google.golang.org/protobuf
v1.34.2 -> v1.35.1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 44.242%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
438

Relevant Lines:
990

💛  - Coveralls


Prevent polymorphic slots causing content evaluation

Currently there's a bug in polymorphic slots where setting a slot can
cause content to be evaluated early. This requires code to be order
dependent, setting content and other values before setting a polymorphic
slot. This primarily occurs in code that makes heavy use of component
API's within Ruby, not within typical ERB usage.
This updates the polymorphic slot code to avoid the get_slot method so
that content won't be evaluated early.

I have no idea why the linter started failing on this PR. Maybe related to https://github.com/ViewComponent/view_component/pull/1576?


Support diacritics

So I stumbled on matching city names in Germany and particularly I have this:
'Gross-Gerau' .score('Groß-Gerau') => 0

I wonder if there's any chance that you can support mapping it first without diacritics as an option in the config? would be much easier this would be usage (as I see it):
'Gross-Gerau' .score('Groß-Gerau', { diacriticsMap: true }) => 1

or similar

If you add the fuzzy match it should work.
Sent from my iPhone

On Jan 7, 2020, at 9:39 PM, Daniel Chmielowiec<EMAIL_ADDRESS>wrote:

So I stumbled on matching city names in Germany and particularly I have this: 'Gross-Gerau' .score('Groß-Gerau') which gives me 0, so I wonder if there's any chance that you can support mapping it first without diacritics as an option in the config? would be much easier
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Halo doesn't disappear after click switch.

For example:

Need click at other place to make halo disappear:

Can reproduce on (chrome 60)
https://kradio3.github.io/react-mdc-web/components/switch/

i think it's not a bug. Because google's implementation has the same behavior. Have a look this demo https://material-components-web.appspot.com/switch.html


Stop moving towards pokemon after being captured

Expected Behavior
Stop moving towards pokemon after being captured
Actual Behavior
It continues to move towards the location even though the pokemon we are after has been captured.
Steps to Reproduce

As can been seen, Growlithe has been captured, but the bot still moves towards it.
Other Information
OS: MacOS
Git Commit: 361c0fa11
Python Version: Python 2.7.12

why is it closed? i have same behaviour :/


QDAC2 Reading Incorrect Current Values

Hello, I am working on a measurement in Quantify where one of the parameters set is the 'DC constant voltage' of a QDAC2 channel (along with other instruments) then the current corresponding to the same QDAC2 channel is read and logged as one of the parameters to get. The problem I am having is the current I am getting is not the correct value. I have checked that the voltage set for 'DC constant voltage' is correctly output with a digital multimeter, as well as what the expected current I should be measuring is using a multimeter and SourceMeter unit.
qdac=QDAC2.QDac2("QDac2", "ASRL13::INSTR")
qdac._internal_triggers={'inner'}
qdac.channel(9).measurement(3,1,'high')
qdac.channel(9).read_current_A.delay_s = 3
meas_ctrl = MeasurementControl("meas_ctrl")
meas_ctrl.settables(qdac.ch09.dc_constant_V)
meas_ctrl.gettables(qdac.ch09.read_current_A)
meas_ctrl.setpoints_grid([numpy.linspace(0, 1, 11)])
The plots below are for a 1 megaohm resistor directly connected to a QDAC2 channel with a 50 ohm to ground blank cap on the other side of the resistor. The expected result is zero amperes of current at 0VDC, and approximately one microamperes of current at 1VDC. A few key problems to note are:

There is a current being measured at 0V.
The two different channels do not produce the same graphs.
One of the channels has a negative slope for sweeping from 0V to 1V.

QDAC2 Channel 1:

QDAC2 Channel 9:

@Anders-QDevil FYI


Android TV/ Google TV Support

Please add support for Android TV; it would be great to use your app instead of using a full keyboard on TV.

There are no device restrictions, you can install TT9 on any Android device as long as it runs Android 4.4 or higher and it has enough free space. Unfortunately, I can't guarantee smooth operation on absolutely any TV, because I don't even have one, but it should work on most of them.
What particular problem are you experiencing?

First, I'm using the Xiaomi TV Box S (2nd gen), When I try to install the app from the Google Play Store, it shows that the app is not compatible with the device. Then, I tried to install it from F-Droid and successfully loaded the languages, but when I entered the cursor into the text box, only a bar with the word English appeared. Please check the image below:

Another request😅: can I use the keyboard without T9 (only using the layout, like touching key number 2 three times to enter the "C" letter, for example)?
Thank you

When I try to install the app from the Google Play Store, it shows that the app is not compatible with the device

I see what you mean. This is something Google does on some devices. I have an old Samsung tablet and on it TT9 appears as incompatible, even though it runs a supported Android version. I don't know if I am doing something wrong or the Play Store just decides so for some weird reason, or, in your case, maybe Xiaomi has restricted the allowed apps, because it is a very specialized device. Either way, just use F-droid. The updates may come a bit slower, but they run more security checks and are better all-around, in my opinion.

when I entered the cursor into the text box, only a bar with the word English appeared

This is normal. TT9 tries to take as little screen space as possible. When it detects a keyboard is connected, it reduces its height automatically (the remote control is a keyboard from technical perspective). You can adjust the layout to your liking from Settings -> Appearance -> Screen Layout.

Another request😅: can I use the keyboard without T9 (only using the layout, like touching key number 2 three times to enter the "C" letter, for example)?

Sure, you just need to switch to ABC mode using Input Mode key. Go to Settings -> Keypad -> Select Hotkeys and assign some remote key to the Input Mode function, so you can take the control.
Alternatively, if the Xiaomi supports mouse or emulated touch input, you can enable the full on-screen keypad and click the virtual keyboard key to toggle the modes.
Also, make sure to check the Hotkeys section for more info how to control TT9.


Write your own operator doc

Opening this as a draft pull request to address #11. I wrote a little bit of text for the doc, but found I'll need help to read the diff between the boilerplate code that's provided by kubebuilder and what we have in https://github.com/kubernetes-sigs/addon-operators/tree/master/coredns.
Any help to finish this would be much appreciated, as we'll need this doc to reach out, get more people to kick the tires and give us feedback.
Side-point: I was actually a bit surprised by how many files moved around. Could we make it so that the differences are somewhat smaller, so that reading the diff gets really clear and people who attempt to write their own addon operator will have to move things around a bit less? (It could also well be that I made a mistake along the way somewhere...) @justinsb @johnsonj

/reopen
We should talk about this next meeting. This topic came up in our F2F at Kubecon.

As far as I understood it, we wanted to tackle #24 first, so that the diff between v2 templates (now that all current patches are in kubebuilder 2.2.0) and our coredns operator are minimal and can be used as a basis for writing these docs.
E.g.

install kubebuilder (>= min version)
run these commands, delete irrelevant bits
now we'll take you through the crucial bits of an example operator we wrote (highlight important sections in the diff mentioned above)
demo section (how to run it)
conclusion / next steps / join cluster addons meetings

Does that make sense?

Does that make sense?

@dholbach I think that makes sense.
If it's okay, I'd like to tackle #24 and update the existing coredns operator to v2 and then contribute to this draft based on the coredns operator.

@rajansandeep That would be fantastic - I'm sure @johnsonj and @justinsb are happy about this too. :-)

sounds great to me!


Better running it docs using docker on Windows / Mac / Linux

Context
Need to create a better how to run DPS on docker as DPS hasn't a native binary for Mac #315 and Windows #306, so people would prefer to run a docker container instead of download DPS jar and download an JRE as it requires more steps.
Scope
=> Create a running it docker page (maybe one per OS)
With the best pratices for each OS and instructions of how to configure DPS as the default DNS server which basically are:

Volume docker.sock
Publish tcp/udp 53 port
If some service is already using port 53 then choose an local IP for that

Steps:

[x] created a page with general running on docker
[x] running on docker on Linux
[x] running on docker on Mac
[x] running on docker on Windows

[x] check if the instructions with the exact specified commands are working

=>  Mention running on docker at the home page

[x] Mention the general  running on docker  page and update instructions about mac on the home page as linux binary  won't work for mac

Also created a tutorial http://mageddo.github.io/dns-proxy-server/latest/en/5-tutorials/docker-reverse-proxy/


feat(@angular-devkit/architect): require build schemas from modules

PR Checklist
Please check to confirm your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Currently, when you create a custom builder for Angular CLI, the builder schema can only be a reference to a local file in the manifest directory. This is cumbersome, for example when you want to reference an external schema from a module instead.
This is now working:
"schema": "./src/builders/browser-esbuild/schema.json"

This is not working:
"schema"<EMAIL_ADDRESS>
What is the new behavior?
It is now possible to require a builder schema from a module.
This is now working:
"schema": "./src/builders/browser-esbuild/schema.json"

and this too:
"schema"<EMAIL_ADDRESS>
Internal mechanics:
The localRequire.resolve function will look up the location of a module, but rather than loading the module, just return the resolved filename:
schemaPath = localRequire.resolve(schemaPath, {
  paths: [basePath],
});

If the module can not be found, a MODULE_NOT_FOUND error is thrown by Node.js and the filepath will be composed using the local manifest directory alternatively.
Error message:
In any case, the schema will be read using readFileSync and the error message will always be the same:
ENOENT: no such file or directory: <path>

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Resolves #11307

@alan-agius4 I fixed the linting issue, please run the workflow again

@realtimetodie It looks like the lint action now fails because of the commit message. Can you try amending the first commit with the lint fixes (e.g. using git rebase -i and fixup)?

@jkrems done, sorry for the inconvenience

I squashed the commits. Thank your for taking the time to review my contribution.


add preprocess support for PlantUML "!include"

Fixes #49
see:
http://plantuml.com/en/preprocessing
http://plantuml.com/en/commons
implement and test:

[x] !include local-file-path (throw an error if file not found)
[x] !include local-file-path-with-spaces
[x] !include ... # comment
[x] !include remote-file-url (skip and warn if url not accessible)
[x] !include <std/lib/path> (skip and warn)
[x] !include file!index
[x] !include file!id
[x] !includeurl url (compatibility : same as !include remote-file-url)
[x] !includesub id (compatibility : includes !startsub id ... !endsub)
[x] recursive include
[x] cyclic include loop protection (throw an error if detected)
[x] remove block /' ... '/ and line ' ... ' comments
[x] !include_many local-file-or-url (compatibility : same as normal !include ...)
[x] !include_once local-file-or-url (throw an error if file included multiple times)
[x] !include local-file-path-or-url if included file has @startuml ... @enduml block(s) it should include only first block (index 0)

@Mogztter please review the first naive implementation ;)

reinclude protection (recursive include loop)

That's a good point but with your current implementation we do not resolve include recursively right? I mean we only resolve the first level of include no?
We should add a test on this case:
main.puml -> !include style.puml -> !include color.puml

And we should read PlantUML code to see how they prevent recursive include loop.

reinclude protection (recursive include loop)

That's a good point but with your current implementation we do not resolve include recursively right? I mean we only resolve the first level of include no?
We should add a test on this case:
main.puml -> !include style.puml -> !include color.puml

And we should read PlantUML code to see how they prevent recursive include loop.

Yes it's not implemented and is a hint for the future. I will add this feature and check how to prevent include loop.

@anb0s I see that you are making progress! Let me know when I can review it again. I've merged #42 in anticipation because once every includes will be inlined we will probably exceed the URI limit more often.
Anyway, keep up the good work 👍

@Mogztter please review the changes :)

Some tests related to "HTTP client / Adaptive mode" and "Conversion" are now failing and it looks not related to my last commit - i'm sure it worked some hours before ;)

Some tests related to "HTTP client / Adaptive mode" and "Conversion" are now failing and it looks not related to my last commit - i'm sure it worked some hours before ;)

I've just released and published a new version of Kroki and some images are not exactly the same with the latest version. We need to update the expected output accordingly.

@danyill just fixed the tests, please rebase on master.

I've I've thought about some issues not yet adressed:

@Mogztter : you have metioned trailing comments: # this is a comment but i didn't found any documentation about it
!include in comments: e.g. single line '!include my-file.iuml' and multiline /' ... !include my-file.iuml ... '/ are processed, but must be skipped
including whole file that has @startuml ... @enduml block(s) --> check how original PlantUML handles them: remove them from file or just include the whole file and PlantUML will complane at server? We are using always *.iuml files without any @startuml..@enduml blocks, so it works for us ;)
we just include one file multiple times except if's not included cyclic (prevent infinite include loop), how is about new/old preprocessor:

!include now allows multiple inclusions : you don't have to use !include_many anymore
...
Note that there is also a !include_once directive that raises an error if a file is included several times.

--> should we support !include_many and !include_once ?

should we support !include_many and !include_once ?

Good catch! I wasn't even aware of these two directives 🤯
I've checked and they are still supported in the latest version of PlantUML so, unfortunately, we need to support them as well 😬

you have mentioned trailing comments: # this is a comment but i didn't found any documentation about it

Yes, it's not documented but you can give it a try: http://www.plantuml.com/plantuml/uml/ZOz1ImCn48Nl-HLnlQnWDmezUQginwgbwbdIxD0Dp4x2p0JflpSkw2AYU7elWVUzDnjHprecD6UH0fO12gCTLRFSECV-hJj67SkX2718f43QXJIvVGoUX_GG8GEwVhtQeITzkTyw1WGluAvNL_N_jQyX7mcuoxN5djj-RJ-SCJjWITJcMMunUhcqpTOV09jg7hF6H1xj7KZWEB-Q2_E5QyEd-n5zXZ1ImdGy_G5wEed2rCei_sqtUy3lWtzTiI2MEPMm0HhgzUy0

!include in comments: e.g. single line '!include my-file.iuml' and multiline /' ... !include my-file.iuml ... '/ are processed, but must be skipped

it should be relatively easy, I think that an include directive is only valid if it starts with 0 or more spaces, otherwise it won't get processed. So, the following are valid
   !include /path/to/something.puml
!include /path/to/something.puml
 !include /path/to/something.puml

But the following are not:
a   !include /path/to/something.puml
\!include /path/to/something.puml
 '!include /path/to/something.puml

Multi-line comments are more complex to handle because we will need to ignore content when we find /' until we find '/.

including whole file that has @startuml ... @enduml block(s) --> check how original PlantUML handles them: remove them from file or just include the whole file and PlantUML will complane at server? We are using always *.iuml files without any @startuml..@enduml blocks, so it works for us ;)

I think it should work, PlantUML will ignore/remove them.
I will try to take some time this week to review this great contribution 👍

should we support !include_many and !include_once ?

Good catch! I wasn't even aware of these two directives 🤯
I've checked and they are still supported in the latest version of PlantUML so, unfortunately, we need to support them as well 😬

OK, i've added them to the list.

you have mentioned trailing comments: # this is a comment but i didn't found any documentation about it

Yes, it's not documented but you can give it a try:

OK, also added to the list, should be easy.

!include in comments: e.g. single line '!include my-file.iuml' and multiline /' ... !include my-file.iuml ... '/ are processed, but must be skipped

it should be relatively easy, I think that an include directive is only valid if it starts with 0 or more spaces, otherwise it won't get processed.
Multi-line comments are more complex to handle because we will need to ignore content when we find /' until we find '/.

OK, i've added to the list and added test and implemented, it was easy with regex ;)

including whole file that has @startuml ... @enduml block(s) --> check how original PlantUML handles them: remove them from file or just include the whole file and PlantUML will complane at server? We are using always *.iuml files without any @startuml..@enduml blocks, so it works for us ;)

I think it should work, PlantUML will ignore/remove them.

OK, we should first check how PlantUML handles it.

I will try to take some time this week to review this great contribution 👍

Thank You!

I've added the last features discussed and have now only one to decide or verify:
To be specified: !include local-file-path-or-url should remove @startuml and @enduml lines from included file and include only first block (index 0) or include all blocks as one?

hm, i've tried all the files i've created for tests with original PlantUML and found that !include_once is not an include guard  in the included file itself like i've implemented, but it's just like !include_many my-file.iuml and !include my-file.iuml you can use !include_once my-file and than it will produce error if used multiple times:
produces error:
@startuml
  !include_once test\fixtures\plantuml\style-general.iuml
  alice -> bob
  !include_once test\fixtures\plantuml\style-general.iuml
@enduml

no error:
@startuml
  !include_once test\fixtures\plantuml\style-general.iuml
  alice -> bob
  !include test\fixtures\plantuml\style-general.iuml
@enduml

That's should be easy to change...

hm, i've tried all the files i've created for tests with original PlantUML and found that !include_once is not an include guard in the included file itself like i've implemented, but it's just like !include_many my-file.iuml and !include my-file.iuml you can use !include_once my-file and than it will produce error if used multiple times:
produces error:
@startuml
  !include_once test\fixtures\plantuml\style-general.iuml
  alice -> bob
  !include_once test\fixtures\plantuml\style-general.iuml
@enduml

no error:
@startuml
  !include_once test\fixtures\plantuml\style-general.iuml
  alice -> bob
  !include test\fixtures\plantuml\style-general.iuml
@enduml

That's should be easy to change...

Done!

To be specified: !include local-file-path-or-url should remove @startuml and @enduml lines from included file and include only first block (index 0) or include all blocks as one?

Tested with original PlantUML and adapted requirement:
!include local-file-path-or-url if included file has @startuml ... @enduml block(s) it should include only first block (index 0)

To be specified: !include local-file-path-or-url should remove @startuml and @enduml lines from included file and include only first block (index 0) or include all blocks as one?

Tested with original PlantUML and adapted requirement:
!include local-file-path-or-url if included file has @startuml ... @enduml block(s) it should include only first block (index 0)

Done!

From my point of view the important !include features are implemented and tested.
Please review...

I will probably checkout your branch tomorrow and carefully review the code :eyes:

@anb0s Overall this is really good and I've made only a few tiny changes. The biggest change is that the preprocessor now preserves comments. I think it's important otherwise we will "lose" information if we want to use the encoded format (ie. the URL) as the "source of trust".
I don't recommend it but some users asked me if all the content was in the encoded format so I think it's important to preserve comments.
I've also added a few tests (but most of the cases were already covered :+1:) and I also resolve the "first" !include directive relative to the base directory instead of .. For instance:
[plantuml]
....
!include ./style-general.iuml
alice -> bob
....

If you base directory is /path/to/docs, the preprocessor will try to read /path/to/docs/style-general.iuml. If base directory is undefined, I believe that the value will be "the current working directory".
Let me know what you think.

@anb0s Overall this is really good and I've made only a few tiny changes. The biggest change is that the preprocessor now preserves comments. I think it's important otherwise we will "lose" information if we want to use the encoded format (ie. the URL) as the "source of trust".
I don't recommend it but some users asked me if all the content was in the encoded format so I think it's important to preserve comments.

I've also thought first to preserve them, but then decided as not needed and easier to remove instead of "handle". So i'm fine with preserving comments 👍

I've also added a few tests (but most of the cases were already covered 👍) and I also resolve the "first" !include directive relative to the base directory instead of ..

Yes, that's also good to have it explicitly defined instead of expecting working directory be the same as base directory of the document.

If you base directory is /path/to/docs, the preprocessor will try to read /path/to/docs/style-general.iuml. If base directory is undefined, I believe that the value will be "the current working directory".

Yes it looks like it's the current working directory if not defined.

Let me know what you think.

I've reviewed the changes and it looks good to me. I can maybe try it tomorrow, but if all tests are green i'm fine with this 💯
Thank You!

I've checked out the new version and it looks good to me!
From my point of view it can be merged ;)

Let's do this!
A big thanks for your work Andre 👍


dataset not accessable

title. Whenever I open the nextcloud links I'm prompted to login.

Hi @HassanJbara,
We are migrating the dataset to a new server, this was meant to be closed before the Xmas holiday but unfortunately was not possible to solve in time. This will be completed asap in the new year.
Seasonal greetings,

Hi @HassanJbara, We are migrating the dataset to a new server, this was meant to be closed before the Xmas holiday but unfortunately was not possible to solve in time. This will be completed asap in the new year. Seasonal greetings,

I see! It has been like that for a while and we wanted to use the dataset for a project, so I got a bit worried. Thanks for your work!