SIGSEGV was happend on DbClient

hi, I need someones help.
SIGSEGV was happend when i was tring to make RESTfulAPI based PostgreSQL.
Below is a sample.
tabeles.

model.json
{     "rdbms": "postgresql",     //filename: sqlite3 db file name     //"filename":"",     //host: server address,localhost by default;     "host": "<IP_ADDRESS>",     //port: server port, 5432 by default;     "port": 5432,     //dbname: Database name;     "dbname": "sample",     //schema: valid for postgreSQL, "public" by default;     "schema": "sample_schema",     //user: User name     "user": "postgres",     //password or passwd: Password     "password": "drogon",     //client_encoding: The character set used by drogon_ctl. it is empty string by default which      //means use the default character set.     "client_encoding": "UTF-8",     //table: An array of tables to be modelized. if the array is empty, all revealed tables are modelized.     "tables": [],     //convert: the value can be changed by a function call before it is stored into database or     //after it is read from database     "convert": {       "enabled": false,       "items":[{           "table": "user",           "column": "password",           "method": {             //after_db_read: name of the method which is called after reading from database, signature: void([const] std::shared_ptr [&])             "after_db_read": "decrypt_password",             //before_db_write: name of the method which is called before writing to database, signature: void([const] std::shared_ptr [&])             "before_db_write": "encrypt_password"           },           "includes": [             "\"file_local_search_path.h\"","<file_in_global_search_path.h>"           ]       }]     },     "relationships": {         "enabled": true,         "items": [             {                 "type": "has many",                 "original_table_name": "products",                 "original_table_alias": "product",                 "original_key": "products_category_id",                 "target_table_name": "categories",                 "target_table_alias": "category",                 "target_key": "category_id",                 "enable_reverse": true             }         ]     },     "restful_api_controllers": {         "enabled": true,         // resource_uri: The URI to access the resource, the default value          // is '/*' in which the asterisk represents the table name.         // If this option is set to a empty string, the URI is composed of the namespaces and the class name.         "resource_uri": "/*",         // class_name: "Restful*Ctrl" by default, the asterisk represents the table name.         // This option can contain namespaces.         "class_name": "Restful*Ctrl",         // filters: an array of filter names.         "filters": [],         // db_client: the database client used by the controller. this option must be consistent with         // the configuration of the application.         "db_client": {             //name: Name of the client,'default' by default             "name": "default",             //is_fast:              "is_fast": false         },         // directory: The directory where the controller source files are stored.         "directory": "controllers",         // generate_base_only: false by default. Set to true to avoid overwriting custom subclasses.         "generate_base_only": false     } }
back trace

Desktop (please complete the following information):

OS: Ubuntu Server 20.04
Browser Chrome

How can I fix it ?

for more information.
I tried theese process.
the projectname is model_sample.

dg_ctl create model models
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
./model_sample
and access to localhost/productmaster/

thank you.

I can't find the exact position of failure from your picture. Could you post what happend in frame 0?
It's weird that you have so many RTTI symbols not found in you backtrace. What's the version of your gcc and gdb?
One possibility was that you updated drogon, but did not build your app from the begining. If this was the case, removing the entire build dir of your app and building again might solve the problem.

Thank you for your response.
The error occurs on the orm/Mapper class in the automated code does a find.
This time it's mapper.findall(), but the same if I specify an index.
mapper.findAll([req, callbackPtr, this](const std::vector<ProductMaster> &v)
go into detail, it looks like trying to remove an empty pointer when remove a reference to a smart pointer, but as you said, RTTI worning hasn't caught up well.
these are compiler and debugger details.
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
By the way, this is the Drogon repository that I'm currently using.
commit ebf87d69d7bb45dfa478ba364ef9374d9be25092 (HEAD -> master, origin/master, origin/HEAD)
Author: An Tao<EMAIL_ADDRESS>Date:   Sun Jun 5 21:10:42 2022 +0800
As you told me, I would like to try switching the environment first.
thank you.

hi,
I tried switching the environment.
but unfortunately it didn't improve.
When I tried debug-building the main unit, an assertion message came out.
drogon/lib/src/DbClientManager.h:35: drogon::orm::DbClientPtr drogon::orm::DbClientManager::getDbClient(const string&): Assertion `dbClientsMap_.find(name) != dbClientsMap_.end()' failed.
Is this a clue?
thank you.

solved.
The problem was that the contents of db_clients were empty when the program was run, so When I changed to get the information of db_clients from config.json in main.cc, I was able to get the data normally.
Two questions arise here.

Isn't it cumbersome to have similar information in model.json and config.json?
I feel that there is a risk of forgetting to write or inconsistency due to writing mistakes.

I'm likely to forget about this procedure, so could anyone please tell me if there is a document page that says it?

Thank you.

I guess the original problem was what I said? There is no more strange errors after building from scratch.

Isn't it cumbersome to have similar information in model.json and config.json?
I feel that there is a risk of forgetting to write or inconsistency due to writing mistakes.

model.json is a one-time config, it is used only to generate orm source files by drogon_ctl create model. config.json however, is a every-time config. It is used every time you start the application. They are not the same thing. And many people do not need orm, so they can remove model.json. But config.json is always needed.

I'm likely to forget about this procedure, so could anyone please tell me if there is a document page that says it?

The config.json file is well commented, you can get nearly all the informations in it.
And just as I just said, model.json is just a code-generation helper, don't get confused by them.
The wiki page has more information on how to use the framework.

The RunTime Type Infomation warning is a recognition that is familiar and not a big deal. It's very common to disable RTTI as it can slow down run-time performance. and It's a gdb warning, it does not affect the execution of the program.
When using ORM, enable the following lines in main.cc after creating the project.
//drogon::app().loadConfigFile("../config.json");
You need to fill in the connection information in config.json.
The original problem is that I misunderstood that the information of model.json is reflected even when createDbClient () is executed without these recognition.
At the same time, these were the necessary information for me, who learned about the existence of this framework in the last few days.
This is what you are pointing out.

model.json is a one-time config, it is used only to generate orm source files by drogon_ctl create model. config.json however, is a every-time config. It is used every time you start the application.

I'm sorry I couldn't hear it easily.
Thank you for your cooperation.


Angular CLI on Jenkins/Docker

Is this a bug report or a feature request?
bug, maybe...

version
^1.7.11 / node 11.9.0
platform
docker/jenkins

First off, thanks! This is just what I needed.
So, running this on the docker image locally i have no issues (once i make change from #4) but when I run this via my jenkins pipeline i get the below log. I also tried it by referencing one of the assets but it doesn't seem to like that either.
Any other things I could try to point me in the right direction? Maybe a permission issue or something related to the host system?


Text Wrapping

I suggest adding the Text Wrapping feature on the plugin, so that the long single lines are wrapped just like what happens in VSCode

Sry i never noticed this, i never got a notification. But just pushed a update to do that


About Data Files

Hello Seanny123:
Thanks for sharing your code ,it's really helpful! Could you share All of the data files? Thanks!

So, there's a few problems with me sharing the Eynsham dataset used to evaluate this code.
1. I don't have permission
The Eynsham dataset was create by Mark Cummins and Paul Newman who are part of the Mobile Robotics Group at the University of Oxford, UK. It used to be hosted on their website, but the link died. I have the files, but there's no license as far as I can tell, so I think I'm supposed to assume full copyright belonging to the authors. Consequently, if you want to email those folks and then let me know if they're okay with me uploading it somewhere, I'd be happy to help.
2. I don't know where to upload it
Even if I were to ignore the copyright issues, the files are 10GB. I don't have a server to host them on and can't use Dropbox or Google Drive or whatever. I could hypothetically upload them to Zenodo, but they apparently won't let you upload folders of files? Do you know where I could upload it?

Thank you for your detailed answer.  First, I will  see if there's any other way to get the Eynsham dataset; secondly, could you share some output files?
Thanks for your reply again.

Hi, I find you have update the README.md. Wait for your good news!

The dataset is up! https://zenodo.org/record/1243106


Fix #930: suppress CancelledError when Timeout raises TimeoutError

Now with proper base branch

Coverage decreased (-2.09%) to 95.887% when pulling e92e817e888e239d08cde1ca757ab4c250b13351 on suppress_exc_chain into 054a0f664487fcde3dbc7c45d6cec75ddcec3a24 on 0.22.


⚠ Home NAS has degraded performance

In bbc61bc, Home NAS ($MY_NAS_URL) experienced degraded performance:

HTTP code: 200
Response time: 16008 ms

Resolved: Home NAS performance has improved in e6dfc6a after 2 hours, 28 minutes.


Problem with closing modal window in Chrome

Hi, how I close my modal window in Chrome with this example???
The intruction "window.close()" doesn't work!!

See my answer in Issue #5:
https://github.com/niutech/showModalDialog/issues/5#issuecomment-60213199


Add basic hours validations

When configuring the gem, we'll now throw errors when the hours configuration:

is not hash-like.
does not contain any blocks of hours.

Resolves https://github.com/zendesk/biz/issues/31.
@alex-stone @kruppel @mfkp

:+1:

Code Climate doesn't seem to want to do its job today.

Released in v1.3.1.

:+1: thanks for the update


License And Copyright Updater

What is is PR for?

[x] Code update
[ ] Documentation update
[ ] Both

What does this PR do?
Creates a script for batch updating copyright and license SPDX headers in source file
Is this related to an open issue?
#368
Testing Methodology
Did a dry run on all source files in CDP
Additional context
Note: This is just the script to perform the code update.
We should decide when to actually update the CDP sources with the SPDX headers
Checklist
Before you submit this pull request, please make sure you have done the following:
General

[x] Contribution Guidelines: Have you read the contribution guidelines?
[x] Code of Conduct: Have you read the code of conduct?
[ ] Documentation: If applicable, have you added or updated all relevant documentation?

For Code Updates

[ ] Hardware Validation: If relevant, have you validated your changes on actual supported Duck hardware?
[ ] Unit Tests: Have you run the unit tests on the device?
[ ] Network Testing: If applicable, have you tested your changes on a Duck network?

Tested Targets (Please check all that apply)

[ ] All
[x] Heltec LoRa v3
[ ] Heltec LoRa v2
[x] Heltec CubeCell Series
[ ] TTGO T-Beam (SX1262)
[ ] Others

Going to merge this as it doesn't affect CDP code


Automatic fields not auto-populated by PDF

When a ship type is selected in FB002_SHIP_SHEET_FORM_FILLABLE_V1.0.pdf, some fields are auto-populated.
When the Actor sheet is reopened, the auto-populated fields are blank (although this might also be because they are marked as editable).

"select" elements need the "input" event to be triggered when copying values from foundry to the PDF.


Add bash tab completions

Adding bash tab completions would be immensely helpful.
build/clean
>mpbuild build nuc[tab][tab] should list all Nucleo boards. >mpbuild build nucleo_f0[tab] should complete (with NUCLEO_F091RC).
Consider adding optional port syntax:
>mpbuild build rp2/n[tab] should complete with NULLBITS_BIT_C_PRO, ie ignoring all of the Nucleo boards.
list
Should probably make the port an optional argument and then the following could be supported:
>mpbuild list s[tab][tab] would list stm32 samd, >mpbuild list sa[tab] would complete with samd. The output would then be filtered to that port.
Related

[ ] Add optional port syntax to specify a board
[x] #10

Experiments with this feature is coming along nicely now. After re-learning how bash completion scripts work, I discovered that typer has a feature to perform CLI Option autocompletion. It supports everything I wish to do and apparently works on bash/zsh/powershell/fish.
It was pretty easy to implement board, variant and port support - and typer does subcommand and switch autocomplete for free!
So, these currently work:
>mpbuild b<tab>uild
>mpbuild build PYB<tab><tab>
PYBD_SF2    PYBD_SF3    PYBD_SF6    PYBLITEV10  PYBV10      PYBV11
> mpbuild build PYBL<tab>ITEV10
> mpbuild build PYBLITEV10 <tab><tab>
DP         DP_THREAD  NETWORK    THREAD
> mpbuild build PYBLITEV10 DP_<tab>THREAD
> mpbuild build PYBLITEV10 DP_THREAD<enter>

>mpbuild list s<tab><tab>
samd   stm32
>mpbuild list st<tab>m32

It still needs a little polish but I'll push it up soon.

I'm satisfied with the solution in #39.
I haven't added the 'optional port syntax' but that can come later.


HotFix: error at CableCSVForm.add_error

Fixes: #

Looks like a reasonable change. Is there a specific problem that this is a fix for, and if so are there any new unit tests that should be added?

Yr, My previous PR https://github.com/nautobot/nautobot/pull/1297, i did not add check for this


is there win32/x86 support? (couldn't find any info anywhere)

Hi,
It has been a big hassle to make it work on windows (with visual studio 2019)
, hell I didn't even make it work, I just found a project that used sdl_gpu with an sln file in the repository and am testing that, but I saw there is only x64 compiler options, so I was wondering is it due sdl_gpu not supporting x86?
thank you

Hi,
Yes, SDL_gpu works with x86.  That's actually the primary architecture I build for personally.  I have kept the CMake build up to date.  You can use that to generate Visual Studio projects.
The build system is getting some work done next to update the other standard build tools, and I'll be putting more time into getting build artifacts deployed from the automated builds.  In the meantime, here's an older x86 build: http://dinomage.com/open/SDL2_gpu-0.11.0-msvc-x86.zip

hey! I already tried generating visual studio projects with cmake, but I couldn't get it to work, however I'm not experienced in cmake at all.
I saw today that you added build artifacts, and will try that first thing tomorrow! I'm excited ^^.
Thanks for answering my question,
I have one more thing,
I'm trying to render the render in an imgui window, which I succeeded in, but I have no idea how not to render it to the window, and only in the dear imgui window, would you be so kind to maybe steer me in the right direction?
So right now i'm doing in my render loop the following:
GPU_Image* image = GPU_CopyImageFromTarget( mainWindow->GetTarget() );
to create an image from the target (I know I don't have to create a new image every frame, but it's for clarity)
however I have no idea how to init an sdl window, and not render to it, but still have my rendered target to create an image to pass it along dear imgui
any idea?

@grimfang4 another quick question, do you still use sdl_ttf for text rendering with sdl_gpu or how should this be approached now?

I'm not sure about imgui, as I haven't used it.  It sounds like you have two windows.  To avoid that, you can create the window using SDL, then choose the window that SDL_gpu will use with GPU_SetInitWindow().  If that's not helpful, let me know more details or share some code and I can help further.
I do use SDL_ttf.  You can render to an SDL_Surface and copy that into a GPU_Image.  However, for convenience and efficiency, I use another of my libraries instead of SDL_ttf directly (SDL_FontCache for C or NFont for C++).
I don't think I have an open source game handy, but there are demos and tests in the SDL_gpu repository that are good to look at.  SDL_gpu's normal batching is automatic.  It just collects the geometry from your draw requests, ignores redundant state changes, and submits them all at once for rendering.
I can dig up a project and open source it, if you want.  I'm also planning on making a new project for a tutorial series after I've published the upcoming SDL_gpu 1.0.0.

Hi,
about imgui, what I want to achieve is this: https://gamedev.stackexchange.com/questions/150214/render-in-a-imgui-window
but with sdl_gpu, and I'm having a hard time figuring it out how.
currently I am able to render into the imgui window, but it also renders to the sdl_window/sdl_gpu window and I have no idea how to not do that, but do render to imgui window
the link also provides source code that could help you understand what I want to achieve
I would love to see a project from yours how you used sdl_gpu. So I can use it as reference for whenever I'm stuck.
Oooh, what's different from the latest version and sdl_gpu 1.0.0?

@grimfang4 to add to the previous message, it seems like I need to render to a framebuffer, not draw it on the window, and use that "render" in an imgui window, but I can't seem to figure out how to do it at all, been trying for 3 days already trying all various things and searching.

Hi, update 3
I found a temporary? solution, but i'm not sure how much of an issue this is performance wise?
Basically i'm saving an image from the target, than clearing the window and sending the image off to imgui
so basically my window will render just black, and the imgui window will be the actual render
i'm basically trying to create an editor for my engine i'm creating through the use of imgui and have a draggable screen
if you know how to do this in a better, more optimized way, please do let me know
void Game::Render()
{
	GPU_ClearRGBA( target1 , 0 , 0 , 0 , 255 );

	entityManager.Draw();

	GPU_FlushBlitBuffer();

	m_image = GPU_CopyImageFromTarget( mainWindow->GetTarget() );
	//clear the window again?
	GPU_ClearRGBA( target1 , 0 , 0 , 0 , 255 );
	//render the created image
	gui.OnImGuiRender( m_image );
	//flip
	GPU_Flip( target1 );
}

@grimfang4 hi, do you have time any time soon to help me out with the above? it's a matter of if im going to use sdl_gpu for my school project or not
thanks ^^

Is there a place you can post the full code and project or a minimal reproduction?  That would help to see how you're setting up the window and all the rendering details.
If you want to render to an image/texture instead of copying a target every frame, then create the image first, (e.g. with GPU_CreateImage()) then call GPU_LoadTarget() on it once.  You can then use image->target as the destination for rendering and pass the image to imgui.

Hey, I managed to get it to work the way you said , thanks ^^.


Replace Tokens task is failing in the pipelines

The "Replace Tokens" task in the pipelines is failing. I am getting the following error during deployment. It fails even before the initialize job. It is affecting all pipelines using that task. It worked 2 days ago. Also tried with a dummy empty pipeline with just one "Replace Tokens" task which failed as well. No logs in the pipeline.
Skipped deployment to the target 'XXXXXXXXX' due to unknown reason. Try again.

Hi !
I have also an issue with the task. it happen since the last commit on this repo. I suspect a higher version of the devops library.
It add a demand for a devops agent with version greater than 3.236.1
We are on version 2.170.1 for the agent so no agent available. We have a lot of pipeline, i don't want to update the agent because there will be expansive time to test any regression.

I will investigate these issues - in the meantime, please use version 1.4.152


Use terraform_data and azapi_update_resource to improve the update behavior

Hello Oracle,
This pr is inspired by #52, since specified arguments were added into ignore_changes list, once the users really want to update them I don't think we can update these fields. This pr HAS NOT been tested because my testing subscription cannot create Oracle resources somehow, but this is a poc to explore whether we can ignore changes from service side, but carry update when users do want to update them. This pr IS NOT completed, it's only shows an idea that maybe we can use this pattern, just for your reference. Please feel free to close it if you think this pr cannot help you.

@lonegunmanb Thanks for the idea and contribution. The proposed change won't work as the properties update via azapi is not available yet. However, we can incorporate it into avm or azapi template once it's out, not in this AzureRM template though. For meanwhile, the alternative is to update properties via OCI provider, which we can create a separate enhancement issue for it.


Enable downloading of tenhou.net/6 format logs

The upstream repo only allows you to download tenhou.net/0 logs(also known as mjlog), but tenhou.net/6 logs are much easier to handle.

Currently, I changed some codes to download tenhou.net/6 format logs.
Through a brief test I confirmed it flawlessly downloads 20240101~20240630 logs.
Afterwards, I'll allow to select either of mjlog or tenhou.net/6 format.


Allow specifying custom elevation URL and/or proxies

Not sure how many people might have this problem, but allowing a call to add_node_elevations to specify a custom URL and/or proxies enables working within restrictive networks, at the cost of adding a couple more parameters to the function: https://github.com/dHannasch/osmnx/commit/211a618456a8062bc701429dded7f191f5576344
Not sure how you'd feel about having those extra parameters in OSMnx proper.
Another option that might be more palatable would be to extract the critical request code into a separate function: https://github.com/gboeing/osmnx/commit/937af8c4b58a1faabe76769bf90f602c1b9d0a42
add_node_elevations could then call that function.
add_node_elevations could leave the URL and proxies out of its own parameters, keeping a short simple signature, and anyone who needed to do something more complicated could call the more powerful low-level function and then assign elevations to nodes manually.

Another option that might be more palatable would be to extract the critical request code into a separate function: https://github.com/gboeing/osmnx/commit/937af8c4b58a1faabe76769bf90f602c1b9d0a42
add_node_elevations could then call that function.
add_node_elevations could leave the URL and proxies out of its own parameters, keeping a short simple signature, and anyone who needed to do something more complicated could call the more powerful low-level function and then assign elevations to nodes manually.

I'll leave this open for a bit to see if anyone else weighs in on this being useful functionality for their workflow...

I'm going to close this one for now. But I'm willing to reopen it and solicit a PR if any other folks end up needing this sort of functionality at some point.


⚠ Bofrost.nl has degraded performance

In 80124e7, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 875 ms

Resolved: Bofrost.nl performance has improved in bcd0473 after 12 minutes.


Create a filterable select component

🚀 Feature Proposal
To create a filterable select component, useful in table filters and forms.
Motivation
Table text columns with lots of data need a faster way to filter results.
Options for the component need to be passed from outside.
Example
Something like this --> https://semantic-ui.com/modules/dropdown.html#search-selection

React Bootstrap Typeahead supports this feature. This could just be an addition to our Type ahead component
http://ericgio.github.io/react-bootstrap-typeahead/#basic-example

I am very new here, but I have had positive experiences with react select as well.

@hmerzin would you like to work on it? I'll give it to you.

Heck yeah, thanks!

Hi, may I take this?

yes

PR is ready for your review. Thanks! https://github.com/HospitalRun/components/pull/434


Idiomatic way to make spinner appear invisible?

Would like the spinner to disappear when spinner.Stop() is called.
Is that possible?

You might be able to have the line get removed by setting FinalMSG with the necessary escape sequence.

Hey thanks for the quick reply. Landed on something like this
func (d *AppSpinner) StopAndHide()
	a.Spinner.UpdateCharSet([]string{""})

	// Sleep until next tick so emptiness appears.
	time.Sleep(DefaultSpinnerSpeed)
	a.Spinner.Stop()
}

Assuming the AppSpinner is some struct that embeds your Spinner.


how (where) is replication handled?

If I set replication to 100 (1 replica, different dc), does the client upload this file to both locations?  or does it upload to dc1 and then dc1 replicates to dc2?

dc1 will replicate to dc2.


Could not find a default bitmap loader.

"This should never happen, your dependency resolver is broken"
I am not using a dependency resolver. Shouldn't the library be resolving this for me.
Have i missed something?
The calling code is in a test.

Hi,
Could you please explain how to do that, I'm facing the same situation.
Thank you very much

Updating Splat from 1.4.0 to 1.6.2 solved the problem for me.

Closing this out as resolved (eventually).

I am seeing this error for 2.0 version. It occurs for android 7 and higher but works fine earlier versions. my simple usage is

  string ImageUri = "sample.png";

 var Image = await Splat.BitmapLoader.Current.LoadFromResource(ImageUri, null, null);

Can you please advise something?

@EmilAlipiev  can you please open a new issue and attach a repro/test application. Ta

@ghuntley  it looks like that it appears only in release mode in xamarin.android when using full linking. I added splat into skipped assemblies and it works fine now


Package Requested

[x] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[x] I have performed a search and couldn't find this package.
[ ] I have checked that the installer for this package is not contained in a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: SamuelTulach
Publisher Url: https://github.com/SamuelTulach/VirusTotalUploader
Package Name: VirusTotalUploader (unofficial)
Description: C# Open-Source Winforms application for uploading files to VirusTotal
Package Version: 0.1.9
Installer URL: https://github.com/SamuelTulach/VirusTotalUploader/releases
I know there's an official VirusTotal.VirusTotalUploader package, however it has a limitation on 32mb for uploading files.  This is because the official app was discontinued in favor of the unofficial one.

I guess this will have to wait a little bit more https://github.com/microsoft/winget-pkgs/issues/80892#issuecomment-1260057099

We will wait until 1.4 is GA with >50% rollout before we start accepting .zip packages.
We will add a few for early adoption and validation, but we haven't decided which packages that will be yet.
I added the blocking-issue and .zip labels so we can find them when support is enabled.

@denelon please add the .zip label


Wait for send() to complete before closing WebSocket client

Hey @data-enabler, thanks for this Stream Deck plugin! Very handy 👌
I noticed that the WebSocket command was sometimes unreliable. I dug deeper and found that whilst the plugin did always connect and disconnect from the WebSocket endpoint, there were instances where the actual data did not get sent through before the disconnect. This is especially noticeable if spamming that particular Stream Deck button.
This PR bug fix resolves this issue by ensureing that send() happens before the close()
Since both send() and close() are async, there is a race condition that the send() can fail silently if the close() happened to complete first.
The 100ms interval was just some value that seemed right to me - feel free to adjust.
Cheers!
Jeremy

Yeah so true about the API not returning any result or error anywhere!! :/
Good point about the button feedback - I've just updated the PR :) Reduced the interval too so to make this feedback slightly more responsive

Just fixed the whitespace. PR should be good now :)

Sorry for not responding sooner; I've been really busy lately.
I don't really want to be a stickler, but I think it's worth fixing the time measurement here since otherwise it'll just be a bug waiting to happen.

Sorry for not responding sooner; I've been really busy lately. I don't really want to be a stickler, but I think it's worth fixing the time measurement here since otherwise it'll just be a bug waiting to happen.

No worries mate we're all busy with our day jobs etc 😉
I've update the PR with the suggestion

Looks good, thanks again for the help.
Once I get a chance to test the changes myself I'll publish an update in the app store.

@navhaxs So I'm finally getting some time to look at this, since I wanted to do my due diligence and verify that this fixes the issue before I submit a new version, and I'm having some trouble reproducing the bug you were describing. I've tried sending 10MB of text through a connection throttled to 20Mbps with simulated packet loss and all the data goes through, even when hitting the button multiple times in a row. Can you give me a consistent method to reproduce the issue?
Also, how sure are you that the issue wasn't with your server? In my tests, I was just using a simple server written with nodejs's ws package. According to MDN's documentation for WebSocket.close, the close() method should wait for all data to be sent before it starts the closing handshake.

Hey @data-enabler sure thing
I have created a very minimal websocket server in c# here. (Yup it's dotnet 😂)
https://github.com/navhaxs/SampleWebsocketServer
Each time the key is pressed, I can see a connection event happening (the blue text, so four times in this example).
But I only received the actual data for just one of the key press events. The other three got lost.

Because I can see all the connection events coming through, but the data only intermittently, it leads me to think that connection sometimes gets closed before the data event gets processed.
It could be possible that the https://github.com/unosquare/embedio websocket server library I am using is buggy, or I am using it wrong, but I doubt it as my example is quite minimal.
Hope this helps :)


[Docs] Typo in Meshery Contributing Guide

Current State
There's a typo in the paragraph under the Meshery Server APIs subheading on this page.

Desired State
"pertainting" should be corrected to "pertaining"

Can this issue be assigned to me, please? I jumped the gun and went ahead to create a PR. My bad.


Add job for running tensorflow benchmarks with kubeflow/volcano on k8s

This change added a job for running the tensorflow benchmarks on
kubeflow + k8s 1.14 or volcano 0.5.0 +k8s 1.14
implement: #theopenlab/openlab#256

recheck

recheck

recheck

recheck


system scenarios

closes #15

@h1alexbel thank you for your Pull Request. I'll assign someone to review it soon.
If this PR solves a todo from the code, please don't forget to remove it.


Fix incorrect Etc/GMT* timezones

Seems like #16 missed some

Thank you so much!
I confirmed, looks good to me.


Verify const-correctness of function returns

Whenever possible, returned types should be const. There are exceptions, as when a type is returned specifically so it can be modified, but there are probably cases where this is not necessary.
If need be, Effective C++ demonstrates how const and non-const can override each other.

On further reflection, this applies to non-built-in types. So it's not the most common.


nvim: only wrap rc if not empty

Description of changes
Only wrap nvim rc if not empty. This means neovim is usable with a std config in ~/.config/nvim.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

hi,
thanks for contribution. You can already control the value of wrapRc using wrapNeovimUnstable directly as is done in home-manager for example. Changing the default is a breaking change and if you check out vim issues and PR you will see that there are some breaking changes lining up. If that's ok with you I prefer to do this breaking change in my PRs because there are many things to take into account, it will need some discussion and doc.

Sure. I'd appreciate a CC on the PR.
Looking deeper I now see that this change is in the wrong place anyway. I believe it would be helpful if, following the principle of least surprise, wrapRc defaults to false so that ~/.config/init.vim "just works".

You might want to subscribe to https://github.com/NixOS/nixpkgs/issues/177375. I guess the way forward is to just be explicit about wrapRc rather than having a default that changes depending on some conditions.

Thanks


Ability to fluently map subclass for class mapped by hbm files

In our project we have a lot of classes that are already mapped by "traditional" method - hbm.xml file for each class. In new subprojects we started to introduce fluent nhibernate and encountered the problem - one can not map fluently a class that should be a joined-subclass of a class mapped with a file.
Generally it shouldn't be a problem. In configuration XML it is possible to separate sublclasses to different files.

I'm trying to do this as well, I am using NHibernate.AspNetCore.Identity so I can get NHiberate to replace EntityFramework in my ASP project but I cannot use SubclassMap<AppUser> as the type is not mapped. Is this still a possibility?


Mechincal belt sometimes creates uninteractable/unbreakable ghost block when placed.

Describe the Bug
When a mechanical belt is place (via right clicking onto shafts with the mechanical belt item). A ghost mechanical belt block will be placed down alongside a working mechanical belt.
This ghost belt only appears in the same space as second shaft right clicked in the mechanical belt creation process. It cannot be destroyed by breaking the shaft it is on, nor can it be interacted with.
Reloading the world seems to remove the ghost belt.
Reproduction Steps

Place two shafts
Hold a mechanical belt item
Select one shaft
Select the other shaft
(If a ghost belt is not created try again)

Expected Result
No ghost belt should be created during the mechanical belt placement process.
Screenshots and Videos

Crash Report or Log
No response
Operating System
Windows 10
Mod Version
0.5.1d
Minecraft Version
1.20.1
Other Mods

Additional Context
༼ つ ╹ ╹ ༽つ So there you have it a spooky ghost just in time for Halloween.

https://mclo.gs/mBTMLqx

i have the same issue and it caused my game crash
crash-2023-11-06_15.54.26-client.txt
2023-11-06-3.log

FWIW I have the same issue, and yes it also made my game crash (I've had the issue multiple times, but it only made my game crash once -- I assumed it was something to do with Sodium/shaders as it seems the people who are using my modpack without the shaders do not get this issue).

duplicate of https://github.com/Fabricators-of-Create/Create/issues/1244


Save: results list visualization

We should visualize more fields on the test result page:

Type of test
Type of plugin
Extra info (think about it)


Sub-Menu Link Incorrect

The following link, from docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/diagnose-performance-issues-.html, refers back to itself:

  Diagnose performance issues using ASH enhancements

Another occurrence is:

  Perform emergency monitoring and real-time ADDM

This was caused by commit 2ea7fd0

This was fixed by issue #65 .


Add coverage

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2f34676). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   94.87%
=========================================
  Files             ?        3
  Lines             ?       78
  Branches          ?       13
=========================================
  Hits              ?       74
  Misses            ?        2
  Partials          ?        2

Continue to review full report at Codecov.

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


Apply for membership

Hi there, I'd like to be a member of kubevela community.
I have submitted some PRs to kubevela/terraform-controller and I want to continue to contribute to the kubevela community.
Thanks :)

invited, thanks for your contributions


issue with require_once_all

I tried to setup version 4.x.x but front view is not configured properly due to some php function issue.
Using PHP version 5.3.x.
Can any one help to resolve it.

Not reproduced
Can you provide any PHP log file ?


Add a workflow to close old issues

I want to add a workflow that will automatically close the old/inactive issues.
An automated implementation is intended to quickly locate inactive or resolved issues and close them.
By removing clutter and ensuring active focus on important tasks, it increases the effectiveness of issue management.
The Github actions workflow will be created in the ./github/workflows directory in order to automate the task of closing the old/inactive issues.
The workflow tracks the status of open issues and flags those that haven't been updated in a while.
Promotes a tidy and organized issue tracker by closing out-of-date or resolved issues in accordance with specified criteria.
I want to work on this issue.
Please assign me the task under GSSoC'23.

Hello abhinav-m22, thanks for opening a issue, your contribution is valuable to us. The maintainers will review this issue and provide feedback as soon as possible.

Not required


[WIP] home-assistant: use python37

Home Assistant builds with python37 now. However, hbmqtt does not until 494f969cd7e2cd28cbd09ab1af7b51126a462a1a lands in master. We should not merge until that happens.
Motivation for this change
Reduce the load on Hydra.
Things done

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

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

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

I'll give this a go on the weekend. As I'm using mosquitto, the hbmqtt constraint isn't an issue.

Can this be merged?


Add support for Godot 4.2

Attempted to load this plugin in Godot 4.2, crashed on open.

As stated in the README, I only support the latest stable version of Godot. Development versions are moving targets with potentially breaking changes that I have no interest in keeping up with.
Support for 4.2 will be added when 4.2-stable is released some time in early November.


Add support for field delimiter detection

Is your feature request related to a problem?
When using CodableCSV to load user-provided CSV files, one currently needs to ask the user which field delimiter is used in their file.
Describe the solution you'd like
It would be nice if CodableCSV had an option to automatically infer the field delimiter from the provided file.
I saw that this feature is on the roadmap, along with row delimiter detection and header detection. There are also already some references to it in the code, with the idea to use auto-detection when the field delimiter is set to nil in the reader's configuration.
I'd be happy to contribute this feature. My idea was to port the dialect detection code from the CleverCSV Python library to Swift.
Describe alternatives you've considered
An alternative would be to use the library directly, however that would introduce a dependency to the project, and, more importantly, I'm not quite sure how good Swift's support is for calling Python code. I guess it wouldn't work on iOS, for example?
@dehesa what do you think?

Hey @PoshAlpaca,
Delimiter inference is indeed something I always wanted to do and plan for, but never really got into doing it. To be honest, I haven't even begin to think how to approach the problem. So, if you want to research it and come up with a solution, I will be more than happy to review it.
The inference code is supposed to live here. You would probably want to expand the switch statement to indicate which delimiter has the user input; i.e.:

you know the field delimiter, but not the row delimiter, or
you know the row delimiter, but not the field delimiter, or
you know neither.

I don't want to add dependencies to the project, so if you want to take this over, I would ask you to write Swift code directly.

Hello @PoshAlpaca and @dehesa. Recently I developed a more simple mechanism to implement CSV file dialect detection on data ingesting pipelines. The approach is described in a research paper and also has a python implementation.


Enable Citrus to deploy mock server on remote URL at runtime.

Issue:
Citrus always bring up mock server on the host machine and this can be a bit of pain to configure with Jenkins or any other build tool.
Just an Idea: If we can add remote url on the http server configuration in context file, that would be helpful to have the same server regardless your host.
Workaround:

For local testing we have been updating all the services from Dev environment to host ip address.
For Jenkins test run, we have been updating all the service from Dev environment to Jenkins ip address

Just one suggestion to solve your problem. You can use the citrus docker-image, this will create the server inside of a container and you wan't get any port/ip conflicts, see: https://github.com/christophd/citrus-docker-images

I do not see how we can change the host here. Server instances are always started within the Spring application context. This means server host will always be the same machine unless using Docker for the whole Citrus test execution as suggested by toschneck.
What exactly is the problem here when executing on Jenkins? In case parallel job execution is the problem you should use dynamic ports in Citrus. You could use Jenkins job execution number as base port for all Citrus http-server instances then.


Delete experiment_asset.json

The experiment_asset.json schema has been moved to au.org.access-nri/model/output/experiment-metadata. However experiment_asset.json was retained temporarily to prevent breaking Payu - see https://github.com/payu-org/payu/issues/429. Once Payu has moved to the new structure, we should delete experiment_asset.json.

Is it okay to delete this now @aidanheerdegen, @jo-basevi?


Non-saved images are not loaded properly

The image OOM fix in d46438381be1e4bf4186e0a426ebed66655266b9 prevents non-saved images to be decoded, as they are first not saved, then loaded from the saved version (which does not exist).
To test, check your GC login/password with an avatar image present, the avatar cannot be decoded although it is correctly downloaded.

You are right, my fault. I suggest to add an "else" block to the "if (save)" block, which decodes the image from the entity (just like the removed block in my commit did).
Or do you see a better solution?

Seems like you came to the exact same conclusion. :)

Yup. But I wonder whether there is any good reason not to save loaded images. The user's setting could control whether we load spoiler and log images at all, but it should not influence whether we use a cache or not when images are downloaded.


l2podAnnouncements - Node return traffic to the network during POD termination leading to duplicate IP addresses

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I am working on a design to integrate Cilium in L2 mode for both Pods and Service Advertisement.
The current Topology is pretty straight forward where all the nodes are placed in 1 VLAN and said VLAN is configured with 2 Subnets:

Node: <IP_ADDRESS>/24
PODs: <IP_ADDRESS>/16

What I see happening that if a node receives a packet for a POD IP that is being terminated the node instead of dropping it it will send it back to the switch resulting in duplicate IP addresses.
Here the detailed series of events:

Let's assume I have 2 PODs running on 2 nodes that are communicating

The switch will learn the IP/Mac Biding as per the above figure

Now I terminate the POD <IP_ADDRESS> on talos-31i-xek

Expectation:

the switches will keep sending traffic for <IP_ADDRESS> to talos-31i-xek
talos-31i-xek will drop the traffic

Current Behaviour:

the switches will keep sending traffic for <IP_ADDRESS> to talos-31i-xek
talos-31i-xek sends the traffic BACK to the switch using it's MAC address as source for <IP_ADDRESS>  resulting in IP address flaps as <IP_ADDRESS>  keeps also sending traffic from talos-61n-wue

I think this behaviour happens while the pod is being terminated only and under load but not 100% sure.
Here an example

Start wget in a loop to generate lots of traffic

POD - <IP_ADDRESS>
/ # while true
> do
> wget <IP_ADDRESS>:8080 -o /dev/null
> done

delete the pod:

kgpwide  goldpinger-zxjm7
goldpinger-zxjm7   1/1     Running   0          6m46s   <IP_ADDRESS>     talos-31i-xek   <none>           <none>
kdelp goldpinger-zxjm7

Traffic Catures:

One the Node talos-31i-xek

Packet 5: <IP_ADDRESS> sends traffic to <IP_ADDRESS> with Destination mac of 02:ad:ca:00:02:66 and the SRC Mac address is 00:22:bd:f8:19:ff that is my switch SVI

Packet 6: talos-31i-xek sends the traffic back to the switch (Dest mac 00:22:bd:f8:19:ff) and uses its mac address as source 02:ad:ca:00:02:66

Now we go in an loop where the switch will send the traffic back to the node and the node back to the switch and so on.

 I am not 100% sure what's the trigger yet but also when it happens on clusters with lots of pods it pretty much brings down the cluster as communication is disrupted and loop prevention mechanics are also getting triggered on the switch blocking the offending IP.
UPDATE: 5/Mar/24
I figured out what is the issue I think:
On a node that is NOTexperiencing the issue the allocated POD pool also has a corresponding routes pointing to cilium_host
 kubectl get ciliumnode -o yaml  talos-u3z-0g1  | yq .spec.addresses,.spec.ipam
- ip: <IP_ADDRESS>
  type: InternalIP
- ip: <IP_ADDRESS>
  type: CiliumInternalIP
pools:
  allocated:
    - cidrs:
        - <IP_ADDRESS>/24
      pool: default
  requested:
    - needed:
        ipv4-addrs: 8
      pool: default

talosctl -n <IP_ADDRESS>  get routes | grep 10.56
<IP_ADDRESS>   network     RouteStatus   inet4//<IP_ADDRESS>/32/0                                     1         <IP_ADDRESS>/32                                    cilium_host   0
<IP_ADDRESS>   network     RouteStatus   inet4/<IP_ADDRESS>/<IP_ADDRESS>/24/0                            1         <IP_ADDRESS>/24                    <IP_ADDRESS>       cilium_host   0
<IP_ADDRESS>   network     RouteStatus   local/inet4//<IP_ADDRESS>/32/0                               1         <IP_ADDRESS>/32                                    cilium_host   0

On a node that IS experiencing the issue the allocated POD pool  and the routing are not in sync:
kubectl get ciliumnode -o yaml talos-r6c-zrq | yq .spec.addresses,.spec.ipam
- ip: <IP_ADDRESS>
  type: InternalIP
- ip: <IP_ADDRESS>
  type: CiliumInternalIP
pools:
  allocated:
    - cidrs:
        - <IP_ADDRESS>/24
      pool: default
  requested:
    - needed:
        ipv4-addrs: 16
      pool: default

talosctl -n <IP_ADDRESS>  get routes  | grep 10.56
<IP_ADDRESS>   network     RouteStatus   inet4//<IP_ADDRESS>/32/0                                         1         <IP_ADDRESS>/32                                    cilium_host       0
<IP_ADDRESS>   network     RouteStatus   inet4/<IP_ADDRESS>/<IP_ADDRESS>/24/0                               1         <IP_ADDRESS>/24                   <IP_ADDRESS>       cilium_host       0
<IP_ADDRESS>   network     RouteStatus   local/inet4//<IP_ADDRESS>/32/0                                   1         <IP_ADDRESS>/32                                    cilium_host       0

In the logs I can see that we select as IPv4 allocation prefix: <IP_ADDRESS>/24 but then the pods are running in <IP_ADDRESS>/24
level=info msg="  --ipv4-native-routing-cidr='<IP_ADDRESS>/16'" subsys=daemon
level=info msg="Node addresses updated" device=cilium_host node-addresses="<IP_ADDRESS> (cilium_host), fe80::b083:5fff:fe88:cf49 (cilium_host)" subsys=node-address
level=info msg="Received own node information from API server" ipAddr.ipv4=<IP_ADDRESS> ipAddr.ipv6="<nil>" k8sNodeIP=<IP_ADDRESS> labels="map[beta.kubernetes.io/arch:amd64 beta.kubernetes.io/os:linux kubernetes.io/arch:amd64 kubernetes.io/hostname:talos-r6c-zrq kubernetes.io/os:linux type:kvm]" nodeName=talos-r6c-zrq subsys=daemon v4Prefix=<IP_ADDRESS>/24 v6Prefix="<nil>"
level=info msg="Restored router address from node_config" file=/var/run/cilium/state/globals/node_config.h ipv4=<IP_ADDRESS> ipv6="<nil>" subsys=node
level=warning msg="Unable to restore endpoint, ignoring" ciliumEndpointName=loop/busybox2 endpointID=4073 error="Failed to re-allocate IP of endpoint: unable to reallocate <IP_ADDRESS> IPv4 address: IP <IP_ADDRESS> not in range of any pod CIDR" subsys=daemon
level=warning msg="Unable to restore router IP from filesystem" error="IP <IP_ADDRESS> not in range of any pod CIDR" ipAddr=<IP_ADDRESS> subsys=daemon
level=info msg="  Internal-Node IPv4: <IP_ADDRESS>" subsys=daemon
level=info msg="  IPv4 allocation prefix: <IP_ADDRESS>/24" subsys=daemon
level=info msg="  IPv4 native routing prefix: <IP_ADDRESS>/16" subsys=daemon
level=info msg="  - <IP_ADDRESS>" subsys=daemon

kgpwide -A | grep talos-r6c-zrq
kube-system   cilium-2grnb                            1/1     Running   0             14m    <IP_ADDRESS>   talos-r6c-zrq   <none>           <none>
kube-system   hubble-ui-6548d56557-m2pth              2/2     Running   0             14m    <IP_ADDRESS>      talos-r6c-zrq   <none>           <none>
loop          busybox3                                1/1     Running   0             6m2s   <IP_ADDRESS>      talos-r6c-zrq   <none>           <none>

So what I think is happening is that if a pod is running on the node we accept the packet but if the POD is not there we route it back to the switches as we are following the default route.
If I manually add the missing routes to the nodes i.e adding <IP_ADDRESS>/24 to talos-r6c-zrq the behaviour is correct and there is no more a loop.
So I think the issue is in fact with the CIDR allocation logic with the Multi-Pool ipam.mode.
Reading the doc again I see that for Multi-Pool we should set endpointRoutes.enabled=true I tried with this as well but same behaviour as the nodes are returning the traffic back to the switches. With endpointRoutes.enabled=true the routes pointing to cilium_host for the POD CIDR allocated to the node is not there at all.
** Update 06/Mar/24:**
Tested with ipam.mode=cluster-pool and  seems to be working fine. I test with a 100 nodes clusters with ~500 pods and there is no issue.
Cilium Version
1.15.1
Kernel Version
kgno -o wide talos-61n-wue
NAME            STATUS   ROLES    AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION   CONTAINER-RUNTIME
talos-61n-wue   Ready       22h   v1.29.1   <IP_ADDRESS>           Talos (v1.6.4)   6.1.74-talos     containerd://1.7.13
Kubernetes Version
v1.29.1
Regression
No response
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I noticed that occasionally also Cluster Scope IPAM generated Routing Loop/Duplicate IP addresses.
This was happening when a K8s node was reloading:

The network send traffic directed to the health.ipv4 POD to the reloading nodes.
This traffic is sourced from my "other" Nodes
Since Cilium wasn't up yet the node was returning the traffic back to the network creating duplicate addresses for the Node IPs.

This happens because when the node is up but before Cilium Agent Starts there is no POD CIDR route pointing to the cilium_host and that also results in the node sending any traffic it receives back to the network resulting in loops/duplicate IP exactly as in the case of MultiPool.
In the end I just added a blackhole route (route to null) in all my K8s nodes for my ipv4NativeRoutingCIDR so the following behaviour happens:
Cluster Pool:

During Normal Operation I have route to cilium_host for the POD CIDR the node is handling that is more specific than the route to Null for the whole ipv4NativeRoutingCIDR so everything works
During Node boot up: Traffic received to this nodes is just dropped

Multi Pool

During Normal Operation I have endpointRoutes enabled  that is more specific than the route to Null for the whole ipv4NativeRoutingCIDR so everything works
During Node boot up or if a POD is deleted: Traffic received to this nodes is just dropped

Considering that Cilium can't really do anything before is running (i.e during node boot up) I think the solution to this issue is to update the documentation to state that for L2 POD Advertisement to work correctly in all situation the K8s nodes needs to be configured with a blackhole route for the ipv4NativeRoutingCIDR
I have tested with 2x100 Nodes clusters one running in MultiPool and one Running in Cluster Scope Pool and everything seems to be stable.


Restructure helper packages

I'd like to propose to move helper packages to a pkg/ folder. This blog post should be read in advance:
https://blog.golang.org/package-names
Of course we don't want to pollute our project root with small helper packages. The root should mostly contain Prometheus's core components. The blog post describes well why you might still want to create packages for certain helper functionality, no matter how trivial.
Helper packages should also never live in the directory of the core package that needed them first, unless they have a logical relation to that package.
I find pkg very clear: "We have a bunch of less important things, they are packages (short pkg), and here they are with their meaningful names."
It's a route many larger Go projects have taken with slightly different "importance thresholds".
It's a good one in my opinion.
In a previous discussion there was the concern that pkg conflicts with go's pkg directory in some way.
Import paths are opaque in that regard - a/pkg != b/pkg just as much as apple != house.

Couple of initial thoughts before bed (and want to hear other people's opinions as well):

Uncluttering the project root a bit sounds good in general.
Splitting up "generic" packages like utility sounds good in general.
How about util instead of pkg? Notably, this is not a package name, but just the intermediate directory leading up to the various package dirs. For me as a code reader it would seem clearer that util just contains less important packages. pkg sounds so generic that it's not clear whether they are important or unimportant ones.
Not sure about putting templates into the pkg / util directory. It has quite a lot of important Prometheus-specific functionality and might be considered an "important" package.

Sounds good so far. Your last to points are probably what I descibred as "importance threshold" before. We certainly have to set ours in this case.
I think the lower end is fine, i.e. templates not being in this folder. Also not feeling to strong about the name. util is fine with me – utility is acid in my eyes though ;)

Haha, yeah. util >> utility.

util and everything bar templates (which has prometheus-specific features) sounds good to me.

Yep :+1:. Make it so.

Still convert templates to template? Plurals for package names are not generally a thing in Go and this just wraps (text|html)/template and not (text|html)/templates.

We're using (text|html)/template directly in places, so probably best not to risk a collision.

I think its better to have it clash then. If you import both you have to import rename properly and explicitly.

I prefer template over template. Package name collisions in Go are embraced and worked around by local names. (Relying in pluralization to avoid name collisions is arguably more dangerous.) If we want to avoid the collision properly, we should use a more different name, like consoletemplate or contemplate :-> .
I prefer util over utility over pkg.

To be honest, in the templates package I see 300 lines of generic helper functions. Not entirely sure what's not util-y about it. There's no functionality implemented here that keeps Prometheus, just convenience.
The conversion logic in the query() function should be refactored to promql eventually.

It deals with very Prometheus-specific types (samples, matrices, vectors, ...) and defines a lot of functions that are even visible to the Prometheus user/operator. So IMO it's definitely not just a utility package.

I disagree (strongish and for several reasons) - but I slightly do with the template situation in general.
But the strongish part is more of a taste-thing so the majority wins here.
Should be fixed.

It's always good to hear reasons if they matter enough - they could change majority opinion :)
But also fine with keeping things as they are now.

As I said, the strongish part is a taste-thing, not worth too much discussion time.
Just want to point out that its fine for utility packages of a larger application to not be agnostic of specifics of this applications – that's why they live in a common namespace.
E.g. stats/ implements generic timers but the timer types are certainly Prometheus-related. That's not a reason it has to be a top-level package.

:+1:

:+1:

:+1:


Any plans to implement textarea?

Description
I use modal view.
I want to input multiple lines of text, including new lines.
Any plans to implement textarea?
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
Filling out the following details about bugs will help us solve your issue sooner.
Reproducible in:
package version: v1.8.1
node version: v12
OS version(s): macOS 10.15.6

You can already use textarea inputs if you set multiline as true. https://api.slack.com/reference/block-kit/block-elements#input

Thanks. But, I can't make a new line when I press the Enter key.
blocks: [{
  type: 'input',
  block_id: 'input_body',
  element: {
    type: 'plain_text_input',
    multiline: true, // set true
    action_id: 'body',
  },
  label: {
    type: 'plain_text',
    text: 'test',
    emoji: true,
  },
}]

@yuta17 I do understand this is a bit confusing but you can use "shift" + "enter" on your desktop/web app.

oh... It work.
Thanks for reply.  🙏


HDDS-2226. S3 Secrets should use a strong RNG.

https://issues.apache.org/jira/browse/HDDS-2226
The S3 token generation under ozone should use a strong RNG.
I want to thank Jonathan Leitschuh, for originally noticing this issue and reporting it.
How tested: Ran Unit.sh

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
34
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1
mvninstall
29
hadoop-hdds in trunk failed.

-1
mvninstall
31
hadoop-ozone in trunk failed.

-1
compile
18
hadoop-hdds in trunk failed.

-1
compile
13
hadoop-ozone in trunk failed.

+1
checkstyle
56
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
927
branch has no errors when building and testing our client artifacts.

-1
javadoc
19
hadoop-hdds in trunk failed.

-1
javadoc
16
hadoop-ozone in trunk failed.

0
spotbugs
1017
Used deprecated FindBugs config; considering switching to SpotBugs.

-1
findbugs
30
hadoop-hdds in trunk failed.

-1
findbugs
17
hadoop-ozone in trunk failed.

_ Patch Compile Tests _

-1
mvninstall
32
hadoop-hdds in the patch failed.

-1
mvninstall
34
hadoop-ozone in the patch failed.

-1
compile
20
hadoop-hdds in the patch failed.

-1
compile
16
hadoop-ozone in the patch failed.

-1
javac
20
hadoop-hdds in the patch failed.

-1
javac
16
hadoop-ozone in the patch failed.

-0
checkstyle
26
hadoop-ozone: The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)

+1
mvnsite
0
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
779
patch has no errors when building and testing our client artifacts.

-1
javadoc
19
hadoop-hdds in the patch failed.

-1
javadoc
16
hadoop-ozone in the patch failed.

-1
findbugs
28
hadoop-hdds in the patch failed.

-1
findbugs
16
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
24
hadoop-hdds in the patch failed.

-1
unit
22
hadoop-ozone in the patch failed.

+1
asflicense
28
The patch does not generate ASF License warnings.

2392

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1572

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 54792875d352 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 41440ec

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/branch-findbugs-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-compile-hadoop-ozone.txt

checkstyle
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/diff-checkstyle-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-findbugs-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/testReport/

Max. process+thread count
340 (vs. ulimit of 5500)

modules
C: hadoop-ozone/common U: hadoop-ozone/common

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

/retest

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
38
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1
mvninstall
45
hadoop-hdds in trunk failed.

-1
mvninstall
43
hadoop-ozone in trunk failed.

-1
compile
22
hadoop-hdds in trunk failed.

-1
compile
16
hadoop-ozone in trunk failed.

+1
checkstyle
59
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
859
branch has no errors when building and testing our client artifacts.

-1
javadoc
25
hadoop-hdds in trunk failed.

-1
javadoc
20
hadoop-ozone in trunk failed.

0
spotbugs
976
Used deprecated FindBugs config; considering switching to SpotBugs.

-1
findbugs
46
hadoop-hdds in trunk failed.

-1
findbugs
22
hadoop-ozone in trunk failed.

_ Patch Compile Tests _

-1
mvninstall
36
hadoop-hdds in the patch failed.

-1
mvninstall
38
hadoop-ozone in the patch failed.

-1
compile
25
hadoop-hdds in the patch failed.

-1
compile
20
hadoop-ozone in the patch failed.

-1
javac
25
hadoop-hdds in the patch failed.

-1
javac
20
hadoop-ozone in the patch failed.

+1
checkstyle
58
the patch passed

+1
mvnsite
0
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedclient
770
patch has no errors when building and testing our client artifacts.

-1
javadoc
23
hadoop-hdds in the patch failed.

-1
javadoc
20
hadoop-ozone in the patch failed.

-1
findbugs
33
hadoop-hdds in the patch failed.

-1
findbugs
21
hadoop-ozone in the patch failed.

_ Other Tests _

-1
unit
28
hadoop-hdds in the patch failed.

-1
unit
25
hadoop-ozone in the patch failed.

+1
asflicense
33
The patch does not generate ASF License warnings.

2458

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1572

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux a672f85dc6a7 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 0d2d6f9

Default Java
1.8.0_222

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/branch-findbugs-hadoop-ozone.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-mvninstall-hadoop-hdds.txt

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-mvninstall-hadoop-ozone.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-compile-hadoop-hdds.txt

compile
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-compile-hadoop-ozone.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-compile-hadoop-hdds.txt

javac
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-compile-hadoop-ozone.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-javadoc-hadoop-hdds.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-javadoc-hadoop-ozone.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-findbugs-hadoop-hdds.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-findbugs-hadoop-ozone.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-unit-hadoop-hdds.txt

unit
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/artifact/out/patch-unit-hadoop-ozone.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/testReport/

Max. process+thread count
411 (vs. ulimit of 5500)

modules
C: hadoop-ozone/common U: hadoop-ozone/common

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1572/2/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

The build failure does not look like code issue. More like an infra problem.
[INFO] --- exec-maven-plugin:1.3.1:exec (dist) @ hadoop-ozone-dist --- /workdir/hadoop-ozone/dev-support/checks/build.sh: line 20:    44 Killed                  mvn -B -f pom.ozone.xml -Dmaven.javadoc.skip=true -DskipTests clean install

/retest

Test failures are not related to this patch.

@bharatviswa504  Thanks for the review.


Make recorder support including both entities and domains

Description:
Updates the Recorder component to allow specifying both domains and entities in the include list of the configuration.
Related issue (if applicable): fixes #7414
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):
recorder:
    include:
      domains:
      - light
      entities:
      - switch.outlet

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

Hi,
It looks EntityFilter implemented same functionality: https://github.com/home-assistant/home-assistant/pull/10221

Closing this in favor of #10221.


ECDSA Blinding signature protocol

This PR is for proposing an Blinding Signature Algorithm over using ECC.
Goal
Blinding signatures are useful in many project involving cryptocurrencies (Wasabi wallet is one of those) and for that reason I propose to include this classes as part of NBitcoin.
Protocol
// Requester represents the participant that requests the signature from the signer
var requester = new ECdsaBlinding.Requester();

var signerKey = new Key();         // The key used for signing the message
var verificationKey = new Key(); // The key used for verifying signature

// Signer represents the one that has to sign the message
var signer = new ECdsaBlinding.Signer(signerKey, verificationKey);

// 1. Signer publishes the verificationKey.Pubkey
// 2. requester blinds the message and sends it to the signer
var blindedMessage = requester.BlindMessage(message, signerKey.PubKey, verificationKey.PubKey);

// 3. Signer signs the blinded message and returns that blindedSignature to the requester
var blindSignature = signer.Sign(blindedMessage);

// 4. The requester "unblinds" the blinded signature and gets the unblinded signature
var unblindedSignature = requester.UnblindSignature(blindSignature);

// 5. Anyone how konws the message, the and the verificationKey.PubKey can serify the signature
var isValid = ECdsaBlinding.VerifySignature(message, unblindedSignature, verificationKey.PubKey);

References
The algorithm details are specified on the following resources:

A Blind Mixing Scheme for Bitcoin based on an Elliptic Curve Cryptography
Blind Digital Signature Algorithm
Blind ECDSA Signatures
A blind digital signature scheme using elliptic curve digital signature algorithm

That's cool! Can you rename ECdsaBlinding to ECDSABlinding?

https://en.wikipedia.org/wiki/Blind_signature#Blind_ECDSA_signatures[4]

Another scheme for blind signatures is possible by using elliptic curve cryptography, allowing shorter key size, faster computations and avoids the unwanted mathematical properties of RSA described above.

What's the difference between Schnorr blinding and this kind of blinding?

What's the difference between Schnorr blinding and this kind of blinding?

@nopara73 this signature algorithm uses ECC and schnorr signatures does not. This means that in this signature scheme we add and multiply points that belong to the seckp256k1 curve. On the other hand in the schnorr signature algorithm there are no operations involving EC points in any curve. That means that schnorr signatures should be faster than ECDSA-based signatures (ec operations are a bit slow).

That's cool! Can you rename ECdsaBlinding to ECDSABlinding?

@NicolasDorier sure. I've realize that I can improve the naming in other elements too. I will fix this asap.


Added format specifier for messages E1106 and E1190 with a singular

Continuation #12443
https://github.com/vim/vim/issues/12443#issuecomment-1565704369

Bram found the best solution to this.
https://github.com/vim/vim/issues/12443#issuecomment-1566205085


save model for ppo/trpo

Flag
It is still useful to specify the checkpoint directory, because that directory might be somewhere on a different disk or even across the network on a different machine.
You can use the checkpoint directory flag itself as the boolean for whether or not to save. That way you have less flags, and no combinations of flags which don't make sense.

Case 1: Just a save flag
python3 run_mujoco.py --save
Files go wherever the program wants. And it's hard to predict where they will go without reading the code. bad

Case 2: Save flag and optional directory
python3 run_mujoco.py --save --checkpoint_dir=~/checkpoints/stuff
This is better, but what if someone does this?
python3 run_mujoco.py --checkpoint_dir=~/checkpoints/stuff
I thought the rule was that we don't save unless --save is specified? Oops. Now we have to show an error message and check combinations of arguments. bad

Case 3: Implicit save flag
python3 run_mujoco.py --save_policy_checkpoints=~/checkpoints/stuff
If we care enough to save the policy, we should care enough to specify a directory. If I specify the directory, I'm saying I want you to save it AND where to save it. One parameter and no confusion.

I suggest the following behavior:

if the checkpoint directory is specified, save it to that directory
if no checkpoint directory is specified, do not save anything

Commit messages
Please read https://chris.beams.io/posts/git-commit/ for a guide on how to write commit messages. These messages are good enough for a professional open source project.

Always make a change consistent across the whole project. If we are introducing saving as a feature, it should be for every algorithm which has a network.

that is fine, as long as the behavior from the command line is the same. right now the code for each algorithm is written in slightly different style, so it's difficult to implement everything the same.


Expire all keys, pipeline a few commands

Use the default expiration of 30 days as this is the default and can't be changed yet. Also pipelines a few commands.
Problem for future me :)

Codecov Report

Merging #17 into master will decrease coverage by 0.12%.
The diff coverage is 95.65%.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
- Coverage   91.39%   91.26%   -0.13%
==========================================
  Files          27       27
  Lines         302      309       +7
==========================================
+ Hits          276      282       +6
- Misses         26       27       +1

Impacted Files
Coverage Δ

lib/legacy/calls/Store.ex
100% <100%> (ø)
:arrow_up:

lib/legacy/feature/store.ex
98.07% <100%> (+0.07%)
:arrow_up:

lib/legacy/redis.ex
90% <85.71%> (-10%)
:arrow_down:

Continue to review full report at Codecov.

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


Portable tabs between windows.

Description of the new feature/enhancement
It would be nice to move the tabs to another window like chrome or create a new window from the tab. If not fully understood, the gif and video link below may be more explanatory.
Video Url

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #1256 for more discussion.
/dup #1256


Add PHP matrix and skip nova on PR

Its common to do a matrix for supported PHP versions and to cache composer dependencies for faster runs. And made it so they do not fail due to nova on PRs

@dmason30 man, you're a wizard! Thanks again! :)


[Bug] Colored Text does not work.

Describe the Bug

First time I downloaded BetterDiscord, I went to settings and clicked 'Colored Text'. It worked the first time and I went ahead to get a theme after. I believe I installed BetterDiscord again and when I clicked 'Colored Text' again for the second time, the color never appeared. I uninstalled BetterDiscord and downloaded it again, but it never worked. I also tried repairing it, and it still didn't work.
To Reproduce

Expected Behavior

Colored Text to be fixed.
Screenshots

Discord Version

Additional Context

This was fixed by #573


Add basic routes for User and Post models

Overview

Restructure codebase into Controller-Service-Repository pattern for scalability
Add a few endpoints for the existing User and Post models with very strict type-checking

Changes Made

Added a controllers and services directory that defines routes and handles business logic/calculation, respectively
Added a types directory that is useful for type-checking and having a unified place where types are defined
Installed routing-controllers to aid with implementing the Controller-Service-Repository pattern. Documentation and information regarding the library here

Test Coverage

Temporarily testing locally using a local DB and Postman

Next Steps

Clean up some function bodies in the services directory with syntactic sugar
Implement more routes for adding favorites, etc.
Add support for Google login/authentication
Add unit testing with mockito

Related PRs or Issues

N/A

please make a follow up PR to address these changes -- you should never be merging code without 2 approvals, one at least has to be from me or @chalo2000


"Avoid Side Effects" contains invalid example.

Global variable in PHP must be manually imported into local scope. Example won't work.

Thanks for the report. How would you fix that?

It looks like it has been fixed in #47.

@alexislefebvre You are right, thanks for update!
Closing


Improve regular expression to avoid extra processing of trimming and removing commas

Once the match is found, the match is cleaned of any commas or spaces.
This can be done as part of regex matching so that we match does not include commas or leading/trailing spaces,

Fixed with unit tests


[NetworkX] Make sure all implemented APIs of networkx work for both duplicated mode and distributed mode

Is your feature request related to a problem? Please describe.
Since we support duplicated mode and distributed mode on nx, the all implemented APIs of networkx have not been test on both mode. Like
https://github.com/alibaba/GraphScope/blob/ce261cb816e326695d9e92258e1a64d624500828/python/graphscope/nx/readwrite/edgelist.py#L40 , the nx.empty_graph can only create graph with duplicated mode.
we need to check all the APIs and make sure they work for both.

duplicated mode is deprecated


Hello app hangs after 16333 requests

Hey!
I run hello example and app stop responding after 16333 requests.
Built with cargo build (both debug and release), run with ab  -n 20000 http://<IP_ADDRESS>:3000/. Output of ab:
» ab  -n 20000 http://<IP_ADDRESS>:3000/                                                                        60 ↵
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking <IP_ADDRESS> (be patient)
Completed 2000 requests
Completed 4000 requests
Completed 6000 requests
Completed 8000 requests
Completed 10000 requests
Completed 12000 requests
Completed 14000 requests
Completed 16000 requests
apr_socket_recv: Operation timed out (60)
Total of 16333 requests completed

This is 100% reproducible on my mac. After some time (10 seconds) app is responding again.
Is it expected behaviour or bug? How could I reconfigure this hello app to get rid of this?
Thanks!
Cargo.toml
[dependencies]
hyper = "0.11"
futures = "0.1.15"

main.rs
extern crate hyper;
extern crate futures;

use hyper::header::ContentLength;
use hyper::server::{Http, Request, Response, Service};

struct HelloWorld;

const PHRASE: &'static str = "Hello, World!";

impl Service for HelloWorld {
    // boilerplate hooking up hyper's server types
    type Request = Request;
    type Response = Response;
    type Error = hyper::Error;
    // The future representing the eventual Response your call will
    // resolve to. This can change to whatever Future you need.
    type Future = futures::future::FutureResult<Self::Response, Self::Error>;

    fn call(&self, _req: Request) -> Self::Future {
        // We're currently ignoring the Request
        // And returning an 'ok' Future, which means it's ready
        // immediately, and build a Response with the 'PHRASE' body.
        futures::future::ok(
            Response::new()
                .with_header(ContentLength(PHRASE.len() as u64))
                .with_body(PHRASE)
        )
    }
}

fn main() {
    let addr = "<IP_ADDRESS>:3000".parse().unwrap();
    let server = Http::new().bind(&addr, || Ok(HelloWorld)).unwrap();
    server.run().unwrap();
}

When I start the hello world example, I can run wrk against it, and get way passed 16000 requests (I stopped at 200,000). Does it happen to you if you use wrk also?
Also, I don't have a Mac, so I'm running these tests on Ubuntu.

I tried to run this on ubuntu vpc and it works fine with ab.
I tried wrk on mac and it also works fine. The only difference between ab and wrk is connection management. ab open new connection every time and wrk reuse existing once. Do you have any ideas to check to verify connection management problem here?

Ah, I didn't realize ab makes a new connection per request. In that case, it might be that you're hitting a max file descriptor limit on your Mac.

I did ulimit -a 32000 and set kernel params to corresponding values.

And what's the outcome?

Sorry for not mentioning this. Same problem. App hangs after 16k connections

A google search suggests doing this for macOS: https://stackoverflow.com/questions/7578594/how-to-increase-limits-on-sockets-on-osx-for-load-testing
As this seems to be Mac specific, and not a bug in hyper, I'm going to close the issue.


Startify leaving an empty buffer and split after closing built-in terminal

Steps to recreate

Startify screen
:term
exit the shell

Screenshots

Happens in vanilla vim as well

I ended up kinda-fixing it with a custom event and closing the empty buffer:
let s:terminal_opened = 0
function! s:trigger()
    if empty(filter(range(1, bufnr('$')), 'buflisted(v:val) && "terminal" ==? getbufvar(v:val, "&buftype")'))
        if s:terminal_opened == 1
            let s:terminal_opened = 0
            if exists('#User#TerminalClose')
                execute 'doautocmd User TerminalClose'
            endif
        endif
    endif
endfunction
augroup startify_fix
    autocmd!
    autocmd TerminalOpen * let s:terminal_opened = 1
    autocmd BufEnter * call s:trigger()
    autocmd User TerminalClose if line2byte('.') == -1 && winnr('$') > 1 && empty(bufname()) | execute winnr('#') ' wincmd w' | execute 'Bdelete! nameless' | endif
augroup END

I only tested it slightly so let me know if you have the same issue and found bugs in the solution above.

Right so I found out that this was covered in the FAQs but with vim-plug.


How to use gridTemplateAreas?

No matter how hard I try, I always get:
grid-template-areas:
      "header header"
      "main sidebar"
      "footer footer"
    ;

in the .css file.
val areas =
     """
       "header header"
       "main sidebar"
       "footer footer"
     """

would print to
     "header header"
     "main sidebar"
     "footer footer"

but after doing this: gridTemplateAreas := areas the

"
are replaced by
"
Can I somehow prevent this? There is no doc for this, sadly... probably just too noobish.

The workaround I am using right now is
val areas =
    """
      'header header'
      'main sidebar'
      'footer footer'
    """

Which generates
grid-template-areas:
      ''header header''
      ''main sidebar''
      ''footer footer''
    ;

So instead of a double quotation mark, TWO single ones!

Thanks for reporting. This is indeed a bug.

Fixed in 49f233d1699bcb8f615517fff69553abe6d00514


Fixing artifical limitation on linguistic versions possible to have a…

…s legally valid

Thank you for your suggestion.
The current SDK rules are correct: notices can only be published on TED in one of the 24 EU official languages. This is already the case with the current forms, where Norway has chosen to publish their notices in English, and this won't change with eForms so BT-702 is limited to EU official languages.
This limitation doesn't exist for other fields where a language is specified and the 3 Norwegian languages are available in the codelist for these fields - see https://docs.ted.europa.eu/eforms/latest/reference/code-lists/eforms-language.html
There are other examples within the EU, where the language of the notice is different to the language of the procurement procedure - the most common case is in Catalonia, where the documents and submissions are in Catalan but the notices on TED are in Spanish.
So I'm closing this pull request.

The language used for publishing is not the same as linguistic versions possible to have as legally valid. eForms is the format to express a valid notice and only one of the aspects are related to publishing on TED.
Official description of BT-702: The language(s) in which this notice is officially available. These linguistic versions are equally legally valid.
There are no reasons to not allow other languages than the 24 official languages as long as minimum one of the official languages are provided.

Thanks for this clarification. It's true it's possible to use the eForms format to handle notices that are not published on TED so you could go beyond the 24 EU languages in BT-702.
But if you submit the notice to TED, it's because you intend to publish it on TED and in this case the Publications Office will need to check that only EU official languages have been used to ensure compliance with the 2014 procurement directives.
You'll need to handle your national needs within your system.  It is fairly common that national systems don't map exactly to the EU formats, e.g. you might refer to national laws in your system then need to map it to the EU directives to satisfy the validation on the legal basis BT in eForms.

This limitation doesn't exist for other fields where a language is specified and the 3 Norwegian languages are available in the codelist for these fields - see https://docs.ted.europa.eu/eforms/latest/reference/code-lists/eforms-language.html

I have tested this, and when adding Norwegian in addition to English in one of your example, I ended up with the following validation rules triggering:

BT-163-Tender_C - BT-163-Tender can only be in one of the official languages of the notice
BT-163-Tender_C - BT-163-Tender can only be in one of the official languages of the notice
BT-721-Contract_C - BT-721-Contract can only be in one of the official languages of the notice
BT-721-Contract_C - BT-721-Contract can only be in one of the official languages of the notice
BT-500-Organization-Company_C - BT-500-Organization-Company can only be in one of the official languages of the notice
BT-500-Organization-TouchPoint_C - BT-500-Organization-TouchPoint can only be in one of the official languages of the notice
BT-500-Organization-Company_C - BT-500-Organization-Company can only be in one of the official languages of the notice
BT-500-Organization-Company_C - BT-500-Organization-Company can only be in one of the official languages of the notice
BT-500-Organization-Company_C - BT-500-Organization-Company can only be in one of the official languages of the notice
BT-21-Procedure_C - BT-21-Procedure can only be in one of the official languages of the notice
BT-24-Procedure_C - BT-24-Procedure can only be in one of the official languages of the notice
BT-300-Procedure_C - BT-300-Procedure can only be in one of the official languages of the notice
BT-540-Lot_C - BT-540-Lot can only be in one of the official languages of the notice
BT-734-Lot_C - BT-734-Lot can only be in one of the official languages of the notice
BT-99-Lot_C - BT-99-Lot can only be in one of the official languages of the notice
BT-21-Lot_C - BT-21-Lot can only be in one of the official languages of the notice
BT-24-Lot_C - BT-24-Lot can only be in one of the official languages of the notice
BT-300-Lot_C - BT-300-Lot can only be in one of the official languages of the notice

All BTs refered in the list are of type text-multilingual and the 3 Norwegian language codes are available for use for the fields. I must clearly have misunderstood something here, so how may I add Norwegian as one of the official languages of the notice in question?


ActionMenu: Only use checkmarks in menus and improve examples

Closes #3878

Changelog

Always use checkmarks for menus instead of checkboxes
Improve the examples

Before / After

Removed

Rollout strategy

[x] Patch release
[ ] Minor release
[ ] Major release; if selected, include a written rollout or migration plan

Testing & Reviewing

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Added/updated previews (Storybook)
[ ] Changes are SSR compatible
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge
[ ] Integration tests pass at github/github (Learn more about how to run integration tests)

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

I'm currently investigating which product areas will be impacted by this change and will outline them below.
Projects
In roadmap project boards, the "milestones" menu will be updated to use checkmarks instead. This change aligns it with other menus, such as the "date fields" menu. However, there's an issue with consistency in how these menus behave. Some close immediately after a selection is made, while others stay open. Ideally, dropdown menus should close once a selection is made. If they need to stay open, a SelectPanel with a dialog and a close button should be used for better accessibility.
Action Required: While the above issue is not critical, it's important to notify the projects team to address these inconsistencies.

@joshblack or @siddharthkp, does validating the changes in this PR fall clearly into either of the epics you are directly working on right now given the impact on ActionMenu a11y and potentially SelectPanel work? If so, we could try to add scope to fix dotcom to those epics. If not, we might need to explicitly plan for how to roll this out in dotcom as part of Q3 work.
What do you think?

does validating the changes in this PR fall clearly into either of the epics you are directly working on right now given the impact on ActionMenu a11y and potentially SelectPanel work?

Doesn't fall into my path in SelectPanel, sorry! Happy to look into it outside the epic, of course

@lesliecdubs @joshblack Internally this pull request was merged  which unblocks this. Are you both happy to merge this and agree that the above impact is minimal?

@maximedegreve I'm comfortable with merging if @siddharthkp also approves. Should we verify with @tallys from the design perspective as well?

@maximedegreve: I believe it's wise to wait for the Notifications and Memex team to adjust to the above changes before we proceed with the merge.

Hi 👋 , do you know if the changes you asked for in notifications and memex have been merged?

@siddharthkp Memex is informed about the updates. However, these won't cause any disruptions because they only alter the appearance. Besides, the current menu behavior there is already inconsistent as described above.


Share Functionality within an App vs. Workspace

I have been testing the ability to share a report with filters and I see that the "Share" option is available in the workspace (Staging & Production) but not once a report is published to an app. Do you know if the "Share" feature can be added to the app as well?
Share Option in Workspace:

No Share Option in App:

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

ID: d7b3989d-4ab1-51f2-6823-970c04f6fba9
Version Independent ID: 673ccbe9-ef77-5c5b-9936-37eaeb4d3762
Content: Share a filtered Power BI report - Power BI
Content Source: powerbi-docs/collaborate-share/service-share-reports.md
Service: powerbi
Sub-service: pbi-collaborate-share
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

HI, @akhil25mani -- interesting observation! I'll check with the product team. Meanwhile, I suggest checking https://ideas.powerbi.com/ideas/ to see if anyone else has suggested it. If not, you can suggest it!

Hi, @akhil25mani -- you're right, that is the current behavior. The workaround is to have the app owner share the report with that person. but it wouldn't be filtered...
Definitely suggest it at https://ideas.powerbi.com/ideas/! The product team pays a lot of attention to what customers ask for.


[loc][Query][VSCode] Please clarify the placeholders

Hi, we have a question from our translator. Can you help please? Thanks!
Source:
Showing {0} of {1} Settings
File Name:
src\vs\workbench\parts\preferences\browser\preferencesWidgets.nls.resx
Resource ID:
".resx", 0; "showCount"
Query:
{0} of {1} will be replaced with numbers? Thanks!	AL-PC5	12/14/2016 11:36:07 AM

yes the placeholders will be replaced with numbers, pls see the attached screenshot: