Refactors voter to support multiple kinds of global messages

(the global messages are added in this PR for #47 but are currently ignored).
This also removes the shared ownership and mutexes that was used in the Committer architecture.
Will be followed up by #48.

Grumbles addressed.


Smmry redesign

full screen
reflow text transition of the title into toolbar
loading indicator turns into circular reveal of summary content

better idea - gmail-style folding

Done on master now


is it support  V1 of material-ui ?

not yet

Hi @Sharlaan and @gilles-yvetot ,
How is it going with the migration?
MUI V1 Stable will be released next month. We should think now about the migration more seriously.
I also have to migrate now about 5 libraries -.-

Any updates on this? I'm planning on migrating my own code to material-ui latest version but I think I can't do it until this component also updates.

Hi @cristianocca and @amrsobhy ,
for my part we could not wait and made our own component for autocomplete fields with MUI V1 and used for that the established library downshift. muishift uses downshift and just Material UI components as UI. If someone needs a fast solution that should work out. Othervise a PR to this library is always welcome 😄

Thanks @TarikHuber;  however, I need more than just the basic features of a select field (multi select with checkboxes for example)


Second Attachments PR

Draft because this  is still incomplete, but better than nothing.
Quick rundown
The Attachment model holds the attachment file, but is in itself not attached to anything. Actual usable attachments are subclasses of this model with an attached_to field to point to their owner. This allows for Attachments to many different kinds of other models, should we want to attach files to Review or Wmo objects in the future. The Django docs on subclassing models are recommended reading for a good understanding of this.
Attachment slots are what they sound like. They are created by checkers, are held by the Stepper object, and render as a place to put an attachment.
Attachment views
The Attach view is used to attach a new file to an object. There are different URLs for Proposal and Study attachments, but these simply point to the same view with a small modifier. If a kind is passed in the URL, this will be enforced in the form. This is the case for filling "required" slots. If no kind is passed, this is probably an extra file and the user is free to choose a kind.
The detach view is like a Delete view, except that it calls Attachment.detach(), which only deletes the attachment if it is no longer attached to any other models. Otherwise it simply removes the given ManyToMany relation.
The update view isn't too special at this point. If an Attachment is only attached to one object, it should just update the attachment as it does now. However, if the attachment is attached to multiple objects, it should create a copy and set its parent relation to the old object. This is not implemented yet, but is necessary to not mess with historical objects. I'm 90% sure about how this will work from previous revisions of this branch but bear with me while I test a little more.
Attachment kinds
In previous implementations these were far more elaborate, but I've moved away from putting logic in them. We still could, but right now they're just places to put strings, defaults, and help texts relating to different kinds of attachments. Which is fine.
What I still need to do
The main yet-to-be completed feature is Attachment revisions in AttachmentUpdateView as described above. This needs implementation and testing with regards to proposal copies and revisions.
What still needs doing but not necessarily by me

Permissions on AttachmentDownloadView
Port the old Filename generation
Update checkers to add the slots when required
Update documents_list for the review_detail_sidebar
Error messages for missing attachments. This should be straightforward, we can loop over stepper.attachment_slots and check for any slots which are required but have no attachment.
Some CSS niceties, maybe some more flavour/help text

In conclusion
It's hard to believe that I've ended up with the core of this feature being less than 500 lines or so. But it took a lot of rewriting overly complex ideas I had to get to this point. I probably should have published something earlier, I dithered a lot on this so sorry about that.
If something looks weird please keep in mind this is a little rushed and there's probably vestigial code lying around from previous revisions. I would not recommend an in-depth review at this point, but this branch is definitely ready to receive further feature PRs into it.

I've just gone ahead and merged major/4 into here, to fix some bugs and get access to the new study end questions etc.


Use Jest 30.0.0-alpha.1

I'm testing this in Babel, it looks like there is a Node.js bug but I'm updating it here to simplify testing.
@fisker Could you try if it causes any problem in Prettier?
cc @SimenB

Prettier failures are good and caused by https://github.com/jestjs/jest/pull/13965.
I'll release this PR as a pre-release.

it looks like there is a Node.js bug

👀

It was a Node.js internal assertion (from JS, not from C++), but it doesn't happen anymore 😅
Also, I had no stack trace.

but it doesn't happen anymore 😅

Fixed! 😀


Go-e Integration stopped providing entities although provided via MQTT

Good morning,
a couple of days ago my Go-e integration stopped populating data in some entities, although the missing data is still provided via MQTT. (Error message in entity "Entity no longer available").
I use some of the entities to feed my Energy dashboard (e.g. sensor.go_echarger_mySN_pgrid).
I tryed to understand the root-cause but can't make it work again, so I hope you guys can help me.
Here's what I tryed and learned:

I checked my MQTT connection using MQTT Explorer: the data from the missing entities is still being provided from Go-eCharger to MQTT server and i can see how it updates fine
I restored my daily backup from a day earlier of when I still received data > no change
I re-installed the Go-e Integration > no change
I restarted Homeassistant

Here is an overview of which entities are available and which aren't:

Any advice would be greatly appreciated!
Thanks
Philipp

Hi,
having the same issue. Would be great to have those entities for using in automations.
Looking forward to solution comments
Thanks
Dietmar

Did you update Home Assistant recently? Please make sure you are using the latest release of this custom component.

Yes, I am updated to 2023.11.3Am 25.11.2023 um 16:21 schrieb Sebastian Muszynski @.***>:
Did you update Home Assistant recently? Please make sure you are using the latest release of this custom component.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I'm talking about the version of this custom component. Do you use HACS to install third party integrations?

Hi, having the same issues.
Installed the integration via HACS
Version: 0.21.1
Home Assistant Version: 2023.12.1 (core) & 20231208.2 (front-end)
Any advice?

I can join the club. All entities in the integration are gone.
MQTT shows data is running fine.
Happened from one day to the other, and i have no clue what is causing this.

Has anyone resolved the issue?

In most cases the go-e charger dropped the leading slash of the topic prefix so the integration doesn't pick up the traffic anymore. Please make sure all topics or you go-e charger starts with a /.

Please make sure all topics or you go-e charger starts with a /.

How would one add the "/" prefix if the setting is not available in the mobile app ?
Firmware v: 042.0
Hardware v: 2
App v: 3.2.11

Go to the Internet view -> Extended settings -> scroll to the bottom (MQTT section). There is a setting called Prefix. What's the prefix of your device at the moment?

What's the prefix of your device at the moment?

As i have the same Problem I respond here
mine is:
/go-eCharger/xxxxxx/
and xxxxxx are the IDs we git from out chargers

Go to the Internet view -> Extended settings -> scroll to the bottom (MQTT section). There is a setting called Prefix. What's the prefix of your device at the moment?

I don't have it.
I have the MQTT section but there is no Prefix setting/input field. With mosquitto_sub I can see that the topic published is "go-eCharger/xxxxxx/status"

In my App-Version it looks like this.
And I tried it with and without leading slash.
Funny thing is that everything worked on my old pi. But I moved to a new one and there I can add the devices via its 6-digit s rial and I can see in the mqtt server logs that the device is correctly registered but all entities are created as "unavailable".
What could cause this?

Is this still an issue? I would like to resolve the issue + get a better understanding what's going on in detail. I must admit it's hard to understand what's the issue in detail and are we all talking about the same thing. :-)

In my opinion it is the rx tx to rs485 that is overheating. It could be bad
quality, i am not sure.
lør. 3. feb. 2024 kl. 15.15 skrev Sebastian Muszynski <
@.***>:

Is this still an issue? I would like to resolve the issue + get a better
understanding what's going on in detail. I must admit it's hard to
understand what's the issue in detail and are we all talking about the same
thing. :-)
—
Reply to this email directly, view it on GitHub
https://github.com/syssi/homeassistant-goecharger-mqtt/issues/123#issuecomment-1925338925,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVU7D4CY5TH33H3R2LBD6P3YRZBAPAVCNFSM6AAAAAA7MBTKXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVGMZTQOJSGU
.
You are receiving this because you commented.Message ID:
@.***>

I'm also having the issue. While searching for the root cause, I have observed this 'irregularity' - the charger seems to post MQTT messages into a /go-eCharger/ topic. This is the default MQTT configuration of the charger and I didn't get any other to work as I've tried renaming the topic in the past without success.

This is what my go-eCharger produces when viewed from MQTT Explorer:

I observe that this is different than the other entries as there appears to be an empty white-space parent topic. Unfortunately, I wasn't able to change the MQTT topic in the past.

Same problem here, it died 2 months ago.
Apparently, one of the 3 I have randomly started working again on the 1st of February?
Although this could be just a bug since I can't find any data in the history even though I'm pretty sure the integration worked when I first set it up a few months ago.
I just tried re-adding one but it still reports as Unavailable.

Hello guys,
I newly installed integration today. Experienced same problems reported by all other. Inspired by discussions in this thread I "played around a bit" with prefix when configuring integration. As soon as I used "go-eCharger" without a leading slash (default is: "/go-eCharger") all sensors, buttons etc are working :-). Not sure if reconfiguring is possible. I removed device and configured it new. Now everything is working perfect.

I’ve tried that too now also, but didn’t work for me.
The reason is a bit different probably. In the meantime (after the integration hasn’t been working for quite some time already) I’ve changed the name of the charger and the MQTT topic to something much shorter.
Now, when I re-install and am being asked for Serial No., I can provide that, but it’s of no value, because I don’t use the standard naming convention.
For this, but also other scenarios, I think, @syssi, that just asking for the MQTT topic as it’s written in the MQTT settings of go-e App is more straightforward then trying to recreate a logic, which may not even apply in some cases.
Best regards

Am 28.02.2024 um 10:07 schrieb gerhardvilsecker @.***>:
Hello guys,
I newly installed integration today. Experienced same problems reported by all other. Inspired by discussions in this thread I "played around a bit" with prefix when configuring integration. As soon as I used "go-eCharger" without a leading slash (default is: "/go-eCharger") all sensors, buttons etc are working :-). Not sure if reconfiguring is possible. I removed device and configured it new. Now everything is working perfect.
—
Reply to this email directly, view it on GitHub https://github.com/syssi/homeassistant-goecharger-mqtt/issues/123#issuecomment-1968533043, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ6OD3DQ6III2MUS7SB6TILYV3XVXAVCNFSM6AAAAAA7MBTKXGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGUZTGMBUGM.
You are receiving this because you commented.

@gerhardvilsecker Again, thanks for Your hint, but it doesn't work if the MQTT topic is not "go-eCharger/123456/", but something simpler say "myCharger".
The configuration-dialog expects the serial number, and apparently this integration uses it to construct the MQTT topic by appending it to the prefix.

Hi everyone, I am also affected. I have also tried the leading / but it has no effect on me. Actually, no matter what names I tried (with or without special characters) nothing worked. Of course, the changes were made on both sides - Charger and Integration.

I actually tried changing / adopting the Python scripts of this integration, auch that it wouldn’t rely on the convention to append the serial to the topic. I managed to revive most entities with this. But since this was just a hack and would probably break the integration for all others there’s no point in trying to merge it back. I also don’t have time / the expertise to make a stable version out of that.

Is this still an issue? I would like to resolve the issue + get a better understanding what's going on in detail. I must admit it's hard to understand what's the issue in detail and are we all talking about the same thing. :-)

As the go-e chargers mqtt prefix is now fully configurable in the app maybe it makes sense to replace the prefix+serial configuration within the integration with the full prefix only.
in my opinion it should not be best practice to expose the serial within your mqtt topics. Instead you should be able to choose something like: go-eCharger/home/ or go-eCharger/carport/
At the moment with the current configuration of the integration you are forced to use serial.
especially in case you have multiple go-e chargers it makes it hard to find the vorrect entities.

Let's close this issue because it's all about a changed base_topic over time because of firmware updates or new setups.

@syssi Not sure why you’re closing this as this will only be solved with #148, no?

This is the short term mitigation of the issue: https://github.com/syssi/homeassistant-goecharger-mqtt/pull/128
But I must admit #148 will resolve the thematic entirely.


Bigger scarier

Proposed: make the unversioned warnings EVEN MORE noticeable.

LGTM.

Someone still has to tag it OK to merge

@thockin needs rebase.

rebased and new docs generated

Every new doc that goes in demands a rebase of this, followed by a 4 hour shippable run.  I plead for mercy.


DANG-1612: updated documentation for /uploads

https://lobsters.atlassian.net/browse/DANG-1612
Checklist

[x] Up to date with main
[x] All the tests are passing

[ ] Delete all resources created in tests

[x] Prettier
[x] Spectral Lint
[ ] npm run bundle outputs nothing suspect
[ ] npm run postman outputs nothing suspect

Changes
Areas of Concern (optional)
I'm not sure what "suspect" refers to in the checklist items
When i run npm run bundle i see this output
[1] resources/uploads/models/upload_writable.yml:21:5 at #/properties/metadata

Two schemas are referenced with the same name but different content. Renamed metadata to metadata-2.

19 |   $ref: "../attributes/optional_address_column_mapping.yml"
20 | metadata:
21 |   $ref: "../attributes/metadata.yml"
22 | mergeVariableColumnMapping:
23 |   $ref: "../attributes/merge_variable_column_mapping.yml"

I also have a TODO item in resources/uploads/attributes/metadata.yml which i don't know how to solve and need some guidance on.

Thanks @jho44 for the review! I did take a look at that file and it didn't seem like there needed to be any updates. The tests weren't asserting the response schema, but rather just the response status.
Since there is still a grace period which allows backwards compatibility, none of them need to be changed yet
My plan was to update the tests after the grace period ends when i again have to update the api specs to remove the old payload properties.


[DO NOT MERGE] Guide content history

TODO:

[x] A migration to backfill the version numbers for all edition records.
[x] Edition number labels
[x] Timestamps

Could the "Show version number" commit message explain where? It feels like that message could mean a lot of things.


[BUG] jsonable_encoder is not async, can stall the event loop

Describe the bug
I was investigating 502 errors on an API server I'm developping using FastAPI. Basically, the server would intermittently stop responding for such long periods of time that the Apache reverse proxy in front of it would consider it offline and return a Bad Gateway error. I know this is usually a symptom that the event loop is stalled, so I looked through my own code to see if there was any point where I got the blocking/non-blocking routes wrong, and didn't really find much. However, when I looked at the profiler results (which reminds me I still need to get my profiler middleware out there), this stood out:
(duration in milliseconds)

db_exec;dur=27717.296,
db_fetchone;dur=182.606,
1deps;dur=0.516,
3valid;dur=0.041,
4encode;dur=6267.253

That last one, 4encode, is mapped to jsonable_encoder, which is a CPU-bound function run synchronously inside serialize_response (an async function). There is an assumption that jsonable_encoder (and/or whatever JSON renderer function is used) will never end up running for any significant amount of time, but if it does, the entire server will become unresponsive.
To Reproduce
While the use case which causes me to encounter that bug has to do with encoding very large sets of complex data, I have a simpler use case which exploits the blocking nature of jsonable encoder:

Create a file with:

from fastapi import FastAPI
from time import sleep

def blocking_iterator():
    for num in range(10):
        sleep(1)
        yield num

app = FastAPI()

@app.get("/slow")
def blocks_on_encode():
    # Serialized into a list, will block jsonable_encoder
    # for 10 seconds and stall the whole event loop.
    return blocking_iterator()

Open two browser tabs and call the endpoint /slow twice.
The first tab returns after 10 seconds, while the second tab only returns 10 seconds later.
Additionally, the server will not respond to any attempts to close it until the request it was busy encoding returns a response.

Expected behavior
JSON encoding and rendering blocking the server is something I would consider highly undesirable for an async-focused framework. With that said, given how Python's GIL works, I don't know if jsonable_encoder can simply be moved into a thread, since jsonable_encoder would then simply block the GIL instead of blocking the event loop, which would end up being no different.
JSON rendering could end up facing similar issues, though I have not yet tested them to see how long they may end up blocking the event loop and/or thread. None of the one I know of would work with threads:

The json module in the standard library has an accelerator module in C, though it does not release the GIL
ujson seemingly does not release the GIL, as evidenced by ultrajson/ultrajson#199
orjson doesn't seem to release the GIL anywhere either, though a handful of functions run with pyo3::Python::assume_gil_acquired() (which immediately panics if the current thread does not hold the GIL).

This is rather tricky problem, I would say, and I personally can't think of a good solution for it at the moment given Python's limitations. At the very least, the documentation should acknowledge the problem and make it clear that encoding may not scale well for extremely large amounts of data, though I don't know if any of the other Python web frameworks fare much better in that regard, and if encoding volumes of data large enough to cause this issue to occur isn't actually considered bad practice in other frameworks regardless of the language.
EDIT: I actually forgot that the GIL still does some scheduling, so moving serialization to a separate thread might work to prevent computing tasks from blocking the server, even though it could still end up starving the main thread.
Environment

OS: Windows 10
FastAPI Version: 0.52.0
Python version: 3.8.2

For what it's worth, a lot of the serialization functionality of jsonable_encoder can be performed by orjson directly:

It natively serializes
str, dict, list, tuple, int, float, bool,
dataclasses.dataclass, typing.TypedDict, datetime.datetime,
datetime.date, datetime.time, uuid.UUID, numpy.ndarray, and
None instances. It supports arbitrary types through default.
It does not serialize subclasses of
supported types natively, with the exception of dataclasses.dataclass
subclasses.

There might be some solid performance gains to be had on this critical path by allowing the serialization and the rendering steps of this process to be integrated together in some fashion, depending on the response class being used.

@sm-Fifteen I'm actually doing that in some of my endpoints that need extra perf.
I just take my python dicts and dump them into an ORJSONResponse directly, which avoids jsonable_encoder.

I don't know if it is related, but this fails:
from unittest.mock import AsyncMock
from fastapi.encoders import jsonable_encoder
jsonable_encoder(AsyncMock())

Fatal Python error: Cannot recover from stack overflow.


ZAP update entryType with isArray for Array, need to update the relates things in chip

https://github.com/project-chip/zap/pull/229/files has updated entryType with isArray, need to update the corresponding things in chip

looks like there is no xml with array in struct inside, no need to update


Incorrect scripts link in docs/scripting.md

In the first para, the second sentence: There are hundreds of scripts written and maintained by the community and it's easy to write your own.
The link: https://hubot.github.com/docs/#scripts/ is incorrect. Be redirected back to the getting started.

I worked at a PR to fixe this one ;)

This has been fixed. Thanks


Expose Activity ID on CdsClientOperationException

Platform uses ActivityId (kusto: WebRequestStatistics.ActivityId) as a way to correlate incoming calls. This is also exposed in http headers - however in case of failure this is not exposed in the CdsClientOperationException exception.
For WCF it is FaultException<OrganizationServiceFault>.Detail.ActivityId / for ODATA it is HttpOperationException.Headers["REQ_ID"]
But ideally underlying client should be transparent and activity id should be accessible on "logical" exception level.

The request ID is attached to the organization requests as "requestid",  you can set that before you send the request, or you can enabled verbose logging to see the request ID's the system auto assigns.
You can also set "sessionId" to group requests together
Low level server activity id's are returned in the Exception.details object.

@onsvejda Just confirming... when you get such an exception, you should find the HttpOperationException on the inner exception?
that also has the properties your looking for.   Can you confirm?

@MattB-msft - yes I can - I was just wondering since we shouldn't know about the internal implementation if this shouldn't be propagated to higher logical level :)

@onsvejda ,
The field your asking about is only relevant to first party internal implementations who have visibility to our internal telemetry systems :)
For external use the RequestID and Session ID are what are provided to support, which then is used with CAP Telem to xref back to the internal telemetry .
Either way we will see if we can get this put in the top level exception for you.


github.GithubException.UnknownObjectException

I'm trying to install Lupin for the first time and get the following error:
Traceback (most recent call last):
  File "main.py", line 15, in <module>
    from git import updateJournal, updateAsset, Git2Json, updateCalendarsFile, encryptGraph, decryptGraph, getAllThemes, switchTheme #, updateFlashCards
  File "/root/Lupin/git.py", line 20, in <module>
    repo = g.get_repo(GitHubFullRepo)
  File "/usr/local/lib/python3.6/site-packages/github/MainClass.py", line 346, in get_repo
    "GET", f"{url_base}{full_name_or_id}"
  File "/usr/local/lib/python3.6/site-packages/github/Requester.py", line 317, in requestJsonAndCheck
    verb, url, parameters, headers, input, self.__customConnection(url)
  File "/usr/local/lib/python3.6/site-packages/github/Requester.py", line 340, in __check
    raise self.__createException(status, responseHeaders, output)
github.GithubException.UnknownObjectException: 404 {"message": "Not Found", "documentation_url": "https://docs.github.com/rest/reference/repos#get-a-repository"}

Hi, this error is related to the GitHub API, more often than not it is caused by a wrong API key in the config.ini file...
can you please double check that ?

Hi, this error is related to the GitHub API, more often than not it is caused by a wrong API key in the config.ini file...
can you please double check that ?

Thank you. I find thay my GitHubUser is wrong.


I had used your java class for local tomcat, it shows message in my webpage console and also if i use postman it also shows notification but  FCM Not Showing notification message?

Hi, I didn't understood your request clearly.
Did you mean, that your notification isn't displayed on your smartphone?


Refactor normalizeSegment to avoid walking the string

Use a regex instead to replace any characters that shouldn't be decoded
(% and /) with their encoded form after decoding the rest of the
string.
As suggested via @krisselden in https://embercommunity.slack.com/?redir=%2Farchives%2Fdev-router%2Fp1471896246000705. cc @nathanhammond

@krisselden r+


Quake IV not running

Describe the bug
Quake IV (steam) is not running when select Luxtorpeda as compatibility tool, when I try to launch the game just close.
To Reproduce
Steps to reproduce the behaviour:

Install the game
Select Luxtorpeda as compatibility tool
Try to run Quake

Expected behaviour
Game running with native packages
Additional context
Manjaro Gnome (using wayland)
Drivers: Mesa 20.3.3

@FurtadoPires
Does this work in x11 on your system?
Can you run Steam in Terminal and then run the game and put the output in a file attached here? This will help see what issues may have happened.

@FurtadoPires
Does this work in x11 on your system?
Can you run Steam in Terminal and then run the game and put the output in a file attached here? This will help see what issues may have happened.

Same problem with x11

Quake IV Luxtorpeda.log

@FurtadoPires It looks like there's an issue possibly with the download or execution of the quake 4 run file.
What does the directory listing for your Quake 4 installation look like?
As well, what does the linuxdata/bin folder look like?

@FurtadoPires It looks like there's an issue possibly with the download or execution of the quake 4 run file.
What does the directory listing for your Quake 4 installation look like?
As well, what does the linuxdata/bin folder look like?

Quake IV Directory Tree.log

It looks like the bin folder is missing. Can you remove the ready file and then try again? It may take some time for the first launch so give it a bit of time to load

It looks like the bin folder is missing. Can you remove the ready file and then try again? It may take some time for the first launch so give it a bit of time to load

Worked at first when I deleted the ready file, but crashed again after I change the resolution and restart the game
Quake 4 post resolution change.log

It looks like this is the issue there: Fatal Error: Unable to initialize OpenGL
Did you set the resolution to one that is listed in that part of the log?
You may want to reset the configuration and then try again, since it looks like the game itself is there as expected.

It looks like this is the issue there: Fatal Error: Unable to initialize OpenGL
Did you set the resolution to one that is listed in that part of the log?

Yes I first tried 1600x900
So I tried those steps:
1 - Change the resolution again editing "Quake4Config.cfg" since I couldn't launch the game - Didn't work
2 - Uninstalled the game and deleted the Quake 4 folder, them installed again - Didn't work
3 - Change the compatibility tool to Proton and launched the game, them change the resolution again to a valid one, them tried to launch using Luxtorpeda again - Same problem
Is Luxtorpeda using a different config file than the default one?

@FurtadoPires Quake 4 stores it's config in the user directory like this: ~/.quake4/q4base/Quake4Config.cfg
Check there for any configuration you may need to do.

@FurtadoPires Quake 4 stores it's config in the user directory like this: ~/.quake4/q4base/Quake4Config.cfg
Check there for any configuration you may need to do.

So change the configuration files didn't work. I even tried to delete everything from the game folder and inside the cache directory, so now I don't know why I still getting the message
Fatal Error: Unable to initialize OpenGL

Did you try deleting that configuration file and trying again?
That error sounds like something to do with your system

I've tried to delete everything inside ~/.cache/luxtorpeda/2210 and /common/Quake4/ and download again, but still have the same problem.
It works if I choose proton though

Did you try deleting the Quake4Config.cfg file and trying to launch the game again?

Did you try deleting the Quake4Config.cfg file and trying to launch the game again?

Yes, the game just generates the file again. I suspect that luxtorpeda may be using the configs from elsewhere, because even after download everything again, the problem remains.
Fortunatelly other games using luxtorpeda are working fine, so it's just this game for me

The game would generate the file yes, but it should be using that one. luxtorpeda does not change the game's behavior in that regard. If you're having issues with the sdl not launching error, then it sounds like an incompatibility with your system and this port.

It may be a problem with the game being x86 and my system being x64, anyway I'm giving up because I don't have the knowledge to debug / workaround further than what I've already tried.
Do you want me to close this issue, or let it open in hope that someone will find a fix?

There may be some libraries missing from your system. I'll go ahead and close this for now, and someone can always comment if there's any further tips or information.


Add properties for managed-ledger.

Motivation
Add properties for managed-ledger. We can use properties to store some metadata such as some metadata that protocol handler need to persistent.
Verifying this change
New unit tests added
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)

@codelipenghui @jiazhai There are multiple problems with this PR

It's not checking that there no other metadata operations in place. That will result in ZK bad version errors.
It's writing the metadata without updating the in-memory version that the managed ledger keeps. This will result in a managed ledger fenced error each time a property is set, forcing the topic to get closed.
Why do we need to re-read the metadata from store? We already have that metadata and its corresponding version in memory.

Finally, from the API is not clear what happens if there are already some properties and I just want to add a new one.

@merlimat Thanks for your comment, I will fix it later.


github pages

@ycaseau
github.com/ycaseau/ycaseau.github.io
If you want to create a new repo of the above name then the files in the following could be downloaded and copied thereto.
Were you and your colleagues to prefer a different monospace font that can be accomodated for.
https://github.com/varehus/varehus.github.io
index
claire(3)
claire(7)

On a separate matter in this current repo would you and your colleagues consider enabling the Wiki?

I hadn't considered per entry adding a right margin method or slot designation when I wrote the .html files.
Ideally CLAIRE'S methods and slots would have remained in a single file as per the claire-4-1.pdf file's Appendix B.
The foregoing being noted the .html files render favourably on a mobile device that has been rotated horizontally.

Hello,
I am returning to CLAIRE after two months when my job kept me too busy.
MANY THANKS for all the typo fixes. I have included them in the 4.1.14 release that will be out in a few days.
I will look how to enable the Wiki

I have create a first Wiki page
Le samedi 2 novembre 2024 à 23:16:35 UTC+1, musvaage @.***> a écrit :
@ycaseau
github.com/ycaseau/ycaseau.github.io
If you want to create a new repo of the above name then the files in the following could be downloaded and copied thereto.
Were you and your colleagues to prefer a different monospace font that can be accomodated for.
https://github.com/varehus/varehus.github.io
Thus far are only Index and claire(7) pages.
On a separate matter in this current repo would you and your colleagues consider enabling the Wiki?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

typo fixes
included them in the 4.1.14 release

https://github.com/ycaseau/CLAIRE4/pull/7
If the opportunity arises perhaps you'd paste a diff in a comment to #7 to the current and 4.1.14 releases, or if you used a patch file to implement those changes you could copy and rename that copied file to patch.txt and then upload (drag and drop) it into a comment to #7.
I'd venture to guess in #3 (Open) the following were slated for deletion
Appropriately prior to the upcoming release that matter might be attended to.
directory
CLAIRE4\src\meta
files
CLAIRE4\src\Core\Core.go
CLAIRE4\src\Generate\Generate.go
CLAIRE4\src\Language\Language.go
CLAIRE4\src\Optimize\Optimize.go
CLAIRE4\src\Reader\Reader.go

first Wiki page

At this point of time in the repo Settings I am comfortable with unchecking the box under Features.
☑ Wikis Loading
Wikis host documentation for your repository.
☐ Restrict editing to collaborators only
Public wikis will still be readable by everyone.
Were abuse to occur it can be reverted easily to collaborators only write authority.

rendering Appendix A as a manpage was not suitable, likewise with the reformatting of that to html
below is a quick test to check if markdown format might be used for the top level README
one change under 2. Organization is that the list of directories and subdirectories has been sorted
# CLAIRE4

## 1. Content

This repository contains the code for CLAIRE4, the new release of the CLAIRE programming language based on Go.
https://en.wikipedia.org/wiki/Claire_(programming_language)

CLAIRE is 28 years old, but CLAIRE 4.0 started in September 2020.
The current version is in alpha-status. Beta status is expected this summer of 2022

CLAIRE4 now has its own Web site: https://sites.google.com/view/claire4/home

## 2. Organization

The root of this repository contains

- this README
- an InstallationGuide
- an init.cl file that you may customize to run some of the test files

This repository has the following directories

- compile:  the relexive definition of the compiler (CLAIRE files)
- docs: a few related documents about CLAIRE including the CLAIRE user guide and two old presentation about CLAIRE.
- meta:     the reflexive definition of the interpreter (CLAIRE in CLAIRE)
- src:      Go code for building CLAIRE, all subdirectories but Kernel are generated by the CLAIRE compiler
  - Kernel: contains the go source code for "microCLAIRE" : the core of the interpreter
- test:    test files for CLAIRE
  - nonreg:    old test files accumulated over the years to avoid regressions
  - perf:     a few performance benchmarks
  - rules:     classical rule-based examples

## 3. Terms of use

CLAIRE has been built by a team as an open-source project: you are free to use and redistribute the code that is found in the GitHub directory
DISCLAIMER: THE CLAIRE SOFTWARE IS PROVIDED AS IS AND WITHOUT ANY WARRANTY, INCLUDING, WITHOUT LIMITATION,
THE IMPLIED WARRANTIES OF MERCHANTABILTY AND FITNESS FOR A PARTICULAR PURPOSE.

## 4. Why Claire ?

The two presentations in the /docs directory will tell you more, but here is a short overview.

### 4.1 Why yet another language ?

4.1.1 CLAIRE is a functional object-oriented language
- CLAIRE is a full-fledged object-oriented language that inherits from SMALLTALK.
- CLAIRE is a functional language that inherits from LISP. Functional languages have regained popularity in the last 10 years, so
- CLAIRE inherits from CECILE - a specification language from the early 90s - with the aim of concision and preciseness. CLAIRE offers a higher level of abstraction than most object-oriented language

4.1.2 CLAIRE is both statically & dynamically typed with a rich type system
- CLAIRE is a fully polymorphic languages where methods may be overloaded in multiple ways, extending traditional single-inheritance class polymorphism
- CLAIRE is dynamically typed for fast prototyping and more expressive power  …A very large part of CLAIRE code fragments can be statically typed …
- CLAIRE supports second-order types

4.1.3 CLAIRE includes a number of features that makes it easier to write complex algorithms
- Set-based programming. This was more original 30 years ago than it is now, but sets and set-based expressions are first-class citizen of the CLAIRE language
- Rule-based programming. Although “production rules” have lost their appeal,
- Search tree primitives : CLAIRE provides “hypothetical reasoning”, that is the ability to create choice points and backtrack to a previous state.

### 4.2 Claire vs other interpreted language

4.2.1 Fast interpreter
CLAIRE4 is much faster than the previous CLAIRE 3.5 version. CLAIRE is now faster than Python (on average, based on a the set of performance benchmark that is included on GitHub)
The included Excel files gives an overview of the performance tests that are included in test/perf
This is ongoing work, the performance will stabilize once CLAIRE 4.0 reaches the beta status.

4.2.2 Fast compiler
CLAIRE 4.0 is also MUCH faster than CLAIRE 3.5 as a compiler.
Based on the preliminary results, CLAIRE is approximately twice slower than Go, C++ or Java, based on a weighted distribution of the performance benchmarks.

4.2.3 CLAIRE is a hybrid interpreted/compiled language: thanks to the reflective nature of CLAIRE (everything is reflexively described and is inspectable as such),

### 4.3 Claire vs Go

4.3.1 CLAIRE has interesting features that are missing from GO
- CLAIRE is interpreted
- it supports "true" object-oriented programming
- it provides Full polymorphism
- Exception handling

4.3.2 microCLAIRE (the Go Kernel) has its own merit for anyone who plans to write an interpreter:
- Fast reflective addition to objects and functions (much faster than the mechanism provided by Go)
- Generic set objects (something that should be improved in the future when comparing with Java)
- Fast buffered character I/O


Support public custom struct in custom struct

Motivation
Example:
/* ---------------- Vector3 ---------------- */
#[wasm_bindgen]
pub struct Vector3 {
  value: (f64, f64, f64),
  pub is_dirty: bool
}

#[wasm_bindgen]
impl Vector3 {
  #[wasm_bindgen(constructor)]
  pub fn new(x: f64, y: f64, z: f64) -> Vector3 {
    Vector3{value: (x, y, z), is_dirty: false}
  }

  #[wasm_bindgen(method)]
  pub fn zero() -> Vector3 {
    return Vector3::new(0., 0., 0.);
  }

  #[wasm_bindgen(method)]
  pub fn one() -> Vector3 {
    return Vector3::new(1., 1., 1.);
  }

  #[wasm_bindgen(method)]
  pub fn set(&mut self, x: f64, y: f64, z: f64) {
    self.value.0 = x;
    self.value.1 = y;
    self.value.2 = z;
    self.is_dirty = true;
  }
}

/* ---------------- Transform ---------------- */
#[wasm_bindgen]
pub struct Transform {
  test: Cell<Vector3>
}

#[wasm_bindgen]
impl Transform {
  #[wasm_bindgen(constructor)]
  pub fn new() -> Transform {
    Transform{
      test: Cell::new(Vector3::zero())
    }
  }
}

In these code we define a struct Vector and use it as a member position in another struct Transform, there is no way to pass refer of position to javascript by 'wasm_bindgen' attribute.
But It's really a common scene, it had took me lots of time, at last i found this problem could be solved on pure javascript side, see 'Proposed Solution'.
Proposed Solution
After some trials, I wrote following code to solve this problem:
#[wasm_bindgen]
impl Transform {
  #[wasm_bindgen(method, js_name="getTestPtr")]
  pub fn get_test_ptr(&mut self) -> *mut Vector3 {
    self.test.get_mut()
  }
}

// javascript file
export class Transform {

    free() {
        const ptr = this.ptr;
        this.ptr = 0;
        freeTransform(ptr);
    }

    /**
    * @returns {}
    */
    constructor() {
        this.ptr = wasm.transform_new();
        // after constructor, create an member `test`
        this.test = Vector3.__wrap(this.getTestPtr());
    }

    getTestPtr() {
        return wasm.transform_getTestPtr(this.ptr);
    }
}

// ts header file
export class Transform {
  test: Vector3;
  free(): void;
  constructor();
  getTestPtr(): number;
}

// application file
import('../pkg/paean').then(paean => {
  const transform = new this.paean.Transform();
  // it works
  transform.test.set(2, 2, 2);
  // it works too
  console.log(transform.test.x(), transform.test.y(), transform.test.z());
});

Additional Context
So, is it possible to support using public custom struct in custom struct or returning rust object's refer to javascript like these:
#[wasm_bindgen]
pub struct Transform {
    pub test: Cell<Vector3>
}

// or
#[wasm_bindgen]
impl Transform {
  #[wasm_bindgen(method, js_name="getTest")]
  pub fn get_test(&mut self) -> &Vector3 {
    self.test.get_mut()
  }
}

Thanks.

Thanks for the report! Unfortunately this is quite difficult to support in wasm-bindgen due to the nature of the GC in JS. In your proposed solution, for example, the Vector3 cannot live longer than Transform but there's nothing preventing that and it allows for a use-after-free.
It's possible for us to tie all these lifetimes together somewhat but then borrowing also gets really tricky. For example storing Vector3 in Rust and having a handle to it in JS is actually quite different, in Rust there's no RefCell but with the JS handle there's a hidden RefCell.
I think this may be possible to do in the long run if we get really creative, but today there's no clear, safe, and workable method to implement this.

@alexcrichton
Thanks for your detailed reply, I can understand what you are worry about, but these problems really confuse me, for example, what is the best way to  change the position of Camera and Mesh :
#[wasm_bindgen]
pub struct Transform {
  anchor: Cell<Vector3>,
  position: Cell<Vector3>,
  rotation: Cell<Vector3>,
  scale: Cell<Vector3>,
  quaternion: Cell<Quaternion>,
  world_matrix: Cell<Matrix4>
}

#[wasm_bindgen]
pub struct Camera {
  transform: Cell<Transform>,
  fov: f64,
  aspect: f64,
  near: f64,
  far: f64,
  view_matrix: Cell<Matrix4>,
  projection_matrix: Cell<Matrix4>
}

#[wasm_bindgen]
pub struct Mesh {
  transform: Cell<Transform>,
  vertices: Cell<Vec<Vector3>>,
  colors: Cell<Vec<Vector3>>,
}

wasm_bindgen does not support trait now, and rust does not support extends, so I have to write many functions for each struct which has Transform using ugly procedure-oriented way:
#[wasm_bindgen]
impl Transform {
  // could not return refer
  #[wasm_bindgen(method, js_name="getPosition")]
  pub fn get_position(&mut self) -> Vector3 {
    self.position.get_mut().clone()
  }

  #[wasm_bindgen(method, js_name="setPosition")]
  pub fn set_position(&mut self, value: &Vector3) {
    self.position.get_mut().copy(value)
  }
}

#[wasm_bindgen]
pub fn set_camera_position(camera: &mut Camera, vector: &Vector3) {
  // `position` must be private, wasm_bindgen does not support public struct in struct
  camera.transform.get_mut().set_position(vector);
}

// could not return refer
#[wasm_bindgen]
pub fn get_camera_position(camera: &mut Camera) -> Vector3 {
  // a hidden clone
  camera.transform.get_mut().get_position()
}

emmm... Of course these problems could be solved by some design patterns like "ECS" , but those solutions are not universal and will make lot of developers give up.
So could we give developers a selection to do these if they can control the risk of memory themselves?

I definitely agree that we want to solve this somehow! I'm just not sure personally how best to do so, so I'm not sure how to make progress on this.


Hide onboarding checklists when completed

Waiting until we confirm that server handles the flag switch correctly.
Also, not sure on how/if we can handle analytics here with the server controlling the flag -- might have to observe the properties if they are false.

/cc @cybrox can you confirm the revert of the CSS will be fine now that the <div/> will be gone completely?

&:first-child needs to be changed to div:first-child, otherwise it will remove the padding for all headlines in .feed-sidebar.


build: update deps

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.52%. Comparing base (a4f1604) to head (5348b76).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #224      +/-   ##
==========================================
+ Coverage   80.34%   80.52%   +0.17%
==========================================
  Files          23       23
  Lines        1725     1725
==========================================
+ Hits         1386     1389       +3
+ Misses        339      336       -3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Nodes or workflow to analyse PLANTS output

Added PLANTS screen results loader metanode to read PLANTS screen results directory and output list of conformations of ligands with their scores.


Increase cloud node thickness in graph view

Fixes #2417.
All nodes shapes are now rendered from the same template which unifies the styles across all shapes. The polygon splines are now pre-cached, but that only brought about 10% rendering performance improvement which is unfortunately almost negligible in practice, since most time is still being spent on calculating the layout, not rendering it.

It works!

sans the border radius LGTM :)

@foot PTAL.
p.s. I also noticed that the metric fill clipping was off after first commit - that's been corrected now as well!

Nice work. clouds look so good now. LGTM!
We can leave this for another day but it would be cool to change the "highlight" to use the border trick too. :)

Unfortunately, the same trick wouldn't work with the highlight layer - the essential reason why my change worked for the border shadow is because now two different elements (border and shadow) are of very similar radius, which is not the case with highlight.
I'd say the highlight layer is off in two cases - cloud shapes and stacks. The former could probably be fixed by moving its center a bit lower (or by redefining the path itself), while the latter seems more tricky - I have an idea how to make it perfect with SVG masks, but that could be a bit overengineered and perhaps not really worth the effort. I'll add an issue for it though.


Remove comment to fix errors with Whitenoise

Whitenoise throws the following error with the comment that seems to hold no value.
The JS file 'unfold\forms\js\trix.js' references a file which could not be found:
  unfold/forms/js/trix.umd.min.js.map

Please check the URL references in this JS file, particularly any
relative paths which might be pointing to the wrong location.

Hey, thank you very much for the PR. I wanted to merge it but I accidentally solved it in another commit. Anyway, issue is fixed in the main branch and I will make release soon.


Provide any redirect URI should now be Provide any Sign-on URL

If I'm following the instructions correctly, then it appears that that text entry box has been relabelled.

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

ID: 4a4b8453-d2bc-9c8d-bb16-26fa7e4c6363
Version Independent ID: 160642fc-b5a9-1ebe-7daf-105509b6e2f4
Content: Use the Graph API - Azure AD B2C | Microsoft Docs
Content Source: articles/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet.md
Service: active-directory-b2c
GitHub Login: @parakhj
Microsoft Alias: parakhj

Hey @jg11jg - Thanks for reporting this. We have validated and corrected this issue; and the changes will reflect after our next scheduled merge, and this issue will auto-close.


Can't find File "/github/workspace/clover.xml"

Hello, I'm trying to use the action but alway I got the below message.
The clover.xml file is in the root project.
Can anyone cal help me?
Bye

Fatal error: Uncaught Assert\InvalidArgumentException: File "/github/workspace/clover.xml" was expected to exist. in /srv/vendor/beberlei/assert/lib/Assert/Assertion.php:2725
Stack trace:
#0 /srv/vendor/beberlei/assert/lib/Assert/Assertion.php(1604): Assert\Assertion::createException('/github/workspa...', 'File "/github/w...', 102, NULL)
#1 /srv/src/Config.php(32): Assert\Assertion::file('/github/workspa...')
#2 /srv/src/WorkflowService.php(26): PhpUnitCoverageBadge\Config->__construct()
#3 /srv/src/entry.php(15): PhpUnitCoverageBadge\WorkflowService->run()
#4 {main}
  thrown in /srv/vendor/beberlei/assert/lib/Assert/Assertion.php on line 2725

Sorry for the late response.
Did you make sure to run Github's checkout action before trying to run the action?

Good morning, now it is working. Thanks


Add ARM Support

foobar2000 v2 has added ARM support

Does anybody actually run Windows on ARM though? :O

From the fb2k Beta 28 changelog...

Supports ARM builds of components but doesn't actually require them, can transparently load x64 code.

Seems like there is no point at all.
I suppose it could be vaguely interesting for developers who have ARM hardware and want to play with new toys.

If the ARM fb2k can load x64 plugins then I'm not supporting a dedicated ARM build


[Ques] trying to download a private Git repo

Trying to download private Github repo using any idea how can I achieve that? How can I pass username and Github access token to approve this?
julia> download("https://github.com/AbhimanyuAryan/craftware/archive/refs/heads/master.zip", "master.zip")
ERROR: HTTP/1.1 404 Not Found while requesting https://github.com/AbhimanyuAryan/craftware/archive/refs/heads/master.zip
Stacktrace:
  [1] (::Downloads.var"#3#4"{Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Nothing, String})(output::IOStream)
    @ Downloads /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Downloads.jl:233
  [2] open(f::Downloads.var"#3#4"{Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Nothing, String}, args::String; kwargs::Base.Iterators.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:write,), Tuple{Bool}}})
    @ Base ./io.jl:330
  [3] arg_write(f::Function, arg::String)
    @ ArgTools /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/ArgTools/src/ArgTools.jl:86
  [4] #download#2
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Downloads.jl:221 [inlined]
  [5] download(url::String, output::String)
    @ Downloads /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Downloads/src/Downloads.jl:221
  [6] #invokelatest#2
    @ ./essentials.jl:708 [inlined]
  [7] invokelatest
    @ ./essentials.jl:706 [inlined]
  [8] do_download
    @ ./download.jl:33 [inlined]
  [9] download(url::String, path::String)
    @ Base ./download.jl:28
 [10] top-level scope
    @ REPL[3]:1

following https://stackoverflow.com/questions/18126559/how-can-i-download-a-single-raw-file-from-a-private-github-repo-using-the-comman
gives me:
download("""https://github.com/AbhimanyuAryan/craftware/archive/refs/heads/master.zip?login="abhimanyuaryan"&token="xxx"""", "master.zip")
ERROR: syntax: cannot juxtapose string literal

I would recommend that you do either of the following:

Clone the repo over Git[^1] and then check out the desired branch.
Use the Download a repository archive (tar)[^2] GitHub API. To authenticate to the GitHub API, you'll need to pass your token in a header. If you use Downloads.jl to make the API calls, you'll pass your headers in the headers keyword argument.

[^1]: git clone<EMAIL_ADDRESS>[^2]: https://docs.github.com/en/rest/reference/repos#download-a-repository-archive-tar
[^3]: The name of the header will be Authorization, and the contents of the header will be token $(GITHUB_TOKEN).
[^4]: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#oauth2-token-sent-in-a-header

Also, please ask follow-up questions on Julia Discourse: https://discourse.julialang.org/

thanks @DilumAluthge


Dead link to customersource document

The link on the page "Microsoft Dynamics Localization Portal: Australia report (requires CustomerSource account)" is an invalid/dead URL.

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

ID: 111bada3-a333-b517-5907-28f7b9436da4
Version Independent ID: 0b322b8d-a9bb-98d4-fbc9-e706de3f8a5f
Content: Australia overview - Finance | Dynamics 365
Content Source: articles/finance/localizations/australia.md
Service: dynamics-365-finance
Product: ****
Technology: ****
GitHub Login: @kfend
Microsoft Alias: roschlom

Bug 725470 has been assigned to track this bug.  @kfend, please resolve this issue/bug, or assign to the appropriate PM.

I have removed the broken link.


Read MAX_COMMENTS using ENV#fetch

Given a PR with violations in the diff, if MAX_COMMENTS is not set Hound will not report any violations. This is a kind of silent failure, which I think we should avoid.

No word from Travis on this PR? There's currently something wrong with my local development environment for Hound (tests failing for unknown reasons, e.g. #403), so I'd like Travis to check that these changes don't unexpectedly break the build.

Not sure what's up with Travis -- it didn't run this PR. Tests looked good on my machine. Thanks!


Store rank flair spritesheet categories, flair names and positions in a JSON file

Is in place, just needs to be filled with the data for all flairs

Completed by @Jawoll on 22 Oct!


responseobject

the readme refers to responseObject however it seems that Alamofire 4.0 remove that class. Is it stale?

it looks like you have to import AlamofireObjectMapper in order to have the extension. my bad


Feature Request: Swaywm support

Currently there is no option to configure swaywm. There is some development already for sway in nixpkgs but nothing exists for actually configuring the window manager. Despite that, it would be more sensible to configure it at the user level which seems more fit for home-manager.
Also, one of the highlighting features of swaywm is that it has almost identical configurations to i3wm. Most i3 configs can be ported to sway as a simple drop in place with the change of a few function / command names.
So this would be an almost identical configuration of xsession.windowManager.i3 for a xsession.windowManager.sway. Some parts from programs.sway in nixpkgs could be borrowed as well. Such configurations would enable wayland and wlroots if needed.
I'm not too familiar with nix lang but this seems to fit like a glove and to be within the scope of home-manager. If anyone would like to tackle this along side me, that would be great.

@gnidorah started a bit of work on supporting sway in #572 but that ticket got closed in favor of creating a proper sway module. It would certainly be nice to have 🙂

@rycee Is there any progress on the module?

I would be more than happy to pick up from where anyone else left off.

@cvoges12 Thanks for your interest! I haven't started to work on it, but the basic idea is to have one common module for xsession.windowManager.sway and xsession.windowManager.i3 that would change a couple of options depending on which one is used.
Another thing to figure out is how to start a wayland window manager via home-manager. My guess is that the regular xsession.windowManager.command way will not work. I guess @rycee will probably have some ideas around that :)
Btw, does xsession.windowManager.sway name even makes sense considering that there is no xsession involved? :)

@uvNikita I'd prefer to have a separate wayland.windowManager.sway than including it in xsession tbh. You're right in that it does not make much sense to include it in as it has little to nothing to do with the X window system.
For starting it, there's already an expression for that in nixpkgs which we could "borrow" to complete this. There's another for wlroots as well. I suppose if we go far enough to make a sway module then we should include a wlroots module too.

Here are the mentioned nixpkgs:

Sway
Wlroots

Also, I found this. It is an overlay for sway and wlroots:

nix-wayland

I still have to read up on Wayland but it certainly seems like it would make sense to have it outside the xsession "namespace" 🙂

This issue can be closed.

Closing as #829 got merged.


suite: add filter-all parameter

Add --filter-all parameter to suite to make it possible
precise test case selection, since --filter-in and
--filter-out do not allow narrow test case selection
using AND with filter list.
Signed-off-by: Kyr Shatskyy<EMAIL_ADDRESS>

@susebot run deploy

@kshtsk ping? what is this change pending on?

@kshtsk ping? what is this change pending on?

I wished to test it more.

@susebot run deploy

retest this please

retest this please

updated patch to take into account the config fragments since filter_in and filter_out are using checking it

@tchaikov could you please take another look


chore: upgrade to polkadot 1.14

Base parachain upgrade

psvm -v "<release>" in root: upgrades Cargo.toml crate dependencies to the correct version respected to the polkadot release version (i.e. psvm -v "1.14.0")
Compare release version with previous release on github (i.e. compare 1.14.0 with 1.13.0)

Check the files changed and go over the templates/parachain/ files. Apply changes to the base parachain.
Check the release for additional information of the changes that are made. Take note of the changes required for assets and contracts. These notes can then be used for downstream templates.

As for Assets and Contracts parachain upgrade

First create a new branch git checkout -b chore-polkadot-v1.14.0
Sync with base-parachain repository:

git remote add upstream https://github.com/r0gue-io/base-parachain.git
git fetch upstream
git merge upstream/main

Locally resolve the conflicts.
As in the base-parachain run psvm -v "<release>" in root to update the dependencies that are not in base-parachain to the correct version.
After review, merge it but don't merge with Squash and merge


FYI, I'm not running macOS so I'm unable to actually check that the script works as intended

FYI, I'm not running macOS so I'm unable to actually check that the script works as intended

I tested it locally and by running the ios-release.yaml workflow.


Enable dynamic snitch

Dynamic snitch is needed to set dynamic_snitch_badness_threshold in case of a rebuild to avoid the node to be queried by customers

https://issues.apache.org/jira/browse/CASSANDRA-6908 is worth a look. The dynamic snitch often causes performance problems and in general would recommend keeping it disabled.

@jsanda we saw that ticket and that's why we first disable it by default.
However, it happens only with large clusters and we intend to use dynamic_snitch_badness_threshold to avoid a rebuilding node from getting request from customers and it's a requirement. So we chose to go that way. Anybody that creates his cluster can always override that parameter by disabling it in their custom configmap.


Share your highest score! (version 2.0.0)

This is the 2.0.0-specific version of #13. Please share your highest scores with the latest version of Diddi and the Bugs. You can share a commentary about the strategy you used or something like that.
Each score will be stored at our wiki.
cc @HarshNarayanJha

I'll start with my example: I got 9200 this morning.

Something that I love from the 2.x versions is the bunch of new and hidden features, that can blast you to higher scores. That simple things are the basis of my latest highest score.

Closing, since version 3.0.0 is here :)


Introduce custom design system inpsired by github css primer

Describe your changes
Introduced a new design system inspired by GitHub PRIMER
Issue ticket number and link
ISSUR 54
Name of Contributor
Ken Beaudin
Type of change
Non breaking change to global variables
Please delete options that are not relevant.

[x ] New feature (non-breaking change which adds functionality)

Checklist before requesting a review

[x ] I have performed a self-review of my code
[ x] I have commented on my code, particularly in hard-to-understand areas
[x ] My code does not generate any new warnings or errors
[ ] New and existing unit tests pass locally with my changes (if relevant)

Dimitry is the vertical spacing using REM only for content or inner content also?

Apparently, the vertical spacing using rem is only for content in writhing:
https://www.joshwcomeau.com/css/surprising-truth-about-pixels-and-accessibility/#vertical-margins
See the vertical margins section in the article above. I will need to add some documentation in that section so there is no confusion.


add a quote from Wuthering Heights

add a quote from Wuthering Heights by Emily Bronte

@AnirudhPanda I pushed it to v1.1.0 this time. Can you review and merge this PR now


dns cache: add dns_min_refresh_rate configuration

Risk Level: Low
Testing: New UT
Docs Changes: Added
Release Notes: Added
Platform Specific Features: N/A

This looks good from the EM side, thank you @mattklein123!


change jindofs encryptOption without decode

Ⅰ. Describe what this PR does
Ⅱ. Does this pull request fix one issue?

#428
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #508 (17fdcae) into master (08a1a24) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #508   +/-   ##
=======================================
  Coverage   19.68%   19.68%
=======================================
  Files          57       57
  Lines        2123     2123
=======================================
  Hits          418      418
  Misses       1660     1660
  Partials       45       45

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 08a1a24...17fdcae. Read the comment docs.


Added operations for DO_SOMETHING and OFF_WITH.

The corresponding operations are added.

Parameter descirption has been changed accordingly.


A Cancel button/icon should also be present when you edit metadata.

This is no longer relevant. Closing now.


Capacitor calendar 44 there is no way to add alarms for the event

@ebarooni alertOffsetInMinutes should be of array type so that Multiple timings can be added.

@akshay030123 Not a bad I idea. But I would suggest number | number[], we shouldn't be forced to create an array for a single value.

exactly it should be of type number | number[].
You can update the logic and it should be good for multiple alarms

@aparajita @akshay030123 I created a separate issue (#96) for this.


Strict check on keyword?

What version of Ajv you are you using?
7.0.0
What problem do you want to solve?
This may already be possible, but can you require a keyword to exist? Like a strict check on description?
What do you think is the correct solution to problem?
Will you be able to implement it?
No

This can be achieved by extending meta-schema to make keywords required - it's a bit easier with draft2019/2020 than with draft7 - see for example how hyper schema meta schema is constructed in JSON Schema org.
That may unpractical though to require description


Import Transfers Issue

Description
Importing a transfer transaction in the CreatePane - the transfer tables sometimes show no data, but still show the proper amount of rows.
Steps to reproduce
Import a transfer transaction. Then try to import it again (or another transfer transaction). Any time other than the first import, the data in the transfer tables is missing.
Seems to occur for only the same number of rows. Meaning that if an imported transfer has 1 row in the 'to' table, then the next import that also has 1 row in the 'to' table, the 'to' table will show 1 row with no data.
Additional context
No response
Hedera network
testnet
Version
0.13.0
Operating system
macOS

When the second+ import has a table row count less than or equal to the previous import's table, that's when the issue is visible. So if the first import has 2 rows in the 'to' table, and 3 in the 'from' table and the second import has 3 rows in the 'to' table and 3 rows in the 'from' table, then the 'to' table will show data, but the 'from' table will have 3 blank rows.

It also happens without 2 or more imports. If the tables are used in a 'create transfer' (put in an accountId and amount, hit accept) then the next import will fail to show data just as described previously. This happens whether or not the 'create transfer' is saved or submitted. As long as the 'accept' button is pressed so that a row is added to the table, the issue will occur.

The issue seems to come from the re-initializing of the TableView's columns. There doesn't appear to be a reason to re-initialize the table and columns every time, as the data is manually removed and re-added as necessary.


Update openshift/client-go dep to fix CVE-2023-37788

What type of PR is this?
/kind bug
What does this PR do / why we need it:
Kam is affected by CVE-2023-37788 due to indirect goproxy dependency pulled by openshift/client-go library. The goproxy dependency is dropped from v1.27.0 versions of kubernetes libraries.
This PR updates openshift/client-go to get rid of affected k8s libraries.
Which issue(s) this PR fixes:
GITOPS-3142
How to test changes / Special notes to the reviewer:

/retest

/restest

PR to fix failing tests https://github.com/redhat-developer/kam/pull/345

Codecov Report
Patch and project coverage have no change.

Comparison is base (787d8c0) 58.61% compared to head (be43465) 58.61%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #343   +/-   ##
=======================================
  Coverage   58.61%   58.61%
=======================================
  Files          57       57
  Lines        2885     2885
=======================================
  Hits         1691     1691
  Misses       1028     1028
  Partials      166      166

Flag
Coverage Δ

unittests
58.61% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/lgtm
/approved


404 errors

The first time everything worked without any issues by running flask and node (npm start). After a bit of work, I'm now getting 404 errors on the python side when it tries to find files under /dist. I can get it working by running "npm run build:production" which will create the /static/dist directory, but not sure why it's a problem now when it wasn't before. I'm sure I'm missing something (not too experienced with flask or node).

God damnit, nm... I was hitting the wrong port haha


We need a video of latest version changes

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

did


Add diagnostics on mismatching custom derivative for member functions where this is differentiable.

struct MyType : IDifferentiable
{
     float x;
     float f() { return x;}
     [BackwardDerivativeOf(f)]
     void f_bwd(float dResult) {}  // should diagnose because `this` type mismatch.
}

This is about differentiability accepting incorrect, so important to fix for diffslang users. Calling bug.

We should complete #4999 first, which adds support for custom derivatives of member methods through static method definitions.
After that, this should automatically become a diagnostic error due to signature mismatch.


Make __cosmology_namespace__ a property

Make __cosmology_namespace__ a property.
PR Checklist

[ ] Give a detailed description of the PR above.
[ ] Document changes in the CHANGES.rst file. See existing changelog for examples.
[ ] Add tests, if applicable, to ensure code coverage never decreases.
[ ] Make sure the docs are up to date, if applicable, particularly the docstrings and RST files in docs folder.
[ ] Ensure linear history by rebasing, when requested by the maintainer.

Codecov Report

Merging #10 (a823243) into main (7853add) will increase coverage by 0.97%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   79.64%   80.61%   +0.97%
==========================================
  Files           4        4
  Lines         226      227       +1
==========================================
+ Hits          180      183       +3
+ Misses         46       44       -2

Impacted Files
Coverage Δ

src/cosmology/compat/classy/_core.py
88.88% <100.00%> (+8.11%)
:arrow_up:


New Operator Guide

After #3245 get merged in, we can start editing a new operator registration guide. Let us start by pasting and collaboratively edit markdown format to this issue, before we move it to the docs
@piiswrong

Operator Registration
The new version of MXNet support operator registration via NNVM, the following code is a snippet on how an operator can be registered.
NNVM_REGISTER_OP(abs)
.MXNET_DESCRIBE("Take absolute value of the src")
.set_num_inputs(1)
.set_num_outputs(1)
.attr<nnvm::FInferShape>("FInferShape", ElemwiseShape<1,1>);

The syntax is quite simple, we register the operator via name, set number of inputs and outputs. Furthermore, we can register additional attributes of the operator.
Operator Attribute System
One of the biggest improvements brought by the recent refactor is the operator attribute system. This is like traits for types in common languages like c++. We can register arbitrary attribute to any operator, with the syntax
NNVM_REGISTER_OP(op-name)
.attr<AttributeType>("AttributeKey", CorrespondingAttributeObject);

Then these registered operator attribute can be retrieved by the system later for various purposes. For example FInferShape attribute is used for shape inference, FCompute<cpu> attribute is used for carry out the actual computation on CPU.
We do restrict that all the attributes with same attribute key need to be in the same type. Other than that, we can register any attributes of operators. The more attribute each operator provide, the more information the system can leverage to perform various optimizations.
List of Operator Attribute that Must be Registered
As long as the following two attributes are registered, the operator can run on computation and take gradients

nnvm::FInferShape
nnvm::FGradient
mxnet::FCompute

A Complete List of Attributed that is used by MXNet
All the operator attributes are listed under two files

nnvm/op_attr_types.h
mxnet/op_attr_types.h

Examples
TODO @piiswrong

@pluskid  @vchuravy @tornadomeet @sxjscience @antinucleon @winstywang
We have done a pass on the new operator guide, please review this content, some of you have write access to the post and can direct edit this, otherwise, please post your reply to this issue in markdown on how this guide can be enhanced, and provide your version of enhancement.
Possible content can be a case study on how to implement a specific operator, and some detailed explanation on how some of operator works.

Does all operators in src/operator/tensor need to be refactored to the new operator? we'd better have a case on how to convert a 'big operator' to the new operator, like 'convolution'.

The above guide does not provide an example on how to write FListInputNames when there are multiple inputs.
For operators which have multiple inputs, you may refer to https://github.com/tqchen/tinyflow/blob/master/src/op_nn.cc#L262-L277

@flyers  do you mind provide an updated version that reflect this, by posting a version in this issue? Thanks!

@tqchen OK. I will try to update the above guide by adding some uncovered materials, and perhaps provide the bigger embedding op as an example.


i have the same issue,could any one help me?

I have aproblem! It seems whenever I try to open a live server, it opens a completely ... different  HTML file. I've even closed all the other associated files and it still opens a completely unrelated one.
Originally posted by @30ozSteak in https://github.com/ritwickdey/vscode-live-server/issues/65#issuecomment-381458417

What I understand from above is you are trying to open active html on browser when clicking Live server. Try to open the folder (navigating to File > Open folder) in which your file is present and then try to open it with live server. Example: index.html is present in xyz folder, navigate to xyz folder and then hit live server.


evalTrigger mutation fix

Description

[!TIP]
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.

Fixes #Issue Number
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!IMPORTANT]
🟣 🟣 🟣 Your tests are running.
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/9478775536
Commit: a78ed823b8c64a66808906accd93485c5ecdbb2d
Workflow: PR Automation test suite
Tags: ``

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true


Add detachScrollListener in componentDidUpdate

'react-infinite-scroll' is a good component.
But I think there is an issue.
Call the detachScrollListener function only when 'offset' is less than 'threshold' in the scrollListener function.
So when 'hasMore' changes, the detachScrollListener function is not called.
That's why I think the function detachScrollListener should be called in the componentDidUpdate function as well.

Relates to issue #44
The fix here works but isn't enough. You shouldn't detach/attach event listener for every update, but only after a change of hasMore.
See https://github.com/dantzchan/react-infinite-scroller/commit/506138f7b3dcbe88efdbfec267d400ecbbf1fd86 (from issue discussion).
Cheers

Ok. Thanks for the reply.


Static invocations such as __::each raise E_STRICT warnings

Using the static method invocations, like __::each and __::map will raise E_STRICT warnings. For example, calling __::filter will raise this chain of warnings:
Array
(
    [number] => 2048
    [string] => Non-static method __::filter() should not be called statically
    [line] => 55
)
Array
(
    [number] => 2048
    [string] => Non-static method __::select() should not be called statically
    [file] => ../lib/underscore.php
    [line] => 182
)
Array
(
    [number] => 2048
    [string] => Non-static method __::_wrapArgs() should not be called statically
    [file] => ../lib/underscore.php
    [line] => 184
)
Array
(
    [number] => 2048
    [string] => Non-static method __::_collection() should not be called statically
    [file] => ../lib/underscore.php
    [line] => 186
)

As of PHP 5.4, E_STRICT is or'd into the E_ALL constant, so scripts that report all errors will show these.

Thanks for putting this on the radar. This issue ties back to supporting both static calls and OO-style calls.
Having looked into a solution before, nothing jumped out as particularly clean or easy. I'll take a look and see what I can do. Having E_ALL report these in 5.4 makes this more important than in previous versions.

What about something like this?
function __() {
    return Underscore::instance();
}

class __ {

    static function __callStatic($name, $args) {
        return call_user_func_array(array(Underscore::instance(), $name), $args);
    }
}

class Underscore {

    static function instance() {
        static $instance;
        if (! $instance) $instance = new self;
        return $instance;
    }

    function foo() {
        return 'foo';
    }
}

__()->foo();
__::foo();

Something like that might work. I briefly tried this approach, but only a couple of tests passed. It's probably worth a second look.
function __($item=null) {
  $__ = Underscore::getInstance();
  if(func_num_args() > 0) $__->_wrapped = $item;
  return $__;
}

class __ {
  public static function __callStatic($method, $args) {
    $__ = Underscore::getInstance();
    if(count($args) > 0) $__->_wrapped = $args[0];
    return call_user_func_array(array($__, $method), array_slice($args, 1));
  }
}

class Underscore {
  // All the functions go here
}

up!
I'm trying to use this lib from https://packagist.org/packages/underscore/underscore.php with php-v5.3.3-7 and caught warning and error:

Warning like Non-static method __::filter() should not be called statically
Error: Call to undefined function __()


Make the FCPX Hacks changes more modularised

Currently, there is substantial custom code in the init.lua file, as well as the loaded files making changes directly. This could be improved by putting all custom code into a specific 'FCPX Hacks' module which is then initialised with a single line of code in the init.lua file.

Migrated all FCPX-specific code into latenite/fcpx/hacks.lua
Load the hacks with a single line in init.lua


Hash of conditions not working

I have a model called User and a controller called UsersController. I just want a basic authorization, that is to ensure that users can only edit a instance of the user model if the id matches the id of the current user. In my ability class I have the following:
can :update, User, id: user.id
However, it is possible to edit and update the users that does not match the current user's id.
Does someone know what is going on here?
Edit: I'm using authorize_resource, not load_and_authorize_resource

I'm getting the same results - basically it doesn't seem to work as described in the docs. I am yet to uncover why though.

@ajeferson No idea. Can you provide some code that you think should work but doesn't? I have no idea how your checking permissions.

@Senjai
The cancancan_issue_example is an example app to reproduce this issue.
I use authorize_resource in PostsController and set ability to can :manage, Post, user: user, but user2 still can update and destroy user1's post.
If uncomment load_resource in PostsController, the authorize procedure works fine!

Also experiencing this on Rails (5.0.1) with cancancan (1.15.0).

@CalvertYang
In your example, moving authorize_resource below before_action :set_post also makes it work.
That's because authorize_resource uses the loaded resource if it's available and falls back to running a check on the resource class.
And given this ability:
class Ability
  include CanCan::Ability

  def initialize(user)
    can :read, :all
    can :manage, Post, user: user
  end
end

This will happen:
user = User.find(1)
ability = Ability.new(user)

ability.can? :update, Post.new # => false
ability.can? :update, Post.new(user: user) # => true
ability.can? :update, Post # => true

This is why every user can update the records in your examples.
I'd say that this is a correct behavior, since can? :update, Post could be understood as "Can you update posts? Yes, some of them."
If you want authorize_resource to work as expected for update, you need to set the resource instance first.

@musialik
Thanks for your explanation.
It works like I expect, after I set the resource instance before authorize_resource.


Updating to ESLint 2

How should this be done?
There's currently { latest: '4.1.8', next: '5.0.0-beta10' }
Where 4.x is using babel 5, and 5.x is babel 6.
We will definitely need to make a major version update, but I'm not sure how we want to do this. The simplest thing is to just release a 6.x version for eslint 2.0 and that's it (don't touch the other ones?)
There's a lot of existing bugs in 4.x/5.x (and haven't released 5.x proper) and it doesn't seem great to do 4 versions and do fixes on all of them.
I could just set beta10 to be babel-eslint@5 since a lot of people are using it already.
Or, update babel eslint 5 to be both the eslint update and the babel 6 upgrade.
Or make a new 7.x version?
And for people using babel 5, 6.x would be babel 5 + eslint 2? Hope I'm not overthinking this.

Personally my vote would be for moving straight to babel-eslint 6.x, assuming babel-eslint 5.x is at a state where you would consider releasing it anyway. Current users of 4.x will simply (ha!) be updating to a new major version that supports babel 5 and eslint 2, while users of babel-eslint 5 will be going to a new major version with support for eslint 2.

I would also like to have a v6 release that uses babel v6 and eslint v2, so we have matching versions between both babel-eslint and babel.

There is no reason to support Babel 5 to be honest. It's not even supported by the Babel team, it's abandoned.

i don't care as long as you guys start following semver. declaring a dependency as next is really annoying.

Ok, what do think we need to do to follow semver; I thought we we're doing it correctly already?
I only left it as a beta initially since I wasn't comfortable releasing it knowing that there were bugs?

i mean strict semver without suffixes so i know if stuff is outdated n stuff.
i've been using next for a while and only hit a bug once, but then i realized it was because i set an exact version and it was fixed in future versions. i didn't know the version was outdated because npm outdated doesn't follow non-strict semvers. thus, i changed it to next instead of an exact version.
i much prefer if v5 was just published asap. i don't care if eslint 2 support comes in v5 or v6.
btw i'm using next w/ eslint@2 and i don't have any issues.

Ok I'l just do a v5 soon, and most likely we do a v6 with babel v6 and eslint v2 like most people suggested?

So, does babel-eslint v5 support eslint2?

No as mentioned ^, it's just the beta version. https://github.com/babel/babel-eslint/releases/tag/v5.0.0

+1 on v6 with babel v6 and eslint v2.
As of babel v5, either release a v5.1 with eslint v2 support (it is just a dep upgrade, if there are no breaking changes on your side you can push a minor) or rule that with babel v5 we get only eslint v1.
I think the latter is fair too.

I'm using gulp-eslint with babel-eslint as the parser. gulp-eslint currently uses eslint v2, while babel-eslint is still on eslint v1. If babel-eslint is set as the parser with gulp-eslint, which version of eslint is used when linting?

babel-eslint doesn't change the version of eslint - so it would be using eslint v2. It's about babel-eslint updating to account for changes in eslint 2 which could break

@hzoo thanks for the answer. The setup I described is working fine from what I can tell, but maybe I just haven't thrown any code at it yet that would break.

Any updates on the eslint v2 support? Is it in progress?

I gave it a shot: did what I could to make tests pass but there's definetely going to be issues https://github.com/babel/babel-eslint/pulls/264

Forgot to comment here but released a beta version that should support ESLint 2
https://github.com/babel/babel-eslint/releases/tag/v6.0.0-beta.1

Thanks @hzoo, I tried it and I get a lot of no-use-before-define errors as soon as I have sth like this:
const { a, b, c, ...xyz } = az;

Yep thats https://github.com/babel/babel-eslint/issues/249

Should of closed this before, but I guess I left this up since I made 6.x as a beta.
For ESLint 1: use<EMAIL_ADDRESS>otherwise use<EMAIL_ADDRESS>for ESLint 2.


Custom 'on' Filters

Q
A

Issue Type
Feature Request

Deployer Version
N/A

Local Machine OS
N/A

Remote Machine OS
N/A

Description
Hi,
I have several tasks that make use of the onHosts filter. One example is to ensure apache related tasks happen only on apache web servers and nginx related tasks happen only on nginx web servers. These individual tasks usually make up part of the same 'parent' task but are skipped depending on the environment. However because I'm using the onHosts filter this means that every time I create a new web server I have to add a new host to each of the relevant onHosts filters depending on the type of web server it is. This is ungainly and the list will grow infinitely until I decommission servers.
I'm wondering if it would be possible to allow custom filters e.g. on('custom-filter-name') or, in the case of the above example, on('apache') and on('nginx'). Naturally the custom filter values would need to be added to any host definitions.
In case it helps here is a simple example before the proposed change:
task('initialise_website', [
    'setup_remote',
    'deploy',
    'web_server:apache_reload',
    'web_server:nginx_reload'
]);

task('web_server:apache_reload', function () {
    run('sudo service apache2 reload');
})->onHosts('
	apachehostone.com,
	apachehosttwo.com,
	apachehostthree.com,
	apachehostfour.com
)->setPrivate();

task('web_server:nginx_reload', function () {
    run('sudo systemctl reload nginx');
})->onHosts(
	'nginxhostone.com',
	'nginxhosttwo.com',
	'nginxhostthree.com',
	'nginxhostfour.com'
)->setPrivate();

and after:
task('initialise_website', [
    'setup_remote',
    'deploy',
    'web_server:apache_reload',
    'web_server:nginx_reload'
]);

task('web_server:apache_reload', function () {
    run('sudo service apache2 reload');
})->on('apache')->setPrivate();

task('web_server:nginx_reload', function () {
    run('sudo systemctl reload nginx');
})->on('nginx')->setPrivate();

Of course it's entirely possible there's a better way to tackle this sort of problem, so if anyone has any suggestions I'd be grateful to hear them. I considered using variables but the code seems more cluttered with this approach.

You can use rule filter for this.

https://deployer.org/docs/tasks.html#by-roles

Thanks Anton. I did consider that and am not quite sure why I didn't follow through with it... Seems like it'll work just fine. Thanks for the tool by the way.


Override max_per_page at the controller

I don't think this is currently possible and wanted to inquire whether it is, and whether you'd accept a PR for it?
I'm looking for a way to override the default max_per_page setting for a specific action. For example, for almost all views, the max_per_page is set at 50, but for an API, I would like to allow them to get a max of 200.
I haven't been able to discover a way to override the default max at the controller and was thinking we could add it as an optional parameter to per.
Something like:
class Model < ActiveRecord::Base
  max_paginates_per 50
end

# in the controller
Model.page(params[:page).per(params[:per_age]) #=> maximum of 50
Model.page(params[:page).per(params[:per_age], max: 200) #=> maximum of 200

Thoughts?

Checkout #736 for PR.


Changes order of setting of the buffer volume in tecan files

Feel free to merge in as soon as the tests pass


⚠ Bofrost.at has degraded performance

In e22bb76, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2567 ms

Resolved: Bofrost.at performance has improved in ad5368d after 26 minutes.


Error check for invalid TDS login request

Issues Resolved
BABEL-5214
Authored-by: Kuntal Ghosh<EMAIL_ADDRESS>Signed-off-by: Kuntal Ghosh<EMAIL_ADDRESS>Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

1 of 2 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.001%) to 74.031%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contrib/babelfishpg_tds/src/backend/tds/tdslogin.c
1
2
50.0%

Totals

Change from base Build<PHONE_NUMBER>0:
-0.001%

Covered Lines:
44431

Relevant Lines:
60017

💛  - Coveralls


Deploy review apps on open PRs

On Heroku deployments, we can spin up a review app for every PR. It might be useful to spin up a storybook deployment for each PR so people can see what the new story looks like without pulling down the branch

I configured this on 11/13. Closing


modcc: && not recognized as a boolean operator

Using the && to chain two boolean statement leads to an error:
error: unexpected character '&' at (line 55,col 22)
./offset_current.mod:(line 55,col 22)
unexpected token &
Codeblock:
    if (t >=  delay  && t <  duration  +  delay) {
        i = amplitude : standard OnCondition
    }

Can you please add this feature @w-klijn ?


Restrict parameter list in kubeflow experiment run to one pipeline only

When running an experiment with a pipeline, in Kubeflow/Runs/[Graph] section I can see only the selected pipeline name (in this case "scoring"), but when going to [Config] - Run parameters section contains parameters from all pipelines - it is miselading.

Agree. The kubeflow plugin attaches all available parameters in a config dir to a single pipeline, even if exactly this pipeline doesn't use them.
It applies some restrictions. For example, I reached the params size limit because of this:
The pipeline spec is invalid.: Invalid input error: The input parameter length exceed maximum size of 10000.

I ran into this issue and modified my pipelines and the plugin to accommodate. Below is a summary of what I've done.

I ported my pipelines to use modular_pipelines.
Modified the corresponding parameter configurations
Added a conditional to the pipeline generation process here to account for a pipeline name passed through the command line argument kedro kubeflow compile --pipeline <pipeline_name> -o <pipeline_name>.yml.

The modifications to the per_node_pipeline_generator.py module I made the following:
    def generate_pipeline(self, pipeline, image, image_pull_policy):
        if pipeline == "__default__":
            merged_params = merge_namespaced_params_to_dict(self.context.params)
        else:
            merged_params = merge_namespaced_params_to_dict(self.context.params[pipeline])

This will check for and use parameters specific to the pipeline passed through the command line argument and generate a pipeline manifest accordingly.
Without specifying a pipeline name, you're left with the same Invalid input error: The input parameter length exceed maximum size of 10000 as all parameters are naively dumped. However, this allows me to sidestep that problem (for now) and generate pipeline-specific manifests that I can deploy accordingly.
Full disclosure: I have about a dozen pipelines, modular and not modular, in this project I'm working with, so I will try and address the "dump all parameters" approach in the coming days/weeks and add my findings back to this thread. 🙂


Use LSP lifecycle events instead of methods

Closes https://github.com/langium/langium/issues/557
Also introduces a way to eagerly load all service instances, since we register the lifecycle events in the constructor. As the constructor could be called after the lifecycle event is fired, we need a way to make sure all services are loaded.

Actually nothing to lift the finger. LGTM. Maybe you can find a way in the dependency injection not to use any type…


feat: initial bookmarks implementation

Summary of PR
Setup navigator to support modal style of bookmarks, as well as test single flatlist folder implementation as defined here
Discussion
One discussion that needs to be had is for the root navigator Uses React Native screens and the screenPresentation Prop to declare the bookmarks screen as a modal. With React Native Screens (implemented currently), we get access to native IOS large header style, as well as the ability to declare a single screen in the navigator as a modal. With React Navigation (built on top of Screens), we have to use a nested navigator in the root to get a single screen to be in the iOS-modal style.
Pros/Cons
React Navigation:
Pros:

JS implementation over React Native Screens, so more customization

Cons:

have to use nested navigators

React Native Screens
Pros:

uses Native APIs, so animations and navigation feels native
access to declaring a single screen as a modal

Cons:

limited customization

Tests for unexpected behavior

no tests yet, still implementing

Time spent on PR
1 hour
Linked issues
Fix #22
Reviewers
@Harjot1Singh @saihaj
TODO list

[ ] cleanup styles
[ ] discuss react navigation vs react native screens implementations

@Harjot1Singh getting this error when trying to use Enum values as keys in https://github.com/shabados/mobile/pull/120/files#diff-26ad4b834941d9b19ebf9db8082bd202aaf72ea0ddea85f5a8a0cb3c729cc6f2R13

Thanks for putting in a PR! A couple questions:

Did you include the time you spent researching/thinking about issue resolution in your "Time spent on PR"?
Could you please share some screenshots in the OP?

Lastly, please rename the title of the PR to match our commit guidelines

No i didnt include the time i spent thinking. Would probs be about ~3 hours with that number.

If you're going to continue working on this draft, please assign yourself to the PR
If you believe you've gone as far as you can without additional help, please assign Harjot to the PR

Considering #117 as a blocker to successful merging -- let me know if that's correct @Harjot1Singh

@Harjot1Singh ive done as much as i could. I couldnt get tests working, so imma hand this off

@Harjot1Singh need help with fixing app.spec.tsx

im just going to start a new branch with a clean slate for new design