Expose the predicate function to create Predicate specs from functions

I know it isn't necessary to create a spec object for predicates but is is helpful for those cases where one is passing specs to other things in a codebase.

It looks good, but there are linting adjustments to make...

Sorry:
/home/travis/build/prayerslayer/js.spec/lib/util.js
  19:39  error  Replace `specName` with `⏎········specName⏎······`  prettier/prettier

maybe we can discuss at some point to drop prettier linting.

Let's discuss it now because it isn't helping. I run yarn lint in the project locally and pass. Perhaps Travis uses a different ruleset?

I have had the same problem  a while ago and could not for the life of me understand what was wrong, let me try on my side

Another idea is to pin the versions of the dev tools for stability. It's likely my locally-installed prettier is different from what is in Travis. I'll submit a PR for that and see.

Pinning worked for me, at least I know I'm building with known dependencies: https://github.com/prayerslayer/js.spec/pull/60

I'll rebase after this merges: https://github.com/prayerslayer/js.spec/pull/60

Done


extend extension check to ".CHA"

When attempting to load a chart with a total path length longer than 260 characters, Windows returns a extended-length path with shortened folder names. This also causes the extension to be changed to ".CHA".
The chart is loaded fine if the line that checks for a valid extension also includes this shortened extnesion.

This is absolutely not the solution to this problem.


Validation tool failed - TypeError: 'NoneType' object is not iterable

I'm running the Validate Database tool (2.13) on someone else's almost complete GeMS database for a mineral resources map that's required some finagling to get it into GeMS, so this could very easily be user error. I've tried to run the Validate Database tool and at first thought it was failing because the attribute domains were not embedded for GeoMaterials and GeoMaterialConfidence.  After adding those back in, I am still receiving the error message below -
Validate Database
Parameters
Input geodatabase or geopackage     C:\Users\LLeBlanc\Documents\MappersHelp\NGGDPP\Deliverables-LL\AL_2023_LeeCounty_1.0-submittal\AL_2023_LeeCounty_1.0\AL_2023_LeeCounty_1.0-database\AL_2023_LeeCounty_1.0.gdb
Output workspace     C:\Users\LLeBlanc\Documents\MappersHelp\NGGDPP\Deliverables-LL\validation-LL
Validate standalone file
Validate embedded metadata     true
Report errors with _ID, not OBJECTID     false
Skip topology checks     false
Refresh GeoMaterialDict     false
Delete unused Glossary and DataSources rows     false
Compact GDB     true
Open report when done     true
Messages
Start Time: Wednesday, June 26, 2024 3:54:02 PM
This version of the tool is up to date: GeMS_ValidateDatabase.py, version of 3/28/2024

Looking at level 2 compliance
Rule 2.1 - Has required elements: nonspatial tables DataSources,
DescriptionOfMapUnits, GeoMaterialDict; feature dataset GeologicMap with
feature classes ContactsAndFaults and MapUnitPolys
Rule 2.2 - Required fields within required elements are present and correctly defined
2.3 All MapUnitPolys and ContactsAndFaults based feature classes obey Level 2 topology rules:
no internal gaps or overlaps in MapUnitPolys, boundaries of MapUnitPolys are covered by ContactsAndFaults
No topology found in GeologicMap
Creating geodatabase for topology - C:\Users\LLeBlanc\Documents\MappersHelp\NGGDPP\Deliverables-LL\validation-LL\Topology.gdb
Creating feature dataset GeologicMap
Copying feature classes
Creating topology GeologicMap_Topology
Adding topology rules to topology
Looking at validation results for errors
2.4 All map units in MapUnitPolys have entries in DescriptionOfMapUnits table
2.5 No duplicate MapUnit values in DescriptionOfMapUnits table
2.6 Certain field values within required elements have entries in Glossary table
2.7 No duplicate Term values in Glossary table
2.8 All xxxSourceID values in required elements have entries in DataSources table
2.9 No duplicate DataSources_ID values in DataSources table

Looking at level 3 compliance
3.1 Table and field definitions conform to GeMS schema
3.2 All MapUnitPolys and ContactsAndFaults based feature classes obey Level 3 topology rules:
no overlaps, self-overlaps, or self-intersections in ContactsAndFaults.
3.3 No missing required values
3.4 No missing terms in Glossary
3.5 No unnecessary terms in Glossary
3.6 No missing sources in DataSources
3.7 No unnecessary sources in DataSources
3.8 No map units without entries in DescriptionOfMapUnits
3.9 No unnecessary map units in DescriptionOfMapUnits
3.10 HierarchyKey values in DescriptionOfMapUnits are unique and well formed
Traceback (most recent call last):
  File "C:\Users\LLeBlanc\Documents\GeMS\GeMS_formatfiles_GSA\GemsToolboxes\gems-tools-pro-2.13\gems-tools-pro-2.13\Scripts\GeMS_ValidateDatabase.py", line 1716, in
    dmu_path = db_dict["DescriptionOfMapUnits"]["catalogPath"]
^^^^^^^^^^^^^^
  File "C:\Users\LLeBlanc\Documents\GeMS\GeMS_formatfiles_GSA\GemsToolboxes\gems-tools-pro-2.13\gems-tools-pro-2.13\Scripts\GeMS_ValidateDatabase.py", line 1636, in main
    #     if result[0] == 1:

  File "C:\Users\LLeBlanc\Documents\GeMS\GeMS_formatfiles_GSA\GemsToolboxes\gems-tools-pro-2.13\gems-tools-pro-2.13\Scripts\GeMS_ValidateDatabase.py", line 854, in rule3_10
    ]

TypeError: 'NoneType' object is not iterable
Failed script Validate Database...
Failed to execute (ValidateDatabase).
Failed at Wednesday, June 26, 2024 3:54:17 PM (Elapsed Time: 14.96 seconds)

I deleted some rows from the DMU and the tool ran with no issues, so figure something must've been wrong with the data.


Update celery health check and standardize responses

PROBLEMS:

The celery health check returns true when celery failed to process jobs
Responses were not standardized which makes monitor code cumbersome

AFTER THESE CHANGES:

The celery health checks the result of a job using the celery_test API
Responses are standardized to make monitoring easier

Hello @CodeRhymesLife! Thanks for submitting the PR.

There are no PEP8 issues in the file manage.py !

There are no PEP8 issues in the file portal/views/healthcheck.py !

There are no PEP8 issues in the file portal/views/portal.py !

@jhowe-uw please see thread on Slack for more info, but we decided to keep the celery beat check how it is. The celery worker and celery beat currently rely on redis for scheduling, so if redis goes down we're hosed anyways. For that reason we think it's ok to have the beat healthcheck rely on redis.


Begin breaking apart gam.py into logical pieces

Start with one of the deepest parts of the stack, Google API request execution calls and associated errors. Critical information printing functions and application control logic are also broken out into their own components.
This change also adds unit tests for migrated content and makes code more PEP8 compliant.
This commit starts work on  jay0lee/GAM#147

@jay0lee I won't claim to be familiar with the build environment you're using, so if there's anywhere that these new files needed to be added to a build config, let me know.

@ejochman if you want to improve GAM, I'd start instead with the https://github.com/taers232c/GAMADV-XTD3 source. It is a better codebase (proper exit statuses, support for more features, python3 compatible) and tends to get new features earlier than GAM itself, while maintaining command line compatibility.

This looks like a good start, for the unit tests you added, can we also add them to .travis.yaml so they are executed on all changes?


Hide days without any talks when filtering

If filters produce empty days it would be cool if they were hidden.

The filter view doen't display days any more, therefore I close this.


🐛 [cloud_Firestore] Update 4.14.0 CHANGELOG to clearly describe its BREAKING change

Update 4.14.0 CHANGELOG to clearly describe its BREAKING change
According to the diff, since cloud_firestore version 4.14.0, aggregation count query returns int? instead of int, which is not compatible with previous versions.
So would it be better to clearly describe the BREAKING change for 4.14.0 CHANGELOG? (Otherwise, I would like to know the standard to judge what BREAKING changes are and others are not.)
And additionally, having doc comments to explain when the count property to return null is desired.

It looks like a bug to return null...

Hello @kosukesaigusa, sorry for the late response. The change from int to int? is indeed a breaking change but was considered a fix since it could happen in some edge cases in the previous versions.


[PROPOSAL] useconstexpr instead of inline constexpr for functions

Description

While browsing though the C++ code I have noticed that many functions have inline constexpr specifiers. According to C++ reference for constexpr: A constexpr specifier used in a function or static data member(since C++17) declaration implies inline.
Build and tests pass on my end.
Checklist

[x] A description of the changes in this PR is mentioned above.
[x] All the new and existing tests pass.
[x] The code follows the code style and conventions of the project.
[x] No plagiarized, duplicated, or repetitive code that has been directly copied from another source.
[x] I have read the whole Contributing guidelines of the project and its resources/related pages.

Screenshots (if any)

Note to reviewers

Make all inline constexpr functions constexpr.

Hi.
You are right, but Jule also supports C++14 standard. This changes still implements inline for C++14 standard?
We can create preprocessor define for C++14 standard. If C++14 standard is used, this define represents inline, if not, represents nothing. So we can have inline for C++14 standard compilations.
Also, I think we can continue to use inline constexpr instead of constexpr if there is no problem (such as compiler errors or etc.) about it.
Thanks for your effort.

This has nothing to do with the version of C++: constexpr function is inline in C++11, C++14, C++17 etc. (constexpr was introduced in C++11).

Right but reference says: constexpr implies inline for functions since C++17.
So constexpr doesn't implies inline in C++14, by reference.

No.
Please have a look at the cpp reference. There are two statements here:

A constexpr specifier used in a function declaration implies inline.
(since C++17) A constexpr specifier used in a static data member declaration implies inline.

Oh, yes. Sorry.
I just missed separated part for static members.
I'll merge your PR.
Thanks for your contribution.

No worries. The formatting there is tricky.
Thanks!


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_14_n2hiesu/clone/recipe/meta.yaml:19: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_14_n2hiesu/clone/recipe/meta.yaml:25: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_14_n2hiesu/clone/recipe/meta.yaml:32: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_14_n2hiesu/clone/recipe/meta.yaml:32: missing_description: The recipe is missing a description
ERROR: /tmp/abs_14_n2hiesu/clone/recipe/meta.yaml:32: missing_dev_url: The recipe is missing a dev_url
Errors were found


Use python execution service, not general process execution service for non-daemon raw start.

For #12821

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[x] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

This is why I'm glad we have the validate step. Glad that @rchiodo caught this.
My fix for 2.7 initially did this:

Try to launch the daemon
If the daemon comes back as a IPythonExecutionService then we failed to launch the daemon
Return undefined from the daemon launcher
In the kernel process if the daemon launcher returns undefined, then use process execution service to launch the kernel spec

This would work, and was working for my test case. But it could very easily pick up the wrong interpreter. It would certainly  pick the wrong one for anything that was just an interpreter and not an venv / conda env.
New flow is:

Try to launch the daemon
If the daemon comes back as an IPythonExecutionService then use that to launch the process in the daemon launcher
Only use the general process execution service for non-python.

I might check this in first, since I want this fix in release. But maybe we could use a functional test here? I'll look into if it's reasonable to write one.

Functional tests (that actually use jupyter) use conda at the moment. I believe you said conda doesn't have this problem.


Add$99999

@HannahSlaughterZacharski*

@HannahSlaughterZacharski*

Hey!
You can help me create a demo web app?
Shoot me a mail at<EMAIL_ADDRESS>

yes  i can assist you


update the z-index of .app-home-body-content class

First thing, PLEASE READ THIS: ReactPlay Code Review Checklist

Description
Changed the z-index value of .app-home-body-content class to 5 so that it doesnot clash with sidebar z-index value and causes a
content overlap. I changed the value to 5 but not 1 because of an image that is present along with .app-home-body-content class as its sibling
Fixes #568
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.
Checklist:

[x] I have performed a self-review of my own code
[x] My changes generate no new warnings

@yash91989201 I have marked the PR for Hacktoberfest.. Make sure you register for the event... Follow the Forum discussion on our discord.
Coming back the PR, the Tests are failing, please take a look.

Sure I'll look into it

Sure I'll look into it

Test Passed now.

Please wait until october 1 for merging this pr, because then only it will count under my hacktoberfest contribution

Yes sir, in my radar 😀

@yash91989201, Can you fix the formatting as the entire CSS file content is getting changed?

done I, turned the formatting off and then I changed the z-index value for the final time and I commit the changes

Done, I turned the formatting off and then I changed the z-index value for the final time and I commit the changes. Are there any errors now ??

I will check and let you know.

@yash91989201 , Still there is a formatting issue.

Okay, I'll fit the issue this time

Everything fixed , now there will be no problem in merging (i hope so :) ) .

Hi @Sachin-chaurasiya
Could you please approve this PR if all is done from your end?

@yash91989201 Thanks for your contribution. The next step is socialising your contribution and getting started with the next issue! Keep contributing.

@all-contributors please add @yash91989201  for Code


Story: Leadership About Page

Leadership Page Integration
User Story:
As a visitor, I want to visit the Leadership page so that I can learn about present and past leadership teams.
Associated Epic: Link to Epic
Definition of Done

[x] Acceptance criteria defined
[x] Solution tasks specified
[x] Feature branch created
[ ] Unit tests written (on API code only for now)
[ ] Solution passes full suite of unit tests
[x] Design documents updated if needed
[x] Pull request created
[ ] Code is reviewed
[ ] Code is merged to main branch
[ ] Tests pass on CI
[ ] Deployed to staging environment
[x] Acceptance criteria is met

Acceptance Criteria

[ ] Given that the user visits the website, when they click on the "Leadership" link in the navbar, then they should be directed to the Leadership Page.
[x] Given the Leadership Page is loaded, when a user scrolls through the page, then they should see information about the Primary Officers.
[ ] Given the Leadership Page is loaded, when a user interacts with the page, then they should be able to access information about the Committee Heads.

Depends on

[] API route to access officer data from the database

Solution Tasks

[x] Define the user story, acceptance criteria, and tasks for Leadership Page integration.
[x] Create a feature branch for Leadership Page integration.
[ ] Ensure the solution passes the full suite of unit tests.
[x] Update design documents if needed.
[x] Create the pull request for Leadership Page integration.
[ ] Review and merge the code into the main branch.
[ ] Ensure tests pass on CI.
[ ] Deploy to the staging environment.
[x] Meet the defined acceptance criteria.

@ntr0pie When you finish this make sure to move it into "in review", and create your pull request. Before creating the PR, make sure you've merged main back into your branch and integrated the new color theme with semantic color names. If  you'd like help with any of these, let me or Raynard know.
Also, please make sure to include a screenshot of the feature on the PR, so we can all see the way it looks! 💯

@2nPlusOne
All set.
Moved it to "in review"
A pull request is in place too.


[query] Where can I put a .gitconfig for just Gitea?

Gitea version (or commit ref): 1.1.0
Git version: 2.11.0
Operating system: Ubuntu 17.04
Database (use [x]):

[x] SQLite

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

[x] Not relevant

Log gist: N/A

Description

Start Gitea web server
Gitea creates ~/.gitconfig and populates it with user.name "Gitea" and user.email<EMAIL_ADDRESS>
I don't normally use a global ~/.gitconfig so this autocreation creates issues for other tools I use. Is there another location I can create a .gitconfig file for Gitea to use? For example, gitea/custom/conf/ or gitea/repositories/.

Workaround: create ~/.gitconfig as an empty file, make it owned by root, and make it read-only. Gitea will use the<EMAIL_ADDRESS>identity and won't make changes to the file.

create a Gitea only-use user for example git Or maybe you can use docker to do that.

I created a user for the Gitea process and modified ~/.gitconfig for that user. Thanks!


Django 1.9 support for TaggableRel

In the new alpha 1a release of Django 1.9 TaggableRel.to is replaced by TaggableRel.model (on the underlying ForeignObjectRel superclass.
This PR address that in a way that I think is compatible with < 1.9 (to as an attribute), 1.9 (to as a property) and > 1.9 (to removed). It's an example, you may want to implement it in a different way, so I'm not expecting it to be accepted necessarily.
The existing tests related to it pass. (Other tests fail with 1.9 alpha, but I've got a separate PR for that.)

Just realised, some overlap with https://github.com/alex/django-taggit/pull/329. Sorry!

Closing in favor of https://github.com/alex/django-taggit/pull/352. Thanks for your PR though!

Just released 0.17.2 that has Django 1.9 fixes
https://pypi.python.org/pypi/django-taggit/0.17.2


feat(core): add detailed logging when deleting application components

If a user has deleted an application, and we want to restore it, it can be really difficult to track down pipeline configs. This should help?

LGTM

LGTM although I'd still like to see a proper restore endpoint at some point.

Agree a restore endpoint would be nice, but would require significantly more work and testing to get it working across different data stores.


Desugar recursive pattern matching

Desugar recursive pattern matches to non-recursive pattern matches in AST. Algorithm is referenced from Chapter 5 (by Phil Wadler) "Efficient Compilation of Pattern-matching" of "The Implementation of Functional Programming Languages" by Simon Peyton Jones.

Pattern matching stuff are all implemented now, including:

inexhaustion check
useless clause detection
desugar recursive patterns to non-recursive patterns

All test cases are passing except for "drop inference in pattern matching" in the DropInference suite. I don't know why it's failing, but I am inclined to believe that it is some problem with the test case itself. @j-hui


How to I change or add background images?

I tried putting a webd file in the background folder but nothing appears.

This is the part that handles the background:
	_startLazyLoad = () => {
		const date = new Date();
		const hour = date.getHours();

		if (hour >= 6 && hour < 12) {
			this._lazyLoadBackground('morning');

		} else if (hour >= 12 && hour < 18 ) {
			this._lazyLoadBackground('noon');

		} else {
			this._lazyLoadBackground('evening');
		}
	}

It searches for .webp pictures with these names in the assets/backgrounds folder. Either add new names here or replace the pictures and keep the name.

Just follow @danimateo 's answer.


Updates for psc-0.10.1 and dependencies

I removed the deprecated typeclasses, rather than redefining them.
Please push to pursuit (which automatically updates bower).

Going to build and maintain a new one of these


Published App from Default WinUI 3 Template Is Unresponsive

Describe the bug
I have encountered an issue with publishing Win UI 3 apps. In order to rule out any issues with my code, I am just trying to publish the app generated from the default template, which only contains a "Click Me" button. The specifics of the issue are as follows:

If I deploy the app, the exe file does not respond. The blue progress wheel momentarily appears, but nothing else happens.
If I publish the app, the Setup,exe completes successfully, but when I try to run the installed app, again it is unresponsive.
If I add this line of code: <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> to the project file, the deployed version runs correctly.
However, if I try to publish the version of the app containing this line of code, the Setup,exe gives an error message and will not complete.

In the "Steps to reproduce the bug" section below I describe the simplest method to reproduce each of these behaviours. I have also ensured I have installed the latest stable SDK and RunTime, which are version 1.2. If anyone can advise me how to fix this issue then I would greatly appreciate it.
Steps to reproduce the bug
Setup

Open Visual Studio 2022
Click "Create a new project"
Select "Blank App Packaged (WinUI 3 in Desktop)
Click Next
Click Create
Click Run, and observe that the project runs successfully

Steps to Reproduce Deployment Bug
7. Right click on the project name, and click Deploy
8. Navigate to the deployment output folder (right click on project name and click properties, click on Debug, Open Debug Launch Profiles UI, copy the Layout Folder Path, and paste into Explorer)
9. Double Click the YourAppName.exe file.
10. Nothing happens: That is, the application does not open, but there is no error message displayed. The blue progress wheel is momentarily displayed.
Steps to Reproduce First Publishing Bug
11. Right click on the project name, and click Publish
12. Modify the publishing settings so they are compatible with your operating system
13. Click Publish
14. After the process completes, click the link to navigate to the output folder
15. Double click the Setup File, the setup process completes without issue.
16. Run the installed application, by clicking on the Start button and clicking on YourAppName.
17. As with the deployed version, nothing happens.
Steps to Fix Deployment Bug
18.  Right click on the project name and click Edit Project File
19. Add the following property to the <PropertyGroup> element: <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
20. Right click on the project name, and click Deploy
21. Double Click the YourAppName.exe file.
22. Now the app runs correctly.
Steps to Reproduce Second Publishing Bug
23. Repeat steps 11 to 15
24. This time, running the Setup gives an error message: "Cannot continue. The application is improperly formatted. Contact the application vendor for assistance."
25. Click on the "Details" button, which opens the log file. The informative part of this file states: "Exception reading manifest from .dll.manifest: the manifest may not be valid or the file could not be opened." This log file is attached.
26. Open the manifest file and observe that it is an extremely large file, and it is not clear which part is the problem (GitHub will not let me attach this).
FJEXNEJX.log
Expected behavior
The installed app to behave in the same way as the deployed app.
Screenshots
No response
NuGet package version
None
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

i wonder why this issue isnt resolved? without this fix i wouldn't have known how to fix the issue with deploying my app.

Hi, thanks for filing.  The problem here might be that the WinAppSDK framework package isn't installed.  When you press F5 in VS this will happen automatically.  But if you just press the deploy button, then the dependencies aren't installed.  Does that help?  Thanks!
FYI @Scottj1s

I built a WinUI3 App and now I can published it to use the App on another computer 😣

Same problem, I can't deploy it.   Says my dll.manifest is incorrect.
This should have been fixed a long time ago, this is why so many developers turn away from Microsoft.  Very sad.

Hi @AceSyntax , it sounds like your issue might be different.  Would you mind opening a new issue with information about what version you're using and the full error message?  Thanks!

And currently it has not been fixed.

Hi, I notice this line in the repro steps:

Double Click the YourAppName.exe file.

For packaged apps like this one, you'll need to install the msix rather than run the .exe directly.  I'm not sure if this is what other folks are hitting.
It shouldn't be necessary to add true to your project for it to work out of the box.  By default, the blank app will use the WindowsAppRuntime framework package.
Are folks still seeing these problems on WinAppSDK 1.5?
Thanks!

I am so frustrated that this issue is not solved yet. If you do not want to solve the basic problem then close this project.

Hi @Md-Ashraful-Pramanik , which of the issues are you hitting?  Please note that if you're building a packaged app (which is the default in the blank app template), it's by-design that the app doesn't run when you launch the exe.  If you want to build an unpackaged WinAppSDK app, please see: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/deploy-unpackaged-apps
I don't know much about the VS "Publish..." option, but I suspect it may not be helpful for packaged apps.  For packaged apps, in VS you'd typically right-click on the project and use the "Package and Publish | Create App Packages..." option.
FYI @Scottj1s

Hi, is this a managed/C# app or a C++ app?

Hi @Md-Ashraful-Pramanik , if this is a C# app, you may need to follow the steps here: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel
In particular, you may need to add a nuget project reference to the latest CsWinRT package.

It solves the problem. Thank you. But I would like to request you to add all of them in the Blank Project Template so that no one gets panic like me.

@JesseCol, Now, I can not call db in release mode. I can do it in Debug mode.

Hi @Md-Ashraful-Pramanik , sorry, what do you mean by "call db" exactly?

DB means database call.
On Mon, Sep 16, 2024, 11:06 PM JesseCol @.***> wrote:

Hi @Md-Ashraful-Pramanik https://github.com/Md-Ashraful-Pramanik ,
sorry, what do you mean by "call db" exactly?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/microsoft-ui-xaml/issues/8288#issuecomment-2353463679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANO3RTS5MO3XBWN3BTIFT6TZW4F2BAVCNFSM6AAAAAAV4QEL2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGQ3DGNRXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

DB means database call.
…
On Mon, Sep 16, 2024, 11:06 PM JesseCol @.> wrote: Hi @Md-Ashraful-Pramanik https://github.com/Md-Ashraful-Pramanik , sorry, what do you mean by "call db" exactly? — Reply to this email directly, view it on GitHub <#8288 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANO3RTS5MO3XBWN3BTIFT6TZW4F2BAVCNFSM6AAAAAAV4QEL2SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJTGQ3DGNRXHE . You are receiving this because you were mentioned.Message ID: @.>

Have you had any luck with this, I have also noticed that none of my database queries or updates work in release

I am able to package and publish with default but as soon as I call an SQL server connection (Sqlexpress) the app crashes.


Fix : Enchantment#getTranslation() AbstractMethodError

The Enchantment#getTranslation() function was not implemented

Related issue https://github.com/SpongePowered/SpongeCommon/issues/739
Alternative solution: https://github.com/ST-DDT/SpongeCommon/blob/13eab81abd55b47dab7089dfceca22f6e4596dc0/src/main/java/org/spongepowered/common/mixin/core/item/MixinEnchantment.java

@rexbut: Sorry for the delay in getting this merged.


Changes

what

Ripped out a bunch of stuff that wasn't needed
Updated code to reflect the proper repo

why

Customizing to meet our needs

references
N/A

whoops! wrong repo


Allow usage of unauthenticated PuppetDB over SSL

On some occasions the user might have a PuppetDB installation serving the API from an SSL-enabled server with no authentication mechanism. In these cases the pem settings are not necessary and should be avoided.

+1

+1

CLA signed by all contributors.

Anyone from @voxpupuli could have a look at this, perhaps add a comment if you're not happy with the change?

@cassianoleal Sorry for the delay on this.
Could you rebase your PR off master, then I'll have a look at it.

@dhollinger I have rebased and updated the specs. All tests are passing.
I've stopped using Puppet altogether and don't have a real PuppetDB installation to test this against but other people seem to want this capability as well so I made the effort.
If there's anything to improve please let me know.

@cassianoleal Thanks!
I'm going to bring this topic up in the voxpupuli IRC channel and see what the community thinks. This requires more discussion before any one person merges it


Missing docstrings

In https://github.com/CCI-MOC/python-esiclient/pull/8 we enabled travis-ci to run pylint on every PR. Currently pylint is not checking for missing dosctrings; we should probably do that and enable that check.

closing as it has not been an issue since 2020


Not Showing Devicons in the tabline

The Tab Is not showing the devicons even when I have the require statement in packer and using as is one of the configurations with devicons given,
I have checked and the configuration does indeed have devicons added,
Can you please help me?

Mind sharing your config?

Sorry, the problem was fixed, I had some confusion about packer requires and wants and the devicons were not being called correctly


Added cmake build to project.

This cmake build was tested on Debina buster (10).

Thank you @kb2623


Revert "Add leviathan repositories"

This reverts commit e28820134a8390824ac305c2b4fc5715a12e0ec1.
Change-type: patch
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>

@balena-ci I self-certify!


Creation of bridge doesn't add iptables rules

When i create a bridge with this command:
/usr/bin/docker network create --driver bridge --internal --subnet=<IP_ADDRESS>/24 br0
i can see 2 new rules in iptables:
-A DOCKER-ISOLATION ! -s <IP_ADDRESS>/24 -o br-12f7b90ae6c0 -j DROP
-A DOCKER-ISOLATION ! -d <IP_ADDRESS>/24 -i br-12f7b90ae6c0 -j DROP

And if i start a container using that bridge, the container doesn't have internet connection to the outside.
BUT, if i restart docker service/daemon AFTER bridge creation, i can see some new rules added to iptables and the containers now have access to the outside.
Why is going on? How i can fix this? It's expected?

@felixsanz --internal means no internet connection.
If you can restart docker and get an internet connection with these --internal networks, this is a bug.

ping @aboch

@cpuguy83 You're right, i forgot i'm using --internal. And yes, this is a bug because restarting docker gives the containers access to the outside.
Regarding to my problem, if i remove the flag those containers can, for example, ping or curl the outside (OUTPUT).
But what about INPUT ? For example, if my container is a database using port 9200, without --internal the port is exposed on internet? Or the container still have to deal with my iptables rules from the host? (the host doesn't accept connections on port 9200, DROP policy)

@felixsanz
That would be a bug. I have not ben able to reproduce yet (testing with 1.12 from master).
What docker version are you running ?
Also, do you have other user defined bridge network installed ?
Can you attach the o/p of
 iptables -S DOCKER-ISOLATION
Thanks

I'm running 1.10.3 (coreOS stable)
No more user defined bridges.
Here is the output, but i'm not running anymore --internal
-N DOCKER-ISOLATION
-A DOCKER-ISOLATION -i docker0 -o br-851bd89bbca2 -j DROP
-A DOCKER-ISOLATION -i br-851bd89bbca2 -o docker0 -j DROP
-A DOCKER-ISOLATION -j RETURN

@felixsanz
Ok, what you now see is the expected output, the chain includes the rules to block traffic across the existing bridge networks.
Regarding the internal network no longer being internal after daemon reload, I think you are hitting the issue now fixed by https://github.com/docker/libnetwork/pull/1076

Probably. coreOS use an old version of docker (1.10.3). Close the issue if you think it's fixed. I can't bump the version yet to confirm :(

Thanks @felixsanz, closing.


Error on rake on OSX

after installing when I try to run any rake command get this error:
jadson:octohost-cookbook jadson$ rake build_droplet --trace
rake aborted!
cannot load such file -- foodcritic
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/jadson/www/octohost-cookbook/Rakefile:2:in `<top (required)>'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/rake_module.rb:25:in `load'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/rake_module.rb:25:in `load_rakefile'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:637:in `raw_load_rakefile'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:94:in `block in load_rakefile'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:165:in `standard_exception_handling'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:93:in `load_rakefile'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:77:in `block in run'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:165:in `standard_exception_handling'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:75:in `run'
/Users/jadson/.rbenv/versions/2.1.5/bin/rake:33:in `<main>'

If you 'gem install foodcritic' that should fix it.
On Sat, Jan 3, 2015 at 6:44 PM Jadson<EMAIL_ADDRESS>wrote:

after installing when I try to run any rake command get this error:
jadson:octohost-cookbook jadson$ rake build_droplet --trace
rake aborted!
cannot load such file -- foodcritic
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require'
/Users/jadson/www/octohost-cookbook/Rakefile:2:in <top (required)>' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/rake_module.rb:25:in load'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/rake_module.rb:25:in load_rakefile' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:637:in raw_load_rakefile'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:94:in block in load_rakefile' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:165:in standard_exception_handling'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:93:in load_rakefile' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:77:in block in run'
/Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:165:in standard_exception_handling' /Users/jadson/.rbenv/versions/2.1.5/lib/ruby/2.1.0/rake/application.rb:75:in run'
/Users/jadson/.rbenv/versions/2.1.5/bin/rake:33:in `'
—
Reply to this email directly or view it on GitHub
https://github.com/octohost/octohost-cookbook/issues/11.

get this one now: LoadError: cannot load such file -- rspec/core/rake_task

ok the gem install rspec solve the last problem, but get other error, so in the end i quit. I've broken the head with Ruby sometimes ago and abandoned because of it. I really wanted to use your tool, but requires understanding Ruby just to be able to install, I wonder how will the maintenance later. But it's a great tool, much like Deis (which is more complex and managed to install, but ideal for production).
Thank you @darron!

If you've done a bundle install - that should all be taken care of.


Throw HTTP 400 if the API request is malformed instead of abruptly terminating the HTTP session

Describe the bug
If the server doesn't get the API request in the JSON form that it expects, it abruptly terminates the HTTP session instead of elegantly throwing an HTTP 400 to indicate a malformed request.
On a related note, the README in this repo has a typo in the example client request .
# example request from README
# shhortlink -> shortlink
# <longlink> -> "<longlink>"
curl -X POST -d '{"shhortlink":"<shortlink>", "longlink":<longlink>}' http://localhost:4567/api/new

To Reproduce
Steps to reproduce the behavior:

Start Chhoto URL.

docker run -p 4567:4567 --name=chhoto-url -d sintan1729/chhoto-url:latest

Send a malformed request.

# typo in shortlink
curl -X POST -d '{"shhortlink":"", "longlink": "https://developer.mozilla.org/en-US/docs/Web/Text_fragments"}' http://localhost:4567/api/new
# curl: (52) Empty reply from server

Check the server logs.

docker logs -f chhoto-url
# thread 'actix-rt|system:0|arbiter:0' panicked at src/utils.rs:35:54:
# called `Result::unwrap()` on an `Err` value: Error("missing field `shortlink`", line: 1, column: 92)
# note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior
I expect an HTTP 400 to clearly indicate that the syntax is incorrect, and that the client shouldn't resend it without modifications.

Thanks for opening the issue. This has already been dealt with in 38b817f, and is already available in the latest release.

@SinTan1729 Could you fix the typo in the example client request in the README as well?
# example request from README
# shhortlink -> shortlink
# <longlink> -> "<longlink>"
curl -X POST -d '{"shhortlink":"<shortlink>", "longlink":<longlink>}' http://localhost:4567/api/new


Preserve permissions when untarring and unzipping

I've added a test and watched it fail, then pass. The test ensures that zippy does the same thing as tar and unzip regarding permissions.
I have not tested on Windows or Linux, just macOS
The test data file could be made more complex. Right now it only has a single script.sh file in it with u+x permission.

Currently, all files extracted from some of my test zips on Windows end up as read only (setPermissions with no fpUserWrite). Zip file permissions also generally appear to be absent or ignored by Windows even if present (only work on Unix). This complicates the behavior needed by Zippy when extracting a .zip from Windows on Mac or Linux for since it will currently appear to have no permissions.

On the tarball front, my Nim-1.4.2.tar.gz which I've used for testing only has {fpGroupWrite, fpGroupRead, fpOthersWrite, fpOthersRead} on many (all?) files, whcih does not include the fpUserWrite permission. This results in Windows making all the files read only On Windows, only the readonly flag is changed, depending on fpUserWrite permission. https://nim-lang.org/docs/os.html#setFilePermissions%2Cstring%2Cset[FilePermission]

I think https://github.com/guzba/zippy/commit/4d1fb10f7a2ffe00b3c245ac0087c6a4886af3a8 resolves the .zip side.

I think #head now has zip and tar ok on Windows.

Changes released in zippy 0.7.1

Thanks for the quick turnaround!


February release

@LCCarmody I hope I fixed the problem. You can now:

Checkout this branch
Run a release
Push release files to this branch
Merge

Proceed as usual!
Good luck!

We had a few issues with the new maxoa release/password issue (using maxo.Makefile). There is a short-term workaround until that can be resolved


Warning: Prop 'href' did not match. Server: "/" Client: "/about"

Hi guys, hoping to get through this issue.
I have successfully achieved SSR with this package but one problem escapes me. Whenever I go directly to a url, say /about, I see this error: Warning: Prop 'href' did not match. Server: "/" Client: "/about". Routing is fine and I can click through my app with no problem. It's only when going directly to a url in the address bar. The odd thing is, the content of the page shows but but inspector shows the code and css from the home page.
Also, as expected, the client side is fine and renders everything correctly. I am using Curi router and my code for the server looks like this:
import { createReactAppExpress, handleUniversalRender } from '@cra-express/core';
import App from '../../src/containers/App';
import Mixpanel from 'mixpanel';

const path = require('path');
const React = require('react');
const curi = require('@curi/core');
const InMemory = require('@hickory/in-memory');
const { CuriProvider } = require('@curi/react');

const { default: routes } = require('../../src/routes');
const memoryHistory = InMemory();
const router = curi(memoryHistory, routes);

const clientBuildPath = path.resolve(__dirname, 'client');
const app = createReactAppExpress({
    clientBuildPath,
    universalRender: handleUniversalRender(
        <CuriProvider router={ router }>
        {
            ({ response }) => {
                const { body: Body, data, params } = response;
                return (
                    <App router={ router } response={ response }>
                        <Body data={ data } params={ params } />
                    </App>
                )
            }
        }
        </CuriProvider>
    )
});

module.exports = app;

Is there anything that jumps out that I may be doing wrong? Your help is much appreciated.

I've been combing through the package and I found a universalLoader function that has the line app.use('/', universalMiddleware);. Could this be the reason my app isn't grabbing data from the other routes?
Just trying to understand the code. Thanks!

FYI https://github.com/antonybudianto/cra-universal/wiki/Getting-help
Sorry, I cannot help much with that snippet alone.
The odd thing is, the content of the page shows but but inspector shows the code and css from the home page.

What's the expectation? If you route from home using react-router, then it's expected to show the html code from home, since it's not hitting SSR server.

Thanks for your reply. The expectation is to be able to manually visit localhost:3001/about and have the correct markup/styles show. As of now, routing is fine and I can jump from page to page.
However, I can only manually visit the homepage / and have it correctly show everything. Any other route and it shows the homepage's markup and shows the error Warning: Prop 'href' did not match. Server: "/" Client: "/about"

correct markup/styles show. means?

When I'm on the homepage for example, I see a div with a class home-page and the css associated with it. Unfortunately, when I go to the About page (/about), I still see home-page (and the same css) when I should see about-page. This only happens when I manually type in the url to /about.

when I go to means manually type in the url ? or visiting through router link ?

visiting manually should be no problem, just like https://cra-universal.now.sh/feature, but if you visit the feature link using react router link, then it's expected the html source is still the initial one (home)

Manually typing in the url. Thanks for the link. That makes sense. Have you ever seen the error before?
Warning: Prop 'href' did not match. Server: "/" Client: "/about"
It seems like not many people have run into it.

I never encountered that before.

Closing for now since it's not related to the CLI itself, I recommend using react-router for SSR

I think the issue is referencing a route that doesn't exist
example:
<Link href="#" passHref>...</Link>
or in place of # any unexisting page
and you visit a route with queryString ?name=...
this was my case anyway

I was having this issue too, the problem was that as @abdessamadelhamdany gave the example of:
<Link href="#" passHref>...</Link>
I had that hashtag on my  too, after removing them (for anything like just "/") the error message went away.


PBL-25403 Cmd/Ctrl-S in CloudPebble only works in code editors

This adds support for global keyboard shortcuts to CloudPebble.
Panes can call
CloudPebble.GlobalShortcuts.SetShortcutHandlers({command_names: function});
to set what a particular command should do, and command names can be names used by the CodeMirror editor (e.g. 'save') or (a subset of) CodeMirror style shortcut definitions (e.g. "ctrl-C").
Currently this is just used to support keyboard-based saving in the resources and IB panes (as per PBL-25403), but it could be expanded.

:+1:


Update pipeline cli to handle errors without node info

Fixes #2040
With the fix, described scenario will produce:
$ elyra-pipeline submit generic.pipeline --runtime-config kfp-runtime

────────────────────────────────────────────────────────────────
 Elyra Pipeline Submission
────────────────────────────────────────────────────────────────

Pipeline validation FAILED:
- Fatal error - At least one node must exist in the primary pipeline.

Error: Error validating pipeline.
$

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

As a side node, I believe technically empty pipelines should probably be considered valid - we just shouldn't allow to run them because there is nothing to do.


@angular-devkit/build-angular:jest Memory Leak and slower test execution speed on CI

Command
test
Is this a regression?

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

The previous version in which this bug was not present was
15
Description
Would someone be able to help me?
I migrated to Angular 16, and to use es modules, I migrated all tests to Jest.
After hundreds of attempts to configure tests ( by the way, @angular-devkit/build-angular:jest + 'jest-preset-angular' doesn't work)  I faced 3 main errors in a unit test.
№ 1
TypeError: window.matchMedia is not a function
 38 | };
      39 | var __commonJS = (cb, mod) => function __require() {
    > 40 |   return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
         |                                                  ^
      41 | };
      42 | var __export = (target, all) => {
      43 |   for (var name in all)

      at mediaMatch (node_modules/tinymce/tinymce.js:957:40)
      at mediaMatch (node_modules/tinymce/tinymce.js:615:35)
      at Object.detect$3 [as detect] (node_modules/tinymce/tinymce.js:948:26)
      at node_modules/tinymce/tinymce.js:958:53
      at node_modules/tinymce/tinymce.js:605:17
      at detect$2 (node_modules/tinymce/tinymce.js:959:28)
      at node_modules/tinymce/tinymce.js:962:24
      at node_modules/tinymce/tinymce.js (node_modules/tinymce/tinymce.js:31756:1)
      at __require (chunk-ATHAJZBS.mjs:40:50)
      at src/app/survey-builder/components/survey-questions/components/html-editor/html-editor.component.ts:6:21

component.spec
describe('HtmlEditorComponent', () => {
  let component: HtmlEditorComponent;
  let fixture: ComponentFixture<HtmlEditorComponent>;

  beforeAll(() => {
    jest.mock('tinymce', () => ({
      init: jest.fn()
    }));

    Object.defineProperty(window, 'matchMedia', {
      writable: true,
      value: {
        matches: false,
        media: query,
        onchange: null,
        addListener: jest.fn(),
        removeListener: jest.fn()
      }
    });
  });

  beforeEach(waitForAsync(() => {
    TestBed.configureTestingModule({
      declarations: [HtmlEditorComponent],
      providers: [
        {
          provide: SurveyBuilderHelperService,
          useValue: {
            questionReorderInProgress: new EventEmitter()
          }
        }
      ]
    }).compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(HtmlEditorComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  afterEach(() => {
    fixture.destroy();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

№ 2
NG0303: Can't bind to 'ngIf' since it isn't a known property of 'div' (used in the '_a' component template).
component.html:

  content

and component.spec:
describe('MatrixComponent', () => {
  let component: MatrixComponent;
  let fixture: ComponentFixture<MatrixComponent>;

  beforeEach(waitForAsync(() => {
    TestBed.configureTestingModule({
      imports: [FormsModule, ReactiveFormsModule, CommonModule],
      declarations: [
        QuestionComponent,
        MockComponent(BranchRuleComponent),
        MockComponent(ButtonComponent),
        MockComponent(IconComponent),
        MockComponent(TitleComponent),
        MockComponent(TooltipComponent),
        MockComponent(GridMenuComponent),
        MockComponent(ToggleComponent),
        MockComponent(QuestionSidebarComponent),
        MockDirective(InputDirective)
      ],
      providers: [
        {
          provide: ModalService,
          useValue: jest.fn()
        },
        {
          provide: SurveyBuilderApiService,
          useValue: jest.fn()
        },
        {
          provide: SurveyBuilderLanguageService,
          useValue: jest.fn()
        },
        {
          provide: SurveyBuilderModalService,
          useValue: {
            showQuestionOrderModal: jest.fn().mockReturnValue({})
          }
        }
      ]
    }).compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(MatrixComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

№ 3
NG0201: No provider for NgControl found in NodeInjector
component.spec
describe('CategoryAttachQuestionsModalComponent', () => {
  let component: CategoryAttachQuestionsModalComponent;
  let fixture: ComponentFixture<CategoryAttachQuestionsModalComponent>;

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [RouterTestingModule, NzDropDownModule, ReactiveFormsModule],
      declarations: [CategoryAttachQuestionsModalComponent, MockDirective(NzInputDirective), MockComponent(NzInputGroupComponent)],
      providers: [
        {
          provide: ModalService,
          useValue: jest.fn()
        },
        {
          provide: NzModalRef,
          useValue: {
            destroy: jest.fn().mockReturnValue(of())
          }
        },
        {
          provide: CategoryManagementService,
          useValue: {
            searchSimpleQuestion: jest.fn().mockReturnValue(of({})),
            addQuestionsToCategory: jest.fn().mockReturnValue(of({}))
          }
        },
        {
          provide: ToastService,
          useValue: jest.fn()
        }
      ]
    }).compileComponents();

    fixture = TestBed.createComponent(CategoryAttachQuestionsModalComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

test config:
angular.json
 "test": {
          "builder": "@angular-devkit/build-angular:jest",
          "options": {
            "tsConfig": "tsconfig.spec.json",
            "polyfills": [
              "zone.js",
              "zone.js/testing"
            ]
          }

package.json:
{
type: "module",
  "dependencies": {
    "@angular/animations": "^16.2.12",
    "@angular/common": "^16.2.12",
    "@angular/compiler": "^16.2.12",
    "@angular/core": "^16.2.12",
    "@angular/forms": "^16.2.12",
    "@angular/language-service": "^16.2.10",
    "@angular/platform-browser": "^16.2.12",
    "@angular/platform-browser-dynamic": "^16.2.12",
    "@angular/platform-server": "^16.2.10",
    "@angular/router": "^16.2.12",
    "@cypress/schematic": "^1.3.0",
    "@ngrx/effects": "16.3.0",
    "@ngrx/store": "16.3.0",
    "@ngrx/store-devtools": "16.3.0",
    "@sentry/browser": "5.7.0",
    "angular-code-input": "2.0.0",
    "avid-ui-lib": "1.100.3",
    "big.js": "^5.2.2",
    "chart.js": "4.4.0",
    "chartjs-adapter-dayjs-4": "^1.0.4",
    "chartjs-plugin-datalabels": "^2.2.0",
    "core-js": "^3.30.1",
    "d3": "^7.6.1",
    "dayjs": "^1.11.10",
    "dom-autoscroller": "^2.3.4",
    "dragula": "^3.7.3",
    "handorgel": "^0.4.9",
    "js-sha256": "^0.10.1",
    "ng-zorro-antd": "16.2.1",
    "ng2-dragula": "5.0.1",
    "ngx-infinite-scroll": "16.0.0",
    "ngx-mask": "16.3.9",
    "ramda": "^0.28.0",
    "rxjs": "^6.5.5",
    "tinymce": "6.8.2",
    "tslib": "^2.0.0",
    "url-search-params-polyfill": "^5.1.0",
    "webpack": "^4.29.6",
    "zone.js": "0.13.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^16.2.7",
    "@angular-eslint/builder": "16.2.0",
    "@angular-eslint/eslint-plugin": "16.2.0",
    "@angular-eslint/eslint-plugin-template": "16.2.0",
    "@angular-eslint/schematics": "16.2.0",
    "@angular-eslint/template-parser": "16.2.0",
    "@angular/cli": "^16.2.7",
    "@angular/compiler-cli": "^16.2.10",
    "@babel/core": "^7.23.5",
    "@babel/preset-env": "^7.23.5",
    "@babel/preset-typescript": "^7.23.3",
    "@digitalroute/cz-conventional-changelog-for-jira": "^7.4.0",
<EMAIL_ADDRESS>"^4.0.5",
    "@types/jest": "^29.5.11",
    "@types/node": "^20.8.9",
    "@types/ramda": "^0.28.20",
    "@typescript-eslint/eslint-plugin": "5.44.0",
    "@typescript-eslint/parser": "6.13.1",
    "commitizen": "^4.2.5",
    "cypress": "7.5.0",
    "eslint": "^8.28.0",
    "eslint-plugin-log": "^1.2.7",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-preset-angular": "^13.1.5",
    "jsdom": "^23.2.0",
    "lint-staged": "^13.1.0",
    "ng-mocks": "^14.10.0",
    "node-sass": "8.0.0",
    "prettier": "^2.0.5",
    "ts-node": "^10.9.2",
    "typescript": "5.1.6"
  },
}

Minimal Reproduction
I have Tinymce lib which is using window.matchMedia function. I tried to mock it with jest, but it didn't work.
Exception or Error
No response
Your Environment
Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1602.11
@angular-devkit/build-angular   16.2.11
@angular-devkit/core            16.2.11
@angular-devkit/schematics      12.2.18
@angular/cli                    16.2.11
@schematics/angular             16.2.11
rxjs                            6.6.7
typescript                      5.1.6
webpack                         4.47.0
zone.js                         0.13.3

Anything else relevant?
Also, there is a big problem that @angular-devkit/build-angular:jest doesn't allow to run single test!
Also I can't run tests when I have symlink.

Taking a quick look at these:

@angular-devkit/build-angular:jest + 'jest-preset-angular' doesn't work

You shouldn't need jest-preset-angular. @angular-devkit/build-angular:jest is intended to handle all the configuration for you.

TypeError: window.matchMedia is not a function

I'm guessing Jest doesn't implement matchMedia given that it's not running a real browser and doesn't process CSS. You'll either need to not call that function in a test or mock it. It looks like you're trying to mock it, but matchMedia is a function, not an object.
https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia
I think you want something like:
window.matchMedia = jest.fn();

Can't bind to 'ngIf' since it isn't a known property of 'div' (used in the '_a' component template).

This sounds like NgIf isn't being imported correctly. I see imports: [CommonModule] which should include that. I assume QuestionComponent is the component with the template? If you can create a minimal reproduction of this error, we can investigate further.

No provider for NgControl found in NodeInjector

I'm not very familiar with forms, but this also sounds like an import issue. I think you might need to import FormsModule for this. It's hard to debug further without more context though. A minimal reproduction would help us investigate further.

Also, there is a big problem that @angular-devkit/build-angular:jest doesn't allow to run single test!
Also I can't run tests when I have symlink.

Jest support is still experimental, and these just aren't features we've gotten to yet. You can file separate issues for these (I don't think either of these have been filed already) to make sure they're looked at before the builder is marked stable.

@dgp1130 thanks.
I successfully resolved the errors, but I still have some questions.
Initially, window.matchMedia = jest.fn(); didn't work as expected because all such mocks need to be set up before the test starts. To address this, I created a setup file with the following logic:
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(), // deprecated
removeListener: jest.fn(), // deprecated
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn()
}))
});

This setup file is referenced in jest.config like so:
const config: Config = {
setupFiles: [../../setup.jest.ts] // TODO: Fix path. This is specific for local run of npm run test
};

export default config;

However, the main challenge is that Jest and @angular-devkit/build-angular:jest use different rootDir settings. For Jest, the rootDir is my project folder, while for @angular-devkit/build-angular:jest, it's project folder/dist/test-out. This discrepancy is the reason for the ../../ in the setupFiles path.
I've encountered a new issue that wasn't present with Karma – a memory leak and slower test execution speed on CI.
Observation:

The same tests that took 7 minutes with Karma now take 11 minutes using @angular-devkit/build-angular:jest.

Questions:

Does @angular-devkit/build-angular:jest support options like --shard or --runInBand to optimize test execution time?
How can I address the error "FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory" that occurs during testing?

These concerns weren't present with Karma, indicating a potential issue with Jest or its integration with Angular.

This setup file is referenced in jest.config like so:

Currently we're exploring not exposing the underlying Jest configuration, so this shouldn't be possible. There's a bug right now where it does load config files, which is incorrect and I need to fix that at some point.
I don't think mocking matchMedia should require a config option. I would expect beforeEach / afterEach to work here:
describe('my-test', () => {
  beforeEach(() => {
    Object.defineProperty(window, 'matchMedia', { /* ... */ });
  });

  afterEach(() => {
    delete window.matchMedia;
  });

  it('uses matchMedia', () => {
    window.matchMedia(/* ... */);
  });
});

I've encountered a new issue that wasn't present with Karma – a memory leak and slower test execution speed on CI.
How can I address the error "FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory" that occurs during testing?
all tests even default ones are claimed as memory leaks when "detectLeaks: true" is set

Where are you seeing this error? Is it the Jest process or Angular CLI process? If you can provide a minimal reproduction I'd be interested in taking a look. Can you share the full output where you're seeing the test identified by detectLeaks?

These concerns weren't present with Karma, indicating a potential issue with Jest or its integration with Angular.

Regarding comparison with Karma, Jest is not intended to be a 1:1 replacement for Karma. Jest will have a very different performance profile and may be faster or slower in some instances. I don't think the experiment is far enough along to know how they actually compare in practice. Web Test Runner is intended to be a replacement for Karma and is more likely to have directly improved performance.

Does @angular-devkit/build-angular:jest support options like --shard or --runInBand to optimize test execution time?

Not currently, we're still early in this experiment. You're welcome to file issues more directly focused on those options. Though I don't think --runInBand is intended to improve performance, I was under the impression it was intended for debuggability.

@dgp1130

I don't think mocking matchMedia should require a config option.
I share your thoughts on the approach, but unfortunately, using mocks in beforeEach, afterEach, or beforeAll didn't work in my case. The configuration file which initialized before test execution was the only viable solution. I've extensively experimented with adding mocks directly in the spec file, but without success.

As for the memory leaks, I enabled 'detectLeaks' in Jest, and it flagged all my tests with leak issues. This output highlights a significant problem:

describe('SurveyLanguageComponent', () => {
  let component: SurveyLanguageComponent;
  let fixture: ComponentFixture<SurveyLanguageComponent>;

  beforeEach(
    waitForAsync(() => {
      TestBed.configureTestingModule({
        declarations: [
          SurveyLanguageComponent,
          MockComponent(GroupTranslateComponent),
          MockComponent(TextTranslateComponent),
          MockComponent(LoadingSpinnerComponent),
          MockComponent(CheckboxComponent),
          MockComponent(IconComponent)
        ],
        providers: [
          {
            provide: SurveyBuilderHelperService,
            useValue: {
              survey: {}
            }
          },
          {
            provide: SurveyBuilderApiService,
            useValue: jest.fn()
          },
          {
            provide: SurveyBuilderLanguageService,
            useValue: {
              fetchLocales: jest.fn().mockReturnValue(of({ items: [] }))
            }
          },
          {
            provide: ToastService,
            useValue: jest.fn()
          }
        ]
      }).compileComponents();
    })
  );

and error:
dist/test-out/survey-language.component.spec.mjs
 ● Test suite failed to run

   EXPERIMENTAL FEATURE!
   Your test suite is leaking memory. Please ensure all references are cleaned.

   There is a number of things that can leak memory:
     - Async operations that have not finished (e.g. fs.readFile).
     - Timers not properly mocked (e.g. setInterval, setTimeout).
     - Keeping references to the global scope.

I'm aware that the @angular-devkit/build-angular:jest builder is experimental, but currently, I'm unable to run tests effectively using Jest. I've opened an issue with Jest or angular-preset regarding zone.js and Jest compatibility ([https://github.com/thymikee/jest-preset-angular/issues/2211]). Since Karma is deprecated and doesn't support ES6 modules – which are necessary due to some packages being available only as ES6 modules – I'm exploring alternative solutions.
I mean, some options to speed up process would be nice. Now each test run file by file and not in parallel.

I share your thoughts on the approach, but unfortunately, using mocks in beforeEach, afterEach, or beforeAll didn't work in my case. The configuration file which initialized before test execution was the only viable solution. I've extensively experimented with adding mocks directly in the spec file, but without success.

That's surprising to me and makes me think your test might be calling matchMedia before it is mocked (maybe as a top-level statement of a module?). If you can create a minimal reproduction, I can take a look.

As for the memory leaks, I enabled 'detectLeaks' in Jest, and it flagged all my tests with leak issues.

I'm able to reproduce this one. However I'm also able to reproduce this for an empty test.
describe('test', () => {
  it('runs', () => {
    expect(true).toBeTrue();
  });
});

This fails with detectLeaks even when running directly with Jest and not involving Angular CLI at all. If I run with CommonJS, it passes, but ESM consistently fails. Given that this option is experimental, it may have it's own stability problems with ESM, but I don't see an Angular bug here right now.

I mean, some options to speed up process would be nice. Now each test run file by file and not in parallel.

Maybe I'm misunderstanding but I'm pretty sure our Jest usage is already parallelized? If you create two test files which wait 10 seconds, the total execution time is ~10 seconds, not 20, so they are running parallel.

Since Karma is deprecated and doesn't support ES6 modules – which are necessary due to some packages being available only as ES6 modules

I was under the impression our Karma builder transpiled everything to CommonJS, including any transitive dependencies which might be ESM-only. I feel like this should be feasible with our Karma setup.

@dgp1130

That's surprising to me and makes me think your test might be calling matchMedia before it is mocked

Yes, as mentioned earlier, the issue with matchMedia arises because it's invoked by node_modules packages like TinyMCE before it gets mocked. Attempts to mock TinyMCE directly were also unsuccessful. I recall coming across a Jest discussion indicating that such mocks need to be set up before the tests run, which aligns with the solution of using a config file.

but I don't see an Angular bug here right now.

Regarding the memory usage with Angular's builder, my experience showed it consuming significantly more memory compared to Jest. A notable difference is that the Angular builder doesn't run tests in parallel, which might contribute to this issue.

I was under the impression our Karma builder bundles with Webpack, which should support ESM and CommonJS dependencies. I feel like this should be feasible with our Karma setup.

The moment when I upgraded Angular from version 15 to 16, our tests started failing with the error: "cannot use import statement outside a module". If you have any insights or examples of how Karma should be configured in Angular to address this, it would be immensely helpful. I didn’t find specific instructions in the Angular upgrade guide, but there's a growing trend of moving towards Jest in the community.

Hi @katedoctor,

Regarding the memory usage with Angular's builder, my experience showed it consuming significantly more memory compared to Jest. A notable difference is that the Angular builder doesn't run tests in parallel, which might contribute to this issue.

When using the Angular the Jest builder, tests are run run in parallel, The difference in consumption in memory can be attributed to various things, it would definitely help if you can provide a reproduction so that we can take a look and compare it with a plain Jest setup that you mentioned. In the CLI builder, we do use --experimental-vm-modules when running Jest, which uses native ESM modules instead of transforming them to CJS. This can in some causes memory leaks in Jest see: https://github.com/jestjs/jest/issues/14605

"cannot use import statement outside a module".

This typically indicates that one or more files are not being processed by Webpack, unfortunately without a minimal reproduction it's hard to provide a solution.

@alan-agius4
I guess, maybe. But nothing was changed except angular version. I couldn't find anything to change, as tests were successful but in the end got error:
Chrome Headless 120.0.6099.216 (Mac OS 10.15.7) ERROR
An error was thrown in afterAll
Uncaught SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module

When using the Angular the Jest builder, tests are executed in parallel
My apologies for any confusion earlier. I have a hypothesis about the slower performance. When running tests with Jest, I've noticed it processes files in chunks.

However, with Angular, the process is different – it handles files one by one. This culminates in the error: "FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory". This leads me to believe that the way Angular processes test files might be different.

I don't think we can help more here without minimal reproductions. If you can provide a reproduction of the Karma problem (would be better in a separate issue), or of the out of memory error then we can look at those individually.

@dgp1130
While working on a step-by-step project with Karma, I identified the root cause of Karma problem. It turns out the issue was linked to scripts included in angular.json for integrating TinyMCE into our build or tests. It seems that Karma struggled to process these scripts, leading to the error: "Cannot use import statement outside a module." It wasn't immediately obvious to me since those scripts have been part of angular.json forever.

It sounds like the relevant issues have been resolved so I'm going to close this issue. If you find some broken behavior and are able to create a minimal reproduction, please file a new issue and we can investigate further.


tab should count as TABWIDTH characters when displaying column info

Description of the problem or steps to reproduce
Currently when you place cursor in any place there is (line:column) info displayed at the bottom (status line?), and it counts TAB as just 1 character, instead of 8 (perhaps there should be option to customize it)
Image illustrates it:

Output should be (81,9)

I believe this can be changed by using the status directive vcol, provided by the default status plugin. You can change the value of the option statusformatl from using $(col) to (status.vcol).

thanks, it works
I think that it should be default, what is your opinion on that?

I'm not sure vcol should be the default. Counting TAB as 1 character (which it actually is) makes it consistent e.g. with compiler error messages.

@pkitszel:
Compare it to the defaults of Vim, which does more or less the same, but adds in case of TAB the represented length to the column with - as separator. So in your case 81,2-8 as example.
So from that perspective I vote to don't change the defaults too and thus the issue can be closed.


Make audio example work with Julia 1.0

I found your nice SDL wrapper for Julia, and when trying it out on the latest version (1.0) found that the audio example did not work. These changes take care of that. Haven't tested it on older versions though, don't know if that is important to you.

Pull Request Test Coverage Report for Build 107

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 98.182%

Totals

Change from base Build 103:
0.0%

Covered Lines:
54

Relevant Lines:
55

💛  - Coveralls

Thanks for the fix, the latest version support only >v0.7 so that's fine.


User key not saved

Issue type
[ ] Feature request
[x] Bug report
[ ] Documentation

Environment

Ubuntu 18.04 LTS
Django 1.11
Python version:  3.6.5
NetBox version:  2.3.4

Description
First, many thanks because this is an awesome project, nothing I could desire is missing from it!
Anyway. I have a small issue.
I just installed netbox on a newly Ubuntu 18.04 LTS virtual machine, following the guide on https://netbox.readthedocs.io/en/latest/, and everything has gone well, even the LDAP integration.
The problem arised testing the app (in Django terms) "secrets", particulary when I try to generate the first key, it does correctly and I save it on my pc. Then i confirm it pushing the red button "I have saved my new private key" and finally I clicked on "Save", the request arrives to my server (nginx->uwsgi but I tried also with the django integrated server with the same result), but it do not seems to save anything, indeed I haven't any "confirmation" about it. Browsing away and returning on my profile, I see the message "You don't have a user key on file.". So something went wrong with the saving of my key.
 No erros but key not saved. No logs except this one.
Any help would be very appreciated.

netbox/users/views.py, class UserKeyEditView(View), method post (line 151):
def post(self, request):         form = UserKeyForm(data=request.POST, instance=self.userkey)         if form.is_valid():             uk = form.save(commit=False)             uk.user = request.user             uk.save()             messages.success(request, "Your user key has been saved.")             return redirect('user:userkey')
I noticed form.is_valid() returns False, so the next code is never executed.
I tried to print out form.errors and it showed this message:
 __all__     Something went wrong while trying to save your key. Please ensure that you're uploading a valid RSA public key in PEM format (no SSH/PGP).
I tried to understand what is done by UserKeyForm on netbox/secrets/forms.py but I can't understand it. Can you help me? I tried with auto generated keys and also with RSA keys generated by me. No luck.

Solved. Totally my fault!
I had issues with pycryptodome on Ubuntu 18.04 LTS (pycryptodome Version: 3.4.7-1ubuntu1) but on requirements.txt the minimum version is 3.4.11.
Trying to manually import the key resulted in:
 Traceback (most recent call last):   File "test.py", line 13, in <module>     pubkey = RSA.import_key(data['public_key'][0]) AttributeError: module 'Crypto.PublicKey.RSA' has no attribute 'import_key'


Missing descriptions

Steps to reproduce

Check description of event at EC2U https://data.ec2u.eu/events/38113caceb55aba8396b854b1752fc01
Check description of event at source https://www.vivipavia.it/site/home/eventi/articolo37265.html

What did you expect to happen?
Event description is included in API and EC2U interface
What did actually happen?
Description is missing from the event
Another example:
Programul Hella Tech Camp

Missing description https://data.ec2u.eu/events/8d2b5905497572522cf9d160cac330cf
Found in source https://360.uaic.ro/blog/2022/07/07/programul-hella-tech-camp/

@ec2u/mmt

Two distinct issues here.

https://data.ec2u.eu/events/38113caceb55aba8396b854b1752fc01
https://www.vivipavia.it/site/home/eventi/articolo37265.html

This source is crawled using native HTML micro data annotations, which unfortunately don't currently identify textual descriptions.
Fixing would require the development of a custom scraper, which as already discussed elsewhere is beyond our current resources.
Will document for future developments.

https://data.ec2u.eu/events/8d2b5905497572522cf9d160cac330cf
https://360.uaic.ro/blog/2022/07/07/programul-hella-tech-camp/

This source is crawled from a standard WordPress RSS feed. The adapter was improved to:

consider both description and encoded item elements
properly decode HTML entities

Newly retrieved events will included textual descriptions


941140 - After commit 0a4bedb Nginx+Modsecurity fail to parse some POST payloads

Describe the bug
After the commit https://github.com/coreruleset/coreruleset/commit/0a4bedb841cee4f824ffb3e182484d97214f023e (REQUEST-941-APPLICATION-ATTACK-XSS.conf), some POST payloads just do not work if they go through Nginx+Modsecurity, neither access.log or audit.log say anything, the request gets stuck until a timeout kicks on.
I was about not to report this because I'm not able to reproduce it using cURL, it comes from a website using a JS library called "Fabric" (http://fabricjs.com/). The POST data is a multipart with a svg together with a rasterized image in base64, I suspect that the regex engine crashes somehow.
Steps to reproduce
I cannot reproduce it using cURL, only with a browser, I think that the "copy as cURL" from devtools is not doing it right... but I'm attaching an example of the POST data.
data.txt.gz
Any commit after https://github.com/coreruleset/coreruleset/commit/0a4bedb841cee4f824ffb3e182484d97214f023e (including), fails.
Additional context
Ignoring the rule works as expected ("phase:1,t:none,id:10941140,nolog,pass,ctl:ruleRemoveById=941140").
Your Environment

CRS version: Any after commit 0a4bedb
Paranoia level setting: 1
ModSecurity version (e.g., 2.9.3): 3.0.6
Web Server and version (e.g., apache 2.4.41): nginx-1.20.0
Operating System and version: Debian GNU/Linux 10 (buster)

Hi and thanks for reporting this! Can you try running ModSecurity in debug mode and see if there's anythinkg usefull in the logs?

I've now skipped the proxy (CDN) that imposes a 2 minute timeout and went directly to the server which runs Nginx + Modsec.
The behaviour is the same, but the request just never ends, the browser still has the request as "pending" as I'm writing this.
I've ran the test also ignoring the rule 941140, it's processed in 1 second in average.
The request that ignores the rules outputs the following in the debug log:
[1652084094] [/ajax/upload/upload-image-svg] [4] Starting phase REQUEST_HEADERS.  (SecRules 1)
[1652084094] [/ajax/upload/upload-image-svg] [9] This phase consists of 715 rule(s).

[ . . . ]

[1652084094] [/ajax/upload/upload-image-svg] [9] Skipped rule id '980050' due to a SecMarker: LOG-REPORTING
[1652084094] [/ajax/upload/upload-image-svg] [9] Skipped rule id '980051' due to a SecMarker: LOG-REPORTING
[1652084094] [/ajax/upload/upload-image-svg] [4] (Rule: 980170) Executing unconditional rule...
[1652084094] [/ajax/upload/upload-image-svg] [4] Running (non-disruptive) action: tag
[1652084094] [/ajax/upload/upload-image-svg] [9] Rule tag: reporting
[1652084094] [/ajax/upload/upload-image-svg] [9] Saving msg: Anomaly Scores: \
[1652084094] [/ajax/upload/upload-image-svg] [9] Running action: noauditlog
[1652084094] [/ajax/upload/upload-image-svg] [4] Not running any disruptive action (or block): pass. SecRuleEngine is not On.
[1652084094] [/ajax/upload/upload-image-svg] [8] Checking if this request is suitable to be saved as an audit log.
[1652084094] [/ajax/upload/upload-image-svg] [4] There was an audit log modifier for this transaction.
[1652084094] [/ajax/upload/upload-image-svg] [7] AuditLog parts before modification(s): 6006.
[1652084094] [/ajax/upload/upload-image-svg] [8] Checking if this request is relevant to be part of the audit logs.
[1652084094] [/ajax/upload/upload-image-svg] [5] Saving this request as part of the audit logs.
[1652084094] [/ajax/upload/upload-image-svg] [8] Request was relevant to be saved. Parts: 6006

The request that doesn't ignore the rule, gets stuck in the same spot in the debug log:
[1652084356] [/ajax/upload/upload-image-svg] [4] Starting phase REQUEST_HEADERS.  (SecRules 1)
[1652084356] [/ajax/upload/upload-image-svg] [9] This phase consists of 715 rule(s).

[ . . . ]

[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:jsDecode: "prefix"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:cssDecode: "prefix"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:removeNulls: "prefix"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:removeWhitespace: "prefix"
[1652084356] [/ajax/upload/upload-image-svg] [9] Target value: "prefix" (Variable: ARGS_NAMES)
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:utf8toUnicode: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:urlDecodeUni: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:htmlEntityDecode: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:jsDecode: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:cssDecode: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:removeNulls: "<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin (599124 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9]  T (0) t:removeWhitespace: "<svgxmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink" (589600 characters omitted)"
[1652084356] [/ajax/upload/upload-image-svg] [9] Target value: "<svgxmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink" (589600 characters omitted)" (Variable: ARGS:imgSVG)

I know that this report is incomplete without a way to reproduce, let me know if I can help somehow but so far it seems that after the regex change in that commit something in this payload triggers this.

Can you identify the web server process which is stucked? Does it looks that it's doing something, e.i. useing too much CPU? Can you strace it (while it's stucked) and post the outpout?
Also, can you retest it with modsecurity 2.9?

Yes, the nginx worker thread that catches the request gets stuck at 100% CPU usage.
I'm attaching the output of strace strace -rT -y -p 1646 -s 1000 -v -f from that thread, it completely stops for a minute then starts writing:
0x7ffd6c1237ec, __WALL, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGWINCH {si_signo=SIGWINCH, si_code=SI_KERNEL} ---

strace-3.0.6.log.gz
I'll try to test the same on 2.9.5

Some additional info:

I can't reproduce the issue on Apache2 + mod_security2
but I can do that on Nginx + libmodsecurity3
I tried with this curl command:
time curl -vvv http://localhost/" -F<EMAIL_ADDRESS>-F<EMAIL_ADDRESS>-F<EMAIL_ADDRESS>where the uploaded parts come from the attached data.txt above
removing rule 941140 didn't solve the problem, Nginx still slow (avg 2.8-2.9 secs a request, while Apache serves below 0.1 secs)

Hi airween,
Thank you, but I'm still unable to reproduce it using cURL, even if I send the parts separately using --form like you, the whole rule 941140 goes like this (it never sees the ARGS value):
[1652434339] [/] [4] (Rule: 941140) Executing operator "Rx" with param "(?i)[a-z]+=(?:[^:=]+:.+;)*?[^:=]+:url\(javascript" against REQUEST_COOKIES|REQUEST_COOKIES_NAMES|REQUEST_HEADERS:User-Agent|REQUEST_HEADERS:Referer|ARGS_NAMES|ARGS|XML:/*.
[1652434339] [/] [9]  T (0) t:utf8toUnicode: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:urlDecodeUni: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:htmlEntityDecode: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:jsDecode: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:cssDecode: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:removeNulls: "curl/7.83.0"
[1652434339] [/] [9]  T (0) t:removeWhitespace: "curl/7.83.0"
[1652434339] [/] [9] Target value: "curl/7.83.0" (Variable: REQUEST_HEADERS:User-Agent)
[1652434339] [/] [4] Rule returned 0.
[1652434339] [/] [9] Matched vars cleaned.

Do you mind sending a little more info about your test environment?
Also when I reproduce it on the browser, the request never ends and the Nginx worker process stays at 100% CPU, that doesn't happen in your case? You mention ~3s response time.
Removing the rule works for me, If I do it in phase 1:
"phase:1,t:none,id:10941140,nolog,pass,ctl:ruleRemoveById=941140"

@airween @aorith What is the next step here?


Store values without serializer prefix

Perhaps this is just me nitpicking but it would be nice to store and retrieve values without any prefix. Any thoughts of making the serializer prefix optional? I feel like it should be an option to include it and not be there by default. It seems like Marshal is most commonly used by other libraries so it would be nice to switch to/from Readthis without prefixes in the values, and explicitly introduce other serializer and a prefix. Or am I missing some benefit of this current behaviour?

As far as I know Marshal is used by all other cache libraries including Dalli, MemoryStore, and possibly RedisActivesupport (though I haven't looked in well over a year). The serializer prefix is critical to how multiple readthis instances work, and allows everything to be consistent. If you're trying to migrate data or inspect raw values you can always use an instance of Readthis::Entity to load values that have been dumped.

So it's important for multiple readthis instances (connections?), and not for migrating or using multiple serializers in one app (my assumption)?

Sorry, I wasn't clear. It's important in both of those situations. It can be configured on a per instance basis, but also used per entity. For example, you can have Marshal as the default and use Oj for API data.

Sure, I understand the user case for it. However my first assumption of this is that it should be something explicit. If someone requires Marshal and Oj then multiple serializers could be enabled and the prefix is added. Otherwise just use Marshal without prefix?
But to be honest I don't really have a user case for dropping the prefix other than I don't want a prefix in my value :) Was just a bit surprised to see it when getting values directly from Redis.


Need Clarification

We call out that the Servers must all use the same Collation settings but the Collation is a Database (not server) level setting:

"All instances of SQL Server in your Team Foundation Server deployment must use the same settings"

THis should probably read:

"All databases in all instances of SQL Server used by your Team Foundation Server deployment must have the same collation settings"

I think this would be much clearer for customers.

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

ID: dc5e7bed-20b2-b95b-ebb1-27ef37244586
Version Independent ID: 1c0afce3-80e6-faa3-6dae-942261d85bd0
Content: SQL Server Collation Requirements for Team Foundation Server
Content Source: docs/server/install/sql-server/collation-requirements.md
Product: devops-server
GitHub Login: @elbatk
Microsoft Alias: elbatk

Agreed, @SamGrantham , making this update now :)


[docs] We should document the possible values for the icon attribute of Elements, like <rh-tag>, etc.

Our docs aren't very clear on what string goes into the icon attribute on our Elements.
For example, on Tag:

The presumption is the names of the icons from <pf-icon> or <rh-icon>, but what are they?

https://patternflyelements.org/components/icon/demo/sets/ lists all the available icons

Tackle after rh-icon

there's some preliminary work in #1859 and #1844, just adding the correct types to the element source files
we can go back later and transform those types in 11ty into links to the icon page (#1844)

pushing the second phase of this (transforming the IconNameFor type in the 11ty attrs table to a link to iconography page) to cubone


Handle "sticky" windows

If you move a window close to another window, it should "snap" to be directly next to the other window.

Left sides only stick to right sides. Tops to bottoms, etc.
I think the snap distance is about 10px.

Reference: https://github.com/jquery/jquery-ui/blob/c89cb74893c4f99d6163e29110c36d9e02dc7df1/ui/draggable.js#L1033-L1093

Done.


better developer experience

Best case would be to have a node-metas.config.js and then a node command node-metas that will execute nodeMetas with the config from the config file.

added bin command that uses the default export of server.config.js

server.config.js now uses esm import/export


miss_feature--PDI--Trace_for_PDI_errors

In GitLab by @Roussel-C on Feb 27, 2017, 16:48
We should add a trace for PDI:

The macro PDI_handle_err should used LINE  /  FILE preprocessors directives to print where an error occurs
An internal variable for depth should be added that by default = 0 and that gets increased

@jbigot  what do you think?

In GitLab by @Roussel-C on Jun 6, 2017, 18:59
I understand that specific APIs exist for instance the GNU backtrace. I have seen also some way to handle errors in general (kind of try-catch-..finally) that are provided by libex for instance or solution based on setjump/longjump and etc...
In fact I was thinking of something really basic and that adds "friendly information" for the user.
For instance, a compile verbosity level option (debug/warning/error) similar the one find in FTI that can be combined with a PDI_message(VERBOSE_LEVEL,...) that prints message when the threshold is reached.
Using the following C99 macro (  __func__, __LINE__, __FILE__ ) we could add information at different places.
For instance,

wrap PDI_make_err inside a variadic macro that prints those information first, before the error message i.e. something like #define PDI_make_err(...) PDI_message(ERR_LEVEL); PDI_function_make_err(__VA_ARGS__);
insert a inside each PDI_handle_err(callstatus, free_stamp) a PDI_message(DBG_LEVEL) in order to show where we jump in case of errors and where we do not jump but the data is unavailable.
and ...etc.

I am suggesting an option this is enabled during compile time to avoid the additional run-time cost required to check the verbosity level.
This does not solve much but at least we could follow/see some unexpected behaviour that are currently not obvious.

not sure about that. Basically if I understand correctly, what you want to do is to print a stack-trace.
In that case, there are dedicated APIs for that. The version that calls abort should print a stack-trace in most cases anyway.

closed

What you suggest provides friendly info for the PDI developper mostly. The PDI user typically doesn't really care where in PDI an error occured


bug: ionic g page should use IonicPageModule

Type: bug
Ionic Version: 3.x
Platform: all
When using the Ionic cli generate command for generating pages, the page module tempate is using IonicModule instead of IonicPageModule.
Reproduce:
ionic g page login
This is my current dev environment:
cordova CLI: 6.5.0
Ionic Framework Version: 3.0.0
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.5
Xcode version: Not installed

This issue was moved to driftyco/ionic-cli#2070


Bugfix/ts preprocessor exports

My first fix was just about the typing of the datastructures and didn't fix the #223.
But I managed to fix it, there was missing the arrpush template in generate.typescript.builtinPostprocessors (generator.js)
Test/Benchmark results before changes:
$ npm test

><EMAIL_ADDRESS>test /home/XXX/Development/Private/Web/nearley
> mocha test/launch.js

  nearleyc
    ✓ should build test parser (check integrity) (130ms)
    ✓ should build for CoffeeScript (308ms)
    ✓ calculator example (44ms)
    ✓ csscolor example (60ms)
    ✓ exponential whitespace bug
    ✓ nullable whitespace bug
    ✓ percent bug
    ✓ tokens
    ✓ leo bug
    ✓ json example compiles
    ✓ json test1
    ✓ json test2
    ✓ tosh example (390ms)
    ✓ classic crontab (83ms)
    ✓ parentheses

  Parser
    ✓ shows line number in errors
    ✓ shows token index in errors
    ✓ can save state
    ✓ can rewind
    ✓ won't rewind without `keepHistory` option
    ✓ restores line numbers
    ✓ restores column number

  22 passing (1s)

$ npm run benchmark

><EMAIL_ADDRESS>benchmark /home/XXX/Development/Private/Web/nearley
> node test/benchmark.js

  ✔ calculator arithmetic2 x 2,732 ops/sec ±1.09% (86 runs sampled)
  ✔ json sample1k.json x 34.97 ops/sec ±4.42% (47 runs sampled)
  ✔ tosh ex1 x 520 ops/sec ±1.49% (84 runs sampled)

Test/Benchmark results after changes:
$ npm test

><EMAIL_ADDRESS>test /home/XXX/Development/Private/Web/nearley
> mocha test/launch.js

  nearleyc
    ✓ should build test parser (check integrity) (130ms)
    ✓ should build for CoffeeScript (297ms)
    ✓ calculator example (45ms)
    ✓ csscolor example (57ms)
    ✓ exponential whitespace bug
    ✓ nullable whitespace bug
    ✓ percent bug
    ✓ tokens
    ✓ leo bug
    ✓ json example compiles
    ✓ json test1
    ✓ json test2
    ✓ tosh example (378ms)
    ✓ classic crontab (72ms)
    ✓ parentheses

  Parser
    ✓ shows line number in errors
    ✓ shows token index in errors
    ✓ can save state
    ✓ can rewind
    ✓ won't rewind without `keepHistory` option
    ✓ restores line numbers
    ✓ restores column number

  22 passing (1s)

$ npm run benchmark

><EMAIL_ADDRESS>benchmark /home/XXX/Development/Private/Web/nearley
> node test/benchmark.js

  ✔ calculator arithmetic2 x 2,817 ops/sec ±0.38% (88 runs sampled)
  ✔ json sample1k.json x 37.49 ops/sec ±4.40% (51 runs sampled)
  ✔ tosh ex1 x 509 ops/sec ±1.66% (83 runs sampled)```

Thanks for this, I like the idea! :)
It'll take us a little while to review this—but for now, please could you undo the whitespace changes in 2736264 ? Then it'll be easier for us to review. Thank you! :)

Looks like @hhornbacher is busy with other stuff. Can I take over this PR to finish it? I hope they wouldn't mind.
#241 kinda depends on it.

This can be closed. Wasn't closed automatically for some reason.

Whoops, yes, thanks. (Thanks also to @hhornbacher.)


MacOS - Permissions issue on RuneLite in app package contents

I'm really not sure if this is the right section considering it's just an issue with the MacOS client build, but I figure I'd post it in case anyone else runs into it.

Question
Answer

Java Version
1.8.0_121

Operating System
MacOS

In the RuneLite.app/Contents/MacOS directory, the RuneLite file has permissions 744 which only allows execution for the owner of the app (i.e., by default, whichever user installed the app). This can be solved by running chmod +x on the file bringing the permissions to 755, allowing any users to execute it.

Probably should be opened in: https://github.com/runelite/launcher

Fair point, I'll re-open it over there.


[Documentation] saka key is not bound to key character but to key physical location on keyboards

Steps to reproduce :

Install Saka Key on a AZERTY keyboard machine and not a QWERTY one and try to use the commands (for example from the tutorial https://key.saka.io/docs/tutorial/zooming).
For zooming, on an azerty keyboard, user has to press 'W' rather than 'Z' because that's where the Z letter is on a QWERTY keyboard.

Expectation :
When I follow the documentation, I expect Saka Key to work as described.
Resolution
Maybe a disclaimer and a layout picture of main binding ?
I kinda understand the idea of prioritising the ergonomic of layouts command rather than the character name but  that makes the documentation very confusing.

If I remember correctly, there was an option in Saka Key to switch between key characters and key physical locations. Just FYI. I'm not a developer of Saka Key.

@AdrienViala in the extension configuration you have an option to change that


about test models

can you upload test models on this repo release ?

Hi Alex.
Sorry we can not uploads all models to Github since they are so large. Please refer to the readme and download the models from our HF repo:Here

thank you very much, I will download from HF


Fix typo in sidebar

Same as #21922
I used the npm file as template which was a bad idea to spot these casing errors...

Might want to combine PRs if there are any more of these 😜

Checked the new cargo PR but there I copied a better template. 😄


[WIP] Support of snapshot at perticular interval

currently dumping data to aof file during graceful shutdown which will make shutdown and restart process slower in case data load is high
so I am trying to add support to take snapshot of data in aof file in particular interval to ensure data durability and to allow for recovery in case of system failures.
key points of why redis also takes snapshot:

In case of a server crash or power failure, Redis can recover its data from the most recent snapshot.
snapshots serve as point-in-time backups.
can be used to transfer data between instances or for creating replicas.
in some configurations, Redis can use snapshots to free up memory by saving data to disk.

in redis config it looks like this:
save 900 1      # Save after 900 seconds (15 minutes) if at least 1 key changed
save 300 10     # Save after 300 seconds (5 minutes) if at least 10 keys changed
save 60 10000   # Save after 60 seconds if at least 10,000 keys changed

in our config it will look like this:
# dice.toml
[[Server.SnapshotInterval]]
Interval =<PHONE_NUMBER>00
KeysChanged = 1

[[Server.SnapshotInterval]]
Interval =<PHONE_NUMBER>00
KeysChanged = 10

[[Server.SnapshotInterval]]
Interval =<PHONE_NUMBER>0
KeysChanged = 10000

since we are using syscall to fork child_process and write aof, it made this feature little bit challenging in order to support this so looking for suggestion from the community

Looking forward for feedback and suggestion on this regard, thank you

@AshwinKul28 @lucifercr07 thoughts?

Could you please create an issue with the same information?

Could you please create an issue with the same information?

Done https://github.com/DiceDB/dice/issues/697