feat(scan): do not create ggshield cache when scan pre-receive

Issue #306
Like it is done for scan ci, we do not want to create cache when running scan pre-receive
Tested manually using the doc/pre-receive.sample script :
After committing a secret, run echo "HEAD <recent-commit-ID> <unused-arg>" | sh doc/pre-receive.sample
No cache file .cache_ggshield is created

Codecov Report

Merging #317 (19bcae2) into main (4e7a0d1) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #317   +/-   ##
=======================================
  Coverage   94.30%   94.31%
=======================================
  Files          75       75
  Lines        3022     3023    +1
=======================================
+ Hits         2850     2851    +1
  Misses        172      172

Flag
Coverage Δ

unittests
94.31% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

ggshield/cmd/secret/scan/ci.py
100.00% <100.00%> (ø)

ggshield/cmd/secret/scan/prereceive.py
94.44% <100.00%> (+0.06%)
:arrow_up:

ggshield/core/cache.py
90.32% <100.00%> (+0.15%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Feature request: Search for column usage

It would be nice if I could search for column usage like when I need to know where I'm referring to a certain column in views, procedures, triggers and events (MySQL).
It would be even nicer if I could search a keyword in all database objects.

I think it is a duplicate of #2443 (but less generic).
#2443 can be extended with additional context menu command Find Usages.


Customize FormGridBody

Is there any way to override the FormGridBody? I want to add a button to this row

Yes, just extend it, and then pass that as the [components] property when you embed the <formio-grid> in your application.


PDF Report generation issue on Defect Dojo "Still Running "

We had install all the packages and followed all the step to achieve the PDF generation of Defect Dojo but still Report generation button show us "Running" status.. Kindly help us and give right solution.. we are eagerly waiting for your response.

Hi @sandeshM27 did you follow these steps? http://defectdojo.readthedocs.io/en/latest/features.html#reports

Closing, haven't heard back from @sandeshM27, will reopen if needed.

Hi I would like to reopen this issue. I was able to do the steps indicated in - http://defectdojo.readthedocs.io/en/latest/features.html#reports.
However, PDF still keeps on running non-stop without generating anything.
These are the responses from dojo worker:
celery -A dojo worker -l info --concurrency 3
Running a worker with superuser privileges when the
worker accepts messages serialized with pickle is a very bad idea!

If you really want to continue then you have to set the C_FORCE_ROOT
environment variable (but please think about this before you do).

User information: uid=0 euid=0 gid=0 egid=0

Celery Beat
celery beat -A dojo -l info
celery beat v4.2.1 (windowlicker) is starting.
ERROR: Pidfile (celerybeat.pid) already exists.
Seems we're already running? (pid: 4256)

Any suggestions?
Thanks!

@planitlady : We are facing the same issue, were you able to fix this issue and any suggestions if you did?
Thanks!

The same question here. Everything installed, including wkhtmltopdf:

[root@DEFECTDOJO settings]# which wkhtmltopdf
/usr/bin/wkhtmltopdf
[root@DEFECTDOJO settings]# grep wkhtml settings.py
# wkhtmltopdf settings
WKHTMLTOPDF_PATH = '/usr/bin/wkhtmltopdf'

But when generating a PDF report it remains Running, tested in production and with Debug = True

Hi,
Same problem here. Anybody got solutions?
Thanks in Advance.

How did you guys even get till there, I don't even see PDF in the drop-down.. any suggestions?

Hello,
Here the same problem. Anybody got solutions?
Thank you very much.

Adding to the echo chamber - same errors here.

Hi,
please follow these steps:

ADD pdf option in forms.py

`class CustomReportOptionsForm(forms.Form):
	    report_type = forms.ChoiceField(required=False, choices=(('AsciiDoc', 'AsciiDoc'),**('PDF', 'PDF')**))
`

Reports/views.py
def custom_report(request):
async_custom_pdf_report(report=report,
template="dojo/custom_pdf_report.html",
filename="custom_pdf_report.pdf",
host=host,
user=request.user,
uri=request.build_absolute_uri(report.get_url()),
finding_notes=finding_notes,

Remove the delay function in the async_custom_pdf_report

Then you might get a path error like below:

Traceback (most recent call last):
  File "/opt/dojo/local/lib/python3.6/site-packages/pdfkit/configuration.py", line 21, in __init__
    with open(self.wkhtmltopdf) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/wkhtmltopdf'

solution:
Download wkhtmltopdf from this site https://wkhtmltopdf.org/downloads.html and install it.
Eg: for ubuntu 18 download 18.04 (bionic) 	amd64
by this make sure the wkhtmltopdf is in the specified path.

If you came across the following error.

django.db.utils.IntegrityError: (1048, "Column 'task_id' cannot be null")
make the following changes:
In tasks.py,
def async_custom_pdf_report

 try:
        report.task_id = 1
        report.save()

give the repor.task_id as 1.

Try to create a pdf now.
Hope this helps ..


Install start ursim

This PR installs the start_ursim script to the package's install space. This way, it can be reused in downstream packages such as the ROS drivers.

This seems to work with https://github.com/UniversalRobots/Universal_Robots_ROS_Driver/pull/640 and https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/pull/733


Get message without blocking

I would like to .get a message in a specific topic but without blocking if there is no message. So should simply return the message if it is present (for example a retained message) and if not instead of blocking just return nothing.
How would I achieve this with ruby-mqtt?
Thanks

I assume you solved your problem.
But for anyone else finding this issue, you can used queue_empty? to check if there are any messages available.


fix: Reference service accounts in deployments

We ran into issues where we were specifying image pull secrets for service accounts but they were not effective since the deployments did not reference the service accounts.
Unfortunately the unit tests use pretty broad mock assertions so this does not impact the unit tests.

Hi @Sovietaced,
Thanks for working on this.
Could we add an explicit field called serviceAccountName instead of using the name of the specific Component?
Not in all cases will the ServiceAccount match the component name

Could we add an explicit field called serviceAccountName instead of using the name of the specific Component?
Not in all cases will the ServiceAccount match the component name

Sure, do you want me to add the plumbing for the custom service account as well? I see that is part of the common spec now.


[release-1.8] Fix ctx.Clusters().Default()

Manual cherrypick required.
#30745 failed to apply on top of branch "release-1.8":
Applying: Fix ctx.Clusters().Default()
Using index info to reconstruct a base tree...
A	pkg/test/framework/components/cluster/clusterboot/factory.go
A	pkg/test/framework/components/cluster/config.go
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): pkg/test/framework/components/cluster/config.go deleted in HEAD and modified in Fix ctx.Clusters().Default(). Version Fix ctx.Clusters().Default() of pkg/test/framework/components/cluster/config.go left in tree.
Auto-merging pkg/test/framework/components/cluster/aggregate/factory.go
CONFLICT (content): Merge conflict in pkg/test/framework/components/cluster/aggregate/factory.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Fix ctx.Clusters().Default()
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

resolved by https://github.com/istio/istio/pull/30748


Pass CLI args when loading config from file

Pass CLI arguments when loading config from file.
Fixes #2472.
Expected env should be node:
jest --config path-to-config --env node

Current coverage is 87.53% (diff: 100%)

Merging #2473 into master will not change coverage

@@             master      #2473   diff @@
==========================================
  Files            40         40
  Lines          1653       1653
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1447       1447
  Misses          206        206
  Partials          0          0

Powered by Codecov. Last update b9cb0ac...6fd02c6

@thymikee regarding https://github.com/facebook/jest/issues/2472#issuecomment-269748213:
Typings will be sufficient if we can use Object:
https://github.com/facebook/jest/blob/master/packages/jest-config/src/loadFromFile.js#L17
function loadFromFile(filePath: string, argv: Object) {

Is there a specific reason why argv: any was used instead of argv: Object?
https://github.com/facebook/jest/blob/master/packages/jest-config/src/index.js#L19

Looks like this is the only place, where any is used for argv, anywhere else is Object as you say, so you should be good with that!
You can also use Path instead of string:
import type {Path} from 'types/Config';

Actually, we could add the same typings for sibling loadFromPackage function. Would you mind adding that?


Add Windows support

The extension currently hard-codes path to Python interpreter following Unix convention.
This PR adds Windows support by making Python interpreter path dynamic based on current OS.

Hey @ihsan-96 - thanks for the quick merge!
Could we have a release out of this so that it can be installed by everyone?

Got it thanks! Yeah this is super useful, thanks a lot for building it :)


Godot example is incorrect for Godot 4.3

The description of enabling the Language Server option in the Godot editor is wrong.
Instead it should read
Editor Settings -> Network -> Language Server
Confirm Remote Port is set to the value in the g:ycm_language_server variable for remote_port.
The current default is 6005 (for 4.3), but used to be 6008 for 3.x.   To use both versions of godot it may be easier to change the default value to 6008.  If you are only using the latest Godot versions then make sure to use 6005 in your YCM definition
See active_status_request_completed for how to set the g:ycm_language_server variable.

Thanks. This repo is largely community maintained, so if you'd like to make a PR to fix it 👍


Addformat does not recognize all LDML tokens

Sugar.Date.getLocale('en').addFormat('{Mon}-{dd}-{yy}'); Fails because the token parser does not recognize {Mon}
Digging through the code it looks like {month} would work but would not restrict it to just abbreviated upper case months.

Please have a look here. LDML tokens are intended for formatting, and are not the same as tokens for parsing. Out of curiosity, can you tell me where the format you're trying to parse is coming from? If it's somewhere standard, then it should be added as a Sugar core format. The intent is that addFormat should not be required for most reasonable circumstances.

Ah, my bad the documentation apparently blurred together there for me.
I'm not sure where exactly that convention came from it just seems to be a format our app supported previously when using moment, so I wanted to maintain support.

Let's leave this one open because I can always clean up the docs more, but also maybe it would be worth it to bring the parsing tokens more toward LDML standard. However I don't think this will work for all tokens as formatting and parsing isn't always a 1:1 parity. For example, {Z} is LDML standard for outputting the timezone (ex. +09:00), however the input formats have {tzHours} and {tzMinutes}, which allows for more flexibility in a custom parsing format as they could be used together or separately, or in different parts of the format. Maybe it's hard to imagine a real life use-case here, but for example ISO-8601 technically does have an hours only TZ format (i.e. +09). The only way that could be currently handled is by using tzHours as it's own parsing token.
Last, because I'm still quite interested... is the format '{Mon}-{dd}-{yy}' actually what you're trying to support? I'm all for adding it!

I was trying to add {Mon}-{dd}-{yy}, and if you mean you want to add {Mon} as a token for parsing that sounds great, but if you mean you want to add that to the default en local formats I would probably advise against that. We most likely only support that for some archaic historical reason that doesn't make sense for most people.
I recently did the exercise of switching our date parsing from Moment to Sugar because of a 100x+ performance increase, and one of the challenges with switching to Sugar is it is hard to restrict the formats it accepts and know which format was used for a match. This is one of the main reasons I would add for not adding this as a default. I should file another feature request around some API changes or it might be worth a quick chat if you available to do that at some point.

if you mean you want to add {Mon} as a token

I would, I think that's a good idea.

but if you mean you want to add that to the default en local formats

Sugar is meant to handle any valid date format out of the box, and the system is set up such that adding a new format is not expensive both in terms of bytes as well as performance. Of course there are bounds of reason in this, but a very basic format like {Mon}-{dd}-{yy} should be supported if there's even a slight chance that it's "out there". This is a difficult determination to make, though, which is why I'm wondering where it's coming from.

restrict the formats it accepts and know which format was used for a match. This is one of the main reasons I would add for not adding this as a default

Sugar is from the start a "greedy" parser, so restricting formats isn't expected as a common use case. I'm also very curious why restricting is something that would add value in the first place. That said, even if it's not a common use case it should be possible. A possible straightforward solution would be something like clearFormats to allow adding them back manually. This is probably something that needs to be added anyway, as having an "addFormat" method should likely also have a reciprocal to remove.


File not found error

When running the app in Ionic lab mode, I am getting the below error.
Failed to load resource: the server responded with a status of 404 (Not Found)
http://localhost:8200/build/app/app.esxgusf8.js
The app runs file in regular web mode.

Please try the new version.
ionic serve --lab should work fine.


Feature request: support for readOnly fields

Right now there is no direct support to mark a particular field as readOnly. While using the API first approach, we are right now using the same data model as an input and output of the API call, obviously to limit the duplication of definitions. We are using readOnly attribute to indicate the fields that are not meant to be set by the client application as the input fields, but we would like to have such fields present in the output (and set by the server app).
It would be nice to have support in this tool to mark a particular property of a class readonly, e.g. by using System.ComponentModel.ReadOnlyAttribute or similar (preferrably generic) way and use that to identify such field as readOnly in the output openapi schema.

Are there any updates on this?


Waste of time editor dont work!

I downloaded this opened it up and it is just a folder with some files in it no way to run the editor so this is just a waste of time. Please fix this editor so it can be opened and run. Thank you.

This is a unity plugin, it is meant to be used in unity and has no binary file.


Fix arrow focus shortcut modal local state (v2.0)

These are the changes from:

https://github.com/Expensify/App/pull/18578
https://github.com/Expensify/App/pull/18595

We moved the commits to this new PR because @azimgd is gone for the day and we needed to add a few more changes.
Details
Fixes keyboard arrow navigation in the list if open "new chat". Keyboard arrow listeners priority was reset to highest value.
Key priority was initially lowered (to 1), to disable arrow up / down events from triggering when KeyboardShortcutsModal is open. https://github.com/Expensify/App/pull/18425 has updated event subscription approach to event lifecycle hence we need to reset it back to highest priority when new modal is opened.
Fixed Issues

$ https://github.com/Expensify/App/issues/18516
PROPOSAL: https://github.com/Expensify/App/issues/18516
Tests

[x] Verify that no errors appear in the JS console

Click on "+" FAB menu icon
Click on "New chat"
Press CMD+K
Press up/down arrows keys in the keyboard to navigate in the chat list

Go to a chat
Type something
Press "SHIFT + ENTER"
Verify that a new line was added
Verify that you can move the cursor up and down by pressing arrow and down keys

Open "Create Group" modal by pressing CMD+SHIFT+K
Open "Keyboard shortcuts" modal by pressing CMD+J
Pressing Enter should first close "Keyboard shortcuts" modal, pressing enter again should select members on "Create Group" list
Open "Send Money" modal
Open "Keyboard shortcuts" modal by pressing CMD+J
Pressing Enter should first close "Keyboard shortcuts" modal, pressing enter again submit form on "Send Money" modal

Offline tests

QA Steps

Same as tests.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/87341702/236901545-2e98144c-7371-4630-b677-1d897bd3e79d.mov

Mobile Web - Chrome
N/A

Mobile Web - Safari
N/A

Desktop
https://user-images.githubusercontent.com/87341702/236900922-7b99f1f0-ebfb-4385-838a-f088bc43223c.mov

iOS
N/A

Android
N/A

Tested and added videos for Web and Desktop which is where I think shortcuts matter.

@mollfpr are you going to have time to review this today?

@aldo-expensify this works on only desktop version, not mobile?

@best-lucky1030 I'm not sure I understand the question correctly. Are you asking if this only fixes the problem for desktop and not mobile?
This is about keyboard shortcuts, I'm don't think its possible to use them in Mobile, but correct me I'm wrong about that.

@aldo-expensify
This issue is related to pull/18425, exact link is here.
https://github.com/Expensify/App/pull/18425
You can see the same issue on Android device.
https://user-images.githubusercontent.com/89365150/236926295-6a39d05d-dcc3-4725-aed2-fdb4fb009e15.mov
That's why I suggested on mobile version.
Maybe I am wrong for this?

@best-lucky1030 what is the video from here showing? a bug? I'm not understanding the problem. Are you suggesting we should test in mobile the part of the testing steps about the composer and the enter key:

Go to a chat
Type something
Press "SHIFT + ENTER"
Verify that a new line was added
Verify that you can move the cursor up and down by pressing arrow and down keys

Merged with main to fix tests

I'm going to merge this since I think its working and Neil approved. @mollfpr seems to be offline now.

🚀 Cherry-picked to staging by https://github.com/aldo-expensify in version: 1.3.11-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.28-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


rsync-errors.sh: Different messages for if the file is missing as opposed to empty

This script now exclusively operates on stdin, closing this non-issue.


Support observe and observe_deep for shared types

I believe the genserver observer work i did for undo_manager maybe could / should be be repurposed for general observer.

done


Support for the CRM imports API

This patch adds support for the v3.0 crm/imports endpoint.
https://developers.hubspot.com/docs/api/crm/imports
Notes

Modified hubspot.go to add support for multipart mime which included abstracting out the content-type and detecting when to not call JSON.marshal on the input (since we're dealing with mime multipart here). I'm open to other ways to handle this, but this seems as clean as possible without doing some more major refactoring...

All of these APIs return huge structures of data that I don't think is worth trying to unmarshall into a struct - so I've left all the return values as map[string]interface{}.   This also future proofs us as these fields could easily change based on Hubspot's implementation.

Data for CSV/Spreadsheets is represented as an io.Reader passed into the CrmImportConfig - this allows us to accept data from files, buffers, etc.

I've written a test file crm_imports_test.go which includes examples for each of these functions but doesn't actually assert anything - I'm not sure how you'd like to proceed with that since 1) these are hard to test and 2) any tests require a hubspot account to test against.

The Start function  has been placed into it's own file due to its complexity - the rest of this patch should follow the conventions of this codebase.

Thanks,
Stephen
An example, to start an import:
&CrmImportConfig{
		Name: "Example Create Import",
		ImportOperations: map[string]string{
			"0-1": "CREATE",
		},
		Files: []CrmImportFileConfig{
			{
				FileName:   "example.csv",
				FileFormat: "CSV",
				DateFormat: "DAY_MONTH_YEAR",
				Data:       createTestCsv(6), // This fn returns io.Reader of a CSV example...
				FileImportPage: FileImportPageConfig{
					HasHeader: true,
					ColumnMappings: []CrmImportColumnMapping{
						{
							ColumnObjectTypeId: "0-1",
							ColumnName:         "email",
							PropertyName:       "email",
							IdColumnType:       "HUBSPOT_ALTERNATE_ID",
						},
						{
							ColumnObjectTypeId: "0-1",
							ColumnName:         "firstname",
							PropertyName:       "firstname",
						},
						{
							ColumnObjectTypeId: "0-1",
							ColumnName:         "lastname",
							PropertyName:       "lastname",
						},
					},
				},
			},
		},
	}

Added two small cleanups today:
Renamed FileImportPageConfig -> CrmImportFilePageConfig so its consitent.
Renamed "js" variable in gohubspot.go to requestBody since it's not necessarily json anymore...

Thank you for your PR.
The review is expected to take some time.
As a supplement, you can apply automatic formatting with make fmt, so please try using it.

Thank you for your PR. The review is expected to take some time.
As a supplement, you can apply automatic formatting with make fmt, so please try using it.

No prob.  I pushed a make fmt fix which only removed one extra blank line...

Hi there..
Any feedback on this?
Thanks!
Stephen

@sblackstone
Sorry for the delay.
I was thinking of a good abstraction around MIME Type, but couldn't come up with a good idea.
As for the pull request, it is LGTM, but I may change the base for NewRequest, CreateAndDo, etc. in a future version.
Please let me know if you have any concerns about using them. Thanks again!

Thanks!


Unable to filter row with inline cell editing (using an input element for cell editing)

What version of React-Table are you using?
v6.8.6
What bug are you experiencing, or what feature are you proposing?
I'm unable to filter the table using the built in filter or a defaultFilterMethod if the value returned from Cell renderer returns an input element that contains the cell value. I'm implementing inline editing of cells using an input element.
I already implemented your inline example in the docs but I couldn't use a div that is editable. The editable div allows line breaks and internal html to be added, I could not have that in the application. I went with an input element because it doesn't allow any of that.
https://codesandbox.io/s/l7xjlov2j9
What are the steps to reproduce the issue?
Using the code example above:

Search for roof using the working cell renderer and you'll see the proper results are returned.
Search for roof using the broken cell renderer (input element) and it wont return the correct results.

Thank you so much for your help. I'm a huge fan of react-table! :)

It was a quite simple fix.
by using
  renderEditableCellBroken(cell) {
      return <input value={cell.value} />;
  }

instead of
  renderEditableCellBroken(cell) {
      return <input defaultValue={cell.value} />;
  }

defaultValue is the value the cell is set up with.

This feature/issue has been tagged as one that will likely be fixed or improved in the next major release of React-Table. This release is expected to be completed in the next 6 - 8 months. Please see #1143 for more detail. If you believe this feature can be easily fixed, we invite you to fork the project, attempt the fix, and use it until the latest version is available. If the fix is simple enough, we will also consider it as a PR to the current version.


Update to BarterDEX Marketmaker v1.0.1045

Changes: https://github.com/artemii235/SuperNET/compare/v1.0.1026...v1.0.1045

I have confirmed this fixes withdrawing KMD.


Confusing routes definition

The Kanary router system forces one to append a '/' at the end of every router declaration even when the resulting url will end without '/'
For example:
 userRouter.get("details/", userController::retrieveUser)
will result in '/user/details' and it can be confusing when reading or writing code, there should be a way to do this instead:
 userRouter.get("details", userController::retrieveUser)
That's clearer and easier to wrap one's head around.

@olucurious Thanks again for this suggestion. Would you like to work on this issue?

@alkern your pull request has been merged. Thanks for your contribution!


Match legacy wakatime-cli behavior around logging failed network connections

Now that #385 is fixed, we're getting a lot of diagnostics logs from connection timeouts and other normal expected errors. For these "wontfix" errors, we should prevent sending diagnostics. The best way to do this is match the behavior of legacy wakatime-cli and only log errors when:

offline db disabled
saving the heartbeat to the offline db failed
debug mode enabled

For reference, the legacy Python logic around logging failed network requests:
https://github.com/wakatime/wakatime/blob/master/wakatime/api.py#L123

Example error messages:
{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:189","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: failed making request to \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": Post \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.","now":"2021-07-06T14:37:51+08:00","version":"v1.18.9"}

{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:189","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: failed making request to \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": Post \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": net/http: TLS handshake timeout","now":"2021-07-06T14:37:47+08:00","version":"v1.18.9"}

{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:189","func":"runCmd","level":"error","message":"failed to run command: failed to send heartbeat(s): failed to send heartbeats via api client: failed making request to \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": Post \"https://api.wakatime.com/api/v1/users/current/heartbeats.bulk\": dial tcp <IP_ADDRESS>:443: i/o timeout (Client.Timeout exceeded while awaiting headers)","now":"2021-07-06T13:37:41+07:00","version":"v1.18.9"}

{"caller":"/Users/runner/work/wakatime-cli/wakatime-cli/cmd/legacy/run.go:189","func":"runCmd","level":"error","message":"failed to run command: failed to fetch today summary: failed fetching summaries from api: failed to make request to \"https://api.wakatime.com/api/v1/users/current/summaries\": Get \"https://api.wakatime.com/api/v1/users/current/summaries?end=2021-07-06&start=2021-07-06\": dial tcp <IP_ADDRESS>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.","now":"2021-07-06T14:37:44+08:00","version":"v1.18.9"}

Receiving the above diagnostics is a side-effect of the bug, where we shouldn't be logging network problems as errors unless debug mode is enabled or offline mode disabled.

Closed via #502


Fix next and previous post links

Previous and next post links appear to be incorrect (on mobile)

Still an issue


Skip sentinel values when generating keys

This covers the case where the sentinel has been set to, for example, -1, and then the temp key generator tries to generate -1 as a temp key.

You have an extra underscore in method name "Sentinel_value_on_nullable_property__can_be_skipped_by_value_generator". Otherwise :shipit:


SDDM fails to start

On advice from an IRC user who claims SDDM works for them, I decided to give it another try. Unfortunately, SDDM still does not start! The relevant log from journalctl -u display-manager is:
Jun 02 18:29:40 mugen systemd[1]: Starting X11 Server...
Jun 02 18:29:40 mugen systemd[1]: Started X11 Server.
Jun 02 18:29:40 mugen sddm[31471]: Initializing...
Jun 02 18:29:40 mugen sddm[31471]: Starting...
Jun 02 18:29:40 mugen sddm[31471]: Adding new display 0 on vt 7 ...
Jun 02 18:29:40 mugen sddm[31471]: Adding cookie to "/var/run/sddm/:0"
Jun 02 18:29:40 mugen sddm[31471]: Display server starting...

Jun 02 18:29:41 mugen sddm[31471]: Socket server starting...
Jun 02 18:29:41 mugen sddm[31471]: Socket server started.
Jun 02 18:29:41 mugen sddm[31471]: Greeter starting...
Jun 02 18:29:41 mugen sddm-helper[31530]: [PAM] Starting...
Jun 02 18:29:41 mugen sddm-helper[31530]: [PAM] Authenticating...
Jun 02 18:29:41 mugen sddm-helper[31530]: [PAM] returning.
Jun 02 18:29:41 mugen sddm[31471]: Greeter session started successfully
Jun 02 18:29:41 mugen sddm[31471]: Auth: sddm-helper exited with 2
Jun 02 18:29:41 mugen sddm[31471]: Greeter stopped.
Jun 02 18:33:06 mugen systemd[1]: Stopping X11 Server...
Jun 02 18:33:06 mugen sddm[31471]: Signal received: SIGTERM
Jun 02 18:33:06 mugen sddm[31471]: Socket server stopping...
Jun 02 18:33:06 mugen sddm[31471]: Socket server stopped.
Jun 02 18:33:06 mugen sddm[31471]: Display server stopping...
Jun 02 18:33:06 mugen sddm[31471]: Display server stopped.

The most important bit seems to be sddm-helper exited with 2 which might be related to this issue on the SDDM issue tracker.
It would be nice to have this fixed in NixOS 15.06 because we will be shipping the Plasma 5 desktop for the first time and SDDM is the KDE team's recommended display manager.
/cc @abbradar

I have it working for me too, hm. One idea I can think of is:

Recompile SDDM with "-g"
Replace helper with a script running gdbserver on the helper.
Start SDDM
Connect to gdb from the other terminal
Trace-trace-trace; we can at least find a particular place where it exits.

We have proper user and home created by NixOS, but maybe there's a permissions problem or something else...

I have the same issue as @ttuegel .

We have proper user and home created by NixOS, but maybe there's a permissions problem or something else...

On a hunch I checked the permissions on /var/lib/sddm, and its ownership was sddm:nogroup rather than sddm:sddm. So, I deleted that directory and rebuilt my configuration. Now SDDM works! It looks like we should check the permissions on the user's $HOME when createHome = true.
@srhb Can you check if /var/lib/sddm exists and what its permissions are on your system?

It exists, sddm:sddm and 700

@ttuegel It's not so simple to fix permissions; what should we do if parent directory has root/700? Would be nice to do something about this, though.
@srhb Maybe try removing and rebuilding nevertheless? Also check parent directories' permissions.

@abbradar That's a good point. In that case, I think nixos-rebuild should just fail if the permissions are incorrect. We should also check that the user can cd into $HOME (provided it exists, of course). In this case, I think the problem was probably my earlier attempts at playing around with SDDM left that directory around with the wrong permissions.

@ttuegel Hm, indeed -- I can't think of a case when you want to enable createHome and don't care about permissions (i.e. for nobody createHome should be (and is, IIRC) unset). Maybe though this should just be a warning (like ones when you have changed user/group IDs).

I'm experiencing a different error now.

I'm experiencing a different error now. The logs appear to contain no errors, but I still only get a black screen with a white dash.
-- Logs begin at Thu 2015-04-30 20:43:53 CEST, end at Mon 2015-06-08 03:28:50 CEST. --
Jun 08 03:28:16 nixmonster systemd[1]: Starting X11 Server...
Jun 08 03:28:16 nixmonster systemd[1]: Started X11 Server.
Jun 08 03:28:16 nixmonster sddm[738]: Initializing...
Jun 08 03:28:16 nixmonster sddm[738]: Starting...
Jun 08 03:28:16 nixmonster sddm[738]: Adding new display 0 on vt 7 ...
Jun 08 03:28:16 nixmonster sddm[738]: Adding cookie to "/var/run/sddm/:0"
Jun 08 03:28:16 nixmonster sddm[738]: Display server starting...
Jun 08 03:28:16 nixmonster sddm[738]: Running: /nix/store/7m6x3gki9c09v2iqcajr7z4fjfkpn55c-xserver-wrapper :0 -auth /va
Jun 08 03:28:17 nixmonster sddm[738]: Signal received: SIGUSR1
Jun 08 03:28:17 nixmonster sddm[738]: Running display setup script  "/nix/store/kfnka3dzbpahsi96q9l2lsdpqqv41y56-sddm-0
Jun 08 03:28:17 nixmonster sddm[738]: Display server started.
Jun 08 03:28:17 nixmonster sddm[738]: Socket server starting...
Jun 08 03:28:17 nixmonster sddm[738]: Socket server started.
Jun 08 03:28:17 nixmonster sddm[738]: Greeter starting...
Jun 08 03:28:17 nixmonster sddm-helper[801]: [PAM] Starting...
Jun 08 03:28:17 nixmonster sddm-helper[801]: [PAM] Authenticating...
Jun 08 03:28:17 nixmonster sddm-helper[801]: [PAM] returning.
Jun 08 03:28:17 nixmonster sddm[738]: Greeter session started successfully
Jun 08 03:28:17 nixmonster sddm[738]: Auth: sddm-helper exited successfully

I am experiencing the same issue as @srhb. Getting to try out KDE5 using sddm would be great!

I bumped the sddm version in my tree to 12.0 and the issue is still there. I get this from jourmalctl :
Sep 22 07:27:19 nixos kernel: .sddm-greeter-w[869]: segfault at 40 ip 00007f2537c4ad21 sp 00007ffc1bfcc2b0 error 4 in libX11.so.6.3.0[7f2537c0a000+137000]
Sep 22 07:27:21 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:24 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:27 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:30 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:33 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:37 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:40 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:42 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:42 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:43 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:46 nixos kernel: cfg80211: Calling CRDA to update world regulatory domain
Sep 22 07:27:49 nixos kernel: cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
Sep 22 07:27:49 nixos kernel: .sddm-greeter-w[943]: segfault at 40 ip 00007f07425a9d21 sp 00007ffe276ee830 error 4 in libX11.so.6.3.0[7f0742569000+137000]
Sep 22 07:28:15 nixos kernel: cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
Sep 22 07:28:15 nixos kernel: cfg80211: Exceeded CRDA call max attempts. Not calling CRDA
Sep 22 07:29:36 nixos kernel: .sddm-greeter-w[997]: segfault at 19 ip 00007fe9208b293a sp 00007fff7b1df810 error 4 in libc-2.21.so[7fe92083c000+196000]

I switched to a console and restarted the display-manager systemd unit and it segfaulted each time and only a black screen appeared.

I no longer have any SDDM problems, and I have contributed a test to NixOS, so we should not see this again.

Thank you for the test!


WIP: Process .cma's, .cmi's and toplevel js files

Upstreaming patches of https://github.com/ocaml-doc/voodoo/compare/main...jonludlam:voodoo:jsoo

@jonludlam @sabine @trefis Here are more details about the js failures at runtime.
I added some logs to voodoo-prep and voodoo-prep jsoo:
main.exe: [INFO] Processing prep/universes/1/astring/0.8.5/astring.cma.worker.js.jstop
Warning: your program contains effect handlers; you should probably run js_of_ocaml with option '--enable=effects'
main.exe: [INFO] Produced jsoo/universes/1/astring/0.8.5/astring.cma.js
main.exe: [INFO] Wrapping function: astring_dot_cma
main.exe: [INFO] Produced jsoo/universes/1/astring/0.8.5/astring_top.cma.js
main.exe: [INFO] Wrapping function: astring_top_dot_cma
main.exe: [INFO] Processing prep/universes/1/astring/0.8.5/astring_top.cma.worker.js.jstop
Warning: your program contains effect handlers; you should probably run js_of_ocaml with option '--enable=effects'
main.exe: [INFO] toplevel: { package: (1,astring,0.8.5); bc_exe_fpath: lib/astring/astring_top.cma; js_files: [] }
main.exe: [INFO] toplevel: { package: (1,astring,0.8.5); bc_exe_fpath: lib/astring/astring.cma; js_files: [] }

These files are then copied into the playground assets (I ignore the astring_top.cma.worker.js.jstop on purpose I'm only interested in loading the cma files dynamically).
The toplevel is initialised with:
Toprpc.init rpc
      {
        Toplevel_api.cmi_urls = cmi_urls ();
        cmas =
          [
            { url = "stdlib/astring.cma.js"; fn = "astring_dot_cma" };
            { url = "stdlib/astring_top.cma.js"; fn = "astring_top_dot_cma" };
          ];
      }

And finally the errors are:


Camera view not working, URL points to incorrect IP (<IP_ADDRESS>)

Running Fusion as addon, currently on 2023.12.4.
When I add a camera view, I don't actually an image - when I inspect the DOM, I see the object URL points to an incorrect IP (<IP_ADDRESS>, while my instance is running at <IP_ADDRESS>)
 background-image: url("http://<IP_ADDRESS>:8123/api/camera_proxy/camera.garage_camera?token=xxx")
I noticed the same IP pop up when I opened the fusion web from mobile... possibly a forgotten hardcoded IP in the source code? I assume this is you DEV IP :)
https://github.com/search?q=repo%3Amatt8707%2Fha-fusion  <IP_ADDRESS>&type=code

Try to reinstall to pull latest commit https://github.com/matt8707/ha-fusion/commit/49c7ea12e6cf7c12ba5c7c43aa77b3908b76bad5

Camera works now but still getting an error when I open the dashboard from mobile:

I get the same but straight on the "home" (ingress), both on Firefox and Safari (both updated).
It only kinda works on Chrome but it gets stuck when trying to configure buttons.
No errors on logs.
HA
Core 2023.12.3
Supervisor 2023.12.0
Operating System 11.2
Frontend 20231208.2
Fusion
Current version: 2023.12.5

Can you clear cache and write the steps on how to replicate getting <IP_ADDRESS>?

Can you clear cache and write the steps on how to replicate getting <IP_ADDRESS>?

In my case it's just opening the fusion web from the app..
https://imgur.com/a/3tuCNS7
I'm also having an issue on my tablet (running under a different account than my primary user), there the frontend opens, loads the layout with all buttons etc however there are all Unknown and I get a "ERR_CANNOT_CONNECT" message. If that's a separate issue, I will create an entry for it.

In my case it's just opening the fusion web from the app..

Same for me. I did nothing but:

Installing the add on
Opening the ingress address by clicking on the side bar in Firefox
Repeating point 2 also in Safari and Chrome
When I saw the dashboard working in Chrome I tried to add a button and didn’t work.

Please try addon 2023.12.6

Progress...? I no longer get the auth error but I'm getting the connection error now on mobile (same user as PC) and tablet (different user) while it works ok from my PC.
https://imgur.com/a/8dcAP6V

omg i published the addon before pushing the fix, sorry please try 2023.12.7 when it's available

omg i published the addon before pushing the fix, sorry please try 2023.12.7 when it's available

Is it meant to take me to the HA login page now? Because that's what it does...

OK great now it seems to work I'm going to test it next week

Is it meant to take me to the HA login page now? Because that's what it does...

Yeah, it's not ideal but at least no errors
https://developers.home-assistant.io/docs/add-ons/presentation?_highlight=ingress#ingress

Users are previously authenticated via Home Assistant. Authentication is not required

Sounds good, but there are zero examples of it anywhere..


How can i install Ghost in cPanel?

Hello,
I wanna install Ghost in my cPanel server. I have full root access and i didn't found any information about Ghost installation in cPanel.
Thanks

Hi @Cavain!
We're sorry to hear you're having problems, but ask that you do not use our GitHub repo for support. Please read our support guide. You can always use our slack community - https://slack.ghost.org, if you're not able to find the answer in our documentation - https://docs.ghost.org.


Marginals in a list?

It seems that it would be easier to assemble marginal tables if we passed them as a list of data frames than as a single really long dataframe. I think this was the original practice; why did we change it?

Now provided as a list of data frames


On step 6 of tutorial, clicked on modeling UI in the background accidentally and received an unexpected error message

Here's the error I saw:

I clicked "Reload" and got this:

It looks like the modeling UI didn't load back entirely?

likely has to do with the code not loading for the onboarding

Yup that's the issue, and the stream is coming in just slowly. Sometimes we'll see distortion with the stream but that would be more apparent with the grid being squished in the XY direction. Was your connection pretty rough here by any chance?
The onboarding example code not loading is unrelated to connection speed, just a straight up bug I can reproduce, writing a test for it now.


Creation of log for dietary restrictions

Prior to that PR, dietary restrictions updates were not recorded on Admin Logs.
This PR display dietary restrictions in Admin Log, while also handle the case where the user deletes his dietary restrictions.
-Added conditional statements inside getDietInfo() function in routes.py file and create admin log if necessary.
-Resolves issue #1030

 Create a log for Dietary Restrictions. #1030


Use the same non-embedded Wingdings fallback for fonts named "Wingdings-Regular" too (PR 5463 follow-up, issue 11451)

This patch extends the existing heuristics, which are really the best that we can do in general for these kinds of non-embedded and non-standard fonts.
Furthermore, this patch also tries to improve the copy-and-paste behaviour for non-embedded Wingdings fonts by also using the ZapfDingbatsEncoding in this case.
Note: I'm not sure that adding additional tests for Wingdings fonts matters that much, given how limited our "support" for them really is.
Fixes #11451

/botio test

@brendandahl Could you kick the Windows bot again? Some PRs are currently blocked on this because we can't make reference images or run the tests on Windows.

/botio-linux preview

Thank you!
/botio makeref


HallSensor interpolation/smoothing/prediction

continuing from https://github.com/Candas1/Split_Hoverboard_SimpleFOC/issues/6
@Candas1  applying https://github.com/dekutree64/Arduino-FOC-drivers/blob/dev/src/encoders/smoothing/SmoothingSensor.cpp#L11 wrote: The extrapolation seems to work at constant speed at least now.
Nice visualization tool you have: https://user-images.githubusercontent.com/20670049/256005760-0de8c63f-a36a-48b2-a815-bd4770bc186d.png
You may also want to check max speed with this new inline function HallSensor.h :
    float getRpm(){return   direction * (60000000.0f / pulse_diff) / (cpr); };
and in main.cpp
  OUT2T("KV",sensor.getRpm() / driver.voltage_power_supply )

[Moving the message here]
Some signs were wrong in my case:

The extrapolation seems to work at constant speed at least now.

I need to do more tests this evening.

With my 2.0 board the  sensor alignment procedure never did work at all. Only with the Gen1 stm32F103 did it succeed.
That is why i never understood how you obtained the 2.09.
Yes i did try to optimize your 2.09 but did not find a better value:
unsigned long iOptimize = 0;
float fOptimize = 0;
..
  OUT2T(fOptimize*1000, motor.zero_electric_angle*1000)
  fOptimize = -0.2  * (ABS(	(float)((iOptimize++ + 20) % 80) - 40) - 20)/20;
  motor.zero_electric_angle = 2.09 + fOptimize;

I might have to work on a better sensor alignment for hall sensor.

Might be good if you would be more prescise. We have used the word "alignment" in so many contexts by now, so i do not really understand what you mean with "better sensor alignment".
Only parameter is this zero_electric_angle. So you want to write a better auto zero_electric_angle detection ?

the motor is blocking in the other direction is I am using 1.92.
I need to investigate more.

Ok I think I found the solution, and I have learned more, I summarized it all here
I am curious how Eferu compares with those number but I wouldn't be able to check before this weekend.
Eferu doesn't have such compensation (or I couldn't find it in the model), probably it's optimized only for some of the speed range.

Nice. I do not really understand a lot of your post over there.
But i am working with my Arduino-FOC that i forkerd from your Arduino-FOC.
So if you publish your local code changes to your repo, i can sync my fork to test your work with my test setup :-)
(today i worked on a 20A 80V ESP32 OLED mppt charger..)

I updated the dev branch.

Now that is a bit confusing (for me). You seem to work on three different branches and the latest _configure6PWM is in main but smoothedSensor in another branch ?

I am talking about the dev branch of this repository:

It uses the dev-gd32 branch of my Arduino-foc fork, and the dev branch of my arduino-foc-drivers fork.

I did a pull request to simplefoc dev branch with the direction fix and they accepted it.
So I think the smoothing is complete.
I will work on improving the autodetect only after the current sensing.

To make the Commander class work nicely with the short uart cable of the gen1 board, it would be nice if you would update your config.h to
// Define to prevent recursive inclusion
#ifndef CONFIG_H
#define CONFIG_H

#if defined(PLATFORMIO)
  #ifdef STM32F103RC
    #define HOVER_GEN   1
    #define HOVER_LAYOUT	0

    // too late here, has to be a build flag #define SIMPLEFOC_PWM_LOWSIDE_ACTIVE_HIGH false

    // call motor.initFOC() without parameters to auto align sensor and copy values from debug log
    #define MOTOR_zero_electric_offset  4.19
    #define MOTOR_sensor_direction  Direction::CCW

    // log debug output over master/slave uart
    //#define DEBUG_UART  Serial
    HardwareSerial oSerialSteer(PB11, PB10);  // short cable 5VT EFeru USART3 GPIO Configuration
    #define DEBUG_UART oSerialSteer

  #else
    #define HOVER_GEN   2
    #define HOVER_LAYOUT	0

    // call motor.initFOC() without parameters to auto align sensor and copy values from debug log
    #define MOTOR_zero_electric_offset  2.09
    #define MOTOR_sensor_direction  Direction::CCW

    // SEGGER RTT Debug
    #define DEBUG_STLINK rtt              // Uncomment to enable DEBUG over stlink dongle

  #endif
#else
  // LAYOUT_x_y is used in defines.h
  #define HOVER_GEN   2
  #define HOVER_LAYOUT 0
  //  2_0	// https://github.com/flo199213/Hoverboard-Firmware-Hack-Gen2
  //  2_1	// https://github.com/krisstakos/Hoverboard-Firmware-Hack-Gen2.1
  //  2_2	// 2023/05/11 only MASTER and TEST_SPEED: motor is spinning but needs a push to startup :-/
  //  2_4	// NOT READY !!! https://github.com/RoboDurden/Hoverboard-Firmware-Hack-Gen2.x/issues/3
  //  2_5	// NOT READY !!! https://github.com/RoboDurden/Hoverboard-Firmware-Hack-Gen2.x/issues/11

  //  1_0	// old Gen 1 boards with two motors

    // call motor.initFOC() without parameters to auto align sensor and copy values from debug log
    #define MOTOR_zero_electric_offset  2.09
    #define MOTOR_sensor_direction  Direction::CCW

    // SEGGER RTT Debug
    #define DEBUG_STLINK rtt              // Uncomment to enable DEBUG over stlink dongle
    // log debug output over master/slave uart
    //#define DEBUG_UART  Serial2

#endif

#define BLDC_POLE_PAIRS   15    // all hoverboard motors have 15 pole pairs ?
#define BAT_CELLS         7     // battery number of cells. mostly 10 = 10s = 36V. Sometimes 7 = 7s = 25V

#ifdef DEBUG_UART
  #define DEBUG_UART_BAUD   115200    // [-] Baud rate for HoverSerial (used to communicate with the hoverboard)
#endif

#define TIME_SEND           10000         // [ms] Sending time interval

#endif //  CONFIG_H

https://github.com/Candas1/Split_Hoverboard_SimpleFOC/blob/dev/src/main.cpp#L88 would be changed to
Commander command = Commander(SERIALDEBUG);
The auto calibration did again not work for me.
I got this MOTOR_zero_electric_offset  4.19 from an older version of our code when the auto calibration did work.
By now i have the same identical bldc motors installed in the gen1 test setup and the gen2.0 setup.
Lower case comands were more suitable for me:
  command.add('t', doTarget, "target voltage");
  // add smoothing enable/disable command E (send E0 to use hall sensor alone, or E1 to use smoothing)
  command.add('e', enableSmoothing, "enable smoothing");
  command.add('p', doPhaseCorrection, "phase correction");
  command.add('z', doZero, "zero electrical angle");
  command.add('f', doLPF, "LPF");

I also added a low pass to target:
    fSpeed = 0.999 * fSpeed + 0.001 * target;

    //GPIO_BOP(GPIOB) = (uint32_t)GPIO_PIN_7;
    motor.move(fSpeed);
    //GPIO_BC(GPIOB) = (uint32_t)GPIO_PIN_7;

maybe this line is missing your main.cpp:
 driver.voltage_limit = motor.voltage_limit; // stupid bug to have two voltage_limit in different places

Thank you.
Great so SFOC is more efficient, but not as fast.
It could be the inductance value has to be tweaked on different motors. I am using one with 5 coil wires and 30mm magnets. I am thinking about buying a LCR meter to measure it.
I tried the low pass filter class from SFOC some time ago but couldn't get it to work for the target.
No driver and voltage limit are equal by default.

I don't think so:
void BLDCMotor::init() {
...
  // sanity check for the voltage limit configuration
  if(voltage_limit > driver->voltage_limit) voltage_limit =  driver->voltage_limit;

motor::voltage_limit can be smaller than driver::voltage_limit
But i do no longer want to think about that stupidity to have two different voltage_limit
and on top both (seemingly to me) being used at random in BLDCMotor.cpp :-(

https://github.com/simplefoc/Arduino-FOC/blob/05954cb9691534dd478407505d810a68f1673a5e/src/drivers/BLDCDriver6PWM.cpp#L61

LowPassFilter LPF_target(0.5);  //  the higher the longer new values need to take effect

void loop()
{
...
    motor.move(LPF_target(target));

If you uncommented the curent sense, maybe the current sense alignment is running

Your last update to Candas1/Arduino-FOC/tree/dev-gd32 was two weeks ago.
So i do not understand what you mean with "... maybe the current sense alignment is running"

I have tested the smoothed sensor with 25V sine (stm Gen1 board):

    float fTarget = LPF_target(target) * (ABS((float)(((millis()-iLoopStart)/10 + 250) % 1000) - 500) - 250)/250;
    motor.move(fTarget);

    fAnglePred = fmod(smooth.angle_prev * 57.295779513082320876798154814105 + 360.0 , 360.0);
    fAngleReal = fmod(sensor.angle_prev * 57.295779513082320876798154814105 + 360.0 , 360.0);

Looks like i need to also set an optimized phase correction for SmoothingSensor::update():
  // Apply phase correction if needed
  if (phase_correction != 0) {
    if (_motor.shaft_velocity < -0) angle_prev -= _motor.sensor_direction * phase_correction / _motor.pole_pairs;
    else if (_motor.shaft_velocity > 0) angle_prev += _motor.sensor_direction * phase_correction / _motor.pole_pairs;
  }

I am not too happy with this more general SmoothingSensor approach that can wrap any kind of rotation-position sensor as it can not make use of the interrupt driven HallSensor method HallSensor::updateState().
Instead it must rely on the Sensor:.update() function which is called in motor.loopFOC() far more often (every single blue dot in the curve of fAnglePred)  than HallSensor::updateState() (the coarse 4° steps of the grey curve fAngleReal).
And SmoothingSensor does not implement its own lowpass but cleverly uses _motor.shaft_velocity which has a lowpass:
float FOCMotor::shaftVelocity() {
  // if no sensor linked return previous value ( for open loop )
  if(!sensor) return shaft_velocity;
  return sensor_direction*LPF_velocity(sensor->getVelocity());
}

This method is called in void BLDCMotor::move(float new_target) and therefore motor.move(target) has to be called at the same rate as motor.loopFOC().
I think this is NOT intuitive as people might want to call motor.move only a few times per second to update a new target speed.
So yes, SmoothingSensor is working but all it basically does is adding a low pass to the angle and does a linear prediction
  float dt = (_micros() - angle_prev_ts) * 1e-6f;
  angle_prev += _motor.sensor_direction * _constrain(_motor.shaft_velocity * dt, -_PI_3 / _motor.pole_pairs, _PI_3 / _motor.pole_pairs);

Implement that "two lines" directly into HallSensor might be the better way...

SmoothingSensor.h
    // For hall sensors, the predicted angle is always 0 to 60 electrical degrees ahead of where it would be without
    // smoothing, so offset it backward by 30 degrees (set this to -PI_6) to get the average in phase with the rotor
    float phase_correction = 0;

Setting it to +0.1 already had a bad effect.
Setting it to -0.52 = -Pi/6 was okay but does not really help:

here the downside of a low pass: it takes some time the direction chain is noticed:

I already discussed with the contributor, I told him it's not optimal for hall sensors. But that's the best solution we have now and it works most of the time.
EFeru would stop predicting at slow speed or direction change, this is easy to do.

I guess i will spend half a day to test my direct HallSensor impelementation against these SmoothedSensor results here :-)

Again, i do not want to pose problems when i can not offer solutions.
And i already figured out that linear prediction with a speed average is sufficient.
The inaccuracies i showed in the pics above are only at direction changes, so low speed an we do not really have to care for.
It is possible to give SmoothingSensor.h its own speed low pass
    float shaft_velocity;//!< current motor velocity
    LowPassFilter LPF_velocity{DEF_VEL_FILTER_Tf};//!<  parameter determining the velocity Low pass filter configuration

but as the speed will not change when motor.move() is not called, it is okay to use the lowpass filtered motor.shaft_velocity which gets updated by motor.move().
And when i only call motor.move at 10 Hz and some heave torque on the motor affects the shaft_velocity we have a lowpass anyway and do not see that when smoothing.
So everything is okay with SmoothingSensor :-)

OK then we are aligned.
I know it's not a perfect solution but it's good enough for now.
When all works we can check what is worth improving.

I think it is already perfect for us.
In the beginning i thought that a higher grade polynomial would better predict future speed changes like in my screenshots..
(That is why i did not want to wait for SmoothingSensor...)
But this is only needed at very slow speeds and we do not need to care for that.
At normal speed when noise and efficiency is important, the refresh rate is so high that a linear prediction is sufficient.
(That is why i stopped with my HallSensor-prediction.)
Now seeing that SmoothedSensor is more silent than my linear prediction, i happily close that chapter.
I guess when you have finished your channel3 timer0 adc, you  have successfully ported SFOC to GD32F130.
I would still like to have a callback when adc has finished to trigger motor.loopFOC() every second call :-)


Sample project build from nuget Nox.Lib package doesn't reflect context-specific Swagger endpoints

Hello @Mornevanzyl !
Can you specify Nox packages versions that you've used?

The PR was merged, closing the issue


Updated hooks.md with useStyle hook

Description
Added the useStyle hook to the docs. Info taken from these conversations:
https://github.com/BuilderIO/mitosis/pull/758
https://github.com/BuilderIO/mitosis/issues/757

@samuelOsborne can you please run yarn run fmt:prettier at the root of the project?

@samijaber Done! :-)


Json model

added json model for easier parsing of Mozilla cipher suite data

Badssl is a great improvement for testing at least some of the negative certificate cases.  Good work implementing these test cases.  Next, I noticed you added test cases to verify the format of Mozilla JSON files.  This is great and will be helpful to assess JSON file formatting issues.  A point to consider is that in initCipherMap() I load the JSON files with the JayWay path library like this, Configuration.defaultConfiguration().jsonProvider().parse(cipherevaluation);  where you deserialize them into Objects via ObjectMapper in readCiphermapFromJSON() and readMozillaCertsFromJSON().  The approach works to validate the JSON files but it's not necessarily useful for identifying pathing problems in the JayWay library.  The best approach is if your test code and initCipherMap() uses the same API to load the JSON.  I don't really care if the ObjectMapper or JayWay is used but it would best to use a single approach.  What do you think?

I agree, my code was just to make things simpler, additional assembly
required ;-)
Cheers,
Sytze.
On Tue, Nov 8, 2016 at 1:45 AM, Milton Smith<EMAIL_ADDRESS>wrote:

Badssl is a great improvement for testing at least some of the negative
certificate cases. Good work implementing these test cases. Next, I noticed
you added test cases to verify the format of Mozilla JSON files. This is
great and will be helpful to assess JSON file formatting issues. A point to
consider is that in initCipherMap() I load the JSON files with the JayWay
path library like this, Configuration.defaultConfiguration().
jsonProvider().parse(cipherevaluation); where you deserialize them into
Objects via ObjectMapper in readCiphermapFromJSON() and
readMozillaCertsFromJSON(). The approach works to validate the JSON files
but it's not necessarily useful for identifying pathing problems in the
JayWay library. The best approach is if your test code and initCipherMap()
uses the same API to load the JSON. I don't really care if the ObjectMapper
or JayWay is used but it would best to use a single approach. What do you
think?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spoofzu/DeepViolet/pull/23#issuecomment-259010960,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADE4rDPXNfzJzHRkAx2TERWAL2EzM9mvks5q78YXgaJpZM4Kqsq_
.


In Root Domain details page, after creating a new Subdomain, the info for IPAddress and Port must be in 2 lines

In Root Domain details page, after creating a new Subdomain, the info for IPAddress and Port must be in 2 lines, right now both are displayed in the same row

Working as expected


Added support for private git repositories using ssh.

I noticed that i could not use hygen-add with our company's private bitbucket repositories. hygen-add did not register git+ssh://git@bitbucket.org:/xxx/repository as an URL. By changing the regex testing for isUrl, this problem is solved.

Edit: The project had not been built properly. Tested now and it works with the new "Rebuild" commit.

Amazing! thanks!

No problem! It is a nice tool :) Could I trouble you to re-publish to NPM? The repository version is stuck at 1.0.5.

Hmm in fact I immediately did. Looks like the CI pipeline didn’t publish, thanks for letting me know!


Graph width calculations

Currently left justified as doesn't take into account remainders

Good enough for now.  When we switch to rendering the graph we will get this.


Page 6510 "Item Tracking Lines" – Protected procedure SynchronizeWarehouseItemTracking()

Could you please change the scope of the function  SynchronizeWarehouseItemTracking() in page 6510 "Item Tracking Lines" to protected.

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


how i can choose the video quality

how i can choose the video quality

Is this videoPlayerViewController has an option for choose a video quality by a user like youtube video player ?


Empty Folders

I need to migrate an entire environment to a BLOB with folders and files, and with azcopy I found no way to copy empty folders in any other way?
Syntax: azcopy sync or copy "/local/path" "blob.blabla" --recursive=true

Hi @freeza1990, thanks for reaching out!
Yes, the tool indeed intentionally ignores the empty folders. Do you have a use case where they'd be useful to keep?

To clarify, Blob is an object storage, therefore there's no concept of directories. The blob names can contain / which can serve as virtual directories.

yes, I need to migrate all files and have folders that are empty and we saw that with "sync" did not copy the folders. and did not find any parameters to copy them. we are migrating from linux to blob. can you help me? I will be grateful thank you.

Hi @freeza1990, as I've clarified, directories are not supported natively on Blob Storage. However, there are tools (I suggest using blobfuse) that map directories into blobs with a specific metadata value.

I understand, is there any tutorial on how to use blobfuse? with him I can synchronize everything?

Yes @freeza1990, here is the tutorial.

As I understand the blob there is no virtual directory without files, I'm right right? So you can't even copy the empty folders.

@freeza1990 indeed, that's why blobfuse represents folders with a blob that contains special metadata (is_hdi_folder=true I believe). So the next time you sync down the container into another machine, the tool will show empty folders correctly.


Publish to a so c

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix missing locale names

The name for Azerbaijani locale is missing in the project manager, only an [az] is displayed in the dropdown. This is because l10n is done for az, while only the name of regional variant az_AZ is available in Translation Server.
The same for km (Central Khmer) and tt (Tatar) locales.
Cherry-pickable to 3.x: core/string/translation.cpp → core/translation.cpp

Thanks!

Cherry-picked for 3.4.

Cherry-picked for 3.3.3.


"Disposable" workstation using Ansible

How long does it take you to setup a new, or reinstalled, computer?
Put all your prerequisites in a playbook - install tools, apply configuration etc.
Make refreshing your computer a 1 hour job (or thereabouts).

I am killing this because of:

We don't have a team focus on Ansible
The group of users it would benefit is too small to defend the cost of creating and maintinging this for three different operating systems.


Allow service IDs to be generated for DOS

Remove the restriction on serivce IDs that only allows them to be
generated for g-cloud-7.
This generates a string of integers between 16 characters long.
I've changed from exponential notation to raising to the power because
the exponential notation creates floats and the larger float overflows.

One argument against 16-character ids is that in a normal import Excel will treat them as numbers and set the final digit to zero.  See here and here.
There seems to be no way to format a 16 digit column so that it will just be imported as a string by default.
Ash has brought this up before and so has Nicole.

I've updated to reduce the number of digits to 15.
I have also passed this by @cathrooney and she is ok with it so long as existing IDs don't change. Which they will not.

Our is_valid_service_id() method allows any string between 10 and 20 characters long, which seems pretty liberal, but probably fine for now still.
:+1:


react-dom does not exist anymore

Not sure where this issue is coming from, but
typings install --save --ambient react-dom  results in
typings ERR! message Unable to find "react-dom" in the registry. If you can contribute this type definition, please help us: https://github.com/typings/registry

typings ERR! cwd /tmp/02.05.51
typings ERR! system Linux 4.4.1-2-ARCH
typings ERR! command "/usr/bin/node" "/usr/lib/node_modules/typings/dist/bin/typings-install.js" "--save" "--ambient" "react-dom"
typings ERR! node -v v5.7.0
typings ERR! typings -v 0.6.8

typings ERR! If you need help, you may report this error at:
typings ERR!   <https://github.com/typings/typings/issues>

react-dom is in the react/ subdirectory of DefinitelyTyped. react itself is found correctly.
As far as I know this is a regression, it has worked before.

+1 please fix this

+1
Workaround:
typings install --ambient --save github:DefinitelyTyped/DefinitelyTyped/react/react-dom.d.ts

Not a regression, a core issue with DefinitelyTyped is the structure. It's very unstructured when it comes to parsing consistently, as noted in https://github.com/typings/typings/issues/225. You can install using react/react-dom. If there's a better indexing strategy, feel free to suggest it, but I suggest DefinitelyTyped make it easier because there are so many inconsistencies I can't truly keep up.
For now, it's available as react/react-dom - according to the DefintielyTyped structure.

Caused by this: https://github.com/typings/api/pull/23

If you're interested in helping with the indexing rules, there's https://github.com/typings/api/blob/master/src/worker/jobs/dt.ts. It's possible I add another precaution to handle name prefixing like I did with inconsistent usage of dashes and dots in the filename.
For example: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/googlemaps/google.maps.d.ts

Using typings i react/react-dom -D -A results in following error message:

typings ERR! message ENOENT: no such file or directory, open 'path-to-project\typings\main\ambient\react\react-dom\react\react-dom.d.ts'

On the other hand the workaround suggested by @RudolfVonKrugstein works.
I'm using Windows 7 + Node v4.2.4 + typings v0.6.8

@lukefan6 That's a known issue, you can specify a name without a slash to make it work. However, it'll also be fixed next version - I think I can do the patch mentioned in my above comment, but it'd be even better if these definitions can stop coming from DefinitelyTyped.

Just re-indexed everything with changes pushed to the Typings API. Should work fine again, see https://api.typings.org/versions/dt/react-dom.

None of the above workarounds work for me, and I think its because things have changed with the new typings version (1.0.4).
Just thought I would make a note that I tried all of the above commands in this thread without luck, which include the following:
typings install react-dom --save
typings install react-dom --save --ambient
typings install react/react-dom --save --ambient
typings install --ambient --save github:DefinitelyTyped/DefinitelyTyped/react/react-dom.d.ts

This is what I used which worked for me, hopefully helpful to anyone else who finds this thread and hits the same brick wall I did:
typings install dt~react --save --global
typings install dt~react-dom --save --global

@dennispg Yes, the changes are documented in the README. Feel free to point people there too: https://github.com/typings/typings#updating-from-0x-to-10.

React is available in the registry now, so you can typings install react --save
Still need dt~react-dom --save --global

typings install react --save worked far enough to resolve and download, however when typescript went to compile.. dt~react-dom didnt like that react was not also global.
also, i figured that to be 100% sure the two are in version sync its best to use dt as the same source for both.
please correct me if that is flawed reasoning, but if not then i would still recommend using:
typings install dt~react --save --global
typings install dt~react-dom --save --global

I see. Need react-dom to be in the registry then


Add analytics params

Reviewer: Chris
Asana: https://app.asana.com/0/361428290920652/382789528015017
Description:
Adds a campaign param (atb value which is retrieved on first launch) and source param (t value which is based on app version) to searches
Steps to test this PR:
Watch search traffic (I usually use Charles but the Safari dev tools also allow it) and ensure that searches have an atb and t param
Reviewer Checklist:

[ ] Ensure the PR solves the problem
[ ] Review every line of code
[ ] Ensure the PR does no harm by testing the changes thoroughly
[ ] Get help if you're uncomfortable with any of the above!
[ ] Determine if there are any quick wins that improve the implementation

PR DRI Checklist:

[ ] Get advice or leverage existing code
[ ] Agree on technical approach with reviewer (if the changes are nuanced)
[ ] Ensure that there is a testing strategy (and documented non-automated tests)
[ ] Ensure there is a documented monitoring strategy (if necessary)
[ ] Consider systems implications (Database connections, Grafana stats, CPU)

@subsymbolic just in case you hadn't spotted it, but there's a conflict on this branch.  Am reviewing now.

Oh thanks, I hadn't noticed, must have been one of the subsequent PRs that's gone in. Just fixed it!

@nilnilnil, did you want to check this PR too? I have:

improved the class/variable names
made the t param = ddg_ios
moved the app version into a new param called tappv (which I don't think exists but I'm a kibana n00b so worth checking that!)

Let me know if that looks ok to you. If so, I'll do the merge, I want to squash and clean up some commit comments


Delete ttl from dynamodb table CloudFormation specification

With the recent release of CloudFormation it supports configuring TTL for dynamodb but this is not supported by dynamodb local.
That's why we need to exclude ttl specification before creating local dynamodb table

👍

@alexzelenuyk does it break if someone have included TTL? I haven't use TTL so far.

@rehrumesh you can't have ttl in local database anyway only on AWS, that's why it doesn't break

@alexzelenuyk Thanks. Can you update the Readme as well. I think then all is set to merge this PR.

@alexzelenuyk Thanks for this. I have merged this and will be doing a npm update soon.


Also enable rollover for weekly notes

I believe rollover only works for daily notes, whether through the core plugin or the periodic notes plugin. Would it be possible to also enable rollover for weekly or monthly notes?

I second this! It would be a super neat feature to have.

Closing it in favor of #53


Hope the terminal window arrangement can be more flexible

If the terminal windows can move like normal file tab, that'll be great. Sometimes I only want one quarter of the window .

You opened the same issue here: #108398

Accidental repetition


Stochastic output

We are observing non-deterministic behavior of whamg when run multiple times across cloud VMs on the same BAM file, where about 5-10% of calls are different. I see from a quick search of the code base that random sampling is used to estimate metrics (this seems to be seeded to the system clock with srand in wham and not in whamg), but from the logs it looks like these estimates converge consistently.
Can anyone reproduce this behavior?
Either way, it would also be very useful to set the random seed manually from the command line.

Hi @mwalker174,
I've marked this as a question, but it's possible it is a bug. Let me think about this for a bit.


Any reason not quote the column name?

I think the property name is quoted which is meant to return quoted column name, any reason why not doing that?
https://github.com/silentsokolov/dbt-clickhouse/blob/6f99be054e1a174a347bbb1e8743f44f94d4ae3a/dbt/adapters/clickhouse/column.py#L57
Should it be return f'"{self.column}"'?

Switch to default


Make content responsive for (Mobile view)

Pls can I take it for hacktoberfest

@anubhavsingh16 Can I work on this please?

Can i work on this project?

I can work on this project.

Anyone can work/contribute on this just by sending appropriate PR.

I can't assign this issue to one person, so anyone who solved this issue please send the PR ASAP.

i checked it and it is responsive on mobile view
what exactly or where exactly do you want to achieve the result

please look at footer

@anubhavsingh16 For Hacktoberfest, can you add the "hacktoberfest" topic to this repository so that our PRs count? Thank you!

@anubhavsingh16 For Hacktoberfest, can you add the "hacktoberfest" topic to this repository so that our PRs count? Thank you!

When you send PR, Hacktoberfest portal automatically detects your PR.

Can i work on this issue

plz give me this opportunitiesto to work  on this project

I can do this project
It will complete in 3-4 days

Don't ask Can i work on this issue if you think you are able to solve this issue thn just wright Im working on this issue and send PR for same.

I am working on this issue will be sending pr soon @anubhavsingh16 can you also add crossWoc tag to the issue?


Create class in distributed immediately after creating db

How to reproduce:

Start two instances in distributed mode
create database from Studio
ensure that the db was replicated
create a class from Studio (SQL)

[edit, wrong stacktrace]
2016-04-04 11:46:56:452 SEVER Internal server error:
com.orientechnologies.orient.server.distributed.ODistributedException: Error on executing distributed request (id=129 from=node1 task=command_sql(create class bazz) user=#5:0) against database 'bla.[]' to nodes [node1, node2]
--> com.orientechnologies.orient.server.distributed.ODistributedException: Quorum 2 not reached for request (id=129 from=node1 task=command_sql(create class bazz) user=#5:0). Elapsed=26ms Servers in timeout/conflict are:
 - node2: 11

Fixed in 2.2.0 branch


Screen background is 'gray', not the desired 'black'

Describe the bug
Unable to clear_buffer such that the background is all black
To Reproduce
def duty_cycle(screen):
    ev = -1
    while True:
        response = requests.post(MY_URL, data=None).json()

        screen.clear_buffer(Screen.COLOUR_RED, Screen.COLOUR_GREEN, Screen.COLOUR_BLACK)

        """
        screen.print_at('duty_cycle: ' + response['timestamp'], 2, 2)

        for point in response['env']:
            screen.print_at(point[2], point[0], point[1])
        """

        ev = screen.get_key()
        if ev == screen.KEY_ESCAPE or ev in (ord('Q'), ord('q')):
            return
        screen.refresh()
        sleep(500/1000)

Screen.wrapper(duty_cycle)

Expected behavior
clear_buffer's last param is the background colour and is given as black. When rendered the screen has a background that appears to be gray
Screenshots
--none--
System details (please complete the following information):

OS and version: Mac 10.15
Asciimatics version: 1.12.0

Additional context
--none--

Thanks.  First just a quick note that you are using the wrong parameter for the 2nd parameter on clear_buffer.  It should be an attribute, not a colour.  But that won't be the issue here...
These should be completely standard colour settings, however some terminals take liberties with the ansi colour scheme.  I'm guessing the MacOS terminal is in that list based on this trail: https://superuser.com/questions/100281/make-the-background-black-not-white-on-linux-mac-os-x-terminal
Are you using a profile that defines the background to be a gray rather than black?

Thanks for your response. You are right. Mac is messing the colours. It works just fine on a Raspberry Pi 4b. For the record: I had some silly Pillow errors which eventually got solved by using this answer. Basically did this sudo apt-get install libjpeg-dev zlib1g-dev before doing pip3 install asciimatics

iTerm on Mac interprets ANSI colours different to expectations. To reset as preferred change these settings

Given that you've taken the time to explain what's needed, we should update the troubleshooting docs.

Would be happy to do that, if you tell me how the docs are updated and what process is followed

Thanks.  Docs are written in restructured text and built using sphinx.  All happens automatically in the travis builds, but you can run those commands and then look at the files locally when you make changes.
We should add a new section with a title like "my application colours are wrong", where you can explain the generic problem and then how to fix it for iterm.
If you could check out the existing installation advice and tweak if neede for RPi, that would be good too.

Oh and the key doc is here - https://github.com/peterbrittain/asciimatics/blob/master/doc/source/troubleshooting.rst


Tweet new issues

To increase the reach of issues that need help, we could tweet them automatically.

I think that'd actually be a really cool feature! Off the top of my head, I think we'll need to store some info about the issues so that we can track which ones have/haven't been tweeted.
I think if we approach this right, it could also open up the opportunity to post the issues on other sites too in the future (e.g. - LinkedIn, Telegram) 😄

@ash-jc-allen We could have this setup on a scheduled command (infrastructure dependent) that dispatched a job to crawl the repos. Then we dispatch a job which just calls a few actions (or we could use Laravel Notifications I guess) for dispatching the details (from the DTO) to each social channel. That way, we would only have to store a log either in the database or just to whichever logging solution you use of each issue number.
Just thinking of different ways to implement this whilst still keeping the codebase as light as possible.

Yeah, I'm definitely on board with that approach. I've not spent any time looking into if there's a way to send tweets from Laravel notifications, but if possible, that'd be pretty cool to use.
I'm thinking that we'd maybe have a social_posts table in the DB (I'm definitely open to a better name though) with something fields like:

id
issue_repo - (e.g. - ash-jc-allen/find-a-pr)
issue_number
twitter_url
twitter_sent_at
created_at
updated_at

I'm half tempted to add an issues table in the database, but I'm trying to use the GitHub API as the single source of truth to keep the maintenance as easy as possible. What's your opinion on adding an issues table?
Do you have any thoughts on any of this too @rubenvanerk?

The tweets is the easy bit. I'm opposed to storing a copy of every Github issue. Think of if the application gets large etc, we've either got to have webhooks to update issues (not sure if that's a thing on the GH API) or we have to scrape GH's API for it.
Your table structure is pretty much what I was thinking. issue_repo and issue_number is more 'humanly readable' than the unique issue_id in the GH API. I'm not opposed to storing that too though.
@rubenvanerk if you're taking this on, I'd be more than happy to help if you like?

@rubenvanerk Ahh nice, I didn't actually know that there were unique identifiers across all of GitHub. In that case, I think it'd be worth storing the issue_id too just on the off-chance that we want it for any future features.
I'll get a "Find A PR" Twitter account set up at some point this week or next week so that it's prepped ready for us to use :)

This has been deployed now, so I'll close this issue :)


iOS Mobile Renderer Black Screen

Tested versions

Reproduceable In: 4.4.dev.mono.custom_build.f0e971730

System information
Godot v4.4.dev.mono (f0e971730) - macOS 15.0.1 - Multi-window, 1 monitor - Metal (Forward+) - integrated Apple M2 (Apple8) - Apple M2 (8 threads)
Issue description
When exporting to iOS set to use the mobile renderer, it renders with a black screen:

When exporting to iOS set to use the Forward+ renderer, it renders just fine:

Here are the respective logs:
Note
The Forward+ Renderer Log has many errors, but that is the one that actually renders correctly.  The Mobile Renderer log only has 1 error, but renders with a black screen.
Mobile Renderer Log
Godot Engine v4.4.dev.mono.custom_build.f0e971730 (2024-11-16 22:16:24 UTC) - https://godotengine.org
Metal 3.1 - Forward Mobile - Using Device #0: Apple - Apple A12 GPU (Apple5)

ERROR: Mouse is not supported by this display server.
at: mouse_get_position (servers/display_server.cpp:508)

Forward+ Renderer Log
forward_plus_log.txt
Steps to reproduce

Use Godot with double precision and mono support.

I'm not certain if this is necessary as I haven't tested other builds, but that is what I am currently using.

Open the MRP
Export to iOS
Install to an iPhone
See that a black screen renders
Change project settings mobile rendering method to Forward+
Export to IOS
Install to an iPhone
See that cube renders

Minimal reproduction project (MRP)
mrp.zip
Edit:
Here's the table of tested snapshots:
✅ = vulkan mobile works as expected
❌ = vulkan mobile blank screen

Version
Status

4.3.stable
✅

4.4-dev1
❌

4.4-dev2
?

4.4-dev3
?

4.4-dev4
?

4.4-dev5
❌

Can you reproduce this on 4.3.stable?

I will go check

Also note that I reproduced this with normal Godot.  It occurred in the 4.4-dev5 snapshot without mono support.  And I believe those snapshots do not have double precision either right?  Which would lead me to believe this issue is not related to mono support or double precision.

Version
Status

4.3.stable
✅

4.4-dev1
❌

4.4-dev2
?

4.4-dev3
?

4.4-dev4
?

4.4-dev5
❌

So it was first introduced somewhere between 4.3.stable and 4.4-dev1.
@Calinou I found where it was introduced in regards to snapshots :).

Metal 3.1 - Forward Mobile - Using Device #0: Apple - Apple A12 GPU (Apple5)

Default backend for Mobile/Forward+ on macOS and iOS was changed to new Metal renderer. While Vulkan renderer should support A12 (it is the oldest SOC it should run on), I'm not sure what's the minimum requirement for Metal renderer. Try setting rendering/rendering_device/driver.ios in the project settings to vulkan.

@bruvzg I will give this a shot
@Calinou I bisected and found the PR that introduced this issue.  Looks like it @stuartcarnie 's pr here: https://github.com/godotengine/godot/pull/88199
Thank you btw @stuartcarnie for the metal support!  I love getting as close to the native drivers for target platforms as possible! :). I just believe I may have found an issue with this PR that introduces black screen on ios.

@bruvzg I can confirm that changing the rendering_device/driver.ios back to vulkan fixes this :)

For the reference, Metal render seems to be working fine on A14 (10. gen. iPad) and M4 Pro. Unlike A12, these devices have Metal 3.2 printed when starting, not Metal 3.1. So this might be the requirement.
Metal 3.1 - Forward Mobile - Using Device #0: Apple - Apple A12 GPU (Apple5)

Metal 3.2 - Forward Mobile - Using Device #0: Apple - Apple A14 GPU (Apple7)
Metal 3.2 - Forward+ - Using Device #0: Apple - Apple M4 Pro (Apple9)

Officially supported Metal 3 devices are A12X/A13+, so base A12 might be too old and have incomplete Metal implementation. We probably should update documentation with new min. system requirements for Metal renderer.

@bruvzg Should we have it automatically fall back to Vulkan if we detect at startup that it is the old one?
Also something to note, Forward+ works without issue.  I was only having issues with the Mobile renderer

Should we have it automatically fall back to Vulkan if we detect at startup that it is the old one?

Yes, but currently fallback only works if a specific renderer is completely missing, in this case renderer init works, but shader compiler fails.

Also something to note, Forward+ works without issue. I was only having issues with the Mobile renderer

In this case, it probably is a Metal renderer bug, not a hardware limitation.

I tried the 2D lights and shadows demo, as I already had that setup, and it is still working with the Forward Mobile renderer, but Forward+ is definitely returning a lot of errors, so I don't believe it is working without issue. I'll try your MRP next.

For some extra info, my phone is:
iOS Version: 17.6.1
Model Name: iPhone XR
Model Number: MT362LL/A

Also something to note, Forward+ works without issue. I was only having issues with the Mobile renderer

In this case, it probably is a Metal renderer bug, not a hardware limitation.

Forward+ is not working correctly, as many of the pipelines are failing to compile, which are in the logs @TCROC included. I was able to replicate that on my iPhone 13. I'll have to take a look and see why it's failing, as I expect it should work.
I'm mostly interested in why the mobile renderer isn't working for you, as there are no logs and no errors / warnings suggesting it is even compiling anything.

Also something to note, Forward+ works without issue. I was only having issues with the Mobile renderer

In this case, it probably is a Metal renderer bug, not a hardware limitation.

Forward+ is not working correctly, as many of the pipelines are failing to compile, which are in the logs @TCROC included. I was able to replicate that on my iPhone 13. I'll have to take a look and see why it's failing, as I expect it should work.
I'm mostly interested in why the mobile renderer isn't working for you, as there are no logs and no errors / warnings suggesting it is even compiling anything.

Did the MRP work on your iPhone 13 with mobile renderer?

Did the MRP work on your iPhone 13 with mobile renderer?

Just trying that now

It is reproducible – the issue is in the Metal renderer and related to how SPIRV-Cross generates the shader interface for iOS vs macOS for certain shaders. Turns out that the mobile renderer is also partially rendering (like Forward+), a full-screen quad is rendering black for mobile.

Perfect! Thank you for reproducing @stuartcarnie! And happy Thanksgiving if you celebrate it! :) I guess we can update the tags now that it has been confirmed :)

Fix coming via #99820

@stuartcarnie I'm not saying you are "the man". But if the "the man" were to hypothetically exist, he would likely look something like you 😎
I'll try out your PR in my fork in the morning! 🔥

@TCROC I think I see that you have an Apple5 GPU device (2018), which is unfortunately too low for the change I had to make. The minimum version is now an Apple6 family GPU, which is from 2019. SPIRV-Cross has some issues with mixing Apple GPU features between Apple5 and Apple6 era GPUs, which directly affect the Metal renderer 😔
I'm hoping we can support some sort of automatic fall-back to MoltenVK.

@stuartcarnie Perfect!  Let me know what solution  you come to and I'll gladly test it out :)  Thank you! You are the best! :)

@maxelusgit try changing your rendering driver to vulkan:

@TCROC #99820 will now support your iPhone

@stuartcarnie perfect! I'll try that tomorrow :)

@maxelusgit do you have a MRP we can look at, as that will help us troubleshoot the problem. I have an iPhone 12 Pro, so older than yours.

@TCROC were you able to try this latest PR on your A12 device (Apple5 GPU)?

@stuartcarnie not yet. I had some things come up that I had to deal with. I try to get around to testing before end of week

Godot Engine mono v4.4.dev7.official.46c8f8c5c - https://godotengine.org
Metal 3.2 - Forward Mobile - Using Device #0: Apple - Apple A18 Pro GPU (Apple9)
exporting to iOS set to use the mobile renderer, it renders with a black screen. like this issue.

[!IMPORTANT]
@iusn, et al, the fix, #99820 did not make the dev-7 release


Add effects tab to vehicles

Known issue: conditions don't roll open with their description on click even though it should've been inherited from the base class. Might be an intended feature of inactive conditions?

Condition summary viewing is bugged for other sheet types as well currently.

Required adjustment to the types taken on traitSelector to support both jQuery events and vanilla JS events.
Un/identification is on creature, it's just that vehicle doesn't extend creature, rather actor directly, so it doesn't inherit it.

Should I change the functions back to using event?


Add option to disable running integration tests

Set up to explicitly require disabling integration tests (by setting RUN_INTEGRATION_TESTS to false) so that nothing changes by default.
Porting to 1.35 directly for quick turnaround, will bring to main after this is in.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
14797

Relevant Lines:
29109

💛  - Coveralls


Auto-generate GitHub CI workflows

Example run

Current dependencies on/for this PR:

main

PR #104   👈

This stack of pull requests is managed by Graphite.

Merge activity

Dec 15, 9:53 AM: @@NathanFlurry merged this pull request with Graphite.


added solution for map range

added solution for  http://rosettacode.org/wiki/Map_range

@orhanbalci Do you mind rebasing this so we can merge it?

@euclio done

Awesome! Thanks for the quick response (and the test!).


Fix for java dependency check on linux

See: https://github.com/Homebrew/homebrew-science/issues/1605#issuecomment-68510052

This patch doesn't implement all the functionality of the Mac version. If the version argument is specified, it needs to check whether the installed Java version matches the requested version. A simple regex could parse the output of java -version.

~ ❯❯❯ /usr/libexec/java_home --failfast
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
~ ❯❯❯ /usr/libexec/java_home --failfast --version 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
~ ❯❯❯ /usr/libexec/java_home --failfast --version 1.7
Unable to find any JVMs matching version "1.7".
~ ❯❯❯ echo $?
2

I committed a mini-fix. It could be improved, but is good enough for now.

java -version 2>&1 | awk -F '"' '/version/ {print $2}'?

@sjackman java -version 2>&1 | awk -F '"' '/version/ {($2 >= "1.7")?err=0:err=1} END{exit err}'
Is it okay to use pipes with quiet_system, best practice wise?

Closing in lieu of #229