WMCZ project plan (Aug - Nov 2018) and release of v2.10

There was another issue for this #865 , but that was written almost a year ago - the timeline and scope has changed since then and that issue has gotten rather long, so I figured that it would be best to get a fresh start.
WMCZ has kindly offered to fund the development of our app for a short period of time, and the new features/improvements that I would propose are below. These new features will be implemented by 3 part-time developers for an average of 11 weeks. We intend to start after our IEG renewal is completed - current estimate for IEG completion is late July with a final release of v2.9. This (WMCZ-funded) project will then run from Aug - Nov and culminate with a release of v2.10. (Future plans: we also intend to apply for a WMF-funded Project Grant which is due to start March 2019 if approved)
Feedback greatly appreciated from anyone, thanks! @VojtechDostal @nicolas-raoul @neslihanturan @maskaravivek
Nearby-related improvements

Tidy up code in entire Nearby package and write Javadocs for all Nearby classes and methods. This will help allow new contributors to get started with this package, and will also provide a solid foundation for future Nearby improvements. If successful, we plan to iterate on this with other packages in the future. #1828
Manual selection of Nearby search location: "search in this area" button, and allow users to directly upload photos for items in that location. This will be essential for users who prefer to take photos first and then upload later (e.g. at home, on the bus, etc) #591
Geocoordinate checking of photos uploaded via Nearby to reduce risk of vandalism, especially after manual selection is enabled. If a user uploads a photo with a geotag that is far away from the location of the Nearby entity, prompt user to reconfirm. If they confirm that they want to perform the upload, allow the upload but do not edit the Wikidata item #945

Other new features

Show ongoing campaigns. We could have a "news" section (perhaps in the main screen UI), so that users can see what Commons campaigns/competitions are going on at the moment. If this receives good user response, we might consider deeper campaign integration in the future. #78

Tech improvements
These improvements are aimed at simplifying testing and debugging for the future. As demonstrated by the issues that we faced throughout our IEG renewal (e.g. Dagger crashes, failed uploads and Wikidata edits), we need to tighten the user testing/feedback loop to be notified more quickly when problematic code is merged, and we also need a better way of getting logs from users who are experiencing issues. The improvements below are my plans for fixing this problem, but other suggestions are most welcome.

Automate frequent app releases to a pool of testers. This will allow us to find bugs/crashes early without time-consuming manual releases, and expand our options for volunteers for testing (since now non-technical folks can test the app without needing to wait for a release or for developers to send APKs to them). Two possible ways of doing this: (1) Create an alpha test track on Play Store and automate alpha testing, where releases are automatically pushed to alpha with each commit to master. (2) Use Fabric Beta to automate and distribute test releases. #1056
Improve the "Send logs" feature. In its current state, "send logs" is not very useful - the logs are not filtered for our app, and some logs that we receive don't contain anything from our app even after filtering. We need to investigate why this is happening and modify the feature (with filters) so that we can actually get useful logs from users. #1489
Better handling of failed uploads. In cases where we know the reason for a failed upload, we should mention it to the user (e.g. low connectivity, or not logged in, etc.).  We should also allow user to re-upload the photo (this feature currently exists but does not work a lot of the time). #1556

Misc

Create a Medium blog for our app and try to get our blog included in the Wikimedia collection #1462
Release v2.10 containing all the improvements above and fix all issues with implementation

Notes

This plan is slightly more sparse with regards to new features per time than our current grant. The reason is that our current grant has taken 2+ months longer than estimated to complete, largely due to my underestimation of how long it takes to fix bugs and issues with each new feature. Based on our IEG renewal, I realized that more time needs to be allocated for bug fixes. Hopefully with this plan we will finish on time with a polished and non-buggy implementation, rather than running late. If we finish ahead of time, we will work on additional high-priority issues.
A midpoint report and final report/blog post are factored into the time estimates.

Looks good!

Looks quite nice and focusing on the technical aspects of the code rather than focusing only on new features seems really beneficial in the long term.

Hello all, sorry for taking longer to answer (vacation time). This looks really good and I don't think I know enough about this to be able to comment on prioritization of issues etc. To me it looks really logical and easy to verify. We'll be discussing this in depth next week and we'll e-mail you some summary of our agreement (which doesn't need to be signed as far as we are concerned) including some very elementary reporting.

Thanks all! :)

Aaaannnddd... it looks like we're done, a bit sooner than expected even! :) I wrote up a blog post (https://cookiesandcodeblog.wordpress.com/2018/12/21/v2-10-alpha-testing/ or https://medium.com/@commons_android_app/v2-10-alpha-testing-fdf6c18a0007 ) that summarizes the improvements made as part of this project. "Send Logs" was not mentioned, as it was already in the v2.9 blog post.
Thank you @VojtechDostal and WMCZ for making this possible. :)


images are not been rewrite

May i know how do we set the cache-control to public for this site?
https://www.oowdwoo.com/
i would also need tips on how to optimize site that load alot of images on page load.
Thank you.

Look at https://www.oowdwoo.com/?PageSpeedFilters=+debug, I see a lot of comments like:
<!--4xx status code, preventing rewriting of https://www.oowdwoo.com/wdtps/wddw/external/images/wlogo-ss.png-->

It looks like mod_pagespeed is not able to fetch your images. It may be worth reading up at https://modpagespeed.com/doc/https_support (specifically "Configuring SSL Certificates").
Alternatively, you can use MapOriginDomain or LoadFromFile to inform mod_pagespeed how to get to your images in alternative ways.

i went to use maporigindomain
new error

Well I am still seeing the same error.
Maybe you can check the access logs to verify if and how the requests from mod_pagespeed arrive. (the user-agent header should mention 'mod_pagespeed')?

could this because of cache-control been set to no-cache ?

The deadline_exceeded exceeded messages mean that mod_pagespeed is still working to produce an optimized version for the preceeding resource(s). These messages should go away after a couple of page reloads.
And indeed, mod_pagespeed is not going to optimize uncacheable resources, so that would need fixing. (but I wouldn't have expected the debug comments to mention 404 for uncacheable resources though )


Fix NSInvalidArgumentException in main, line 8

Version: 2.1.0 (2015.07.24) | net.artsy.artsy
Stacktrace
-;main;main.m;8
Reason
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing the same view controller instance more than once is not supported (<ARAppSearchViewController: 0x1576b4790>)'
Link to HockeyApp

https://rink.hockeyapp.net/manage/apps/37029/crash_reasons/41108994

This is the search view controller :sob:

If you're fast enough, you can tap the Search button before the search controller is removed from the stack.

This is still occurring, as reported in #850.

could disable the button on tap? when re-enable when a push is finished?

Something like that yeah, ideally we should just show it once the push is finished imo.


Wren does not compile in 32bits (mingw/windows)

I tried to compile Wren using mingw or cygwin in 32b, and it failed miserably.
src/wren_value.h:511:24: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
 #define AS_OBJ(value) ((Obj*)((value).bits & ~(SIGN_BIT | QNAN)))

Then I tried adding -m64 and it compiled on cygwin (mingw can't because of stdarg.h) but "core dumped" on execution of hello.wren (edit: running wren.exe without any argument give the same results).

Program received signal SIGSEGV, Segmentation fault.
0x0000000100402a1b in wrenUnpinObj ()
(gdb) bt
#0  0x0000000100402a1b in wrenUnpinObj ()
#1  0x0000000100404ab6 in defineClass ()
#2  0x000000010040626c in wrenInitializeCore ()
#3  0x00000001004025fa in wrenNewVM ()
#4  0x000000010040b42a in main ()

Interesting. I wonder if we need another cast in the middle there to explicitly truncate it down to 32 bits. I can't repro this locally, but I can explain what's happening if that will help you look into this. Wren stores all values as a union of a Nan-tagged double and a 64-bit uint. The .bits gets the value as a 64-bit uint. The & ~(SIGN_BIT | QNAN) masks off all of the Nan stuff, leaving a 32-bit pointer stored in the rightmost bits of the 32-bit uint. Then we cast that to a pointer.
Can you try changing that line to:
#define AS_OBJ(value) ((Obj*)(uint32_t)((value).bits & ~(SIGN_BIT | QNAN)))

And see if that helps?

it worked, but I also had to modify wren_value.h:L667, change 64 to 32.:
return (Value)(SIGN_BIT | QNAN | (uint32_t)(obj));

on another (not serious) point, I also hade to remove -fPIC since « all code is position independent ».

FWIW removing -Werror also makes it compile just fine (passes all tests).

I may still need to do a fix here, but I just landed a bunch of patches to make Wren compile as C++. That involves changing the value representation, so this might be fixed. Or, who knows, made worse.
Any chance you could retest?
Thanks!

it does not compile with g++, I get src/main.c:183:3: sorry, unimplemented: non-trivial designated initializers not supported.
If had to make a few changes to to make it compile:
change the C++ standard to C++11 and change the initialization of "config" to:
WrenConfiguration config { // no equals sign
    reallocateFn: NULL, // field in the same order as the struct
    // Since we're running in a standalone process, be generous with memory.
    initialHeapSize: 1024 * 1024 * 100,
    minHeapSize: 0,
    heapGrowthPercent: 0
  };

Also I know how to fix what causes the segfault of my first post, but I have no idea why. Just print the value of pinned in wrapPinObj:
void wrenPinObj(WrenVM* vm, Obj* obj, WrenPinnedObj* pinned)
{
  printf("%p\n", pinned); // <-- remove this line and it will segfault
  pinned->obj = obj;
  pinned->previous = vm->pinned;
  vm->pinned = pinned;
}

I'd like to not require C++11 (although, of course, it should allow that). I just went ahead and removed that initializer and initialized the struct manually. Does that help?

it does to compile in C++98 now.
About the casting in AS_OBJ and wrenObjectToValue, maybe using uintptr_t could help.

it does to compile in C++98 now.

\o/

About the casting in AS_OBJ and wrenObjectToValue, maybe using uintptr_t could help.

Maybe, I think just truncating works too. I'll try to get a fix in soon for that.

uintptr_t would help because it should equivalent to uint32_t on x86 and to uint64_t on x86_64. No need to another #if/#else to avoid the cast [...] of different size.
ps: I read the standard and it says that uintptr_t is optional, but so is uintN_t.

OK, I think I got it. If not, let me know.

compiled perfectly (C & C++) \o/

:tada:


⚠ AGEG website (redirect) has degraded performance

In 313aa04, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 8919 ms

Resolved: AGEG website (redirect) performance has improved in c5d1a91.


AWS sdk version issue

I get the following error, from the gradel build aws sdk version is 1.9.18 but i am using 1.10.2
java.lang.NoSuchMethodError: com.amazonaws.AmazonWebServiceRequest.copyPrivateRequestParameters()Ljava/util/Map;

this is due to cloudwatch jar mismatch to aws core..

release 0.1.5 with the update to maven central, should show up shortly:  http://search.maven.org/#search|gav|1|g%3A"com.damick" AND a%3A"dropwizard-metrics-cloudwatch"


Add Makefile to install dependencies

Using a makefile, we can easily install the dependencies for both Python as well as MongoDB.
Reference: https://opensource.com/article/18/8/what-how-makefile

The makefile will include all the shell commands we are currently using to set the project up, i.e creating the executable, installing MongoDB, etc.

I am willing to work on this issue.

Sure, go ahead :+1:

@aryankoul / @thescriptninja  is this issue still open? Shall I try?

@neesara please go ahead :+1:


Does not work with twig synthax

Using This twig synthax highlighter, emmet does not work :(

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/23779508-does-not-work-with-twig-synthax?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F535900&utm_medium=issues&utm_source=github).

any updates ?

Telling “something doesn’t work” isn’t helpful. Plese describe what you are doing and what you expect to see

Well I do not know how describe with details, while atom use html-twig synthax, any emmet feature works like writing .pod and press tap does not work.
When I change the synthax highlight to html, everything works fine, but I expect that emmet could work with html-twig synthax highlights as it does on sublime text.
Hope it's more clear

writing .pod and press tap does not work.

https://github.com/emmetio/emmet-atom#tab-key

@sergeche thanks, it worked well ! (sorry for the miss in the doc)

If Emmet doesn't work with your twig file, Atom might be parsing it incorrectly.  Install reesef/php-twig or similar, and Atom will give you Emmet functionality in e.g. 'randomfilename.html.twig'

Hi , i've tried all solutions explained here and emmet don't expand abbreviations in txt.html.twig files,
even using 'reesef/php-twig' or overiding key-bidings for twig grammar. If i change grammar for source.nunjuck emmet works ...so i'm not sure if it's really a problem with emmet.
i've tried others twig language packages and it's the same, abbreviation expand is not triggered…


[BUG] Error fetching linked users from the API

Value error: Invalid response format: 'status' not found or not 'success'
2023-09-09 16:46:30 ERROR    discord.ext.tasks Unhandled exception in internal background task 'bg_task'.
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/ext/tasks/init.py", line 239, in _loop
await self.coro(*args, **kwargs)
File "/home/container/bot.py", line 64, in bg_task
linked_users_response = await get_linked_users()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/container/functions.py", line 65, in get_linked_users
raise ValueError("Invalid response format: 'status' not found or not 'success'")
ValueError: Invalid response format: 'status' not found or not 'success'
2023-09-09 16:50:48 ERROR    discord.client Attempting a reconnect in 1.25s
Traceback (most recent call last):
File "/home/container/.local/lib/python3.11/site-packages/discord/client.py", line 659, in connect
await self.ws.poll_event()
File "/home/container/.local/lib/python3.11/site-packages/discord/gateway.py", line 646, in poll_event
raise ConnectionClosed(self.socket, shard_id=self.shard_id, code=code) from None
discord.errors.ConnectionClosed: Shard ID None WebSocket closed with 1000

Make sure the bot and the API are on the same server, as it won't accept requests from different IPs. Check that you've set up the panel correctly using setup.php. Also, double-check the config.json file to ensure it's configured correctly.

Since no further answers were added by the author, this issue is now treated as completed.


Tutorial 2: Representing the building

Tutorial 2 has been incorporated now!
See PR: #18

Solved! See PR #20


[MGDOBR-834] Use specific model classes for Webhook requests

Also added support for deleting specific request entry based on id

DTO can be extended to cover additional values if needed

@avano Here is the additional Webhook implementation - DTO + some minor adjustments


Can't run basic demos

I can't run a basic example, found on https://coaguco.tumblr.com/post/128240756897/steamworks-for-python-tutorial-linux.
I downloaded this repo, used the pre-compiled .so library, and installed libsteam to /usr/lib cuz steam forgot it.
In the test folder I've got game.py, steam_appid.txt(480), SteamworksPy.so, also steamworks.pyc.
The contents of game.py:
# -*- coding: utf-8 -*-
from steamworks import *

Steam.Init()

NAME = SteamFriends.GetPlayerName()
print(NAME)

They might be outdated.  What error are you getting?

Updated comment
Error:
Traceback (most recent call last):
  File "game.py", line 7, in <module>
    Steam.Init()
  File "/home/laci/Dokumentumok/SteamworksForPython-master/tg/steamworks.py", line 51, in Init
    Steam.cdll = CDLL(os.path.join(os.getcwd(), "SteamworksPy.so"))
  File "/usr/lib/python2.7/ctypes/__init__.py", line 362, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/laci/Dokumentumok/SteamworksForPython-master/tg/SteamworksPy.so: undefined symbol: SteamUserStats

Hmm.  Did you compile the .so file yourself or use the one in the zip?

I used the premade one cuz compiling failed.

...
Now I tried to compile again, and it worked by adding -std=c++0x  to the makefile. I tried this B4, but it failed...
Anyway, it looks like working!
Please:

Add a working build, or at least remove it if it dosn't work.
Correct makefile
Add "install libsteam" to the installation notes
THX!

Actually the instructions as I have them work fine for me and I've not heard anyone say they don't work so far.
What do you mean "install libsteam"?

I had to install libsteam_api.so to /usr/lib to let it work. Else it didn't found it.
With the default makefile, I got the following error:
laci@lacigepe:~/Dokumentumok/SteamworksForPython-master$ make
g++ -o SteamworksPy.so -shared -fPIC SteamworksPy.cpp -lsteam_api
SteamworksPy.cpp: In member function ‘void Workshop::OnWorkshopItemCreated(CreateItemResult_t*, bool)’:
SteamworksPy.cpp:200:33: error: ‘nullptr’ was not declared in this scope
   if (_pyItemCreatedCallback != nullptr)
                                 ^
SteamworksPy.cpp: In member function ‘void Workshop::OnItemUpdateSubmitted(SubmitItemUpdateResult_t*, bool)’:
SteamworksPy.cpp:208:33: error: ‘nullptr’ was not declared in this scope
   if (_pyItemUpdatedCallback != nullptr)
                                 ^
Makefile:2: recipe for target 'makeall' failed
make: *** [makeall] Error 1

Ah, OK.  This version contains functions added by a pull request that I didn't write and, clearly, didn't check first before merging.  I thought that Workshop stuff seemed odd.  I presumed their code was fine as it is used in a working game.
I haven't used the wrapper in a while as I've moved from my Python engine to Godot. But I'll check it out and make some changes right now.

OK then

Thanks for bringing this to my attention though!  Don't want to leave unworking code just lying about.


Razer DeathAdder V2

Hi,
Can you please add support for razer mice, especially for the DeathAdder V2, I'd really appreciate that. My current Programm can't handle the middle mouse button.
Thanks
Sailor1547

I have a Rzer DeathAdder V2 Pro, it would also be nice to support this one (I guess it's not so far from the non-pro version).
That said, @Sailor1545 my middle mouse button works perfectly fine by default with my mouse on all the applications I've tested.

See also:

https://github.com/libratbag/libratbag/issues/103

Closing in favor of #103


Fix Cargo.toml formatting error and refactor files

Fix Cargo.toml parsing error

'alpha' causes error in package version

Refactoring main and access_doc files

ok


LPC appears to consume 17mA on average

Hi,
I checked my code with the official nRF52832 dev board from Nordic and then tried it to run on nRF52832-mdk. It works great. Thanks for the USB support.
However, I noticed that the LPC11U35 and other non-Nordic related components on the board appear to consume 17mA when doing nothing i.e. idle period.
Is it possible to lower the power consumption of the LPC11U35 or shutdown down the LPC11U35 after say 10 seconds after bootup and keep the nRF52832 running? Perhaps, can you point me to the source code for LPC11U35 so that I can perform these changes.
Looking forward to your reponse.
Thanks

@Django0 You can just supply the power via VIN pin. USB will power LPC11U35 and nRF52832, but VIN only powers nRF52832.

Thank you very much for this valuable input. I will close this issue now. I will reach out if I run into problems.


Hot reload not working properly

Describe the bug
Making change to some of the files don't trigger a hot reload, so I have to restart the terminal to get the changes on the file.
Link to the blitz that caused the error
https://stackblitz.com/edit/vitejs-vite-4xawxo?file=package.json,src%2Fmodules%2FApp%2Findex.tsx,src%2Flib%2Fquery.ts,src%2Fmodules%2Fscenes%2Factions.ts,src%2Fmodules%2FApp%2Fcomponents%2Fheader.tsx,src%2Fmodules%2FApp%2Fcomponents%2Fscenario.tsx
Steps to reproduce

go to a react file
make a change
go to a non react file
make a change

Expected behavior
For the changes to be visible on the browser
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Firefox
Full version  = 128.0
Major version = 128
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
performance.memory = undefined
Hash = 41692973

Additional context
No response

I'm getting the same issue with an Angular blitz, also Firefox 128.0

Works in Chrome. (I suspect it's the firebase CORS issue)

hi! :wave: thanks for reporting this issue
this appears to work when I test it, could you take a look at the browser console and see if there are any errors that might be relevant and paste them here?

@kirjavascript

The resource in “https://stackblitz.firebaseio.com/.lp?start=t&ser=75114529&cb=21&v=5” was blocked due it's header Cross-Origin-Resource-Policy (or lack of it). Consult https://developer.mozilla.org/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)#

Same error here:
The resource at “https://stackblitz.firebaseio.com/.lp?start=t&ser=REDACTED&cb=36&v=5” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See https://developer.mozilla.org/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)# stackblitz-starters-swcvax
Loading failed for the <script> with source “https://stackblitz.firebaseio.com/.lp?start=t&ser=REDACTED&cb=36&v=5”.

I tested in Firefox 128 and it works here.
I get the same errors about not finding the source file, so I don't think it's related to that.
I don't get any of the firebase errors though. Could this be due to some firewall rules blocking it? Could you try from another net connection?

This is same as https://github.com/stackblitz/webcontainer-core/issues/1317

This is same as #1317

Thanks, I've associated the ticket.


[WIP]Initial import of Postgresql system role

@fila43 for the content of the config files - primarily postgresql.conf - there are a lot of pre-set config parameters in this file

Is it necessary for postgres to have the postgresql.conf file at all?  Will it operate with no file or an empty file?
Is it necessary to have some of these parameters set in the file?  If so, is there some way to determine what parameters they are, and what the values should be?
If the config file and some of its parameters are mandatory, and there is no way to determine what the set of parameters are or their values, is there a way to retrieve a copy of the postgresql.conf provided with the RPM, or otherwise determine what is the default postgresql.conf should be?

We have this problem with some of our other roles - the config file must be present, and the RPM packager has determined that there must be a set of parameters set to a particular value in the config file, and these values are found nowhere else.  In that case, when the role first runs, we may have to uninstall postgres if it is already present, then reinstall, then save a copy of the original, pristine postgresql.conf.
If the role cannot "own" the entire contents of postgresql.conf, then we cannot use a template - instead, we will have to use something like blockinfile, and the role will "own" its own section of postgresql.conf.  But then the role may need to override or even delete some of the "built-in" parameters of postgresql, and that won't be possible to do if the role cannot modify the entire file.

The ideal situation is that the role completely owns the content of postgresql.conf - the problem is if the role needs to provide different versions of postgresql.conf for every supported version - one consequence is that the RPM maintainer (or whoever it is that maintains the contents of postgresql.conf in the RPM package) must be very tightly coordinated with the role maintainer, so that they are mostly in sync - if there are very few version differences, this is feasible by using jinja conditionals in the template e.g.
{% if postgresql_version is version('10.9.7', '>=') %}
{# index_compression parameter added in version 10.9.7 #}
index_compression = true
{% endif %}
{% if postgresql_version is version('11.6.4', '>=') %}
replica = {{ postgresql_replica_name }}
{% else %}
{# in earlier versions, replica is a boolean - in later versions, it is the name of the replica #}
replica = true
{% endif %}

as you can see, this can get quite ugly if there are many differences.  In that case, it makes sense to have a different template file per major version:
templates/postgresql.conf.10.j2
templates/postgresql.conf.11.j2
...
- name: Manage postgresql.conf
  template:
    name: postgresql.conf.{{ postgresql_major_version }}.j2
...

@fila43 for the content of the config files - primarily postgresql.conf - there are a lot of pre-set config parameters in this file
* Is it necessary for postgres to have the postgresql.conf file at all?  Will it operate with no file or an empty file?

* Is it necessary to have some of these parameters set in the file?  If so, is there some way to determine what parameters they are, and what the values should be?

* If the config file and some of its parameters are mandatory, and there is no way to determine what the set of parameters are or their values, is there a way to retrieve a copy of the postgresql.conf provided with the RPM, or otherwise determine what is the default postgresql.conf should be?

We have this problem with some of our other roles - the config file must be present, and the RPM packager has determined that there must be a set of parameters set to a particular value in the config file, and these values are found nowhere else. In that case, when the role first runs, we may have to uninstall postgres if it is already present, then reinstall, then save a copy of the original, pristine postgresql.conf.
If the role cannot "own" the entire contents of postgresql.conf, then we cannot use a template - instead, we will have to use something like blockinfile, and the role will "own" its own section of postgresql.conf. But then the role may need to override or even delete some of the "built-in" parameters of postgresql, and that won't be possible to do if the role cannot modify the entire file.

@richm postgresql.conf is necessary to be present for the server running, it's created during initialization by the server itself with preset values. Based on the review and after consideration, I think there is one suitable way to address this problem. In postgresql.conf we can specify an expanding configuration file. That could be managed exclusively by the role. So problems with versioning shouldn't be present.

@fila43 for the content of the config files - primarily postgresql.conf - there are a lot of pre-set config parameters in this file
* Is it necessary for postgres to have the postgresql.conf file at all?  Will it operate with no file or an empty file?

* Is it necessary to have some of these parameters set in the file?  If so, is there some way to determine what parameters they are, and what the values should be?

* If the config file and some of its parameters are mandatory, and there is no way to determine what the set of parameters are or their values, is there a way to retrieve a copy of the postgresql.conf provided with the RPM, or otherwise determine what is the default postgresql.conf should be?

We have this problem with some of our other roles - the config file must be present, and the RPM packager has determined that there must be a set of parameters set to a particular value in the config file, and these values are found nowhere else. In that case, when the role first runs, we may have to uninstall postgres if it is already present, then reinstall, then save a copy of the original, pristine postgresql.conf.
If the role cannot "own" the entire contents of postgresql.conf, then we cannot use a template - instead, we will have to use something like blockinfile, and the role will "own" its own section of postgresql.conf. But then the role may need to override or even delete some of the "built-in" parameters of postgresql, and that won't be possible to do if the role cannot modify the entire file.

@richm postgresql.conf is necessary to be present for the server running,

ok

it's created during initialization by the server itself with preset values.

The posgresql server can generate a "default" postgresql.conf?  So the way the role could work is this:

remove postgresql.conf
generate new default postgresql.conf
use the lineinfile or ini_file module to modify the generated config

Based on the review and after consideration, I think there is one suitable way to address this problem. In postgresql.conf we can specify an expanding configuration file. That could be managed exclusively by the role. So problems with versioning shouldn't be present.

Not sure what you mean here.

@richm your solution is probably very similar to my idea. Using lineinfile module looks pretty straightforward. I am just wondering why we need to remove generated postgresql.conf ?
I would only append include_if_exists directive into generated conf file. And it would point to exclusively managed (generated from template) configuration file by the role.
That means:

PostgreSQL server will have the default generated file recommended by the upstream for current version. So we do not need to maintain a template with possibly different set of default values for each version.
The system role will own separate conf file.
If user prefers default configuration, there will be no action needed
If user wants tunning the settings, then we will generate separate configuration file that overload the default values.

@richm your solution is probably very similar to my idea. Using lineinfile module looks pretty straightforward. I am just wondering why we need to remove generated postgresql.conf ?

I guess we would not need to do that if we use what you specify below.

I would only append include_if_exists directive into generated conf file. And it would point to exclusively managed (generated from template) configuration file by the role.
That means:
* PostgreSQL server will have the default generated file recommended by the upstream for current version. So we do not need to maintain a template with possibly different set of default values for each version.

* The system role will own separate conf file.

* If user prefers default configuration, there will be no action needed

* If user wants tunning the settings, then we will generate separate configuration file that overload the default values.

This implies that the user can provide a setting in the separate conf file that overrides the default value in the default generated file?  e.g.
postgresql.conf:
var = some value
...
include_if_exists /etc/postgresql/system-roles.conf

then
/etc/postgresql/system-roles.conf:
var = another value

then the server will use var = another value?
What if I want to delete var?

@richm your solution is probably very similar to my idea. Using lineinfile module looks pretty straightforward. I am just wondering why we need to remove generated postgresql.conf ?

I guess we would not need to do that if we use what you specify below.

I would only append include_if_exists directive into generated conf file. And it would point to exclusively managed (generated from template) configuration file by the role.
That means:
* PostgreSQL server will have the default generated file recommended by the upstream for current version. So we do not need to maintain a template with possibly different set of default values for each version.

* The system role will own separate conf file.

* If user prefers default configuration, there will be no action needed

* If user wants tunning the settings, then we will generate separate configuration file that overload the default values.

This implies that the user can provide a setting in the separate conf file that overrides the default value in the default generated file? e.g.
postgresql.conf:
var = some value
...
include_if_exists /etc/postgresql/system-roles.conf

then
/etc/postgresql/system-roles.conf:
var = another value

then the server will use var = another value?

Yes

What if I want to delete var?

Deleting is not possible without touching the original /var/lib/pgsql/data/postgresql.conf, but I don't think it's a problem. Because the variables could be overwritten by the inverted value or by the other option. In fact, it is done by PostgreSQL by default if a variable is missing.
For example dynamic_shared_memory_type variable:

By default, postgresql.conf assign to this variable postfix value -> effective value in server is postfix
After removal this variable -> effective value in server is also postfix

So the variable could be removed, but it effectively leads to using a predefined value. And for switching off postfix, I need to use another option. The same approach is also used in the case of boolean variables

ok - this is looking pretty good so far - are you planning to add some tests?

thanks for your patience with the review. I need properly to test the functionality after changes within the review, and then, of course, I plan to sync with our postgresql QA to add tests

thanks for your patience with the review. I need properly to test the functionality after changes within the review, and then, of course, I plan to sync with our postgresql QA to add tests

ok - do you want to merge this PR?  If so, please remove the [WIP]

ok let's merge it, tests I will prepare in separate PR


Update to Request.get_json() in Werkzeug 2.1.0 breaks empty forms

Similar to #510 - the get_json() change in Werkzeug 2.1.0 https://github.com/pallets/werkzeug/issues/2339 breaks any empty submitted form (not json).
From form.py:
 def wrap_formdata(self, form, formdata):
            if formdata is _Auto:
                if _is_submitted():
                    if request.files:
                        return CombinedMultiDict((request.files, request.form))
                    elif request.form:
                        return request.form
                    elif request.get_json():
                        return ImmutableMultiDict(request.get_json())

If the form is an empty ImmutableMultiDict - it falls into the get_json() code which is then checking that the content-type header has been set to application/json.
Possible solution would be to change elif request.get_json() to elif request.is_json()
Expected Behavior:
Empty form submits should be allowed as they were. In the case of an empty form - None should be returned from the wrapper.
Environment:

Python version: 3.8
Flask-WTF version: 1.0.0
Flask version: 2.1

Will make a 1.0.1 release soon.

Flask-WTF 1.0.1 is available: https://pypi.org/project/Flask-WTF/1.0.1/

Thank you... thank you...


Issue with Keyframes and Style Component

Hey not sure if this is my misunderstanding of the setup, but I can't seem to get keyframes to work inside the Style component. I've tried all sorts of variations of where to put the Style and StyleRoot tags and nothing seems to work.
Code Below:
import React, {Component} from 'react';
import Radium, {Style} from 'radium';

class GlobalStyles extends Component {
	render() {
		return

			, ...)

Expected Behavior
CSS in rendered style component to be:
.Overlay {
    animation: x 0.7s ease-in-out;
    animation-name: overlayFadeIn; /* or something similar - can't remember what it's supposed to be */
}

Actual Behavior
CSS in rendered style component is:
.Overlay {
    animation: x 0.7s ease-in-out;
    animation-name: [object Object];
}

@SimeonC The Style component does not currently support keyframes. I'm going to mark this as an enhancement to keep it on our radar. For the time being, you should be able to add the keyframe animation to the style of your .Overlay div instead of using the Style component + a class name.


vendored_typeshed_versions should use db.vendored

Summary
This fixes a bug in the module resolver where it always defaulted to the versions file
bundled with Red Knot rather than using the vendored file system instance returned by db.vendored.
Not using db.vendored can lead to inconsistencies, as seen in the ruff module graph resolver where
the versions file is read from the static vendored file system but the modules are then resolved from
the empty vendored file system set on the ModuleGraphDb.
Now, this also shows that Ruff needs the vendored stubs. At least, the VERSIONS file because Red Knot verifies if the stub directory is valid when constructing the ProgramSettings to prevent the situation where a user runs red_knot fix with a broken custom typeshed dir.
Test Plan
cargo test

I tried to make the typeshed versions usage as lazy as possible but there are some module graph tests that still access typeshed for imports that fail to resolve. We would have to add support for no typeshed to the module resolver to make the vendored stubs truly optional.


Fix WidgetsBinding potentially null

Fix this issue:
.pub-cache/hosted/pub.dartlang.org/scroll_date_picker-3.6.0/lib/src/scroll_date_picker.dart:120:31: Error: Method 'addPostFrameCallback' cannot be called on 'WidgetsBinding?' because it is potentially null.
Type of change
Please select PR type by entering x between [ ].

[x] Bugfix
[ ] Feature
[ ] Refactoring
[ ] Documentation content changes

Description
I got error when add this package.
.pub-cache/hosted/pub.dartlang.org/scroll_date_picker-3.6.0/lib/src/scroll_date_picker.dart:120:31: Error: Method 'addPostFrameCallback' cannot be called on 'WidgetsBinding?' because it is potentially null.
Changes:
WidgetsBinding.instance.addPostFrameCallback ~> WidgetsBinding.instance?.addPostFrameCallback

That's a fix for Flutter 3. It is expected that it will be resolved if you use version 3.5.0 or lower.


ECS worked example

Using LAA implementation as an example, use the MP module and additional terraform resources to create an ECS cluster with resource monitoring/alerting and autoscaling based on resource metrics in our example environment. This will help customers looking to implement an flexible ECS cluster in their own environment.
The example should use the outputs of the MP ECS module to create a node scaling and service scaling policies based on cloudwatch resource metrics/alerts.
DOD:

[ ] ECS cluster created
[ ] Documentation updated

https://github.com/ministryofjustice/modernisation-platform-environments/tree/main/terraform/environments/mlra/modules/ecs

https://github.com/ministryofjustice/modernisation-platform-environments/tree/main/terraform/environments/example

I had issues with my "M1" macbook failing to init on the example code. This has now been resolved so I can start to work on this again. Initial plan was to run the current code to setup the EC2 that should be in place.

The current version of the ecs module is difficult to get to work so we may need to bring all the code in. Likely to be moved to a post firebreak sprint

Implemented with this PR: https://github.com/ministryofjustice/modernisation-platform-environments/pull/1303
The deployment of infra was successful, however the deployment of app was not.
The follow on task will be created to investigate it.

this is the error when a task definition is being deployed:
service [example-app-ecs-service](https://eu-west-2.console.aws.amazon.com/ecs/v2/clusters/example-app/services/example-app-ecs-service?region=eu-west-2) was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster. For more information, see the Troubleshooting section of the Amazon ECS Developer Guide.

follow on tickets: https://github.com/ministryofjustice/modernisation-platform/issues/3019


Serialization infrastructure V2

Description
This PR refines the serialization infrastructure as introduced in the previous release, and integrates it with Retiarii.
Adopt nni.load and nni.dump in most cases where serialization is used in NNI.
I think this PR is big enough. I'll leave the work of evaluator_fn (to support evaluator that doesn't need to wrap with serialize) in a future PR.
Checklist

[x] test case
[x] doc

How to test
See test/ut/sdk/test_serializer.py. Needs to test NAS multi-trial examples and integration tests.

@ultmaster when should users use nni.trace, in what cases? do we have example or doc for the usage, not how to use it but when to use it?

@ultmaster when should users use nni.trace, in what cases? do we have example or doc for the usage, not how to use it but when to use it?

Users should never use nni.trace, except when they are explicitly instructed to use it (e.g., in NAS and compression cases).
I don't know about compression. For NAS, the planned user interfaces that implicitly use nni.trace are:

@basic_unit and @model_wrapper -- already public API.
@serialize and @serialize_cls-- will stay in the docs for another release. Users will get a deprecation warning that such API will soon be replaced<EMAIL_ADDRESS>The usage<EMAIL_ADDRESS>be exactly same as@serializeand@serialize_cls`.

So, how is @nni.trace different from @serialize?

@nni.trace is much more complicated and should be a lot more robust than @serialize.
Thanks to the new serializer (dump and load), we can now ask the user to write evaluator_fn instead of recursively initializing all the objects used in evaluator with @nni.trace. This is not implemented yet, but should be the next work item coming up after this PR gets merged.

This PR will be merged, and @QuanluZhang comments could be fixed in the following PR if they are required.


Swap documentation link for correct link

Critical Changes
Changes
Swaps old Github documentation link for new documentation link
Issues Closed
Closes #1235

Hello @ezralafleur,
Thanks for contributing - The new link is actually https://sfdo-community-sprints.github.io/DLRS-Documentation/
@coriobriensfdo Can you change the about section to link to the community sprints docs repo pages site? Attached is the screen shot of what I mean.

Looks good - Thanks.


Check primary email address fields on CreateUser

As this check wasn't available, uid=1 (and possibly guests too, if registration is open) is able to register new users with existing email addresses. This leads to numerous 500 errors.

As @BlackVoid mentions, it already checks this...

nvm, it checks EmailAddresses-table, not User. Could you move this check to models/user_mail.go:64 isEmailUsed instead?

Seems like the EmailAddress table may contain the primary email but doesn't have to. I find this behavior a bit odd even though it should be expected according to the comment.

@BlackVoid indeed

Should that maybe be rafactored to that all emails are in EmailAddress and have a IsPrimary-key for it? /cc @lunny

@bkcsoft I think yes.

I will give this LGTM and we need another PR to put all email to email_address table.

LGTM


Old migration files throw errors

I have old migrations with add_foreign_key and with rein they are throwing when I recreating database. I can't understand what causing this.
-- add_foreign_key("trades", "users", {:column=>"buyer_id"})
rails aborted!
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column "user_id" referenced in foreign key constraint does not exist
: ALTER TABLE trades ADD CONSTRAINT trades_user_id_fk FOREIGN KEY (user_id) REFERENCES users (id)

It looks like the user_id column is missing from your trades table at the time the add_foreign_key method is being run. Are you sure it's not missing, or hasn't been renamed? Maybe it's added in a later migration.
Sorry, I don't think this is a bug in rein.


[Feature]: equinix_metal_spot_market_request - Show IP Addresses as outputs

Description
With the equinix_metal_device resource the IP address is "access_public_ipv4" is available as an output. Are we able to provide a similar output when doing spot requests?
Currently we only get the following:
Terraform used the selected providers to generate the following execution plan. Resource actions are
indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # equinix_metal_spot_market_request.req will be created
  + resource "equinix_metal_spot_market_request" "req" {
      + devices_max   = 1
      + devices_min   = 1
      + facilities    = (known after apply)
      + id            = (known after apply)
      + max_bid_price = 0.14
      + metro         = "se"
      + project_id    = (sensitive value)

      + instance_parameters {
          + always_pxe        = false
          + billing_cycle     = "hourly"
          + hostname          = "server"
          + operating_system  = "ubuntu_20_04"
          + plan              = "m3.small.x86"
          + termination_time  = (known after apply)
          + termintation_time = (known after apply)
        }

Thanks!
Ryan
New or Affected Terraform Resources
equinix_metal_spot_market_request
Potential Terraform Configuration
So when running a plan and apply it would look something like this:
Terraform used the selected providers to generate the following execution plan. Resource actions are
indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # equinix_metal_spot_market_request.req will be created
  + resource "equinix_metal_spot_market_request" "req" {
      + devices_max   = 1
      + devices_min   = 1
      + facilities    = (known after apply)
      + id            = (known after apply)
      + max_bid_price = 0.14
      + metro         = "se"
      + project_id    = (sensitive value)

      + instance_parameters {
          + access_private_ipv4  = (known after apply)
          + access_public_ipv4   = (known after apply)
          + access_public_ipv6   = (known after apply)
          + always_pxe           = false
          + billing_cycle        = "hourly"
          + hostname             = "server"
          + operating_system     = "ubuntu_20_04"
          + plan                 = "m3.small.x86"
          + termination_time     = (known after apply)
          + termintation_time    = (known after apply)
        }

Learning Terraform here, so I was able to get an output of this by using this in my main.tf:
Marking this as closed as this works for me
resource "time_sleep" "wait_10_seconds" {
  depends_on = [equinix_metal_spot_market_request.eve]
   create_duration = "10s"
}

data "equinix_metal_device" "server" {
  project_id = local.project_id
  hostname   = "server"
  depends_on = [time_sleep.wait_10_seconds]
}

output "ipv4" {
  value = data.equinix_metal_device.server.access_public_ipv4
}


possible data lost

Hello!
If datasync interrupted before first sync is finished (with ctrl+c) next start will start delete files remotely (from google drive).

@axet Hi. I have not been able to reproduce this. This could only happen if the remote files had already been saved to the local manifest but not downloaded yet, which should not happen.
If you can reproduce this yourself (preferably with the remote_deletion option disabled so that you won't lose any actual data), would you mind sharing your manifest file? You can find it under ~/.drivesync/manifest
You can also email it to me privately<EMAIL_ADDRESS>

I give up with Google Drive under linux. Too much issues. Moved to YandexDisk


Delegated admin unable to create Dynamic Groups from web interface?

Using CSP Admin account, trying to create a new dynamic group from web UI Fails. However, connecting to MSOL Service using powershell and performing the same operation is successful.

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

ID: 24c25353-cfb3-811c-a970-2a04678eff6e
Version Independent ID: 145d404a-f7ed-17f6-79a6-0204ab7ee70b
Content: Create or edit a dynamic group and get status - Azure AD
Content Source: articles/active-directory/users-groups-roles/groups-create-rule.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

@jonwbstr Thanks for your feedback! We will investigate and update as appropriate.

That's odd! What error does it give when you do it from the web UI? Is there a chance the wrong credentials are being stored for some reason?
Is this a problem with all of your admin credentials or just some?
I will try to reproduce this on my end though I have not experienced this issue before.

Just a 'group creation failed' error instantly. Affecting all 5 of the
delegated admins I've spoken to. I can open a ticket with support if it's
not intended.
On Fri, Mar 27, 2020, 9:18 PM Marilee Turscak - MSFT <
<EMAIL_ADDRESS>wrote:

That's odd! What error does it give when you do it from the web UI? Is
there a chance the wrong credentials are being stored for some reason?
Is this a problem with all of your admin credentials or just some?
I will try to reproduce this on my end though I have not experienced this
issue before.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/50894#issuecomment-605373763,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXTPACX6YIEHJWEUIPWO73RJVF5VANCNFSM4LTR5OJA
.

If you send me an email at<EMAIL_ADDRESS>I can open a free support ticket for you. I'll also check on my end to see if anyone knows why this might happen.

Opened ticket<PHONE_NUMBER>03182, and attached a HAR browser trace to
facilitate troubleshooting.
On Sun, Mar 29, 2020 at 12:09 AM Marilee Turscak - MSFT <
<EMAIL_ADDRESS>wrote:

If you send me an email at<EMAIL_ADDRESS>I can open a free
support ticket for you. I'll also check on my end to see if anyone knows
why this might happen.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/50894#issuecomment-605555698,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXTPAC2BIWEZJF23IJJJQTRJ3CY5ANCNFSM4LTR5OJA
.

Thank you. Is the operation done in the CSP tenant or the customer's?

Customers, the engineer assigned to the ticket I shared determined this is
a known issue and will be resolved after things return to normal post
covod19
On Wed, Apr 1, 2020, 10:00 PM Marilee Turscak - MSFT <
<EMAIL_ADDRESS>wrote:

Thank you. Is the operation done in the CSP tenant or the customer's?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/50894#issuecomment-607577874,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADXTPAB6WEDOWXCGGEAMVYLRKPWT3ANCNFSM4LTR5OJA
.

Customers, the engineer assigned to the ticket I shared determined this is a known issue and will be resolved after things return to normal post covod19
…
On Wed, Apr 1, 2020, 10:00 PM Marilee Turscak - MSFT < @.***> wrote: Thank you. Is the operation done in the CSP tenant or the customer's? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#50894 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADXTPAB6WEDOWXCGGEAMVYLRKPWT3ANCNFSM4LTR5OJA .

It's never been possible to create or edit dynamic groups with AOBO as far as I know, and this is not a problem that suddenly appeared. I've never been able to create dynamic groups with AOBO, neither in GUI (portal.azure.com) nor with PowerShell AzureADPreview module.

Thanks for following up!

@MarileeTurscak-MSFT
Why did this issue get closed? AOBO scenario should either be fixed, or the documentation should be updated with this known limitation.


Adding a New Download - Add Paused

Currently the add new download screen has rather ambiguous text for adding files.
The green "Start Download" button should change based on the number of links to show pluralization (Download to Downloads). Or just be "Download(s)".
The drop-down for it says "Manual Download" that functions as "Add Links as Paused".
Maybe it could be just be:
"Add Link(s) as Running", "Add Link(s) as Paused"
OR
"Add Running", "Add Paused"
Just to be clear to the user 💃

(It seems easy to understand if translate that into Chinese. Maybe kind of Chinglish, or just derived from Chinese famous download manager Xunlei)

@no1xsyzy You're right...
The English localization of AriaNg still has many problem. I think I need some help to adjust the localization of AriaNg.

I try to change some words in English translation in today's daily build.


[Audit][Implementation]Hermes Intl

Implementation of shared Action Point Hermes Intl.
It will mostly contain replacement of localeCompare to alternative (currently primitive string comparison).
We need to seek out regressions regarding locales different than en - for now it looks fine.

Main concerns:

where to put patched stringCompare (for now it is extracted from other files, but I was thinking about placing it in the StringUtils as well)
es locale and it seemed quite good, but if it could be double-checked by someone with better expertise :es: :sunglasses:
performance is indeed better with Intl.Collator by qute a margin. If someone with an ability to run it on physical device could check that 🙇

Implementation with Intl.Collator

Implementation with primitive comparison


React Native - Add fonts to nativewind and remove custom Text component

What this does
Remove custom Text component which reason for existing was using custom fonts. Now fonts are loaded into NativeWind and we can use the built-in Text component from react-native
Closes #327
Checklist

[ ] Todo 1
[ ] Todo 2
[ ] Todo 3

How to test
Add user steps to achieve desired functionality for this feature.

so this is doing two things 1. switching to expo fonts AND moving them to the tw config. I assume that means in order for the second to work the first had to be done as well?

No. We already were using expo fonts. So that's the same.
We're just remapping how we use the different font variants. Rather than doing it with a custom component we're embedding them into native wind class names


Fix Minor Error

The Keybindings given for Ctrl-Z and Ctrl-Y were flipped.

I think this is intended since it is about how to rebind ctrl-y and ctrl-z to do the opposite of the default. Perhaps we should make this more clear. Thanks for being on the lookout though!

Oh ok.. then it makes sense I guess, but maybe mentioning that would help?


gitlab-runner: 13.11.0 -> 13.12.0

Motivation for this change
https://gitlab.com/gitlab-org/gitlab-runner/blob/v13.12.0/CHANGELOG.md
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

/cc @bachp @zimbatm @globin @dlouzan

Result of nixpkgs-review pr 123871 at 5ed9be27 run on x86_64-linux 1

1 package built successfully:

gitlab-runner

1 suggestion:

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/development/tools/continuous-integration/gitlab-runner/default.nix:36:15:
   |
36 |   patches = [ ./fix-shell-path.patch ];
   |               ^

@zimbatm Thanks for the quick merge, but we seem to have a problem:
That is really weird

Weird that @r-rmcgibbo didn't see the issue. Sending a fixup PR.


Prepare for CAN fingerprinting deprecation

I'm thinking this is the way we deprecate CAN fingerprinting:

remove all the unused fingerprints (#20994)
put CAN fingerprinting behind community features (#20993)
remove CAN fingerprints for cars that always use FW on release


Titanium Ore Dictionary breaks TechReborn progression

I wouldnt really consider this a bug but more of an enhancement.
If you don't know this, Tech Reborn has Titanium, but the Titanium in TR is supposed to be difficult to get and makes end game TR rather difficult because of how much Bauxite a player needs to get enough Small Piles of Titanium to progress. Advanced Rocketry on the other hand, has Rutile ore which is just Titanium in its ore form. Having AR Titanium be in the same ore dictionary as TR Titanium, kinda ruins Tech Reborn progression in a sense since instead of having to grind out the Bauxite, you can just mine out the Rutile ore and you're done.
As for my question. Is there any possibility to add in a check for TechReborn and then not register the Advanced Rocketry Titanium Dust/Ingot/Nugget/Block in the Titanium ore dictionary?
In my modpack, I am working on using CraftTweaker to fix this but there are some machines and mods that don't change their recipes when the ore dictionary changes. (Ex: AR Titanium Nuggets cannot be made into TR Ingots unless you do it through the Thermal Expansion Compactor. This is a recipe I cannot remove or fix purely with CraftTweaker and ModTweaker, or until ModTweaker gets compatibility for Thermal Expansion.)

I'm not really sure that's something that doable unless Tech Reborn also has titanium oredictionaried to something else because most of the recipes in AR are generated from ore dictionary entries.
If you really wanted to you could disable AR's titanium ore generation, though it may make it hard for players to find enough.

Alrighty. I will suggest to the Tech Reborn devs that they put their ores in ore:(form)TR(metalname) or something. Thanks anyways!

Is this still a issue? Please comment if it is and i will reopen if if you are unable? We are closing old issues to see what is still relevant and needs to be fixed.

This is not from what I can remember. My apologies for not closing this sooner. Granted if this continues to be an issue, it now can be fixed with Late Oredict Removal by CodeTaylor. Thanks anyways!


isDefaultExport is always false here.

isDefaultExport is always false on this line and adds nothing to the if statement here. Local tests took forever as always but succeeded.

Tried writing a lint rule for this but there are way too many false positives:
let someBool = false;
f();
return someBool;

The typechecker says someBool is definitely false at the bottom line. (#9998)


@types for sources outside of DefinitelyTyped (previously grabbed through typings)

TypeScript Version:  (2.0.0-dev.20160706)
Now that @types/ is replacing typings, how can we handle types that were coming from things besides DefinitelyTyped, like Github let's say.
Previously in typings this was done by:
"xhr2": "github:gdi2290/typed-xhr2#86ebfa644796b3a6553d22e62bb5e77fcae1eb8d"
xhr2 isn't in @types (https://www.npmjs.com/~types)
How can this be achieved now, is this future functionality that will come in upcoming releases perhaps?
For now I'm still using typings for those definitions that aren't part of @types yet, which isn't the end of the world, just wanted to see if anyone else has been running into this!

Tracking this at the types-publisher repo: https://github.com/Microsoft/types-publisher/issues/4

Oh okay great thanks Ryan! Apologies.


fixed bug on active fires analysis service

Overview
Fires analysis service (map --> draw shape) is currently giving back loss instead of active fires, this PR returns the correct value.

Added WIP - I'll work off this branch to fix the admin issue


Mesh constructor texture fix

This is fix for problem that was discovered in v5: #4721 . it can be hardly reproduced at https://jsfiddle.net/Hackerham/cpL5n1u9/13/ .
I'm trying to get the correct order of operations and throttling to show the bug

I don’t see what’s wrong with the fiddle. What happens when the big shows up?

That's better fix, if its ok im gonna put it in v5 too.

The fix isn't necessary, it looks like TextureMatrix tracks initial load as good as onTextureUpdate


default-util: fix log dir errors

I don't think it has to do with main vs remote app process. Getting the same error.

Can you squash the commits here so that I can merge it?

Merged, thanks @cPhost 🚀


fw-4324 + fw-4325, Songs model and endpoint

Description of Changes
Please briefly explain the changes here.
Checklist

[ ] README / documentation has been updated if needed
[ ] PR title / commit messages contain Jira ticket number if applicable
[ ] Tests have been updated / created if applicable
[ ] Admin Panel has been updated if models have been added or modified
[ ] Migrations have been updated and committed if applicable
[ ] Team Postman workspace has been updated if applicable

Reviewers Should Do The Following:

[ ] Review the code changes here
[ ] Pull the branch and test locally

Additional Notes
N/A

@sarahfirstvoices @gmcauliffe I've addressed your comments in the latest push.

I'm the one who opened the PR so I can't technically approve it, but spiritually I approve it. Feel free to approve it yourself once those few fields are added and the tests are passing.


[WIP] Enable basic matrix concatenation via the API

Fixes/implements https://github.com/HumanCellAtlas/matrix-service/issues/15

sorry, i’m still subscribed to your diff so i can’t help but comment:
re https://github.com/HumanCellAtlas/matrix-service/commit/c6d3de1: consider using https://github.com/chanzuckerberg/cloud-blobstore?  it’s what we use in the data-store, and encompasses all your functionality.  it's published in pypi.


error of vertex indices of a face after union operation

Hi, I've found that after the union calculation, the indices of vertices on a
same face may be repeated, for example if I output the result into an obj file,
an line with error is:

f 204 194 5 40 75 111 5 194 220

There are two index "5" vertices as well as "194" vertices. How could this
happen? How to fix the bug please?
Thanks!

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 3 Nov 2011 at 1:23

just one more word, why don't you just make the polyhedra triangular meshes
instead of polygonal meshes, such that this kind of error can be avoided.

Original comment by<EMAIL_ADDRESS>on 3 Nov 2011 at 2:16

This is a way of representing a hole in a polygon. This can still arise if the
input meshes are triangular. However, triangulating the output mesh will remove
holes such as this.

Original comment by<EMAIL_ADDRESS>on 8 Nov 2011 at 5:12

Changed state: Done
Added labels: Type-Other, Priority-Low
Removed labels: Type-Defect, Priority-Medium


[WIP] Decrypt LNURL-pay AES successAction on-the-fly

Extends #85 with the ablity to decrypt. Added as separate PR since it's a bigger change.

The simplest approach was to directly return the decrypted payload in the LNURL response inner data object AesSuccessActionDataDecrypted
This means the BreezServices::lnurl_pay now returns SuccessActionProcessed, which contains the decrypted payload in case of AES, but is otherwise identical to SuccessAction
The decryption happens within BreezServices::lnurl_pay

For this purpose, BreezServices::send_payment now returns the LnPaymentDetails of the payment done, which we need to get the preimage (decryption key)
The LnPaymentDetails are retrieved from the persister via SqliteStorage::get_payment_by_hash(). So, to make send_payment correctly return the LnPaymentDetails during tests, a test persister was added to the mock breez services.
Whereas send_payment calls a persister lookup, the new payment has to be made known to the persister. This is done via a test-specific global list. When a new test payment is created (MockNodeAPI::add_dummy_payment_for), the payment struct is added to this global list. It is then queried within sync, such that the persister gets updated with every new generated test payment. This allows us later on to do the persister lookup get_payment_by_hash.

Marking PR as WIP because persistence is not part of it yet.

@ok300  Note that the change to return Payment from the various send payment functions is already in main. so maybe you want to rebase this PR?


Load images from host into UC node

Feature Request
Provide a way to load images from the host into the Unmanaged cluster so that we can lower the time it takes to a working cluster, if we have those images available.
When creating a cluster, a lot of images are pulled down from internet, as there's no mechanism to cache the images on the host, they are downloaded directly into the kind-node and the minikubeVM. It'll be nice to provide a way to specify in the Unmanaged cluster config a way to cache (save and restore) images from the UC node into the host, so that when creating/deleting clusters frequently, time to a working cluster is minimized.
How I see this working would be something like:

Specify in the UC config a list of images that should be saved/restored/both
If when the cluster is created, the images are available, push the ones with "restore/both" to the UC node.
If they are not available, download from the remote registry and save the images on the host for next cluster bootstrap if defined as to be saved in the config
The process should still potentially check for the SHA of the images to prevent nefarious use, although this is nice to have, since the images would come from the user's host
Additionally provide tanzu uc commands for:

list images on node
save image
load image
add image to the config, create commands

Describe alternatives you've considered
We can use raw configuration for minikube and kind, but it would be ideal to have an OOTB way for all UC in a consistent manner.
Additional context

Somehow raised in this issue: https://github.com/vmware-tanzu/community-edition/issues/3955
Asked in this k8s slack thread: https://kubernetes.slack.com/archives/C02GY94A8KT/p1650545629347499

Ideally a new command could be supported by the client such as tanzu load container-image. the code to be developed should not be too complex. See by example what kind do


Dispatch turbo:before-fetch-{request,response} during preloading

Closes #963
Replace the raw call to fetch with a new FetchRequest instance that treats the Preloaded instances as its delegate. During that request's lifecycle, dispatch the turbo:before-fetch-request and turbo:before-fetch-response events with the <a> element as its target.
Prepare the request with the Sec-Purpose header in the prepareRequest delegate callback.
Write to the snapshot cache from within the
requestSucceededWithResponse delegate callback.

@afcapel this is rebased off #1033 and ready for review.

Makes sense, thanks @seanpdoyle 👍


Extending Device Model produces error on Registration

I can no longer use the registration url after extending device model since I have a non nullable user field.

Hello @renzosunico , sorry for very late reply , is this error coming in the new django-fcm 0.1.1 version ?

I have this same issue on 0.1.1. It looks like the root cause is that when you modify the Device model, the fields of the corresponding DeviceSerializer stay the same.
A quick fix would be to make a change in https://github.com/Chitrank-Dixit/django-fcm/blob/master/fcm/serializers.py#L9
fields = ('dev_id', 'reg_id', 'name', 'is_active')

to
fields = '__all__'

and https://github.com/Chitrank-Dixit/django-fcm/blob/master/fcm/admin.py#L14
list_display = ['dev_id', 'name', 'is_active']

to
list_display = [f.name for f in Device._meta.fields if f.name != "id" if f.name != "reg_id"]

I have these changes ready in a PR I will add to this repo if you'd like to add me as a collaborator.


Trying to choose a bogey for create steam and rails with FD installed causes game to crash

When using farmer's delight version 1.4.0 to 1.4.2 the bogey selection screen from Create: Steam and rails for tracks results in a crash.
Log:
https://pastebin.com/W0chfyzy
Minecraft version: 1.20.1
Farmers delight version: 1.4.0 or 1.4.2
Create version: 0.5.1d
Create S & R version: 1.5.1 & 1.5.0
Fabric version: 0.14.22
fabric api version: 0.88.1
Launcher/client: Modrinth
Reproduction:

have a 1.20.1 modpack with farmer's delight and create steam and rails(versions above)
try to select a bogey

i haven't tried farmer's delight 1.4.1 yet but I'm guessing the result will be the same. Also I tried this on a server, only the client crashes(yeah I should have guessed that).

Same here, would love for this to be fixed soon.

I'm also experiencing this issue between all 1.20.1 versions of FD and Create S&R. Would really appreciate a fix as well as it was the focus of our server.

tested and i can confirm 1.4.1 is also effected, it also crashes whenever i try to select the bogey


Build failure: awscli2

Steps To Reproduce
Steps to reproduce the behavior:

build awscli2

Build log
* Getting build dependencies for wheel...
* Building wheel...
Traceback (most recent call last):
  File "/nix/store/j3xg6ln22ng7b3qcs1dpha12x1kyldzd-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/nix/store/j3xg6ln22ng7b3qcs1dpha12x1kyldzd-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/j3xg6ln22ng7b3qcs1dpha12x1kyldzd-python3.12-pyproject-hooks-1.0.0/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
    return _build_backend().build_wheel(wheel_directory, config_settings,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/backends/pep517.py", line 64, in build_wheel
    _inject_wheel_extras(os.path.join(wheel_directory, whl_filename))
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/backends/pep517.py", line 189, in _inject_wheel_extras
    _build_and_inject_ac_index(BUILD_DIR, extracted_wheel_dir)
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/backends/pep517.py", line 217, in _build_and_inject_ac_index
    ac_index_build_name = _build_ac_index(build_dir)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/backends/pep517.py", line 228, in _build_ac_index
    from awscli.autocomplete.generator import generate_index
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/autocomplete/generator.py", line 17, in <module>
    from awscli.autocomplete.serverside.indexer import APICallIndexer
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/autocomplete/serverside/indexer.py", line 18, in <module>
    import awscli.clidriver
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/clidriver.py", line 22, in <module>
    import botocore.session
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/session.py", line 27, in <module>
    import botocore.client
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/client.py", line 16, in <module>
    from botocore import UNSIGNED, waiter, xform_name
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/waiter.py", line 17, in <module>
    from botocore.docs.docstring import WaiterDocstring
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/__init__.py", line 15, in <module>
    from botocore.docs.service import ServiceDocumenter
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/service.py", line 13, in <module>
    from botocore.docs.bcdoc.restdoc import DocumentStructure
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/bcdoc/restdoc.py", line 15, in <module>
    from botocore.compat import OrderedDict
  File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/compat.py", line 36, in <module>
    from botocore.vendored.six.moves import http_client
ModuleNotFoundError: No module named 'botocore.vendored.six.moves'

ERROR Backend subprocess exited when trying to invoke build_wheel
error: builder for '/nix/store/9jl3s028w0ck5s7lzx2y4llgq5yphaa3-awscli2-2.17.5.drv' failed with exit code 1;
       last 25 log lines:
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/backends/pep517.py", line 228, in _build_ac_index
       >     from awscli.autocomplete.generator import generate_index
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/autocomplete/generator.py", line 17, in <module>
       >     from awscli.autocomplete.serverside.indexer import APICallIndexer
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/autocomplete/serverside/indexer.py", line 18, in <module>
       >     import awscli.clidriver
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/clidriver.py", line 22, in <module>
       >     import botocore.session
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/session.py", line 27, in <module>
       >     import botocore.client
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/client.py", line 16, in <module>
       >     from botocore import UNSIGNED, waiter, xform_name
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/waiter.py", line 17, in <module>
       >     from botocore.docs.docstring import WaiterDocstring
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/__init__.py", line 15, in <module>
       >     from botocore.docs.service import ServiceDocumenter
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/service.py", line 13, in <module>
       >     from botocore.docs.bcdoc.restdoc import DocumentStructure
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/docs/bcdoc/restdoc.py", line 15, in <module>
       >     from botocore.compat import OrderedDict
       >   File "/private/tmp/nix-build-awscli2-2.17.5.drv-0/source/awscli/botocore/compat.py", line 36, in <module>
       >     from botocore.vendored.six.moves import http_client
       > ModuleNotFoundError: No module named 'botocore.vendored.six.moves'
       >
       > ERROR Backend subprocess exited when trying to invoke build_wheel)

Additional context
Possibly this is darwin-specific.
Notify maintainers
@bhipple @davegallant @bryanasdev000 @devusb @anthonyroussel

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 23.5.0, macOS 14.5`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.4`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/Users/dmorgan/.nix-defexpr/channels/nixpkgs`

Add a :+1: reaction to issues you find important.

Should be resolved by https://github.com/NixOS/nixpkgs/pull/325207 once it progresses to unstable -- can watch status here.

Yes, that fixed it, sorry for missing that PR when searching.


Language support for Altinn Studio docs

Added language switcher, enabled multilingual mode in Hugo and translated front-page, header and footer

LGTM - although I'm unsure if this makes much sense to ship when practically all content is monolingual 🤔

One step at the time, makes it much easier for us to test translations 😃
If this causes problems for our users, the language toggler can easily be hidden in a future PR.


Incorrectlly assigned timestamps for global forecast on multiple dates

When dates with different months are set in evaluate.py, for example:
  mode, options = 'global_forecast', { 'fields[0][2]' : [96],
                                      'dates' : [[2021, 2, 10, 12], [2021, 3, 10, 12], [2021, 4, 10, 12]],
                                      'token_overlap' : [0, 0],
                                      'forecast_num_tokens' : 1,
                                      'attention' : False }

  Evaluator.evaluate( mode, model_id, options)

The variable self.years_months in multifield_data_sampler.py (line 353) doesn't receive all months. And when a print statement is performed, the output is:
self.years_months = [(2021, 2)]

However, it is not affecting the run.

I had a similar issue a while ago and fixed it for my masterthesis, do you remember on what commmit/branch you were working on ?

Hi, I think this has been fixed in the new version. Could you please retry with the develop branch and write here the outcome?

I think the error still persists at least on commit 1fbb02a008688bd7068dd0762f5e272deada3e0d (current develop). Both prediction and target result data only contains the timestamps 2021-02-10T10-2021-02-10T12. Source contains hourly timestamps from 2021-02-09T01-2021-02-10T12.

Hi, yes we should have isolated the problem and added a temporal fix here: https://github.com/clessig/atmorep/issues/33
Can you try it out and let me know if it fixes it? if yes, I suggest to close this issue and continue in the other one which is more specific.

I tried your fix, but for multiple dates I will only ever get predictions for the first date

Uhm, interesting. Can you give me the model_id you are using so I can take a look?

I am using the the id3qou60es temperature model. Also I further investigated the faulty behavior and it seems like prediction samples for the other dates will be also generated, but will be assigned the timestamps from the first date

Hi, I tried again with iluise/head (which contains the fix) and the pretrained run temperature as you indicated. I used the following dates:
'dates' : [
              [2021, 1, 10, 12] , [2021, 1, 11, 0], [2021, 1, 11, 12], [2021, 1, 12, 0]
]

This is what I get:
>>> import numpy as np
>>> import zarr
>>> store = zarr.ZipStore("results/idxf8j65xh/results_idxf8j65xh_epoch00000_pred.zarr")
>>> root = zarr.group(store)
>>> all_dates = []
>>> for i in root["temperature"]:
...     all_dates.append(root[f"temperature/{i}"].datetime[:])
...
>>> np.unique(np.array(all_dates))
array(['2021-01-10T07:00:00.000000000', '2021-01-10T08:00:00.000000000',
       '2021-01-10T09:00:00.000000000', '2021-01-10T10:00:00.000000000',
       '2021-01-10T11:00:00.000000000', '2021-01-10T12:00:00.000000000',
       '2021-01-10T19:00:00.000000000', '2021-01-10T20:00:00.000000000',
       '2021-01-10T21:00:00.000000000', '2021-01-10T22:00:00.000000000',
       '2021-01-10T23:00:00.000000000', '2021-01-11T00:00:00.000000000',
       '2021-01-11T07:00:00.000000000', '2021-01-11T08:00:00.000000000',
       '2021-01-11T09:00:00.000000000', '2021-01-11T10:00:00.000000000',
       '2021-01-11T11:00:00.000000000', '2021-01-11T12:00:00.000000000',
       '2021-01-11T19:00:00.000000000', '2021-01-11T20:00:00.000000000',
       '2021-01-11T21:00:00.000000000', '2021-01-11T22:00:00.000000000',
       '2021-01-11T23:00:00.000000000', '2021-01-12T00:00:00.000000000'],
      dtype='datetime64[ns]')
>>> exit()

Which is 6x4 = 24 so what we expect no?
Could you please try with iluise/head and see if the problem persists?

looks good now, I also implemented a regression test on #15 to check the present timestamps against the expected timestamps inferred from the model_id<...>.json

super, thanks!


Browserify to webpack

Switch from browserify to webpack for both build and example app. Simpler configuration and smaller built distribution.


Update scala-library to 2.13.7

Updates org.scala-lang:scala-library from 2.13.6 to 2.13.7.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, early-semver-patch, semver-spec-patch

Codecov Report

Merging #144 (28de72a) into master (5cc61eb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #144   +/-   ##
=======================================
  Coverage   54.41%   54.41%
=======================================
  Files           1        1
  Lines          68       68
=======================================
  Hits           37       37
  Misses         31       31

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 5cc61eb...28de72a. Read the comment docs.


Implement Iterator for RopeSlice

This patch adds a new macro called generate_ropeslice_struct which is
used in both the rope & src_rope modules. It takes as an argument the
Lnode type defined in each of the aforementioned modules. The two
definitions of Lnode are slightly different, which require two different
definitions of RopeSlice, which is why I've done things like this.

Do you think there's a better way to share this behaviour between the two modules instead of using a macro?


requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=8123): Max retries exceeded with url: /graph (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fe896d2d2d0>: Failed to establish a new connection: [Errno 111] Connection refused'))

Not able to get through the error. Please guide

From the error report, your server.py did not start correctly. Please check whether your server.py is running normally. You can view the output of server.py in real time by running server.py directly instead of using nohup.

OSError: You seem to have cloned a repository without having git-lfs installed. Please install git-lfs and run git lfs install followed by git lfs pull in the folder you cloned.
I am getting this when i run server.py.
I installed git-lfs, but though i am getting this error

This shows that maybe some models downloaded from HuggingFace is missing.  Please check your checkpoints in ./checkpoints, if a folder is small than it should be, it may be damaged》
Maybe you can make sure LFS installed and then reuse the git clone  after deleting the model that originally downloaded from HuggingFace.

Thank its solved now.
But i am getting now this.
"gradio.exceptions.Error: "Error Occurred! Please try again.\n Error communicating with OpenAI: HTTPConnectionPool(host='localhost', port=8001): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f2b91f36050>: Failed to establish a new connection: [Errno 111] Connection refused'))"
Though i have added my openai key

In this project, we did not use ChatGPT but used Vicuna to deploy as OpenAI API. To deploy Vicuna-13B in OpenAI API, follow this instructions.

I am facing difficulty in setting this vicuna.  The instruction given is not helping. Could you please help with that.
I am able install fastchat but,
when i run python3 -m fastchat.serve.controller
i get this
2023-09-26 15:41:34 | INFO | controller | args: Namespace(host='localhost', port=21001, dispatch_method='shortest_queue', ssl=False)
2023-09-26 15:41:34 | ERROR | stderr | INFO:     Started server process [16279]
2023-09-26 15:41:34 | ERROR | stderr | INFO:     Waiting for application startup.
2023-09-26 15:41:34 | ERROR | stderr | INFO:     Application startup complete.
2023-09-26 15:41:34 | ERROR | stderr | INFO:     Uvicorn running on http://localhost:21001 (Press CTRL+C to quit)

This means you have start the controller successfully. You can continue to deploy according to the guidance.

Thanks, Its solved now.


Poise does not notice an existing startup file

I am using the Collectd cookbook (https://github.com/bloomberg/collectd-cookbook) which uses poise-service to configure the service files for collectd.  However, when collectd is installed, it already has a SysV init file /etc/init.d/collectd. This file is enabled by default, as that is what a Debian style (Ubuntu in this case) installation does. Then poise-service is called by the collectd cookbook and poise-service creates and enables a service file in /etc/init/collectd.  This then causes two copies of collectd to be started, a very undesirable outcome.
Poise needs to determine if there is already an existing service file for the given service, and not create a new one if there is. At the very least, it should stop/disable the other service file if it is going to create and enable its own.

This is out of scope for poise-service. If something is being installed from system packages it should ensure it nukes the distro-provided files: https://github.com/poise/poise-monit/blob/master/lib/poise_monit/monit_providers/system.rb#L64-L75
I'm working on some better generic tools for that, right now it's being handled one-off.

@coderanger Thanks for taking a look.  Still thinking this through. The stated goal of poise-service is so that the cookbook writer doesn't have to worry about the init system. If they have to have logic in their code to 'delete init file X if distro Y, delete init file A if distro B' etc, then they are still having to worry about the init system. Whereas if poise-service simply used the already provided init file that came with the distro's package, then the cookbook author wouldn't have to worry about disabling it. At least that's my impression. :)

The problem of distro-packaged /etc files is much broader than just init configs. For example, Ubuntu auto-starts services after install in a way poise-service can't know about unless it tried to enumerate every possible way a distro can start things. This is one of many reasons you shouldn't be using distro packages for most services in favor of simpler installers (notably the thing I linked is not the default provider for monit). The Chef resource model doesn't allow for this kind of "enumerate all possible providers to check if something was in use".

I agree it is gross, but distro packages are broken in so many ways it is difficult to work around all of them without making everything terrible.


fix: match input schemas when consuming Substrait

Which issue does this PR close?
Fixes a correctness issue when consuming Substrait plans against tables that don't exactly match in schema. Currently DF may in those cases use wrong columns due to Substrait code operating on just column indices, not names.
Kind of addresses https://github.com/apache/datafusion/issues/12223, though this isn't exactly what the issue asks for.
The difference is this PR checks that the Substrait schema either matches, or is a subset of, the table schema. It also fixes the correctness issue by ensuring we select only the columns Substrait expects us to have.
IMO, requiring strict match of the schema is harmful, since there's no problem in reading a dataset that has more columns than what the plan needs. That requirement breaks using a once-generated Substrait plan across an evolving (but not breaking) input dataset, which seems counterproductive.
Also it breaks with e.g. current substrait-spark produced plans, since those only include in the base_schema the columns that Spark considered necessary for the plan (that comes from the use of plan.schema here). One could argue substrait-spark should be fixed, and I'll look into that, but it'll take some time as the right way then to represent this is with a projection but substrait-java doesn't support those yet.
Rationale for this change
Fixes a correctness issue when consuming Substrait against tables that don't match exactly the base_schema defined in Substrait.
What changes are included in this PR?
Adds input schemas into produced Substrait.
Adds a schema check for input tables, if the check passes all good, if not we try to select a matching subset of columns to ensure a match. If some column isn't found or has wrong type, throws.
Are these changes tested?
Existing tests
Are there any user-facing changes?
Fixes wrong and undefined behavior; working plans shouldn't be affected.

I ended up incorporating your check into my PR around this in this commit 0afb845 (#12245)