Not able to access API with custom domains

Tried hosting the server on my server, while the normal get calls work ("app" ones) I get 404 errors for all the API calls.
Sample call:
www.mycustomconnfa.com/login or /dashboard works.
But www.mycustomconnfa.com/api/v2/checkUpdates throws a 404 error.
you can replace mycustom.com with localhost:8000 and get the same results.
But using your default base url works (http://connfa-integration.uat.link/)
Any pointers?

Hi @jayram88,
It could wrong configuration for API in your .env file. We use next configurations:
API_PREFIX=api
API_DOMAIN=
API_VERSION=v2
API_DEBUG=true
API_CONDITIONAL_REQUEST=false

Note that API_DOMAIN is empty, please try to make the same in your .env

Thanks for the quick reply @Konro1 ,
Making API_DOMAIN empty does not solve the issue unfortunately.
What I have figured so far is that the issue is in the match() function in RouteCollection.php.
$route = $this->check($routes, $request);
Here the check is returning null for all "api" calls but returning fine for the other "app" calls.
Any other ideas?

Does this have something to do with URL rewriting?
I am using Homestead locally.

@jayram88 you can use php artisan api:routes command to see all API routes paths (e.g.: /api/v2/checkUpdates). Full url will look like: http://YOUR_DOMAIN/api/v2/checkUpdates. Please, note that your domain DOOCUMENT_ROOT need to be configured to public directory and all routes in laravel are case sensitive.

Sorry, document root is configured to public and the URL is as you recommended too, there is some difference between how API URIs are matched vs APP URIs....not able to figure it :/

Could you check if your web server has mod_rewrite enabled?

Yes, I am using Fortrabbit and its supposed to be enabled there by default.
I suspected the same too though.
Do you recommend any particular hosting service that I could try it on to confirm this?

mod_rewrite is enabled on my server, confirmed it with another htaccess script.

Does it work if you run the app from Chrome on your machine?
If not - can you use inspector to get the full URL it's requesting?
If you're running it on a mobile device, it may be a DNS issue - I've been playing with connfa recently and ran into some network issues so hope this might help clarify...

@matchett808 I am making the calls manually on chrome and seeing the difference in response between the default base URL and the url of my server(and localhost).
Have you managed to host it successfully on your own?
What server(service) did you use?

Hi @Konro1
I think I have the same issue, please see here: http://<IP_ADDRESS>/connfa/public/api/v2/checkType
Any idea how to fix this?

Hi, @piraterr
There is no api url http://<IP_ADDRESS>/connfa/public/api/v2/checkType, there is http://<IP_ADDRESS>/connfa/public/api/v2/checkUpdates, it works.
You can read about all API endpoints here http://connfa.com/api/

Thank you @Konro1 for prompt reply and for the hint.

@jayram88 Just want to follow up on this, is the problem still relevant, or could the issue be closed? If there are any questions, just let me know.

Hi, just to know, I had to use (with index.php):
http://MY-DOMAIN/index.php/api/v2

@phls It seems like you have not mod_rewrite enabled on your web server

@Konro1 mod_rewrite is enabled, but still working with index.php

@phls  Do you have .htaccess file in public/ directory ?

@Konro1 yes.


Fix playback confirmation

What is the context of this PR?
Answers which have lists as their value are being incorrectly escaped. This causes problems when trying to use placeholder transformations for checkbox answers and each character of the list content is escaped.
How to review
Use the new test_placeholder_playback_list.json and select some toppings 🍕. Confirm they are correctly formatted on the confirmation page.

 Fix playback confirmation feature

I think we should have a functional test to demonstrate the feature. Probably worth waiting for #2463 to merge first.

Approved based on the functional test requested by @ajmaddaford being added

👍


fix: set required env vars for HAC E2E

Description
this PR should enable targeting correct infra-deployments branch when running HAC E2E from infra-deployments PRs
Issue ticket number and link
N/A
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
in CI 🤷
Checklist:

[X] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/lgtm
/approve

/retest


Restore compatibility with PicoFlasher v2 firmware

As lots of people have problems with PicoFlasher v3 firmware (e.g. https://github.com/X360Tools/PicoFlasher/issues/4 & https://github.com/X360Tools/PicoFlasher/issues/16), an easy work around would be to switch back to v2 firmware (as long as you don't need the eMMC support). J-Runner currently insists on v3 firmware, but can be easily made compatible with both v2 and v3, by selectively disabling eMMC support if v2 firmware is detected.
Thank you for considering this PR...

Thanks, will check this out shortly.
Sorry for the slow response, been a little bit busy lately.
Kind Regards,
Josh


First Child View Controller is shifted down on ViewDidLoad

I am using ButtonBarPagerTabStripViewController and used the Blog post instruction but I am facing a weird issue. My View controllers which is basically a UITableViewController and a UIViewController show up slightly shifted downwards on load inside the container view. Once I tap on the bar button and change back, the view seem to position itself correctly. This happens with a regular UIViewController as well and is not specific to TableViewController. When the app loads, if I use gesture swipe to swipe left then the position remains shifted down,  only when I tap the button in the bar pager the first VC seem to position it correctly by itself. (Somewhat illustrated as shown below). This is happening with the second VC as well.
Am I missing something here?
Notice the white space just below the pager bar, and notice how it positions itself as soon as I tap on the second pager button. I am also able to drag the first VCs down using gesture which shifts the whole VC down again.

I have the same issue here.

I am not sure why but when I add
self.automaticallyAdjustsScrollViewInsets = false
in viewDidLoad() (in the tab controller not each child controller)
The issue was gone.

@Amefuri I have managed to resolve it by putting these two lines of code just after the super.viewDidLoad() in the viewDidLoad() method
self.buttonBarView.collectionViewLayout = UICollectionViewFlowLayout()
self.buttonBarView.frame.size.height = 40.  //should be the height of your button bar as per your IB

@annjawn
Thank you,
I did solve mine with a difference approach. maybe because it is from a difference root cause.
I will note yours, Just in case I happen to find this similar issue in the future. Thanks again.

@Amefuri actually both of these solutions are listed in another thread here . 👍

It's Because of Under Top Bars is active, and it needs to be disabled and the Tabs Overlaping the the ScrollView.


Add API for handling errors

Closes #109

0.1.0-beta02-SNAPSHOT available on Maven to confirm fix with https://github.com/05nelsonm/kmp-tor/pull/453


Ollama 'ChatResponse response = chatClient.generate(prompt);' returns Httpcode 404.

Bug Report
With the update to Spring AI 0.8.0 the ChatClient returns with the Ollama starter a 404 return code. It seems that instead of 'http://localhost:11434/api/generate' the endpoint 'http://localhost:11434/api/chat' is called. The request content posted is for a  chat endpoint too.
The OpenAI endpoint works fine.
Environment
OS: Ubuntu. Spring AI with 'spring-ai-ollama-spring-boot-starter', 'spring-ai-transformers-spring-boot-starter', 'spring-ai-pgvector-store', 'spring-ai-tika-document-reader', 'spring-boot-starter-web'
Steps to reproduce
-Create Ollama ChatClient
-Call 'ChatClient.generate(prompt);'
Expected behavior
The Ollama ChatClient should call the 'http://localhost:11434/api/generate' with the request content for the generate endpoint.
Minimal Complete Reproducible example

Clone the AIDocumentLibraryChat project
Build it with the 'useOllama' build property
Start the Postgresql Vector store with the commands in 'runPostgresql.sh'
Start the Ollama model with the commands in 'runOllama.sh'
Start the application with the 'ollama' profile
Open the UI in 'localhost:8080'
Import 1 Pdf document
Click on 'Search' and type in a question and hit 'Search'

Yikes!  Thanks for reporting this.  We don't yet have our CI environment running across all the model providers.

@Angular2Guy , i'm not sure i understand the issue?
At lower  (model API level) the OllamaApi class implements both the /api/generate and the superior /api/chat endpoints.
The hight level OllamaChatClient as its name suggests deliberately leverages the /api/chat endpoint. Unlike the /api/generate the a /api/chat supports messages conversation state!
The  Ollama README provides brief description for both the low level API and the the OllamaChatClient.
Furthermore you can consult the the integration tests: in

https://github.com/spring-projects/spring-ai/tree/main/models/spring-ai-ollama/src/test/java/org/springframework/ai/ollama and
https://github.com/spring-projects/spring-ai/tree/main/spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/ollama

@tzolov Hello,
I try to support in my project OpenAI endpoints and Ollama(stable-beluga, falcon) models. With OpenAI the ChatClient works fine. With Ollama and its models the ChatClient tries to access the endpoint '/api/chat'. That endpoint does currently not exist. In the documentation of Ollama are sample requests:
curl -X POST http://localhost:11434/api/generate -d '{
"model": "falcon",
"prompt": "Why is the sky blue?"
}'
That work.
I would like to use the ChatClient Interface to access the OpenAI endpoints and the Ollama endpoints based on the build configuration(included starters). That means the OllamaChatClient needs to use an endpoint that Ollama provides.
A configuration property could switch between the endpoints.

@Angular2Guy ,  the /api/chat endpoint exist and is well documented in the Ollama documentation: https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-chat-completion
Furthermore, as I've pointed out in the previous comment, our integration tests (running Ollama in Docker) successfully run the /api/chat endpoint including the falcon model. It runs fine in both synch and streaming modes. You can give it a try yourself run the OllamaChatAutoConfigurationIT by replacing the orca-mini with falcon and remove the @Disabled annotation.
And lastly the /api/generation is inferior compared to the /api/chat as it doesn't properly support message conversation (e.g. list of messages). Therefore it is not appropriate for usage by the ChatClient.
You still can access the /api/generated using The OllamaApi.

@tzolov You are right. Ollama has added the endpoint. I have updated the Ollama Docker image and now it works. Your responses have pushed me in the right direction.


Add mix format --check-formatted to CI and ensure it passes

This pull request builds upon https://github.com/elixir-ecto/ecto/pull/3373, so please merge this one after it.

Ecto is not formatted and I don't think we should blindly format a codebase, as sometimes the result for very nested code can be unreadable. It needs to be done carefully and even then it has the dowside of messing history, so a :-1: from me for now. Thanks.

I don't think we should blindly format a codebase, as sometimes the result for very nested code can be unreadable. It needs to be done carefully and even then it has the dowside of messing history

I wholeheartedly agree with you that automated formatting does not necessarily lead to the most beautiful or readable code and it can indeed hurt instead of helping. Having said that, most of the changes mix format produced did not mess with very nested code (which should be rare anyway) nor produced code that is harder to read. In many instances it just added parenthesis.
I tend to believe that manually revising the auto-formatted code could make it easy to read, beautiful etc while compliant to mix format --check-formatted in most, if not all, cases. Given that there is no workaround, however, to the "messing history" concern (i.e., making old code look like new on first-order inspection with, e.g., git blame), I understand the rejection of the pull request instead of requesting improvements.
In spite of that, maybe https://github.com/elixir-ecto/ecto/pull/3374/commits/c6cad55d9a4f4cd69828591cfc9ba8f403ae7426, which fixes .formatter.exs, and https://github.com/elixir-ecto/ecto/pull/3374/commits/c6cad55d9a4f4cd69828591cfc9ba8f403ae7426, which make the test position-indenpendent, could be cherry-picked for a separate pull request. What are you thoughts on that?

Having said that, most of the changes mix format produced did not mess with very nested code (which should be rare anyway) nor produced code that is harder to read. In many instances it just added parenthesis.

If you look at the formatted query/planner.ex and under the tests in test/ecto/query/builder, you will find many occurrences of multiple line function definitions, multiple line function invocations, and similar that could become a two-line call if the code was broken apart.
I don't think we should merge c6cad55 either, because it will cause people to automatically format the codebase and similar when submitting pull requests. I need to look carefully if cda0f95 is indeed the best approach for the problem too. There are other places where the line could be stripped in the same file but we don't.


RATIS-958. Support multiple requests in a single MessageOutputStream.

See https://issues.apache.org/jira/browse/RATIS-958

Thanks @szetszwo for working on this. I have committed this.


[Compute] az vm create and az vmss create: Support Trusted Launch as default deployment option

Related command

az vm create
az vmss create
Description

Close: #28005
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Compute

Hi @AjKundnani,
could you please help confirm if this change meets your expectation?
If you need to test the change, you can use this private package: private package
Please let use know if there is any issue, thanks.

Hi @AjKundnani, could you please help confirm if this change meets your expectation? If you need to test the change, you can use this private package: private package
Please let use know if there is any issue, thanks.

@yanzhudd - Validated successfully, no issues reported.

az vm create -n clidemovm01 -g clidemorg -l westus3 --size Standard_D2s_v3 --image MicrosoftWindowsServer:WindowsServer:2019-datacenter-gensecond:latest
az vm create -n clidemovm02 -g clidemorg -l westus3 --size Standard_D2s_v3 --image OpenLogic:CentOS:7_6-gen2:latest

Second command created Gen2 VM and displayed warning as expected.


fix: set search_path from postgres config

What kind of change does this PR introduce?
Bug fix #453
What is the current behavior?
search_path intentionally not included in pg_dump to prevent abuse https://postgrespro.com/list/thread-id/2448092
What is the new behavior?
sets the default search_path for postgres user as a config flag
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 32.826%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/start/start.go
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
1662

Relevant Lines:
5063

💛  - Coveralls


Exclude org.gnome.Calls from automerge

This has been in place since over two years.
Without the auto-merge feature, the maintenance effort will be too high for me and I will step down as maintainer of this package.

"maintenance effort will be too high" is not a good reason. "Predates the linter rule" is only for the ones that we grandfathered in.
If you have an actual need please add it in the exceptions.json.

maybe updating less often. Like when the app is actually updated. Instead of the frillions of automatic updates. Automatic updates are not for "YOLO no testing".

There has not been a single breakage introduced in this package using this functionality, yet a lot of security vulnerabilities have been fixed using the auto updater.

I am refusing to ship packages with known vulnerabilities.

What component has known vulnerabilities here? Can you please explain?

yet a lot of security vulnerabilities have been fixed using the auto updater.

Lot is probably an exaggeration. The only component that is security sensitive seems to be sofia-sip (which had 6 CVEs in total, 3 after enabling auto merge). I don't see any significant security issues reported in the past or recent for rest of the modules.

Also you shouldn't have jumped to mark it as EOL just because you didn't get an exception. Nothing stopped you from manually merging the PRs opened by flathubbot.
There are at least 3 other individual maintainers https://github.com/flathub/org.gnome.Calls/collaborators and flathub/gnome is also the maintainer of the app.

I am refusing to ship packages with known vulnerabilities.

What component has current known vulnerabilities here? Can you please explain? If there is a legitimate need to keep some security sensitive modules updated, I'm ok with automerge being enabled.

There are 12 library dependencies. Each of them can contain security vulnerabilities and a single one can be enough to gain permanent access to devices even if the vulnerability is closed later.

yet a lot of security vulnerabilities have been fixed using the auto updater.

Lot is probably an exaggeration. The only component that is security sensitive seems to be sofia-sip (which had 6 CVEs in total, 3 after enabling auto merge). I don't see any security issues reported in the past or recently for rest of the modules.

3 CVEs fixed by auto updater sounds like a lot to me.

Also you shouldn't have jumped to mark it as EOL just because you didn't get an exception immediately. Nothing stopped you from manually merging the PRs opened by flathubbot or stepping down. Let's not rush to a decision here that will confuse the users.

I don't have the time to merge PRs manually. Burnt out maintainers is a real problem and I have to protect myself. To me it feels reasonable to mark an unmaintained package as EOL as nobody will make sure it is safe to use this app.

There are at least 3 other individual maintainers https://github.com/flathub/org.gnome.Calls/collaborators > Outside collaborators and flathub/gnome is also the maintainer of the app.

I don't have access to this page but there hasn't been a single PR from someone else than myself, flathubbot or dependabot.

Ok, but please don't EOL maintained software. It's essentially a large warning for users and causes too much confusion.
If you don't want to be involved you could've asked to step down/be removed like you did here https://github.com/flathub/flathub/issues/5355. We have a tracker issue pinned in flathub/flathub for orphaned packages in need of new maintainers too.
I've reverted the EOL PR for now, I'll ask if anyone from upstream is interested in maintaining this. If not we can EOL it.

Since it is without maintainers I'm closing this PR. If anyone new comes along they can ask for an exception if they feel they need it.

Ok, but please don't EOL maintained software. It's essentially a large warning for users and causes too much confusion.

Marking a package as EOL gives visibility of the unmaintained status to the people who care about the app. These people are the most likely ones to step up and maintain the package going forward. So this sounds like a reasonable approach to me.

I've reverted the EOL PR for now, I'll ask if anyone from upstream is interested in maintaining this. If not we can EOL it.

Would be great if upstream was interested in maintaining it themselves. In the past, myself and others have asked several times but so far didn't find someone interested to continue maintaining it.

Marking a package as EOL gives visibility of the unmaintained status to the people who care about the app. These people are the most likely ones to step up and maintain the package going forward. So this sounds like a reasonable approach to me.

It's as reasonable as a 5 year old throwing a tantrum.
If you don't like a party, you just leave. You don't torch the place.

If you don't like a party, you just leave. You don't torch the place.

I started the party myself by adding the package in the first place and maintaining it tirelessly for years. I feel responsible for the users I have served so far.
The phrasing which I face here is exactly the reason why fewer people want to maintain packages. No gratitude for my hard work, only criticism.


Using SIFTS data for renumbering residues to match the Uniprot sequence resids

Hi all,
stumbled upon this paper describing the mapping of PDB residue id's to the ones in the sequence deposited in Uniprot:

Choudhary, P.; Anyango, S.; Berrisford, J.; Varadi, M.; Tolchard, J.; Velankar, S. Unified Access to up-to-Date Residue-Level Annotations from UniProt and Other Biological Databases for PDB Data via PDBx/mmCIF Files. bioRxiv, 2022, 2<IP_ADDRESS>3473. https://doi.org/10.1101/2<IP_ADDRESS>3473.

Frustrated by the inconsistencies in numbering, I'm writing some code to output pdb's with these Uniprot sequence matching id's, and using biopandas for the crunching.
The mmCIF's with the mapped residues can be downloaded from the url:
https://www.ebi.ac.uk/pdbe/entry-files/download/{pdb_id}_updated.cif"
The CIF file is nicely read with the mmCIF parser. The resid matching the one in Uniprot is in the column pdbx_sifts_xref_db_num, giving None for those without mapping to sequence, eg. ligands and the UNK's.
This paper/python code/webserver describes a similar thing using the SIFTS:

Faezov, B.; Dunbrack, R. L., Jr. PDBrenum: A Webserver and Program Providing Protein Data Bank Files Renumbered according to Their UniProt Sequences. PLoS One 2021, 16 (7), e0253411. https://doi.org/10.1371/journal.pone.0253411.

For the residues without a mapping, the residues are renumbered using an offset of 5k/50k so that there's no overlap with the new resids of amino acids.
However, occasionally a part of the chain is are UNK's, so I will implemented a way to use continuous numbering wrt the Uniprot mapped resids for these.
Work in progress - if there's an already existing way to do this, let me know :)

The missing residues are not matched, which is a caveat for some uses.


[Summer 2021] Create models for flaskwtf

Create models for flaskwtf - https://flask-wtf.readthedocs.io/
This might require usage of DSL.

This is not in typeshed and without stubs, it's not working :/ @r0rshark

Closed via https://github.com/facebook/pyre-check/commit/20115d791ec2ce538dad13a2c57fef928197d626


⚠ Samsung has degraded performance

In b8d78dc, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2542 ms

Resolved: Samsung performance has improved in 1a71273.


Client won't stay on: Windows 10/HP

client.log
Plugin will turn on but immediately turn off.

Hey I have the same issue.
client.log
Here is my log

same issue here as well

same issue here

same issue here. Any fix?

Is there anything that I could do in the meantime to help? I'm know little to nothing about debugging but I'm willing to learn to rc in hd.

This could be due to several reasons:

(Most Common) Your hardware is old and doesn't support the version of openGL that the plugin uses. Anything older than 2013 has a very high probability of not working.
Solution: As of right now there is nothing that can be done to fix this since the manufacturer would be the ones to give it newer openGL support with their drivers.

(Laptops with dual GPUs) If your laptop is a "gaming laptop", there's a good chance that runelite is trying to use the Integrated GPU instead of the high performance dedicated GPU.
Solution: You can set your GPU by following the guide at this link: https://support.lenovo.com/us/en/solutions/ht071102-how-to-switch-graphics-card-on-machines-running-nvidia-optimus-technology

If it still doesn't work ask a mod for help.

Out of date GPU drivers (unlikely but still plausible)
Solution: Update your drivers via your respective manufacturer.
Nvidia drivers: https://www.nvidia.com/Download/index.aspx OR if you have GeForceExperience installed you can update through there.
AMD drivers: https://www.amd.com/en/support

Intel HD Graphics 4000 - updated and still no luck. Assuming that doesn't cut it?

RuneliteHD plugin requires OpenGL 4.3 and Intel HD Graphics doesn't support OpenGl 4.3.

I'm going to close this in favor of #41 since it's a better description of the issue


ADT messsage support and tests

Signed-off-by: Lisa Dierkhising<EMAIL_ADDRESS>Changes made in this PR:

Alphabetized message types in config.properties, and added ADT_A08
Removed unnecessary OBX from ADT_A01 yml for Encounter
Removed unnecessary OBX from ADT_A08 yml for Encounter
Fixed problem with ADT_A08 where Condition was not being created and the Encounter was incorrect
In HL7ADTMessageTest: cleaned up unused imports, added tests for resources on ADT_A01 and ADT_A08, added missing tests for ADT_A34 and ADT_A40 which were already in the supported message list in config.
Turned on the DG1 Condition tests for ADT_A08

I've reviewed the Encounter resource and found that serviceProvider needed some beefed up tests to cover the different message types.  Those updates are in the last commit, after the 'review comments' commit.

Also, now added tests for ADT messages and other supported message types, for sub-resources under Observation.  Note MDM messages were not included and I'll add those in a future PR.  (I've uncovered a potential problem with MDM_T02 so I'll handle that when I address MDM messages.)

I have confirmed that Condition has sufficient tests to cover the resources generated.
This concludes the work on this card for the ADT messages.

Lisa W asked for the disabled test on Encounter.type to be removed so I've included that in the last commit.
In addition, I also added a comment regarding PPR messages in the ConditionTests to leave 'breadcrumbs' for ourselves about the decisions made.


fontforge: Error: No such file or directory @ unlink_internal

Hello,
"Error: No such file or directory @ unlink_internal"  installing FontForge.

uname -a
Linux xxx.xxx.xxx 2.6.32-696.10.1.el6.x86_64 #1 SMP Tue Aug 22 18:51:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

httpd -v
Server version: Apache/2.2.15 (Unix)

rpm --query centos-release
centos-release-6-9.el6.12.3.x86_64

brew --version
Homebrew 1.3.6-4-g9015e4b
Homebrew/homebrew-core (git revision 447f3; last commit 2017-11-19)

------
brew install fontforge
...
==> Installing fontforge
==> Downloading
https://github.com/fontforge/fontforge/releases/download/20170731/fontforge-
==> Downloading from
https://github-production-release-asset-2e65be.s3.amazonaws.com/5390156
########################################################################
100.0%
==> Downloading
https://github.com/fontforge/fontforge/commit/9f69bd0f9.patch?full_index=1
########################################################################
100.0%
==> Patching
==> Applying 9f69bd0f9.patch
patching file contrib/fonttools/dewoff.c
patching file contrib/fonttools/findtable.c
patching file contrib/fonttools/pcl2ttf.c
patching file contrib/fonttools/showttf.c
patching file contrib/fonttools/stripttc.c
patching file contrib/fonttools/ttf2eps.c
patching file contrib/fonttools/woff.c
==> ./configure
--prefix=/home/iomo/.linuxbrew/Cellar/fontforge/20170731_2 --disable-silent-
==> make install
Error: No such file or directory @ unlink_internal -
/home/xxx/.linuxbrew/Cellar/fontforge/20170731_2/share/fontforge/osx/FontForge.app

brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Setting LD_* vars can break dynamic linking.
Set variables:
  LD_LIBRARY_PATH: /package/host/localhost/gcc-4/lib64:/home/xxx/.toast/armed/lib

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
  /package/host/localhost/php-5.6.3/bin/php-config
  /usr/local/bin/python3.5-config
  /usr/local/bin/python3.2-config
  /usr/local/bin/python3.6-config
  /usr/local/bin/python3.3-config
  /usr/local/bin/python3.4-config
  /usr/local/bin/python3.5m-config
  /usr/local/bin/python3.6m-config
  /usr/local/bin/python2.7-config
  /usr/local/bin/python3.4m-config
  /usr/local/bin/python3.3m-config
  /usr/local/bin/python3-config
  /usr/local/bin/python3.2m-config
  /usr/local/sbin/uberspace-update-spamassassin-config
  /usr/local/sbin/uberspace-generate-nginx-acme-config

Please enclose copy-and-paste blocks in triple back ticks.
See https://help.github.com/articles/basic-writing-and-formatting-syntax/#quoting-code

I've opened PR https://github.com/Linuxbrew/homebrew-core/pull/4987 to hopefully resolve this issue.


Feature/skippable releases with custom type support

Release version is skippable

GIF_ADMIN_ROLE creates next release
GIF_MANAGER_ROLE registers services for created release
GIF_ADMIN_ROLE checks release before activation, if new release is bad - skips it by creating next one

Registry supports custom types

registerWithCustomType added
custom type != core types
custom type parent != REGISTRY, SERVICE, INSTANCE

initial implementation of https://github.com/etherisc/gif-next/issues/208


Initializing Landing Page

Description

Created the Landing Page File, currently blank
Reworked the Navigation and Routing to differentiate between Dashboard & Home, Home was previously directing to Dashboard
If we decide to implement a new Dashboard I can go back in and differentiate between Dashboard & Profile Pages
Will work on styling once this is up

Type

[ ] This is a bugfix.
[ x] This is a new feature.
[ ] This is part of a feature.

Organization

[ ] Have you linked this pull request to a Trello card?
[ ] Have you named the branch in the format of feature/describe_feature_or_change OR bug/describe_bug_this_is_fixing

Review

[ ] Is this a work in progress?
[ ] Is this ready to be reviewed?
[ ] Have you added two reviewers to this pull request?

After pull request 28 was merged, a small conflict was created in the navigation bar which I resolved.

AWS Previews did go through per AWS.

 Landing Page


Rework models to follow Protocol Oriented Programming paradigm

Short description
To improve maintainability & cleanliness, the models needs to be reworked in a Protocol Oriented Programming way.
Implementation
Most of the classes inherits from BaseObject class or Identifiable protocol which is kind of messy. All the classes should adopt protocols instead of inheriting other classes.

Implemented by #72.


Develop

Coverage remained the same at 100.0% when pulling b4e3107d63e59e118bbb87e80a574dfe59210d06 on develop into 1c0992f5a81eea9e1016bfe8e0501633190a2a6b on master.


Add CSS breakpoint values to JS

It's not perfect, but this PR duplicates the breakpoint variables defined here for use in JS with matchMedia.

:+1:


Try out and offer different ways to store the "deleted" flag for elements

There are different ways to store whether or not an element is present or deleted:

(A) Vec<Option<T>>: the obvious, semantically "correct" version. Sadly, this can lead to a lot of wasted memory since Option<T> can be twice as large as T for some types (e.g. u32). However, for cases where Option<T> has the same size as T, it's pretty optimal, because we need no additional memory. Additionally, this works completely without unsafe code, so that's good.
(B) Vec<T> + BitVec + count: this is what this crate is currently using. In situations where Option<T> is larger than T, this is more or less the most space efficient. Iteration over the indices of existing elements is the fastest this way since that data is packed a lot closer than Vec<T>, we have a lot fewer cache misses and need to load fewer memory.

There are the following variants I can think of:

Combined Vec and BitVec plus count (variant of (B)): a simple optimization of the second version. The length, and probably also the capacity field of Vec and BitVec contain the same information and shouldn't be stored twice. This only improves the stack size of StablVec, but that's something.
Vec<T> with user specified dummy value (variant of (A)): this might be useful in a couple of situations. Option<T> can only get optimized if the dummy value of T is a binary 0.
compact: bool (variant of (B)): while the vector is still compact, we don't need to store any per element information. Since I expect stable vecs to be compact a lot of the time, this could be worth it.

All these variants need to be benchmarked and compared to one another. Then, it would be nice to let the user decide which one to use.

I am pretty much done rewriting most of the crate and implementing this. The code lives in the v0.4-pre branch. The CHANGELOG hasn't been updated yet, the main changes to the public API can be seen in https://github.com/LukasKalbertodt/stable-vec/commit/56ad2411cefcfebcf2395e111d1ff259cdfc05c1.
So far, it looks like the rewrite was worth it. Notable performance improvements for all benchmarks for both core implementations. I will probably post more specific numbers in the future.
@burjui Ping, in case you are interested to try this out. (No need to, though!)

Solved in #30. The remaining experiments are now tracked in #34.


logs a full of failed to start a background worker

Full logs of
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [142]: [64f1e8f3.8e-1263] @,app= [01000] WARNING:  failed to launch job 1 "Telemetry Reporter [1]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8359] @,app= [01000] WARNING:  failed to launch job 1001 "Refresh Continuous Aggregate Policy [1001]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8360] @,app= [01000] WARNING:  failed to launch job 1000 "Refresh Continuous Aggregate Policy [1000]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8361] @,app= [01000] WARNING:  failed to launch job 1002 "Refresh Continuous Aggregate Policy [1002]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8362] @,app= [01000] WARNING:  failed to launch job 1 "Telemetry Reporter [1]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8359] @,app= [01000] WARNING:  failed to launch job 1002 "Refresh Continuous Aggregate Policy [1002]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8363] @,app= [01000] WARNING:  failed to launch job 1004 "Refresh Continuous Aggregate Policy [1004]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8360] @,app= [01000] WARNING:  failed to launch job 1003 "Refresh Continuous Aggregate Policy [1003]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [141]: [64f1e8f3.8d-8364] @,app= [01000] WARNING:  failed to launch job 1003 "Refresh Continuous Aggregate Policy [1003]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8361] @,app= [01000] WARNING:  failed to launch job 1000 "Refresh Continuous Aggregate Policy [1000]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8362] @,app= [01000] WARNING:  failed to launch job 1001 "Refresh Continuous Aggregate Policy [1001]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8363] @,app= [01000] WARNING:  failed to launch job 1 "Telemetry Reporter [1]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:22 UTC [136]: [64f1e8f3.88-8364] @,app= [01000] WARNING:  failed to launch job 1004 "Refresh Continuous Aggregate Policy [1004]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:23 UTC [140]: [64f1e8f3.8c-2815] @,app= [01000] WARNING:  failed to launch job 1 "Telemetry Reporter [1]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:23 UTC [140]: [64f1e8f3.8c-2816] @,app= [01000] WARNING:  failed to launch job 2 "Error Log Retention Policy [2]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:23 UTC [138]: [64f1e8f3.8a-2815] @,app= [01000] WARNING:  failed to launch job 1 "Telemetry Reporter [1]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:23 UTC [138]: [64f1e8f3.8a-2816] @,app= [01000] WARNING:  failed to launch job 2 "Error Log Retention Policy [2]": failed to start a background worker
timescaledb-1 timescaledb 2023-09-01 14:00:23 UTC [137]: [64f1e8f3.89-1411] @,app= [01000] WARNING

What did you do?
install timescaledb from helm charts
here is a timescaledb config
postgres@timescaledb-2:~$ cat /var/run/postgresql/timescaledb.conf
max_wal_size = 1GB
min_wal_size = 512MB
shared_preload_libraries = 'timescaledb'
shared_buffers = 802560kB
effective_cache_size = 2351MB
maintenance_work_mem = 401280kB
work_mem = 8025kB
timescaledb.max_background_workers = 16
max_worker_processes = 21
max_parallel_workers_per_gather = 1
max_parallel_workers = 2
wal_buffers = 16MB
default_statistics_target = 500
random_page_cost = 1.1
checkpoint_completion_target = 0.9
max_connections = 50
max_locks_per_transaction = 64
autovacuum_max_workers = 10
autovacuum_naptime = 10
effective_io_concurrency = 256
timescaledb.last_tuned = '2023-09-01T13:45:45Z'
timescaledb.last_tuned_version = '0.14.3'

Hereis a db list
postgres=# \l
                                                       List of databases
     Name      |     Owner     | Encoding | Collate |  Ctype  | ICU Locale | Locale Provider |        Access privileges
---------------+---------------+----------+---------+---------+------------+-----------------+---------------------------------
 core          | core          | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            |
 core_api      | core_api      | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            |
 core_storage  | core_storage  | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            |
 postgres      | postgres      | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            |
 sf_go_core    | sf_go_core    | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =Tc/sf_go_core                 +
               |               |          |         |         |            |                 | sf_go_core=CTc/sf_go_core
 sf_go_funding | sf_go_funding | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =Tc/sf_go_funding              +
               |               |          |         |         |            |                 | sf_go_funding=CTc/sf_go_funding
 sf_go_news    | sf_go_news    | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =Tc/sf_go_news                 +
               |               |          |         |         |            |                 | sf_go_news=CTc/sf_go_news
 sf_go_oi      | sf_go_oi      | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =Tc/sf_go_oi                   +
               |               |          |         |         |            |                 | sf_go_oi=CTc/sf_go_oi
 template0     | postgres      | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres                    +
               |               |          |         |         |            |                 | postgres=CTc/postgres
 template1     | postgres      | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres                    +
               |               |          |         |         |            |                 | postgres=CTc/postgres
(10 rows)

Did you expect to see some different?
Environment
k8s

Which helm chart and what version are you using?
0.33.1
What is in your values.yaml ?

  values:
    clusterName: "sf-cluster"
    image:
      tag: pg15.4-ts2.11.2-all
    persistentVolumes:
      data:
        size: 100Gi
      wal:
        size: 10Gi
    pgBouncer:
      enabled: true
      config:
        ignore_startup_parameters: extra_float_digits
        server_reset_query: DISCARD ALL
        max_client_conn: 500
        default_pool_size: 12
        pool_mode: transaction
    prometheus:
      enabled: true
    tolerations:
      - key: "node.k8s/role"
        operator: "Equal"
        value: "timescaledb"
        effect: "NoSchedule"

Kubernetes version information:

➜  ~ kubectl version
Client Version: v1.28.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.27.4-eks-2d98532

Kubernetes cluster kind:

eks
Anything else we need to know?:

When I do
select * from pg_settings where name = 'max_worker_processes';

I've got 8

The only way I succeed is overwrite  values in
patroni:
      bootstrap:
        dcs:
          postgresql:
            parameters:

But it's not a right way. If I upgrade my nodes i have to update values again.

Hi, @theblinkingusb . Thanks for reply. Yes, I have feelings that parameters from /var/run/postgresql/timescaledb.conf are not applying. Only way I can fix it, is specify in helm values.

Yeah, I also ended up doing the the same thing. I don't yet have a solution but my comments thus  far-
I did do a fresh install of 15.4 with 2.11 today - my timescale.conf did not have a timescaledb.max_background_workers in it (and it was reporting a recent tstune date) - but I was getting the same error you were with the background worker failed to launch. I was also getting this error with the 0.33.1 chart version (pg 14), I (wrongly) had not noticed it.
I tuned the params within the helm chart (timescaledb.max_background_workers, max_worker_processes, max_parallel_workers under patroni....params, using settings based on the aforementioned docs) and redeployed - which silenced the errors (and reduced cpu/mem usage).
Interestingly (and likely expectedly to some lol) those settings passed into the data dir postgres.conf, not timescale.conf. Actually my timescale.conf settings remained the same, and the pg_settings reflected the changes from the helm settings.
All that said - I think this behavior makes sense in my case because I chose to edit the resource requests and limits in my helm chart. However @boskiv - looks like you kept those as default - so I could agree that from a helm perspective those settings should be defaulted such that it doesn't cause any error when deploying with defaults. But I don't know enough yet about how ts-tune interplays with the .conf settings, the interplay between ts-tune and k8s defaults, and the interplay between pg conf and timescale conf. Also we are both deploying with newer images than the chart specifies, but based on the release notes between the pg/ts versions it doesn't look like that has an affect on this behavior.

I want to come back to this question, since I've the same problem: the log full of "failed to start a background worker" messages.
I've updated my values.yml to contain:
patroni:
  bootstrap:
    dcs:
      postgresql:
        parameters:
          max_worker_processes: 32
          max_parallel_workers: 16
          timescaledb.max_background_workers: 16

and after a helm upgrade cycle I found those settings in the patroni configmap and also in the /etc/timescaledb/patroni.yml in the pods. But even after restarting the pods, the changed settings are neither in the postmaster.opts (also not after deleting the file and restarting the pod again as proposed here https://github.com/timescale/helm-charts/issues/504) nor in the postgresql.conf.
At github/zalando/patroni (https://github.com/zalando/patroni/issues/2315) I read, the the bootstrap configuration will only be applied when a postgres cluster is created for the first time. Does that apply also here? And if so, what is the proposed way to change those parameters afterwards?
Thanks and Cheers, Wolfgang


Error: Failed to load parser 'babel-eslint' declared in '.eslintrc': Cannot find module 'babel-eslint'

eslint and babel-eslint latest versions installed globally

.eslintrc in  the project folder:

But i have the error:
[Error - 11:48:36] ESLint stack trace:
[Error - 11:48:36] Error: Failed to load parser 'babel-eslint' declared in '.eslintrc': Cannot find module 'babel-eslint'
Require stack:

E:\webProjects\learning-templates\javascript-async-samples.eslintrc
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:584:15)
at Function.resolve (internal/modules/cjs/helpers.js:30:19)
at Object.resolve (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\shared\relative-module-resolver.js:44:50)
at ConfigArrayFactory._loadParser (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\cli-engine\config-array-factory.js:752:45)
at ConfigArrayFactory._normalizeObjectConfigDataBody (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\cli-engine\config-array-factory.js:550:32)
at _normalizeObjectConfigDataBody.next ()
at ConfigArrayFactory._normalizeObjectConfigData (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\cli-engine\config-array-factory.js:491:20)
at _normalizeObjectConfigData.next ()
at createConfigArray (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\cli-engine\config-array-factory.js:307:25)
at ConfigArrayFactory.loadInDirectory (C:\Users\fomen\AppData\Roaming\npm\node_modules\eslint\lib\cli-engine\config-array-factory.js:400:16)

What am I doing wrong?
Previously, this configuration worked.
Stopped working after updating global plugins.

I'm seeing the same error. Not sure if same cause, but nearly identical symptoms.
Error: Failed to load parser 'babel-eslint' declared in 'PersonalConfig': Cannot find module 'babel-eslint'
Require stack:
- /Users/Ken/.eslintrc.json
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.resolve (internal/modules/cjs/helpers.js:30:19)
    at Object.resolve (/Users/Ken/www/Jost/node_modules/eslint/lib/shared/relative-module-resolver.js:44:50)
    at ConfigArrayFactory._loadParser (/Users/Ken/www/Jost/node_modules/eslint/lib/cli-engine/config-array-factory.js:752:45)
    at ConfigArrayFactory._normalizeObjectConfigDataBody (/Users/Ken/www/Jost/node_modules/eslint/lib/cli-engine/config-array-factory.js:550:32)
    at _normalizeObjectConfigDataBody.next (<anonymous>)
    at ConfigArrayFactory._normalizeObjectConfigData (/Users/Ken/www/Jost/node_modules/eslint/lib/cli-engine/config-array-factory.js:491:20)
    at _normalizeObjectConfigData.next (<anonymous>)
    at createConfigArray (/Users/Ken/www/Jost/node_modules/eslint/lib/cli-engine/config-array-factory.js:307:25)
    at ConfigArrayFactory.loadInDirectory (/Users/Ken/www/Jost/node_modules/eslint/lib/cli-engine/config-array-factory.js:400:16)

My .eslintrc.json is as follows:
{
    "env": {
        "browser": true,
        "commonjs": true,
        "es6": true,
        "node": true
    },
    "extends": [
        "eslint:recommended",
        "plugin:react/recommended"
    ],
    "parser": "babel-eslint",
    "parserOptions": {
        "ecmaFeatures": {
            "experimentalObjectRestSpread": true,
            "jsx": true,
            "legacyDecorators": true
        },
        "sourceType": "module",
        "allowImportExportEverywhere": false
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "indent": [
            "off",
            4
        ],
        "linebreak-style": [
            "warn",
            "unix"
        ],
        "no-console": "off",
        "no-mixed-spaces-and-tabs": "warn",
        "no-unused-vars": "off",
        "react/prop-types": ["warn", {"skipUndeclared": true}],
        "quotes": [
            "off",
            "single"
        ],
        "semi": [
            "off",
            "always"
        ]
    }
}

% npm ls -g --depth=0
/usr/local/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
% echo $PATH
/usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Previously, this worked just fine. I return a day later to this error.
What am I doing wrong?

Encountering the same

Same problem, but my case is about Yarn on Windows.
This clearly stated that babel-eslint is installed globally.
λ cat %APPDATA%/../Local/Yarn/Data/global/package.json # "yarn global list" is broken
{
  "dependencies": {
    "babel-eslint": "^10.0.2",
    "dmhy-subscribe": "^0.6.25",
    "eslint": "^6.2.0",
    "firebase-tools": "^7.2.2",
    "httpsrv": "^0.3.0",
    "lighthouse": "^5.2.0",
    "ts-node": "^8.3.0",
    "typescript": "^3.5.3",
    "windows-build-tools": "^5.2.2"
  }
}

Error message:
Error: Failed to load parser 'babel-eslint' declared in '.eslintrc': Cannot find module 'babel-eslint'
Require stack:
- C:\Users\maple3142\Documents\GitHub\browser-extensions\.eslintrc
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:584:15)
    at Function.resolve (internal/modules/cjs/helpers.js:30:19)
    at Object.resolve (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\shared\relative-module-resolver.js:44:50)
    at ConfigArrayFactory._loadParser (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\cli-engine\config-array-factory.js:754:45)
    at ConfigArrayFactory._normalizeObjectConfigDataBody (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\cli-engine\config-array-factory.js:551:32)
    at _normalizeObjectConfigDataBody.next (<anonymous>)
    at ConfigArrayFactory._normalizeObjectConfigData (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\cli-engine\config-array-factory.js:491:20)
    at _normalizeObjectConfigData.next (<anonymous>)
    at createConfigArray (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\cli-engine\config-array-factory.js:307:25)
    at ConfigArrayFactory.loadInDirectory (C:\Users\maple3142\AppData\Local\Yarn\Data\global\node_modules\eslint\lib\cli-engine\config-array-factory.js:400:16)

.eslintrc:
{
	"parser": "babel-eslint",
	"parserOptions": {
		"ecmaVersion": 8
	},
	"env": {
		"browser": true,
		"node": true,
		"es6": true,
		"worker": true,
		"mocha": true
	},
	"rules": {
		"semi": [
			"error",
			"never"
		],
		"quotes": [
			"error",
			"single",
			{
				"allowTemplateLiterals": true
			}
		],
		"max-len": [
			"error",
			{
				"code": 120
			}
		]
	}
}

It is not recommended to install eslint globally, and plugins must be installed locally:

It is also possible to install ESLint globally rather than locally (using npm install eslint --global). However, this is not recommended, and any plugins or shareable configs that you use must be installed locally in either case.
https://eslint.org/docs/user-guide/getting-started#installation-and-usage

@golopot But it is needed to install eslint global to make vscode-eslint plugin to work everywhere.

Encountering the same issue with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>in a configuration that used to work. Broke after executing yarn upgrade --latest (yarn@1.17.3). Running
yarn add babel-eslint -D

solved the issue for me even though babel-eslint was definitely already installed.

Anyone else with a workaround? Using eslint 6.4.0 and babel-eslint 10.0.3

@ronnyfm I installed eslint and babel-eslint to my top level "projects" directory, which while ugly, got the job done.

This still isn't ideal, as if it attempts to use my ~/.eslintrc file it can't find babel-eslint. Linking the file to the projects directory solves this but as before, is messy.

Looks like those two versions of eslint and babel-eslint aren't compatible. It works for me after uninstalling them and install the compatible versions like npm install<EMAIL_ADDRESS>babel-eslint@8 - g

Having the same hassle here. Why do I even need "babel" - I'm not transpiling and just want to lint...

I discovered a sneakey .eslintrc in a parent directory (above my actual application) which I did not create and did not know about. I suspect it was created by the ESLint plugin for VSCode. Deleting this file has solved the issue.

strangely the file contains the followings
{   "parser": "babel-eslint" }
I removed it and it worked just fine

Removing .eslintrc from my top level directory didn't help. To me, eslint should be able to use the babel-eslint relative from where npm was executed even if linting files in other directories.

@ronnyfm it um. does though. that's exactly the behavior is it looks for a local installation of babel-eslint whether it's run locally or globally, using the same mechanics as require('babel-eslint'). So you either gotta install it to every project, or at the top level. The .eslintrc must also be located in a place such that calling require('babel-eslint') would be succesful.

As mentioned by @oiwomark — solved on my end with downgrading eslint to v4.x:
npm -g i eslint@4

@golopot is there any solution for VSCode (i.e. using babel-eslint installed globally)? Despite installing it in the project directory with --save-dev it still shows error...

@chojrak11 you'll need to install babel-eslint to a place where your .eslintrc can find it. Since it's in your home directory, you'd have to install it to C:\Users<you>
Alternatively, copying  your .eslintrc to your project directory might work as well, as it'll be able to resolve it to the project-installed copy of babel-eslint

What I did is run command: locate babel-eslint in the Terminal. (I'm using Ubuntu)
I got many lines in output, from which I found common path for babel-eslint is: /usr/local/lib/node_modules/babel-eslint
What I did is replace this line in .eslintrc
"parser": "babel-eslint",

with
"parser": "/usr/local/lib/node_modules/babel-eslint",

and that's it, it's working for me. 😉

This issue is regarding eslint not able to find babel-eslint package. But if you try to install it manually it will fix the issue but will throw error when you do npm start. You have to install the compatible version of babel-eslint for that.
This worked for me ...

install babel-eslint manually using npm i -D babel-eslint
start your react project using npm-start
see the error it shows regarding the version create-react-app uses for babel-eslint
install the same version as the on installed by cra.

Thank you for the PR. Now that @babel/eslint-parser has been released, we are making this repository read-only. If this is a change you would still like to advocate for, please reopen this in the babel/babel monorepo.


x/text: unicode/bidi/core.go:489 Defect type: UNUSED_VALUE

Static analyzer has detected this issue in x/text/unicode/bidi/core.go:489.
As I'm not familiar with golang and x/text, this could be a false positive.
git-lfs-2.13.3/_build/src/github.com/git-lfs/git-lfs/vendor/golang.org/x/text/unicode/bidi/core.go:489: assigned_value: Assigning value "10" to "precedingCharacterType" here, but that stored value is overwritten before it can be used.

   487|   		} else {
   488|   			if t.in(LRI, RLI, FSI, PDI) {
   489|-> 				precedingCharacterType = ON
   490|   			}
   491|   			precedingCharacterType = t

Which tool is this?

Which tool is this?

Red Hat Coverity Scan that ran on git-lfs package. It detected an issue in bundled dependency x/text.
The same scan also detected #46231 in x/sync.

Please feel free to send a PR.

Duplicate of #43623


Fix force-unwrap Nil optional error

The obj parameter doesn't necessarily have a classForCoder. Just letting the variable get interpolated in to the string via the default method seemed to work fine.

This repository is no longer maintained. Please check the new repository:
https://github.com/adafruit/Bluefruit_LE_Connect_v2


How to create new or edit existing keyboard layout ?

Hello,
I want add new keyboard layout and edit existing one, in tr_TR layout some keys not printing (like 'ç', 'ö'), how can i do this ?

Keyboard layout files are only used to translate ASCII-printable characters into correct
keycode + modifiers combination. Since the characters which you are trying to print are
not ASCII-printable, you will not be able to use them directly in payload files (eg. inside of
a STRING command). If you just want some way to type these characters in, you could
instead use the KEYCODE command. In your case you would use "KEYCODE 0x36" for "ö", and
"KEYCODE 0x37" for "ç" (you can also add modifiers like "SHIFT KEYCODE 0x37")
for mor information about keycodes, you can check out this document (pages 52 to 59):
https://usb.org/document-library/hid-usage-tables-121


Eshop samples deployment failure: DB Instance quota exceeded

Bug information
Test Samples workflow has been failing due to RDS instance quota exceeded error https://github.com/radius-project/samples/actions/runs/7477364007/job/20355981715
{
                          "code": "ResourceDeploymentFailure",
                          "message": "Failed",
                          "target": "/planes/aws/aws/accounts/***/regions/us-west-2/providers/AWS.RDS/DBInstance/rds-dbinstance-phgtmhfran5km",
                          "details": [
                            {
                              "code": "ServiceLimitExceeded",
                              "message": "DB Instance quota exceeded for LicenseModel of license-included and Engine of sqlserver-ex (Service: Rds, Status Code: 400, Request ID: 08db[87](https://github.com/radius-project/samples/actions/runs/7477364007/job/20355981715#step:18:88)e8-c6eb-4744-bffe-e5b5ec87a92a)"
                            }
                          ]
                        },

https://github.com/radius-project/samples/issues/925
Steps to reproduce (required)

Observed behavior (required)

Desired behavior (required)

Workaround (optional)

AB#10858

Looks like we have a separate account for testing. Going to close this for now since https://github.com/radius-project/recipes/pull/50/files is merged, and re-open if the issue isn't fixed by snapshots handling.


Add GitHub Actions workflow for running tests

As a first attempt at addressing #39 , this PR adds a somewhat minimal GitHub Actions workflow that:

Runs a basic flake8 lint (warns mostly, only fails on critical issues)
Runs pytest which right now just contains of a test placeholder (to keep the PR small)
Runs the example workflows previously defined in .gitlab-ci.yml

It also adds a badge for the status of the tests, in README.md.
Worth noting:

The workflow uses Python 3.6.15, as 3.6 is specified as the lowest requirement in environment.yml, and since this is a bit of an old version, it requires the slightly older ubuntu-20.04 image. This could perhaps be updated later.
Right now the workflow is run on any push. One could limit this to only run on e.g. PRs towards master or similar.

Sorry, this PR was accidentally created from the wrong branch.


Inconsistent file names and path

In "Create the certificate on secondary servers", the file paths are inconsistent with the previous section. It seems to use *nix like paths (/var/opt...) instead of the Windows paths. This is confusing.

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

ID: e357702e-ddfb-eb9c-d6a5-a5274d87b320
Version Independent ID: a809b6ec-7bf2-4cce-b4af-c06fdd1b00bd
Content: Configure read-scale for an availability group - SQL Server Always On
Content Source: docs/database-engine/availability-groups/windows/configure-read-scale-availability-groups.md
Product: sql
Technology: high-availability
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@MashaMSFT -- please check into this discrepancy.  The examples appear to be first Windows and then Linux, but I'm not sure.
#2301

Hi @graystormtrooper ,
Thank you for contacting Microsoft and providing your feedback to our documentation! We'll need some time to look into this further. Depending on the complexity, the turnaround time for this may vary anywhere from a few business days to a few business weeks. We'll reply via comment should we need anything further in the meantime, and please feel free to do the same.
Thanks again for your submission, and hope you have a wonderful rest of your day!

Hi @graystormtrooper ,
Thanks again for contacting Microsoft!  We've submitted a documentation change based on your suggestion, and it should be live at this point. Please let us know if there is anything more we can do for you? If not, we'll proceed with closing out this Git Issue in a few business days.
Thanks again and hope you have a wonderful rest of your day!

Great. That's all, thanks.


armv7l compatibility (or something else...)

Hi, I downloaded this repository in my raspberrypi (os architecture: armv7l), built the image from the Dockerfile at https://github.com/diebietse/invertergui/ and got this error
pi@device:~ $ docker run -it --device /dev/ttyUSB2:/dev/ttyUSB0 -p 8080:8080 invertergui
INFO[0000] Starting invertergui                          ctx=inverter-gui
INFO[0000] Invertergui web server starting on: :8080     ctx=inverter-gui
2020/09/07 17:38:57 Locked
2020/09/07 17:38:59 Get scaling factors.
panic: runtime error: index out of range [2] with length 2

goroutine 23 [running]:
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).scaleDecode(0x1d14080, 0x1d80002, 0x2, 0xfe)
	/build/mk2driver/mk2.go:182 +0x1a8
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).handleFrame(0x1d14080, 0x1c9ed03, 0x1d80000, 0x4, 0x100)
	/build/mk2driver/mk2.go:139 +0x16c
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).frameLocker(0x1d14080)
	/build/mk2driver/mk2.go:66 +0x2ec
created by github.com/diebietse/invertergui/mk2driver.NewMk2Connection
	/build/mk2driver/mk2.go:40 +0x158

(btw i'm using /dev/ttyUSB2:/dev/ttyUSB0 since my mk2 is connected to /dev/ttyUSB2).
I'm asumming i'ts an architecture compatailibty problem, since this container image was meant for amd64 and i'm using armv7l, and because of that, it cant decode the values correctly.
Is there a way to make it work? maybe changing the hex values it's using on the decode part might help, but i'm clueless on how to do it.

This could be a bug in the reading of the values. Maybe an assumption I made with the querying of the data. I have not tried it on a pi myself but have one lying around so will try to run it. Was this just on using rasbian?

Yes, it's using raspbian.
If there's anything we can do to help debug this, let us know ;).

I looked at the protocol again and it seems like it is trying to read scaling factors for something that it does not have. It locks onto a valid frame and the CRC for it checks out. so there is a bug in the code as it assumes a frame length. What victron device is it trying to monitor and how new is it? It could be that the newer protocols are slightly different, that I don't take into account.

it's a victron multiplus II communicating via mk3 connector.
btw... we've used this documentation in the past to get victron devices data https://drive.google.com/file/d/1izXkZv-RjrY74rY1v6kb0eqikMHC6-Fm/view hope it helps.

I have a branch with fixes they could work. It does not break on my side, but I would need you to test it on your system: https://github.com/diebietse/invertergui/tree/scale-factor-fixes

Hi,
I rebuilt the image again and got this
pi@sunai_casa_pi:~/invertergui $ docker run -it --device /dev/ttyUSB2:/dev/ttyUSB0 -p 8080:8080 invertergui
INFO[0000] Starting invertergui                          ctx=inverter-gui
INFO[0000] Invertergui web server starting on: :8080     ctx=inverter-gui
2020/09/10 21:32:30 Locked
2020/09/10 21:32:31 Get scaling factors.
2020/09/10 21:32:32 Skiping scaling factors for: 10
2020/09/10 21:32:33 Monitoring starting.
panic: runtime error: index out of range [13] with length 13

goroutine 3 [running]:
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).applyScale(...)
        /build/mk2driver/mk2.go:251
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).stateDecode(0x145a5c0, 0x14e8102, 0x6, 0xfe)
        /build/mk2driver/mk2.go:305 +0x84
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).handleFrame(0x145a5c0, 0x1410307, 0x14e8100, 0x8, 0x100)
        /build/mk2driver/mk2.go:162 +0x198
github.com/diebietse/invertergui/mk2driver.(*mk2Ser).frameLocker(0x145a5c0)
        /build/mk2driver/mk2.go:87 +0x2ec
created by github.com/diebietse/invertergui/mk2driver.NewMk2Connection
        /build/mk2driver/mk2.go:61 +0x158

Are you also using a victron multiplus II? maybe our device it's not returning the same output format as yours.
How could we check this? I can make some changes locally in the go code to check.

No I have one of the V1 multiplus inverters. I forgot to append a scaling factor to the list when it is not avalible, so that is why it is crashing now. I have made an update to the branch, so you can pull it again and build locally. It looks promising because from your logs it seems that the multiplus II does not have virtual switch, so it should skip that now.

it deployed correctly!!
there's a mismatch  in the values like 12220% battery storage and some other stuff. will upload a screenshot in another issue, (we'll try to figure it out on our own, but just so you know about the bug).
btw thanks for your help, we've made great advance in monitoring our pvsystem thanks to you, we could even get a connection from the device before you started making these fixes.


[Discussion] Unified performance tests and dashboard

Problem Statement

Performance tests are not integrated with CI. We do not run any performance tests during PR validation and nightly tests. We will not be able to catch performance leaks early enough leading to performance degradations, regressions caught during or after a release.
Without performance tests with CI, we are unable to track performance improvement/degradation and bring in the focus of the community towards performance improvement related projects.
With new projects such as NumPy, Large Tensor Support, MKLDNN 1.0 integration, MShadow deprecation etc... tracking changes in the performance is critical. Having tools and integration with CI will make us move faster and handle regression swiftly.
Current performance/benchmark tests are too diverse distributed and maintained across teams and repos.

We have few performance tests under - benchmark/python
Recently, operator performance tests opperf
MXNet contributors at AWS maintain a suite of performance tests in - awslabs/deeplearning-benchmarks
MXNet contributors at Intel maintain a suite of performance tests. (repo - ??)
MXNet contributors at NVIDIA  maintain a suite of performance tests. (repo - ??)

MXNet currently does not have a common dashboard to view performance benchmarks.

Proposal

At high level we can divide all performance tests into 3 categories:

Kernel level tests - Ex: Conv MKLDNN/CuDNN kernels.
Operator level tests - Ex: OpPerf we have in MXNet. This tests MXNet engine and other critical paths involved in execution of an operator.
End to end topology/model tests - Ex: ResNet50-v1 on ImageNet

Training
Inference

We will unify all performance tests distributed across MXNet repo, repos maintained by contributors across AWS, NVIDIA, Intel, and others under one single umbrella of MXNet performance tests and benchmarks.
We will integrate these performance tests with MXNet CI system. We need to divide tests across PR and nightly/weekly tests.
We will have a unified dashboard with results from nightly builds to see the status of MXNet at given point by the community.

This is a topic open for discussion. Please do comment with your suggestions/feedbacks.
CC: @apeforest @ChaiBapchya @access2rohit @samskalicky  @PatricZhao @TaoLv @ptrendx @marcoabreu

We can't use the CI system for performance measurements since it does not provide a consistent environment for various reasons (efficiency, maintainability, etc). Thus, we need a separate system that has the sole purpose of being entirely consistent.
Also, I'm afraid that using tests to also measure performance could be misleading since tests might get extended or altered. I'd propose to have dedicated benchmarks instead.

+1
It's a nice proposal which can save lots of maintaining efforts for a different organization with a single and unified dashboard and also very easy to track the performance regression.
Meanwhile, everyone can check and cite the latest performance from the official repo.
Actually, there're lots of tasks before achieving this goal. @juliusshufan can share some of our local experience first and then we can go to details of this proposal including SW, HW, database, metrics, etc.

+1
It's a nice proposal which can save lots of maintaining efforts for a different organization with a single and unified dashboard and also very easy to track the performance regression.
Meanwhile, everyone can check and cite the latest performance from the official repo.
Actually, there're lots of tasks before achieving this goal. @juliusshufan can share some of our local experience first and then we can go to details of this proposal including SW, HW, database, metrics, etc.

Thanks @PatricZhao - This requires both hardware and software setup. Let us start small with whatever is available and incrementally expand it. Looking forward to more learnings from your experience.

@ptrendx - Any inputs on the performance related tests / benchmarks / CI you maintain that can be upstreamed here?

We can certainly push some of our benchmarks to that common repo, although I'm not sure how to handle the differences between our container version of MXNet and upstream.
As for the performance testing insights - having a dedicated machine is important (so probably p3.16xlarge instance) as other tenants may skew the results, especially for the cases that are more CPU or IO intensive.

Update some benchmark and accuracy test from Intel side.
Currently, we track the performance, accuracy and convergence of the MXNet github repo nightly, covering different models and MXNet Op. The kernel level performance is also measured with MKLDNN upgrade. The performance measurement on Xeon platform, covering the "top-bin" and "main-stream" SKUs. The scripts involve the internals and also levergate the public MXNet examples.
| Socket | Physical Core | HT | Turbo | RAM | RAM Slot | Memory Bandwidth
-- | -- | -- | -- | -- | -- | -- | --
SKX-8180 | 2 | 28 | On | On | DDR4 2666 | 26 | 255GB/s
SKX-6148 | 2 | 20 | On | On | DDR4 2666 | 26 | 255GB/s
CLX-8280 | 2 | 28 | On | On | DDR4 2933 | 26 | 281GB/s
CLX-8260 | 2 | 24 | On | On | DDR4 2933 | 26 | 281GB/s
CLX-6248 | 2 | 20 | On | On | DDR4 2666 | 2*6 | 255GB/s
Other details we might talk offline. Thanks.

@juliusshufan Thanks for providing the benchmark setup. Recently we have been running operator-level runtime comparison between int32 and int64 data types for tensor indexing using the MXNet Opperf profiler contributed by @sandeep-krishnamurthy and et al. However, we do notice large variations if we calibrate the runtime using built-in profiler in MXNet, also mis-correlation from the runtime we measured using Python time module directly. @ChaiBapchya can provide the detailed runtime results. We need a universal way to calibrate runtime in order for us to track the performance results. Any advice will be appreciated.

Here are the links for Large Tensor Operator benchmarks I ran.
Python's Time module -
https://docs.google.com/spreadsheets/d/1GpdNquQb71Is5B-li99JDuiLeEZd-eSjHIIowzGrwxc/edit?usp=sharing
MXNet Profiler (built-in CPP profiler) - https://docs.google.com/spreadsheets/d/1VkZoBFacZo8NGNcdFU5P9gFs3dm7D_ykOkPUzUD-Yu4/edit?usp=sharing
Tested on - p3.16xl instance

Here are the links for Large Tensor Operator benchmarks I ran.
Python's Time module -
https://docs.google.com/spreadsheets/d/1GpdNquQb71Is5B-li99JDuiLeEZd-eSjHIIowzGrwxc/edit?usp=sharing
MXNet Profiler (built-in CPP profiler) - https://docs.google.com/spreadsheets/d/1VkZoBFacZo8NGNcdFU5P9gFs3dm7D_ykOkPUzUD-Yu4/edit?usp=sharing
Tested on - p3.16xl instance

Thanks, @apeforest @ChaiBapchya we are testing large tensor operator now. Will come back with the results soon

@pengzhao-intel There was some mistake in the earlier results due to CPU sharing. Chai has re-run profiling and collected the updated results here:
https://docs.google.com/spreadsheets/d/1GpdNquQb71Is5B-li99JDuiLeEZd-eSjHIIowzGrwxc/edit?usp=sharing
Please check the three sheets: Shape (1024, 1024), Shape (10000, 1) and Shape (10000, 100) corresponding to three different input  shapes. The runtime numbers are the 50 percentile out of 100 runs. There are comparison between int64/int32 and in64mkl/int32mkl. Please feel free to ping @ChaiBapchya or me should you have any question.
Thanks!

Erm why are we running cpu only benchmarks on a p3.16xlarge?
Lin Yuan<EMAIL_ADDRESS>schrieb am Mi., 21. Aug. 2019, 22:03:

@pengzhao-intel https://github.com/pengzhao-intel There was some
mistake in the earlier results due to CPU sharing. Chai has re-run
profiling and collected the updated results here:
https://docs.google.com/spreadsheets/d/1GpdNquQb71Is5B-li99JDuiLeEZd-eSjHIIowzGrwxc/edit?usp=sharing
Please check the three sheets: Shape (1024, 1024), Shape (10000, 1) and
Shape (10000, 100) corresponding to three different input shapes. The
runtime numbers are the 50 percentile out of 100 runs. There are comparison
between int64/int32 and in64mkl/int32mkl. Please feel free to ping
@ChaiBapchya https://github.com/ChaiBapchya or me should you have any
question.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-mxnet/issues/15757?email_source=notifications&email_token=AEOED2ZMSI2QIIF3UVFQPMLQFYM3LA5CNFSM4IJOUW22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD434LJI#issuecomment-523748773,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEOED2YSBGTMYTQ6FJZJJBLQFYM3LANCNFSM4IJOUW2Q
.

@marcoabreu You are right. We should be more frugal :) @ChaiBapchya

It's not necessarily only about frugality but also the c5.18xlarge contains
different processors than p3.16xlarge as far as I know. So the results
don't really reflect the reality - but I also don't think that they will
make a big difference. But in the future we should let apples stay apples
and pears be pears :)
Lin Yuan<EMAIL_ADDRESS>schrieb am Mi., 21. Aug. 2019, 22:38:

@marcoabreu https://github.com/marcoabreu You are right. We should be
more frugal :) @ChaiBapchya https://github.com/ChaiBapchya
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-mxnet/issues/15757?email_source=notifications&email_token=AEOED25JU76EOGIEN7GVTQ3QFYQ3ZA5CNFSM4IJOUW22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD436B7Y#issuecomment-523755775,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEOED2235UEOGPTHVMPRMA3QFYQ3ZANCNFSM4IJOUW2Q
.

It didn't occur to me about the instance. Apologies for the same. @marcoabreu Thanks for bringing it to our notice.
Having said that wanted clarification
"So the results
don't really reflect the reality " - Why does running CPU only benchmark on p3.16xl not reflect reality? All the 4 config (int32,int32+mkl.int64,int64+mkl) were run on the same instance. Moreover, I was planning to run GPU benchmarks as well. In that sense, wouldn't it make sense to run all of this in an instance that provides CPU+GPU support too.
"apples stay apples
and pears be pears :)" - meaning CPU benchmark in c5.18xl and GPU benchmark in p3.16xl?
Thanks

We have just collected the performance numbers of some operators (like fullyConnected, softmax, etc) with MKL-DNN implementation. We also compared the results between MKL-DNN v0.20 and v1.0. Now one local CLX-8280 with 28 physical cores is used to run benchmark. Later maybe we'll switch to AWS EC2 C5 instance.
Because I don't have edit access to Chai's google doc, so I just listed the results in another doc below (please check the sheet Large Tensor Test (MKL-DNN)):
https://docs.google.com/spreadsheets/d/10rhQEzDqnCjSKq27QlT04qNHegmAZjOoVqT_q287_ZU/edit?usp=sharing

It doesn't reflect reality in so far as that users would not run a cpu only build on a p3.16xlarge but on a c5 instead.
Right, they were run on the same instance, but I'm not sure (Intel, please confirm) if the CPUs in a c5 might perform differently. But in general I would doubt it and say that the relative results are still relevant, just not accurate.
I don't think it would make sense to be honest. A user looks at throughput/$ (or latency or whatever metric they optimize for). Cpu instances are way cheaper, but might underperform In direct comparison. But if you normalize these results with the costs, you will get a picture that's way closer to the reality of how a real user will use MXNet. In the end, we're optimizing for real use cases, so we should make the benchmarks and environment also as close to reality as possible.
Correct, that's what I meant :)
I didn't check in detail and sorry if my proposal introduces too much of a complexity, but what do you think about considering the performance of more than one sequential execution (think of a service) but instead measure the performance a fully utilized system is capable to handle? Like high batch size with one process (throughput optimized) vs batch size one with many processes (latency optimized).

Hi @wuxun-zhang Thanks for the running the test and sharing data. Are the performance numbers generated from your inhouse profiling tool at Intel? We also noticed using average sometimes can be misleading due to some one glitch (one super large number). We used p50 number to present in the table instead.

@apeforest I used the Chai's large tensor benchmark scripts with latest MXNet master. So I think the data should be average but not a p50 number. Later I will update the data by using p50 metric to ensure consistency with your data.

@wuxun-zhang For p50,90 and 99 numbers, I've this PR  https://github.com/apache/incubator-mxnet/pull/15953
Once that's merged you will be able to get those numbers using python's time module.
With profiler flag, you can choose between python or Native.

Hi @ChaiBapchya , is there has some updates for this large tensor benchmark script? I tried to run this script with this commit and will get such an error below. Look that this error is caused by incomplete input arguments (missing num_hidden for FC). BTW, this script works well for other operators but FC from my side. Thanks for your help in advance.
(mxnet_p36) ubuntu@ip-172-31-18-141:~/github/incubator-mxnet/benchmark/opperf$ python opperf_large_tensor.py --ctx=cpu -p python
Large tensor support : OFF
INFO:root:Running Large tensor benchmarks with the following options: Namespace(ctx='cpu', dtype='float32', mkldnn_option='mkldnn', output_file='./mxnet_operator_benchmarks.json', output_format='json', profiler='python')
[{'data': (1024, 1024), 'weight': (1024, 1024)}, {'data': (10000, 1), 'weight': (10000, 1)}, {'data': (10000, 100), 'weight': (10000, 100)}]
Traceback (most recent call last):
  File "opperf_large_tensor.py", line 114, in <module>
    sys.exit(main())
  File "opperf_large_tensor.py", line 103, in main
    final_benchmark_results = run_large_test_benchmarks(args.profiler, ctx=ctx, dtype=dtype)
  File "opperf_large_tensor.py", line 46, in run_large_test_benchmarks
    mx_large_tensor_results = run_op_benchmarks(mx_large_tensor_ops, dtype, ctx, profiler, warmup=10, runs=100)
  File "/home/ubuntu/github/incubator-mxnet/benchmark/opperf/utils/benchmark_utils.py", line 157, in run_op_benchmarks
    warmup=warmup, runs=runs)
  File "/home/ubuntu/github/incubator-mxnet/benchmark/opperf/utils/benchmark_utils.py", line 137, in run_performance_test
    benchmark_result = _run_nd_operator_performance_test(op, inputs, run_backward, warmup, runs, args_list, kwargs_list, profiler)
  File "/home/ubuntu/github/incubator-mxnet/benchmark/opperf/utils/benchmark_utils.py", line 69, in _run_nd_operator_performance_test
    _, _ = benchmark_helper_func(op, warmup, [], **kwargs_list[0])
  File "/home/ubuntu/github/incubator-mxnet/benchmark/opperf/utils/profiler_utils.py", line 241, in python_profile_it
    res = func(*modified_args, **kwargs)
  File "/home/ubuntu/github/incubator-mxnet/benchmark/opperf/utils/ndarray_utils.py", line 48, in nd_forward_backward_and_profile
    res = op(**kwargs)
  File "<string>", line 86, in FullyConnected
  File "/home/ubuntu/github/incubator-mxnet/python/mxnet/_ctypes/ndarray.py", line 100, in _imperative_invoke
    ctypes.byref(out_stypes)))
  File "/home/ubuntu/github/incubator-mxnet/python/mxnet/base.py", line 254, in check_call
    raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: Required parameter num_hidden of int is not presented, in operator FullyConnected(name="")


fixed preprocessing scripts #712

Some of the preprocessing script were not working due to various bugs. this pull request is solving some of the issues in #712.

@thibaud-porphyre this still does not work for me I get the exact same error! Also do we need .Rhistory in the branch?


Delete keychain checks the keychain list before deleting

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

Our CI pipeline includes multiple apps, each has a different Distribution Certificate. CI pipeline's macmini slave throws errors when other app's Distribution Certificate's is in the Keychain.
Suggested solution for above problem is to create then delete a keychain in fastfile. This works until your build/tests fails....
Let's say you create a keychain
    create_keychain(
        name: ENV["KEYCHAIN_NAME"],
        unlock: true,
        timeout: false,
        lock_when_sleeps: false,
        password: ENV["MATCH_PASSWORD"]
    )

    //some tests
    // some builds

    delete_keychain(name: ENV["KEYCHAIN_NAME"])

if your app fails before delete_keychain and next time when you run the fastlane file create_keychain won't check if there is already a keychain exists with  ENV["KEYCHAIN_NAME"] and it will try to create it anyway. which will fail and throw and error.
So then you need to go an manually delete the keychain you created previously.
It is time consuming and a terrible practise, it works against CI mindset....
So I thought either create_keychain should check if the keychain exists then don't create it again.
Or delete check if keychain exists if so deletes the keychain to overcome errors.
VERY VERY IMPORTANT added optional throw_error make sure if you pass false , fastlane doesn't throw an error, default is set to true so previous versions can use the delete_keychain  without changing it
delete_keychain(name: ENV["KEYCHAIN_NAME"],throw_error:false)

So the new lane would look like
    delete_keychain(name: ENV["KEYCHAIN_NAME"],throw_error:false)  # call before create so if keychain exists, it deletes it
    create_keychain(
        name: ENV["KEYCHAIN_NAME"],
        unlock: true,
        timeout: false,
        lock_when_sleeps: false,
        password: ENV["MATCH_PASSWORD"]
    )

    //some tests
    // some builds

    delete_keychain(name: ENV["KEYCHAIN_NAME"])

Tests:

works with keychain name found locally
works with keychain name found in ~/Library/Keychains
works with keychain name found in ~/Library/Keychains with -db" (sometimes make creates the keychain as -db so make sure to handle that situation)
works with absolute keychain path
shows an error message if the keychain can't be found (optional)
shows an error message if neither :name nor :keychain_path is given

PS: I have never developed in Ruby and rspec, so thake this code with a grain of salt

I signed it!

I signed it!

if your app fails before delete_keychain and next time when you run the fastlane file create_keychain won't check if there is already a keychain exists with ENV["KEYCHAIN_NAME"] and it will try to create it anyway. which will fail and throw and error.

Just out of curiosity: Why don't you use begin / rescue / finally to ensure that the keychain is deleted after your build?
http://crodrigues.com/try-catch-finally-equivalent-in-ruby/
begin
    some_code
rescue
     handle_error
ensure
    this_code_is_always_executed
end

Or before all / before each / after all / after each? https://docs.fastlane.tools/advanced/
Couldn't that solve your problem?

@Baumchen that is an excellent question, I think it is because I am not proficient in Ruby, so I didn't know if such thing existed.
before all would solve my problem but I'd like the keep the fastfile simple as possible and let the fastlane handle details.
I think rather than just trying to delete a keychain bluntly ,  it'd be nice to check if it exists before and not throw an error when it doesn't exist is a decent request.

@ugenlik Thanks for the work on this PR! However, I don't think that introducing this new option into delete_keychain is the direction we would like to go at this moment as there are other solutions that will work for this problem.
I think the proper solution would be using fastlane after_all error block... You could also just run rescue after the delete_keychain action if you don't care if it fails
Solution 1
# This `rescue nil` will eat the error since we don't care if it fails
delete_keychain(name: ENV["KEYCHAIN_NAME"]) rescue nil
create_keychain(
    name: ENV["KEYCHAIN_NAME"],
    unlock: true,
    timeout: false,
    lock_when_sleeps: false,
    password: ENV["MATCH_PASSWORD"]
)

Solution 2: Using fastlane blocks
# Gets called after successful run of all the lanes
after_all do |lane, options|
  delete_keychain(name: ENV["KEYCHAIN_NAME"])
end

# Gets called after an error occurs
error do |lane, exception, options|
  delete_keychain(name: ENV["KEYCHAIN_NAME"])
end

Thanks again for your work put into this PR ❤


Configure special treatment of prefixes and suffixes

I'm not sure what to do about them, but in cases where grammatical prefixes (ex. pre-, re-, un-) and suffixes (ex. -들, -에, -가, -는) occur frequently I've noticed some unusual results.

Since choices for a given word test are currently aiming for similarity, the choices end up being the same word with different conjugations/particles attached.
Different forms of the same word can disproportionately fill the number of tests generated.

If I modify the conversion of a token string to Word.key_string to exclude a configurable number of prefix and suffix characters, that will reduce the number of words that only differ terminally, as well as remove them from test choices.
In this case I'll have to be careful where I use key_string, because it's no longer an accurate representation of a word.

The smarter option would be to analyze the grammatical structure of the word (ex. from linguistics API) in order to find prefixes, suffixes, particles, etc and remove them from Word.key_string.
Another simpler approach would be to define static lists of custom prefix and suffix patterns, provided by the user, and or included within quizgen. But again, this would still be prone to many false positives, excluding characters from the ends of words that are not actually grammatical prefixes or suffixes.

[ ] Try Cloudmersive part-of-speech tagging natural language API, as recommended here.

Cloudmersive account portal.

Korean

[ ] konlpy Python package for Korean. I do not know how resource demanding the underlying (all Java?) models are, I think they are static algorithms and should not need any training.


new feature request of making setTheme applied to single chart object

From the document https://antv.alipay.com/zh-cn/g2/3.x/tutorial/theme.html, we know setTheme is only applied to global scope.
If I may request a feature to make theme only applied to a single chart, for example:
chart.setTheme("xxx").
Thanks for your amazing library.

已经支持了
var chart = new G2.Chart({
  container: 'mountNode',
  forceFit: true,
  height: window.innerHeight,
  theme: 'dark'
});

@dxq613 这个 api 目前设置 defaultColor 失效，我会单独提个issue。


Extension claims to have a formatter, but doesn't

(This is a followup to #209 , as requested by @50Wliu)

When trying to format a file marked as azure-pipelines, it doesn't work and VS Code says no formatter for this file type is installed:

Searching for a formatter in the Marketplace then only results in this very same extension again, because it (falsely) is registered as a formatter there:

However, when I switch the filetype to YAML instead, this extension does offer a formatter, so if you have another formatter installed, you're being forced to choose one:

Unfortunately, if you actually do select this extension as the default formatter for YAML, it doesn't work either (no formatting is happening).
The workaround mentioned in the README and on the Marketplace page only seems to work with Prettier, not with the YAML language server from RedHat or other YAML extensions.
Possible fixes:

Actually add a formatter for the azure-pipelines file type (this is what #209 was about)

or

Remove the Formatter tag for this extension in the Marketplace
Don't register this extension as a YAML Formatter in VS Code
Mention that Prettier & manual config is necessary for formatting Azure Pipelines

Hi @hho, thank you for the feedback, you're right, and the extension needs an additional formatter installed to be able to format files, it describes on the extensions page in "Document formatting" section. For now Prettier formatter works well. You also could try to use yaml formatted from RedHat, but seems like it needs an additional setting to be able to format.

@DmitriiBobreshev Do you have more details about that additional setting for the RedHat formatter?
Because in the issue linked to the extension page you mentioned, no information is available for RedHat, except that it does not work with extension page workaround only.

As described I have configured the following in the settings.json
  "[azure-pipelines]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },

but VSCode still complains There is no formatter for 'azure-pipelines' files instanned
Clues?

I'm having the same issue as @jafin, adding this to my settings.json does not work:
    "[azure-pipelines]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },

@jafin @SpaceOgre I also ran into this exact problem, my settings.json looked identical but I got the prompt that no formatter was found. Turns out that prettier task failed to start, and the reason was that the prettier path was looking into my node_modules in the repo to run it. Doing an install with yarn solved it for me.
Check in the bottom bar in VSCode window for Prettier with two checkmarks like this:

This is what it was before, and when you click on it you get a debug output indicating the problem

This is on my radar. I assume the YAML formatting is made possible by its language server; if we can similarly update our language server (which was forked from Red Hat's in 2018) to merge in the improvements from the past 5 years, I assume we'll be 95% of the way there to getting formatting working properly.
If it turns out that's going to take a while, I'll temporarily remove the formatter tag.

Well, it turns out that merging 5 years' worth of changes back into a codebase that's significantly diverged is quite difficult 😅. I have been making progress, but there's still quite a bit of work to do before it's "ready".

Thank you for the update. I was more hoping to hear about you last sentance about "If it turns out that's going to take a while" remedy :) That would definetly help a lot and looks like a low hanging fruit.

Awesome, thank you.