Enforce Conventional Commits

There are some possible benefits to using/enforcing conventional commits. Pls discuss
Github action to enforce?

In meetings it was agreed to not enforce at the commit level. Maybe at the PR title level, but with our regular bi-weekly release schedule and not yet following semver's breaking policy it's not necessary

Thanks for reopening this @philknows ! It will really help with standardizing our changes. A few points:

I think we can distinguish deps a bit more to have it as it's own commit types i.e. deps (dev): or deps!: if upgrading the dep introduces a breaking change.
We should ensure we outline all aspects of the specification that we want to enforce.

We can setup a husky pre-commit hook to enforce this once we agree upon it.

deps!: if upgrading the dep introduces a breaking change.

Just using ! for breaking change should not be allowed at all and not sure to be honest why this is even allowed as per spec, we should enforce that commits that introduce breaking changes must include BREAKING CHANGE in the description with a thorough explanation of why it is breaking and what changes are required to make it work again. Adding the ! in addition is good though because you can see breaking commits just based on the message.
As for production dependencies, I would just use fix(deps). I would also not define fix as a bug fix, sometimes it is just a fix/improvement, it is not always related to a bug.

We can setup a husky pre-commit hook to enforce this once we agree upon it.

 Need to enforce it on PR title which is also great because it gives contributors more freedom + git hooks are kinda annoying

A fix that is related to a bug rather an improvement could be classified as a refactor or perf so I think fix relating specifically to bugs is appropriate.

perf is really specific category, even though in Lodestar there are quite a lot of commits that fit
refactor is code structure only, meaning the behavior must not change (from outside view). This also means refactor type commits are omitted in the release trigger and changelog, as nothing really changed, code is just (hopefully) more maintainable now.
I like to think about conventional commits in combination with semantic versioning which makes it easier to reason about
Commit Types & Release Triggers/Changelog
|
|-- Release Triggers & Included in Changelog
|    |
|    |-- Major Release
|    |    |-- Breaking Changes (breaking: true)
|    |
|    |-- Minor Release
|    |    |-- New Features (type: 'feat')
|    |
|    |-- Patch Release
|         |-- Reverts (revert: true)
|         |-- Bug Fixes (type: 'fix')
|         |-- Performance Improvements (type: 'perf')
|
|-- No Release Trigger & Not included in Changelog
     |
     |-- Build System (type: 'build')
     |-- Continuous Integration (type: 'ci')
     |-- Chores (type: 'chore')
     |-- Documentation (type: 'docs')
     |-- Code Refactoring (type: 'refactor')
     |-- Styles (type: 'style')
     |-- Tests (type: 'test')

Based on this, let's just think about a change in isolation, if there was only one commit, what kind of release should it trigger if at all. This eliminates refactor right there for any sort of improvements that affect users because you would want those to trigger a release.
Now we can of course re-write the rules or add our own rules that fit the project better but I would suggest sticking as close to the standard as possible.

I think fix relating specifically to bugs is appropriate.

Then there won't be a lot of fix commits (hopefully) if we define a bug as an error or flaw in the code that causes the program to behave unexpectedly or incorrectly.
Also noting that feat should really be reserved for actual new features and not for minor improvements so practically there is no type we can use for a lot of commits if we define fix as bug fixes only.

Give an example of this.

Sure, these are few of the recent commits which are not a bug fix but should be of type fix as we want them to trigger a patch release

Enable metrics if monitoring endpoint is configured
Only preaggregate attestations if there are connected aggregators  (could be perf)
Limit preaggregating attestations (could be perf)
Log index if attestations are published per committee
Always add gossip attestations to forkchoice (could be perf)
Log monitoring errors as warning and reduce verbosity
Log expected api errors as warning instead of error

but enforcing it at the commit level is actually to assist in the PR review process, particularly when reviewing larger PRs, having a good commit etiquette can help people to review PRs faster

In theory I would agree but you can do good commits without following conventional commits and you can do bad commits even when following it.
I would prefer to keep a feature branch more like a "playground" with loose restrictions.

As @philknows suggested we would have a Github action to enforce it in the PR title

sounds like the ideal solution to me, we get the best out of using conventional commits without introducing too much overhead

A fix that is related to a bug rather an improvement could be classified as a refactor or perf so I think fix relating specifically to bugs is appropriate.

I think there was a grammatical error here that caused confusion, it should say A fix that is NOT related to a bug BUT rather an improvement could be classified as a refactor or perf so I think fix relating specifically to bugs is appropriate.

Based on this, let's just think about a change in isolation, if there was only one commit, what kind of release should it trigger if at all. This eliminates refactor right there for any sort of improvements that affect users because you would want those to trigger a release.

A changelog should contain all changes in order to provide visibility and improvements of a codebase (not just to users but also other developers and potential contributors), that would include refactors, CI changes, documentation changes etc.
In the case of a refactor or a series of refactors, we probably would not do a release, but that is independent of what should be included in the changelog. In practice it is common to have multiple commits before a release and so whether we are doing a patch, minor or major release will be dependent on bug fixes, features, performance improvements and reverts and the refactors would more than likely be included alongside those changes.

Then there won't be a lot of fix commits (hopefully) if we define a bug as an error or flaw in the code that causes the program to behave unexpectedly or incorrectly.
Also noting that feat should really be reserved for actual new features and not for minor improvements so practically there is no type we can use for a lot of commits if we define fix as bug fixes only.

I don't see this as a problem. I agree in that we would not want to have a lot of bug fixes but there is a possibility at some points we may.  I agree that feat should be for any type of new feature but I am not sure what you mean when you say "minor improvements" , those could be be classified as feat as well regardless of how drastic it is.

Sure, these are few of the recent commits which are not a bug fix but should be of type fix as we would want them to trigger a patch release (if in isolation)

All of the listed examples can be articulated as bug fixes or performance improvements (I wouldn't have labelled them refactors so I don't think it's a relevant example) since they are behaviours that were unintended but are now changed, or are improvements in the performance of the software,  and so in those cases would trigger a release.

In theory I would agree but you can do good commits without following conventional commits and you can do bad commits even when following it. I would prefer to keep a feature branch more like a "playground" with loose restrictions.

The rationale behind conventional commits is standardize commits so that we have good commits and to reduce the possibility of a bad commit. We agree on what those standards are and therefore determine what is bad and good.

A changelog should contain all changes in order to provide visibility and improvements of a codebase

Well I guess we just disagree on what a changelog is supposed to do and who the audience should be. IMO it is for consumers of the software and not developers of the software. Therefore adding things not relevant to a consumer is just noise.
Developers can look at the commit history and PRs.
I have used semantic-release for few years and have been involved in that ecosystem for quite a while, so I have rather strong opinions here, let's get input from others, will not come to a consent on this :)

those could be be classified as feat as well regardless of how drastic it is

Hard to define objective rules on how to classify feat but usually looking at a specific PR is should be quite clear, see comment above what I consider fix. A clear feat commit would be adding Lodestar prover for execution api.

All of the listed examples can be articulated as bug fixes

Happy to disagree here as well, I guess we just have different definitions of what a "bug" is, see other comment on how I define it.

We agree on what those standards are and therefore determine what is bad and good.

Just because you tell developers to prefix their commits with type(scope): doesn't mean all commits magically become good. I have worked with a lot of JR devs while using conventional commits, trust me on this :)

Yall are covering a lot of ground here XD... will throw in my thoughts:

RE conv commits on commit level vs PR title level - I favor just enforcing conventional commits on PR titles

Reason: We squash all PRs into a single commit, there's not a guarantee we'll maintain all original underlying commit messages for a PR. This will be only a small change to our existing workflow, which will be minimally disruptive for us, but its also convenient for newcomer contributors who aren't familiar with conv commits (we can just edit their PR title once we approve their work).

RE triggering releases based on specific conv commit types - IMO useful for lower level component libraries, but probably won't be necessary for this repo for a while.

Given the rigor of testing required for our releases, I'd recommend just sticking with a biweekly release schedule based on manually curated commits off unstable.

RE including all changes in the changelog/release notes - I favor including everything, but tailoring the release notes for consumers

I'd love to see the paragraph that @philknows writes for the lodestar-announcements channel be the 'intro' to the release
we can add the "unimportant" changes under a dropdown at the bottom

RE good vs bad commits / PR titles - IMO conv commit titles won't be a silver bullet. We should also separately be conscientious about making titles succinct but also descriptive enough as a summary of the feat/fix/etc. I think this is just very subjective and hard to get right.

Hoping that by using conventional commit PR titles, it will get us more comfortable with conventional commits in general, give us more tools for organizing our releases, and act as a foundation for future release process changes, if / when we need / want to change.

Like I said before my opinions are shaped by semantic-release, whether or not this can be considered an industry standard, I leave up to you to decide

semantic release is intended to generate release notes as it states in it's description, which is distinct from the changelog.

I don't care what name we use for it, I just care how we can improve what we output here ChainSafe/lodestar/releases (or in a CHANGELOG.md file for that matter) and see if conventional commits are helpful to improve this and how we need to tailor it for it to be valuable

We intentionally make a distinction between the two, as demonstrated in our last release as @wemeetagain mentioned the release notes help the consumers see what is relevant to them.

the commit Log monitoring errors as warning and reduce verbosity is clearly not a bug, it does not produce an incorrect or unexpected result, and it behaved as intended. Just changed my mind on how this should be logged later. This was a quite opinionated change because I think it improves log UX, fixing a bug is not opinionated because you fix something that is not working as intended and you just make it work as it was supposed to in the first place.

And one could make an argument that the way it ought to have worked in the first place was to have been less noisy and thus it was a UX/DX bug fix, regardless this is an unnecessary point to dwell on and has been discussed ad nauseam  I think we can agree that bug fixes and features should be highlighted in release notes.

I think we can agree that bug fixes and features should be highlighted in release notes.

agreed

@wemeetagain mentioned the release notes help the consumers see what is relevant to them.

I think @wemeetagain meant both the title/introducing aka lodestar-announcement done by @philknows + the Changelog (to be generated from conv commits) should be tailored towards consumers.
Nothing further to add, like I said just care about final/combined result of https://github.com/ChainSafe/lodestar/releases

semantic release is intended to generate release notes as it states in it's description, which is distinct from the changelog.

I leave it at that

Regarding the tooling, even though we could use semantic-release with just the release notes/changelog generator to generate the Chanelog, it seems suboptimal to me as customization is not as easy.
Something like standard-version seems to do just what we require and is much leaner. However, there is a deprecation warning and the author suggests to use release-please which @maschad also mentioned already, seems straight forward to customize as well.

Regarding the tooling, even though we could use semantic-release with just the release notes/changelog generator to generate the Changelog, it seems suboptimal to me as customization is not as easy.

It was a bit hard to read the output for semantic-release if I'll be honest (was part of the rush.js monorepo tool used in prior project).  It also kinda just gave what it gave when we played with making the output better.
I def agree that release-please looks like a better option


Unable to install medTimer - what requirements must be met for successful installation?

I liked to install medTimer, since that may be what I'm looking for, but I failed.
F-Droid based app stores (via IzzyOnDroid repo) detect the app as not being supported for my device.
Trying to download the offered GitHub releases and to install them directly failed as well.
Unfortunately, I haven't found any hint in medTimer's description.
So what requirements must be met to install medTimer?

API / Android Version?
any special GApps API requirements?

I'm currently in Android 11.0 (ArrowOS) with microG.
I just like to switch to LineageOS for microG (currently based on Android 13 for my device) in a few weeks.

I will add the corresponding info in the README.md here. The app requires API/SDK 33, meaning Android 13.  So after your planned switch, the app should work.

@Futsch1 Hi. Thanks for this great APP!
I tried to build this project on commit 7159dd1aef8be4078ba6112f88d133ea42586be8 with minSDK=28, and it works on my API 28 emulator. Would it be possible to decrease the minSDK?
I checked the README content in #31 but I think the Android Room database and Material 3 theming doesn't require such a high minSDK version.
I also tried setting minSDK to 26 and run it on an API 26 emulator, the build is fine but the app crashes.

Just did a quick test myself: It actually seems to work. Previously, the compilation failed - I'm certain of it. No idea what changed that makes it work now, but I will definitely look into it, run all tests and, if successful, lower the minSDK.

Seems to have been related to automated desugaring of more Java 8 APIs. Still, it was a bit more work than expected, but the release v1.13.0 will be supported on a lot more Android devices.
Only limitation is the widget, which will (as of now) be only available as a single line widget.


Market data wrapper keeps disconnecting

Hi,
I'm trying to use the MarketDataWS class to connect to Gemini's market data websocket. However, after a minute or so afterwards of initialising the class it keeps disconnecting and repeatedly showing the error message "socket is already closed" and doesn't record any trades.
This is my following code:
from gemini import MarketDataWS
a = MarketDataWS('btcusd')
a.start()

and after a minute or so the following message keeps repeating forever:
...
socket is already closed
socket is already closed
socket is already closed
socket is already closed
socket is already closed
socket is already closed

Also when i try to force close the connection it just freezes and when I press CTRL + C , I get the following error:
>>> a.close()
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/code/gemini/basewebsocket.py", line 54, in close
    self.thread.join()
  File "/usr/local/lib/python3.6/threading.py", line 1056, in join
    self._wait_for_tstate_lock()
  File "/usr/local/lib/python3.6/threading.py", line 1072, in _wait_for_tstate_lock
    elif lock.acquire(block, timeout):
KeyboardInterrupt
>>> Connection is already closed.

--Ended Connection--

Hey,
Thanks for reporting the issue. I was able to replicate this error. However, upon further investigation, the problem seems to be not on the code itself, but the fact that the Gemini website is currently experience problems with their services as reported on their status page (https://status.gemini.com/). However, their services should be back to operational in a few hours/days and you should no longer be experiencing this problem. I'm going to keep the issue open for a few days, just in case Gemini get their services up and the problem seems to persist. Otherwise, I'll close it.


See if this solves it.

It seems to have on my end

Codecov Report

Merging #8 into a-la-carte will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           a-la-carte     #8   +/-   ##
=========================================
  Coverage         100%   100%
=========================================
  Files              11     11
  Lines             258    258
=========================================
  Hits              258    258

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 0aec49d...96823e3. Read the comment docs.


Default Vite template not working because "moduleResolution": "bundler" is not supported

I imagine this is an issue with coc-tsserver's typescript version, since "moduleResolution": "bundler" was added in TS 5.x. I'm not sure how to update it
system tsc version
➜ tsc -v
Version 5.0.4

coc-tsserver version
- ✓ coc-tsserver Current version 2.1.3 is up to date.

Reproduction:
Create a new Vite project with react-swc-ts template
pnpm create vite . --template react-swc-ts

A workaround for me was to run :CocCommand tsserver.chooseVersion and select the local version.

It seems to be typescript package version has already been bumped up in latest master branch, but not released yet.
If they could release it, we should be able to go without creating local files for choosing version ...
When the maintainers got time, please make a new release 🙏

Fixed on<EMAIL_ADDRESS>


Error serializing VTODO with DUE and DURATION

When setting a task DUE date, also a DURATION is serialized.
According to the RFC5545:

              ; Either 'due' or 'duration' MAY appear in
              ; a 'todoprop', but 'due' and 'duration'
              ; MUST NOT occur in the same 'todoprop'.
              ; If 'duration' appear in a 'todoprop',
              ; then 'dtstart' MUST also appear in
              ; the same 'todoprop'.

This bug was also present in DDay.iCal.

EventSerializer has some code to remove DURATION when both DURATION and DTEND exists
            if (evt.Properties.ContainsKey("DURATION") && evt.Properties.ContainsKey("DTEND"))
            {
                evt.Properties.Remove("DURATION");
            }

A similar workaround would be needed for todos, but maybe it would be better to avoid adding it in the first place?


High cpu usage in VSCODE with the plugin "Solidity + Hardhat v0.4.4"

Hi everyone.
Nowadays I realized that my cpu usage increased once the hardhat plugin is active in VSCODE.  And also  a blue loading circle near my mouse icon won't disappear unless I disable the plugin in VSCODE. Whenever I disable it, cpu usage goes down.
I checked the "Process" in "Task Manager" and realized that "Microsoft Defender Antivirus Service" is the first one which uses the cpu the most.
For now I keep the plugin disabled unless I am not using it. But it is awkward.

Thanks for creating this issue, @turgaycabalak! I transferred it to the NomicFoundation/hardhat-vscode.

@turgaycabalak thanks for that, the feedback is much appreciated. We have pushed a fix for some cases of high cpu: https://github.com/NomicFoundation/hardhat-vscode/pull/212
It is release as 0.4.5 on the marketplace now: https://marketplace.visualstudio.com/items/NomicFoundation.hardhat-solidity/changelog
Could you try it and see if you are still getting high cpu. If you do still see it, can you send another image of the output but scrolled to the bottom?

Problem seems solved. Thank you very much. Appreciated.

Thanks. Tried the new version. Looks like it's fixed.

Problem seems solved. Thank you very much. Appreciated.

@turgaycabalak brilliant. Glad this resolved the issue. Would you mind updating your review on the marketplace to avoid new users thinking this is a current bug?

Problem seems solved. Thank you very much. Appreciated.

@turgaycabalak brilliant. Glad this resolved the issue. Would you mind updating your review on the marketplace to avoid new users thinking this is a current bug?

I did :) Thank you.


"The selected file is not a valid solution file"

Describe the bug
When opening the Terminal.sln, the following error occurs:
"The selected file is not a valid solution file"
To Reproduce
Steps to reproduce the behavior:

Clone the repo
Open the sln file
Error popups up as above

Expected behavior
Expected the sln to open without errors.
Screenshots

Desktop (please complete the following information):

OS: Win10
Tested in Visual Studio 2019 (16.11.9) and Visual Studio 2022 (v 17.1.0 Preview 4.0)

Can you open the csproj files seperately? I don't have this issue so it might be an environment thing.

Although VS 2019 (16.11.10) is not supporting Net6.0, it's possible open the solution. My recommendation is use the VS 2022 (17.1.0), but I'm not using the Preview 4.0.

The Preview 4.0 can open all sln files I have, even ones also being opened by VS 2019, so there is something weird going on. Anyways, I guess I can create  my own sln file.

Verify if the path where is the solution reside is too long.


Support for innr sp120

Hi,
Could you please add the Innr sp120 to the plugin supported devices?
https://www.zigbee2mqtt.io/devices/SP_120.html
This one is already supported by zigbee2mqtt.
Thank you

This one is already supported

Ah, i cheched the supported list but didn't found it over there. Thanks


error CS0122: 'Interface' is inaccessible due to its protection level

Describe the bug
Compiling a CSWinRt projection results in error CS0122: 'Interface' is inaccessible due to its protection level, see attached repro.
To Reproduce
Compile attached repro.
Expected behavior
No compile error.
CsWinRTInterfaceRepro.zip

/cc @jkoritzinsky as this might be related to #99

Gist of the repro:
namespace RuntimeComponent2
{
    interface Interface
    {
        String FileName{ get; };
        Int32 Item { get; };
    };
}

namespace RuntimeComponent1
{
    interface Interface2 requires RuntimeComponent2.Interface
    {
        Int64 Id { get; };
    };
}

@asklar are you sure it repro's with this? I think the setter for the same property in a separate interface is needed.


kube-controller-manager --leader-elect-resource-lock default value in Chinese version page is not consistent with the English page

kube-controller-manager --leader-elect-resource-lock default value in English page is 'leases'. As shown below:
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/

But in Chinese version page, this value is 'endpointsleases':
https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-controller-manager/

/language zh

/assign

The whole page has been resync'ed.  ( #28142)
/close


Implement Effective Date for PPD

Implement Effective Date for PPD
Acceptance Criteria

[ ] Analysis to decided how the system will handle the effective and expiry date.
[ ] Remove PD legacy columns from database.
[ ]

Jason, if I understand the issue correctly:
ATBC will send us two pieces of information:

An effective date (i.e. when the disability verification decision was approved by ATBC)
An expiry date (i.e. when a student's PPD status reverts from 'approved' to 'not requested'

The question you ask is how should we handle these dates with regards to particular in-progress applications?
Effective and Expiry Dates have different effects in different places:
Student Account Profile

PD/PPD status shows 'approved' if today>effective date & today<expiry date


Desktop app no longer shows messages, all are blank. Re-pairing does not work

Starting today I can no longer see my messages on the desktop app, only on the website.

+1

I am having the same issue, could this be because there seems to be support for reacting to messages? It seemed to occur the first time I saw reacting to messages supported.

I have had this same issue all day. No messages showing in desk top app.  Please fix this. Thank you.

+1

I have the same issue. Runnung on MacOS 12

Same here.  Coincides with getting the iphone reactions in the Messages app on android.  Works fine here https://messages.google.com/web

Same problem. Windows 11.

+1

#287

I am actually using kelyvin version but it seems to be effecting both anyway :/

Same on Mac OS

I am having the same issue, could this be because there seems to be support for reacting to messages(at least from ios users)? It seemed to occur the first time I saw reacting to messages supported.

No, I believe that's just a coincidence because I've had iphone reactions for a few months now and they had been showing up just fine on the desktop app.

Ditto, same problem, started suddenly today.
This project have any forks currently working?

#287

+1 :(

+1 Win10

It started happening for me with the last update of Android Messages for Desktop. I'm a WIN10 desktop and my phone is a Google Pixel 6P. ADDITIONAL I cannot change to Dark Mode. I could find no version info for the desktop app to include.

+1

The fork works for me.
Find the releases here.

Yeah, the fork works as well, but I still prefer Chris's. Wish he could get it to work, but this will have to do for now.

1+

yes used the fork as well since it works
wonder if any fixes are coming for this?

+1

FYI, another option for those that don't want to use the fork is to use Chome (or Chomium) to "install" https://messages.google.com as an app.

See https://support.google.com/chrome_webstore/answer/3060053 for more info.

@PHLAK Thanks for the reminder! I just installed the Chrome app myself. Works just as well as any of the Electron-based versions.

@PHLAK thanks - seems like a great option. haven't used this before.

Yesterday I totally removed the 3.1 version from my desktop. I installed
version 5.3.1 Works GREAT! I must have accidentally allowed the update to
3.1 so I'll do the same process again today!
https://github.com/OrangeDrangon/android-messages-desktop/releases/tag/v5.3.1
On Sun, Apr 3, 2022 at 4:50 PM Gregbert @.***> wrote:

It started happening for me with the last update of Android Messages for
Desktop. I'm a WIN10 desktop and my phone is a Google Pixel 6P. ADDITIONAL
I cannot change to Dark Mode. I could find no version info for the desktop
app to include.
[image: image]
https://user-images.githubusercontent.com/5008869/161448057-e92513e3-0f44-453a-943e-c572bfe29a1a.png
—
Reply to this email directly, view it on GitHub
https://github.com/chrisknepper/android-messages-desktop/issues/292#issuecomment-1086946855,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGG3ZKR5HO725RZW5A5NN3VDIABXANCNFSM5SKCVYIQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>

I had the same problem, Windows 11, stopped loading messages a few days ago. Could send, but didn't show messages in the message window.
Iust switched to the OrangeDragon fork linked above, v 5.3.1, it works fine.

I just switched to the OrangeDragon fork linked above, v 5.3.1, it works fine.

Yeah, thing is I can't get the OrangeDragon version to minimize to my system tray. I'm going to deinstall it and reinstall version 2

Settings -> Enable Tray Icon doesn't work? Works here...

Settings -> Enable Tray Icon doesn't work? Works here...

 I didn't see it there even though I specifically looked for it.

+1,
Linux installed via snap. Regular desktop, Ferdi and my paired android works. Any workaround?

Same can't see messages

+1. on mac; installed via homebrew

@Glideh

The fork works for me.
Find the releases here.

Thanks for this! Fork works for me too on Mac OS

Same issue on Ubuntu x11 and wayland.
But the fork listed above works


[FLINK-11988][network] Remove legacy MockNetworkEnvironment

What is the purpose of the change
Remove legacy MockNetworkEnvironment
Brief change log

Remove MockNetworkEnvironment class

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @pnowojski


getting Items

items are locked behind bridges and combat
after combat you can choose items in post battle options
different items offered, one item each for each faction (-> 3 ressources in practice) #8
these items can be used as single use items (heal etc.)

items are locked behind bridges and combat
after combat you can choose wich item you want to get (choose between all or between random selection?)

moved to discussions #41


(feat)(docs)(initial): Create Litmus Docs

Changes

Phase #1 consists of Introduction, Concepts & User Guide
Diagrams will be included in subsequent PRs

Signed-off-by: ksatchit<EMAIL_ADDRESS>

@ksatchit can you replace the hotjar code with the new one?

@ksatchit can you replace the hotjar code with the new one?

@Pradeepkumarbk , are the applied changes appropriate?


feat: add ability to set tooltip for column header to FluentDataGrid

🙋 Feature Request
I'd like to set a tooltip for a column header that is different from Title, but it seems impossible at the moment.
💁 Possible Solution
I tried to override HeaderCellItemTemplate, but generated code misses a necessary attribute:

That autogenerated attribute that applies the necessary styling is missing when setting HeaderCellItemTemplate as

@Title

In determining what tooltip to show in the header, the following code is now used:
string? tooltip = Tooltip ? Title : null;

(in ColumnBase.razor, right above where your <div... code comes from.
What if we change that to:
string? tooltip = Tooltip ? (TooltipText ?? Title) : null;

That way you could use the TooltipText parameter to change the tooltip text even with the standard header template.
ps: In your HeaderCellItemTemplate, I think you should be able to get that attribute added by using ::deep in your own styles

Turns out we can't do it in the way I suggested. When rendering the headers, we do not have an actual item available yet that can act as the context for getting the TooltipText function executed,

Creating a new PR for this. We have now solved this by adding a new HeaderTooltip parameter to the column:
<TemplateColumn Tooltip="true" HeaderTooltip="Flag of each team" TooltipText="@(c => "Flag of " + c.Name)" Title="Rank"...


Retrieve global provider and block tracker dynamically

Explanation
Currently the global provider and blockTracker instances are required as constructor options in the TransactionController.
This means the clients must have the global provider available when the controller instance is created, usually on startup.
In order to support construction of the TransactionController before these are available, to facilitate use cases such as disabling provider access until onboarding is complete, this PR does the following:

Removes the provider and blockTracker constructor options.
Adds the getGlobalProviderAndBlockTracker callback option.
Updates all usages of the global network to retrieve the network client dynamically when required.
Updates all relevant public methods and helper classes to either gracefully ignore a missing network client, or throw an error.
Replace the blockTracker, getEthQuery and chainId constructor options in the helper classes with a single getNetworkClient option since all the previous values are either all available or all unavailable, meaning the associated validation becomes much simpler.
Dynamically create the global nonceTracker when first used since it is an alternate package and still requires a provider argument.
Dynamically create the MethodRegistry instance since it is also an alternate package and requires a provider argument.
Move the onBootCleanup logic into the public method initApprovedTransactions so it can be called by the client explicitly when suitable.
Fix logger used by MultichainTrackingHelper.

Note that any additional complexity or logic surrounding the global network specifically is temporary and can be removed once the clients enable the multichain flag, at which point all network clients and helpers will be dynamically synchronised with the NetworkController state.
Changelog
@metamask/transaction-controller
[PENDING]
Checklist

[ ] I've updated the test suite for new or updated code as appropriate
[ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate

@matthewwalsh0 @pedronfigueiredo Is this still being pursued?

@legobeat thanks for checking in on this. It has been handed over to the transactions team. More context here: https://consensys.slack.com/archives/C05B78N1T9B/p1714756558259079. cc: @dbrans

Reopening this PR to pass back to @matthewwalsh0.
No work was done on #4359


✨ feature: integrate SSL mode for PG connections

Right now, the default connection for postgres is disable. Some databases require verify or even required. This PR introduces a new implementation that allows the user to override the disable mode. The PR keeps a backwards compatible config entry, that sets the default behavior to disable if it's missing.

thx
can you deposit some test for it, which will test the effect of the code change

can you deposit some test for it, which will test the effect of the code change

I've integrate a test for this change that checks the behavior. What do you think?

looks okay

@r-52 could you add the new configuration possibility in the readme
after that i will merge everything

@r-52  could you do this?

@ReneWerner87 sorry, I missed the ping :/ I'll take a look at it and ping you when it's done

ok :D

@r-52 and don´t forget to resolve the merge conflicts by updating your branch

@ReneWerner87 Sorry for the delay. The conflict is resolved and I've added a new README entry for the new configuration option :+1:


Update Oneblock.java

It will be too bold to have your mention in "/over" just because of the grammar correction.

what did u mean?


angular bootstrap datetimepicker wont work on ui-bootstrap modal

i got a problem when using this datetimepicker inside my UI modal..
please help
https://angular-ui.github.io/bootstrap/

Thsi is a Support Question
For support questions, please use one of these channels:
Gitter: https://gitter.im/dalelotts/angular-bootstrap-datetimepicker
Stack Overflow: http://stackoverflow.com/search?q=angular-bootstrap-datetimepicker

Try this @ccarlos009 :
https://stackoverflow.com/a/46427871/8439750
It works for me 👍


A IDockManager extension problem

"A IDockManager extension must be included because a UI plugin was found" What happened with this ?
How to solving this ?

Make sure you copy the Windows Extensions and Plugins folders to the target.


fix: spaces to dash (instead of underscore) in fragment id of markdown links

What does this PR do?
Improve repo
For resources
Description

Continues #7029 hotfix to add _ as character to target replacement
Used regex: \(#.*?[_].*?\)
Fixes 1 entry fragment id at TOCs (#in_process is fine): Commits: 87b8f68f85c259c84799034a0d5eb6f0ddeea6bb

Checklist:

[x] Read our contributing guidelines.
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

lgtm


Graphics problems in Chrome & Electron apps in macOS 12 guest on M1 Mac

Describe the issue
Generally the performance inside the VM is really really good, but some apps just dont work correctly. A few examples:

Permanent graphical Glitches in Visual Studio Code. Also observed in Exodus Wallet, Monero Gui Wallet and Sublime Text. App is unresponsive during these glitches and that doesnt change.

Rider IDE for example is showing a crash (Probably something on their end). But if you continue, same issue as above, its glitchy and unresponsive.
Visual Studio 22 Preview doesnt open at all, Visual Studio 2019 runs perfectly fine and the performance is great.
Configuration

UTM Version: 3.1.1 (48)
OS Version: 12.2.1
Intel or Apple Silicon? Apple Silicon

Debug log
I think there is no debug option available for this guest? At least i didnt find one, sorry!

I have this problem too! Its probably on apple's side. I couldn't find anything on the macos release notes page, and neither in their forums
Its so annoying!

I get the same thing with Chrome. Maybe electron based apps just don't work at all.

You can launch these apps with disabled gpu acceleration from Terminal:
open /Applications/Visual\ Studio\ Code.app --args --disable-gpu

You can launch these apps with disabled gpu acceleration from Terminal: open /Applications/Visual\ Studio\ Code.app --args --disable-gpu

This definitely fixed it! I didnt know you could do that. Obviously its still not a great experience, its not running super smoothly without the 3d acceleration it usually gets, but at least its usable now!

I get the same thing with Chrome. Maybe electron based apps just don't work at all.

Yeah thats what i figured aswell. Most problems i had were with electrum apps. As chrome itself also has the same issue, i guess the issue here is with chromium.
But i also get a milder form of these issues with safari. The only browser that ive tested which works perfectly so far is firefox.

I get the same thing with Chrome. Maybe electron based apps just don't work at all.

Yeah thats what i noticed aswell. Most problems i had were with electron apps. As chrome itself also has the same issue, i guess the issue here is with the chromium render engine.
But i also get a milder form of these issues with safari. The only browser that ive tested which works perfectly so far is firefox.

I get the same thing. Firefox based browsers all work good. (tested Tor Browser and LibreWolf)

I think it's got something to do with the video driver..

I began to question whether this is a problem on Apple's end or not (I did not find any GitHub issues on the Electron or VSCode Repository) I filed a feedback to apple anyways, they seems to be aware of the issue somehow, but I haven't received a reply back.
About visual Studio..., I managed to run Visual Studio for Mac 2022 by running this commands
export COMPlus_ReadyToRun=0
open /Applications/Visual\ Studio\ \(Preview\).app

This is just a workaround, Its probably going to be fixed in future releases

I started to wonder if the Electron problem is on the Apple's end or not.
I filed a feedback to apple anyways, they seems to be aware of the issue somehow, but I haven't received a reply back.
About Visual Studio... I managed to find a workaround to run Visual Studio 2022 on an Emulated M1 Mac, you have to run these commands on the Terminal:
export COMPlus_ReadyToRun=0
open /Applications/Visual\ Studio\ \(Preview\).app

However, I am unaware of any drawbacks by doing this.
A GitHub contributor explained very detailed about why Dotnet 6 was crashing on M1 Virtual Machines.

I can confirm that disabling the gpu works as a workaround.

upvote for bugfix.

I haven't had any issue with VSCode using virtio-ramfb-gl (GPU) display card, although Chrome isn't rendering correctly for me.
Seems this is the relevant section of the Chrome logs.
[3315:3315:0712/014846.061113:WARNING:angle_platform_impl.cc(48)] ShaderGL.cpp:206 (checkShader):
0:1(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
0:2(12): warning: extension `GL_EXT_gpu_shader5' unsupported in fragment shader
0:3(1): error: `out' qualifier in declaration of `webgl_SecondaryFragColor' only valid for function parameters in GLSL 1.10
0:0(0): error: fragment shader writes to both `gl_FragColor' and `webgl_SecondaryFragColor'

[3315:3315:0712/014846.065810:ERROR:shared_context_state.cc(76)] Skia shader compilation error
------------------------
#version 100

#extension GL_EXT_blend_func_extended : require
precision mediump float;
precision mediump sampler2D;
uniform sampler2D uTextureSampler_0_S0;
varying highp vec2 vTextureCoords_S0;
varying highp float vTexIndex_S0;
varying mediump vec4 vinColor_S0;
void main() {
    mediump vec4 outputColor_S0;
    outputColor_S0 = vinColor_S0;
    mediump vec4 texColor;
    {
        texColor = texture2D(uTextureSampler_0_S0, vTextureCoords_S0, -0.5);
    }
    mediump vec4 outputCoverage_S0 = texColor;
    {
        outputCoverage_S0.w = max(max(outputCoverage_S0.x, outputCoverage_S0.y), outputCoverage_S0.z);
        gl_SecondaryFragColorEXT = outputColor_S0.w * outputCoverage_S0;
        gl_FragColor = outputColor_S0 * outputCoverage_S0;
    }
}

Another upvote for bug fix, as the workaround stopped working, at least from Google Chrome at around version 100 of Google Chrome. (version 105 at time of posting).

If no proper fix is found, could you allow to disable gpu acceleration on system level ? The Standard Notes app, for example, looks like an Electron app but does not respond to the --args --disable-gpu hack.

Same issue here, on M1 MacOS on MacOS, VS Code does not work even with disabled GPU acceleration both from the command line and from the application itself. Really sad as it's one of my core applications. Interestingly Chrome works very well and so far VS Code was the only app that had issues for me.
PS: As an alternative to VS Code Atom seems to work pretty well.

I found it interesting that the same issue goes to Steam for macOS, but the problem only occurs after switching between other apps and Steam and does not always arise, guess they originate from the same graphic issue.

Visual Studio 17.4 is now fully functional on a Virtual M1 Mac

I had issues with both Firefox and VS Code.
I used the following tutorial to install Ubuntu on Mac with M1. Image was downloaded from here.
To fix the issue with Firefox and VS Code I've used the following article.  To be short - I've disabled Wayland in the following way:

Type in terminal - sudo nano /etc/gdm3/custom.conf
Uncomment WaylandEnable=false by removing # in front of it
If you have sounds problem, just make sure you've turned it on on Linux

But anyway, vscode looks in the following way. Icons and some texts are not shown.

At the same VS Coding works fine

Unfortunately I found the same issues apply to the google drive app :(  login screen does not display in macOS.

I've face with graphic issue on macOS host and Windows 11 (22000.1098) arm64 guest while running Steam app.


Lancet hardware device ari

Change the camera class so that the front and back end are separated, and you do not need to know the Label


Synchronize an MPS project with the model server

The current "Bind to Transient Module" is just a temporary prototypical way to connect MPS models to the modelix server. The goal is to store a whole MPS project in the modelix data structure and automatically synchronize it whenever the user opens that project. The project is a normal MPS project stored on the file system that is synchronized through the SModel API with the modelix server.
I already started implementing this on the project-binding branch.
There is a class ProjectBinding (in MPS) that synchronizes modules and models from modelix to MPS. The other direction still needs to be done. The synchronization of the nodes inside a model is implemented in the class ModelSynchronizer (in MPS), but this is not yet invoked by the ProjectBinding. It's the implementation currently used for transient model bindings.
Previously, modules were stored as direct children of the root node (not MPS root nodes, but the root node of the modelix data structure). Now, there is a new concept org.modelix.model.runtimelang.Project as the parent for the modules. The class ModelExporter (in MPS) doesn't handle this yet (it is executed by the gradle plugin for exporting modelix models to the filesystem).
Currently, the project synchronization is activated by invoking the "Bind to Current Project" action in the cloud view. This should be automated. We can store the binding information using the PropertiesComponent in MPS and use a project plugin to activate the binding when the project is opened.
It may be useful to have one action to create a new project on the filesystem and bind it to a new or existing project on the model server at the same time.

I understand that we want to support the scenario in which the user has an empty MPS Project and everything comes from Modelix: one checkout the whole project.
Do we also want to support the case in which the user has some "physical/local modules" and it check out the Modelix project in addition to the modules he has physically on his disk?
Also, I imagine that some users could be interested in a subset of modules of another project. Could this be implemented as two Modelix projects, which shares some modules?

I just described one simple basic use case that is easy to implement. Yes, we/the users want all of that. If you have the time and motivation to implement that, feel free. We probably also need to import a project that exists on disk, but is not yet stored in the database.

We could use the PropertiesComponent, however if we do so the configuration end up either in .mps/workspace.xml or in /Users/USERNAME/Library/Application\ Support/JetBrains/MPS2020.1/options/other.xml. If one or the other is used depends on if we get the instance associated to the project or the generic one (i.e., PropertiesComponent.getInstance(ProjectHelper.toIdeaProject(this.project)) vs PropertiesComponent.getInstance())
In the first case it is a file that contains a lot of user-specific information, so while it is stored under the project directory it is typically ignored. In the latter case the file is instead hidden in a directory in the system and it contains a lot of configurations which are users specific. By the way, the list of cloud repositories end up here. This is my fiile, as a reference:
<application>
  <component name="NotRoamableUiSettings">
    <option name="ideAAType" value="Greyscale" />
  </component>
  <component name="PropertiesComponent">
    <property name="CommitChangeListDialog.DETAILS_SPLITTER_PROPORTION_2" value="0.6022253" />
    <property name="ExpandBeforeRunStepsPanel" value="true" />
    <property name="KEYMAP" value="node" />
    <property name="MPS.NodesChooser.showContainers" value="false" />
    <property name="MPS.NodesChooser.sorted" value="false" />
    <property name="NonModalCommitPromotionState" value="SHOWN" />
    <property name="SettingsSearchHistory" value="libraries
project libr
project li
project
libr" />
    <property name="UITheme.relaunch" value="true" />
    <property name="addedProjects" value="A
B
C" />
    <property name="appcds.runOnSecondStart" value="MPS-201.7223.1434-0e8de9350386d6505d223f40ec9731321206f712a07f0754f5fdd86ae1e75349" />
    <property name="default.storage.format" value=".mps (directory based)" />
    <property name="file.gist.reindex.count" value="161" />
    <property name="jetbrains.mps.baseLanguage.unitTest.plugin.UnitTestViewComponent.splitter.tree" value="0.2" />
    <property name="jetbrains.mps.baseLanguage.unitTest.plugin.hidePassed" value="false" />
    <property name="jetbrains.mps.baseLanguage.unitTest.plugin.selectFirstFailed" value="false" />
    <property name="jetbrains.mps.baseLanguage.unitTest.plugin.trackRunning" value="false" />
    <property name="org.modelix.model.mpsplugin.CloudRepositories.URLs" value="http://localhost:6060/
http://localhost:28101/" />
    <property name="tasks.pass.word.conversion.enforced" value="true" />
  </component>
</application>

I think it would be ideal to store this information in a separate file under the .mps directory.
The advantages I see are:

We could commit that file, which could be useful in a situation in which we have projects partially on the cloud and partially on files
This file could be shared between users (as in sent through Slack, email, dropbox, etc)
We could possibly generate or modify this file as part of setup scripts, build scripts, or advanced tests (we could do this also if the configuration was in a larger file, but this would be a bit more complicate)

The MPSFavoritesManager plugin seems to do something similar, as it ends up in ".mps/misc.xml". Like this:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="MPSFavoritesManager">
    <option name="keepMe" value="true" />
  </component>
</project>

I could not yet find the sources of the FavoritesManager to see how it is storing this data.
Ideally we would like to be in a separate file (not reusing misc.xml), because the favorites are personal choices that should not be shared among users, while we may want to share this binding configuration.
We may also directly create the file ourselves under the ".mps" directory as we know the project, therefore we know where the .mps directory is, so we can locate/create that file easily.
We could also have a mixed approach: if there is a specific file .mps/cloud.xml then it is used, otherwise we use the PreferencesComponent. In this way, if I check out a physical project which contains the file, it works out of the box. I also have the possibility of sending the file to a colleague, if I want/need to.
I will wait for your decision on this one, in the meantime I will explore more and perhaps look into uploading modules and projects to the cloud repo.

I am thinking about what we do with ./mps/libraries.xml: we sometimes generate it, sometimes we store it in the repo. Maybe we could follow the same approach here, creating ./mps/cloud.xml

Using PropertiesComponent is just the easiest to implement option. It only works for the use cases where the whole project is stored in the modelix database. A separate file is the better alternative that works in all cases.
For writing your own file into the .mps folder you have to implement PersistentStateComponent. I don't remember all the details, but there is some documentation: https://jetbrains.org/intellij/sdk/docs/basics/persisting_state_of_components.html
And here is an example:
https://github.com/JetBrains/MPS/blob/master/editor/intentions-runtime/source/jetbrains/mps/intentions/IntentionsManager.java#L72

Thank you, I will look into that. In general I check with you before taking any significant decision, to ensure I do not mess up the design you have in mind

Ok, update for today:

Code is in project-binding-fed, when it will look ok-ish, I will merge it in project-binding
Added support for saving binding configuration under .mps/cloudResources.xml. We save the list of repositories, module bindings and project bindings (the latter not yet supported)
We do not use anymore PropertiesComponent for the list of cloud repositories, as we use now .mps/cloudResourcex.xml
I have started working on two actions: store on cloud and copy on cloud. Copy on cloud should make a copy of the selected module, store on cloud would make the copy but then remove the physical module from the project and bind the cloud copy just created
For now I can create a copy of the module excluding the references. The module is created, models inside it, and the node hierarchy (roots and all their descendants). Properties are also set
For references I could rewire the references to a node in the original physical module to the corresponding cloud node. However the problem is with references to other physical modules. I think I will initially just set them to null

I will keep working on it as soon as I can. Thank you for your support!
(Short video: I will post it also on #modelix-dev)

References to MPS nodes should already work. Just use INode.setReferenceTarget("role", SNodeToNodeAdapter.wrap(mpsNode)).
There is also NodeToSNodeAdapter.wrap which you can use on the reference source and then set the reference using the MPS SNode API.

References to MPS nodes should already work. Just use INode.setReferenceTarget("role", SNodeToNodeAdapter.wrap(mpsNode))

Ok, I am using this now, and it seems to work.
I was wondering if the opposite is true: can physical models refers to cloud ones? I see that I can add a cloud module as a dependency to a physical module, but I do not seem to be able to add a cloud model as a dependency to a physical model.
Right now we can refactor the internal references, next step should be fixing the external references: if a move a module Foo from physical to cloud, I could have other physical modules and cloud modules refering to that Foo module.
Now, cloud module can have references to the cloud version of Foo, correct? So the only problem would be deciding what approach to take to identify the modules that need to be updated. I would tend to consider only the cloud module currently bound, but we should perhaps instead refactor all modules, also the ones not currently bound.
If physical module cannot have references to cloud modules, then when moving a module from physical to cloud we may break its users. I guess if this is the case we should ideally give a warning and perhaps handle this correctly if multiple modules at the same time are moved to the cloud. For example, if Bar depends on Foo and I move Foo and Bar together to the cloud, I should be able to preserve the inter-module references.
I also need to ensure I add the right depenencies and used languages in the modules migrated to the cloud.

A cloud model/module is made available to the MPS world by mirroring its content to a normal MPS model/module. That means a reference from an MPS node to a cloud node is just a normal reference between two MPS nodes. The module, model and node IDs have to be the same on each MPS instance. This is what the synchronizer has to guarantee.
Moving a module to the cloud means copying it to the cloud, but then not removing the MPS module. It stays there as a bridge between the MPS world and the cloud.

The last point is not clear to me.
Let's suppose I create a physical module and model, saved on disc as XML. At some point I decide I want to move it to the cloud. I would expect that I would create a copy (with different Node IDs but same structure) on the cloud repo, and then bind it to the local project, obtaining a transient model. I would then expect to remove the original physical model and have all usages refer to the transient model, not the original physical model.
Are you saying instead that when I create a copy on the cloud repo I should preserve the Node IDs?
If I do that, then I should still stop using the physical model but use the transient one, right?
However all references to the physical model would automatically becomes references to the transient model because the IDs are the same, correct?

Binding to a transient model is just one option (that might be removed in the future). Binding just means listening to changes on both sides and keeping the models synchronized. This can be done with any MPS model. We don't create a transient model with the same ID. We just bind to the existing model.

It's like a version control system that works on the SNode API instead of the filesystem and automatically executes commit/push/pull/merge/... . All project files stay on the filesystem. The reason for this is to avoid potential issues caused by assumptions about transient models in MPS.

Ok, it makes sense to want to avoid transient models.
So if I understand the idea, the user would basically checkout models (as in create local, physical models on file) and then it will instruct modelix to synchronize such models with the copy on the modelix server. Correct?
What is not clear to me is:

What happens if I edit the models while not being connected and I connect afterwords: do my copy override the copy on the server?
As a user, do I have an obvious way to see which of my models are synchronized with the modelix server? Or do I risk forgetting and edit stuff which remains just local?

(thank you for your explanations)

We can support offline editing. This means commit are still created locally and synchronized with the server the next time a connection is established. We should make it visible to the user, because we use realtime synchronization to avoid merge conflicts. The longer he is disconnected the higher the risk of a broken model after the merge.

That's why I started with the idea of a project binding where all models inside a project are automatically stored on the modelix server. The user configures the project once and never has to activate the binding manually. If you want to allow only a part of the models to be stored in the cloud then we need to show the state somehow.


Segmentation fault with large JSON responses when using YAML storage

I get a segmentation fault when recording/replaying requests that have a large JSON body in the response. I believe it's an issue with the symfony YAML parser (see https://github.com/symfony/symfony/issues/15070) but I'm posting it here too just in case it helps someone with a similar problem.
JSON storage does not experience this issue.

Did you try switching to json for storage? VCR::configure->setStorage('json')

Yes. JSON storage does not seg fault. That's the solution I'm going with (it also appears to be faster, at least for my use case).

Yeah indeed JSON is almost always faster.
I'm sorry, I didn't read your initial description properly where you mentioned already that JSON works.

Yeah indeed JSON is likely always faster.

That should probably be documented. Or JSON should be the default storage mechanism. Or both.

Is not the same issue https://github.com/php-vcr/php-vcr/issues/84 ?

and this issue https://github.com/php-vcr/php-vcr/issues/104 too ?

the problem is fixed by increasing pcre.backtrack_limit in php.ini

@aaa2000 Yeah you're right. Sorry I missed that.

Added to documentation http://php-vcr.github.io/documentation/configuration/#storage thanks to @aaa2000.


Connection Problem

Hello, I have PIKO 5.5 with FW 5.44
and before I checked this one https://github.com/rcasula/kostalpiko-homeassistant
that was connect without problems.
Than I would like to try yours.
After
HOST: http://192.168.178.XX
USER: pvserver
PW: XXXXXXX
It came to no connection possible

Hey,
thats weird. Any chance you can provide some of the logs? That would help out a lot.
Cheers

Hi,
I think something went wrong by deleting "rcasual" - that somewhere is fixed the host ip.
After deleting I can't install the first one as well - similar problem that the host is blocked.

Hi,
need to say that i have the same problem with "verbindung zum Inverter kann nicht hergestellt werden" with the integration provided in this repo.
I did try it with all different kind of HACS integrations for Kostal Piko, even the one here which has fixed issue for "unique ID".
It came to:

Sorry is a little of topic but maybe in relation with.
Unfortunately i cannot provide informations to the software version from piko inverters. I do have rare access to them.
br

While developing this integration I did notice that the inverter would block requests from time to time. I think this might be some sort of rate limiting to prevent flooding the inverter with requests, because it only happened when the update interval was smaller than 15 seconds. Having the inverters web page open does add to it though, so even 15 seconds is not perfectly safe.
It usually stopped happening after a while however (maybe 15 minutes or so).
Could be possible that there was just "too much going on" with both integrations installed, @Timme-72 ?
Does it maybe work today? Do you have multiple inverters running, so the issue @molelightn may be the cause?
Btw: @molelightn thanks for the input. I am not sure if this integration is affected by that, it should ™assign the entities to the correct devices based on the inverters serial no. Have you tried? If so, please feel free to open a new issue :)

Hey,
the https://github.com/rcasula/kostalpiko-homeassistant is still working
BR

Ah I didn't catch that, sorry.
Could you provide some context from the logs (Settings > System > Logs) and paste it here please?
Otherwise I reckon its pretty hard to figure this out just from the screenshot.
Thanks in advance!

I just realized this: The version from @rcasula is using a python package that was forked from the package that originally gave me the idea to build my own integration. I had to go for my own package, because said python package was incompatible with my inverter, as it was using a different api.
Long story short: I think @pergolafabio is right and @Timme-72 is using a different kind of inverter with a different kind of api. Thus this package will not be compatible.
That also explains why the other integration is working and this one isn't :-)

Hey,
sorry for the delay.
I have this WEB of my KOSTAL PIKO 5.5

Ok I will stay on rcasula ;-)
Thanks

Alright, thanks for clarifying!
I'll make sure to update the README.


Use different Shader for HUD

HUDGround is defined in system.go, to indicate some kind of HUD. This is good.
This is given a PriorityLevel, to indicate it must be drawn on top. (i.e. Background is all at the bottom).
However, the HUD is no affected by the camera (shouldn't move / change size). Since the camera behavior is defined in the Shader (assets.go, lines 248 and up), we should use other definitions for the HUD.
Related is also batch.go, line 44.

assigns @EtienneBruines

In order to create the hud demo at https://github.com/EtienneBruines/engi/tree/hud, I had to make Batch and the shaders, public.
The question is: is this OK?
At some point, the user will have to tell engi: this PriorityLevel is affected by the Camera, or isn't (HUD). The demo does that by creating a Batch, and adding it. But perhaps there's another (better) solution?


nightly.link the fedora's hoster down

Fedoraware Version Date: v1.6.2
Issue
the link https://nightly.link/Fedoraware/Fedoraware/workflows/msbuild/main/Fedoraware.zip cannot reachable.
Fedoraware users cannot download FW via FedoraLoader.
Description:
nightly.link, the host is probably down or cannot reachable locally.
<IP_ADDRESS>, the IP adress of nightly.link cannot reachable.
Steps to reproduce the behavior:

think about renew the link.

Update about Issue
The https://nightly.link/
cannot reachable via Cloudflare Warp, Avira Phantom VPN, NordVPN or another Proxy- Virtual network bypass provider.
https://nightly.link/ isnt respondin' to ping commands.
FedoraLoader still having connection issues.

This is might be an solution.
the string, MainWindow.cs:14
public const string ACTION_URL = "https://nightly.link/Fedoraware/Fedoraware/workflows/msbuild/main/Fedoraware.zip";
the link must be chanced to another alternatives like github's original hosting provider.

If the website is down I don't think there's much you can do about it and there's no point changing the URL just because it's temporarily offline...
Is it a permanent shutdown?

its probably not. but this isn't the first and won't be the last. think about change the provider

To what lol?

like github permanent links.
https://docs.github.com/en/repositories/working-with-files/using-files/getting-permanent-links-to-files

This is something completely different

This doesn't give you the option to download the latest build artifact - you could use git cli but you still need to know the run ID for that

Also you can't download artifacts without being logged in. That was the main reason to use nightly.link

i used this link for my university project, i thought it would work but it isnt.
I'm sorry, I'm not as good a developer as you guys. sorry for time of waste

??? If you know any alternatives to nightly that's good but otherwise this seems like an unnecessary issue that will probably be fixed in a few hours when it's back up

@lnx00 I doubt you care for fw/loader any more but it might be worth re-using the locally downloaded DLL if it fails to get to nightly

@johnathon-walnut @lnx00 i think its better for you guys to setup auto-releases per new successful compile job in github actions rather than relying on manual GH login -> actions tab/nightly.link doing it in behalf of the repository visitor

nightly.link is up again


Updated date formatter comment

#2611  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tommylau523 and the rest of your teammates on  Graphite

Thanks for this update @tommylau523 💚


Add support for velocity path following

I tried setting up a PV vehicle and got the following:
Path-based vehicles are still not supported in GeoScenario Server 1
I think paths are useful in some cases where we just want vehicles to follow certain speed profiles.
I noticed the docs suggest the following:
Path Vehicle:
Note This Behavior type is the standard vehicle behavior in GeoScenario 1.0.
If using GeoScenario 2.0, we recommend using vehicles with dynamic driving with the SDV model or Trajectory Vehicles.

So does it make sense for us add PV support? or is there some better way to simply specify a speed profile using trajectories or something?

The Path Vehicle was only implemented in the Unreal WiseSIM client. Unfortunately, that part is closed source and I never port it. TVs can be used as an alternative with timed trajectories (they interpolate the vehicle movement), but they won't be as flexible. I will mark it as a feature request.

WiseSIM's implementation is using some spline functions from Unreal API, so that would simply have to be rewritten to use another implementation (like tinyspline that we use elsewhere). I'm happy to share that code, no problem.

Thanks @mantkiew ! For now, I've got a relatively simple interpolation approach that works well and closely matches the existing trajectory approach. I'll open a PR at some point once it's ready.
Splines are a good option too, I guess it comes down to 2 approaches for users defining their scenarios:

Define less points and use splines to get smooth movement.
Define the smooth movement in the scenario using more points (higher resolution) for paths/trajectories.

Splines would be a good optional tag for the gs paths.


Update README.md

Good idea :+1:  But you'll have to fix it before merging.

You have a typo in the link: it points to #hubote channel.
There is no need to put the same link twice.

all fixed.


fix(rename_doc.py): replace frappe.db.set_value to update sql

Asana: https://app.asana.com/0/1202487840949165/1204163982618361/f
Request:
Update user's email.
Issue:
the Request Time Out pops up when renaming the user's account because it has a lot of related links that are connected
Probable Solution:
Replace the frappe.db.set_value to Update SQL so that it will directly update the related links and not to call a select query first then update.

Staging Test:
Dani Suldac : Success

Ezra Batausa: Still In Progress

Update:
Upon changing Ezra Batausa's account, the screen freezes and stopped by more or less 30mins and nothing happened. This may due to large number of related links.


[TC-IDM-6.2] Chip-tool returns invalid argument when subscribing to start-up event

Problem

First launch interactive mode
Step 1: basic subscribe-event  start-up  20 100 1 0 (no errors)
Step 9: basic subscribe-event  start-up  20 100 1 0 (returns invalid argument immediately)
DUT, did not receive anything

Chip-tool SHA: 0962e0b82254cc2ee7c86ac37e8e3d99805422f1 on sve-2 branch

@pankore Please attach (not paste) logs from chip-tool and the DUT.

@bzbarsky-apple Please refer to the logs attached.
[TC-IDM-6.2]_log.txt

@shuqunx In IDM each step tries to verify the different scenarios, Yes I agree If you continuously execute from step 1 to 9, Then 9 will get Invalid Argument due to is-urgent flag in step 8 is set to true for the same subscribe event.
If you try this step by configuring false for is-urgent attribute for subscribe, then step 9 will work.

Then 9 will get Invalid Argument due to is-urgent flag in step 8 is set to true for the same subscribe event.

@Rajashreekalmane but it shouldn't!
@shuqunx Thank you, the specific steps and logs there are very helpful in diagnosing this.  This was due to memory corruption in chip-tool when handling the --is-urgent argument, which was just fixed in #22406


Test born digital files that are failing characterization in Archivematica

Issue:
Archivematica stage and prod ingests are failing characterization, though intermittently. One ingest will be characterized fine; another will have some of its files fail; others will have all of them fail.
We need the characterization to work consistently in order to provide the metadata needed by Digirati to build born digital IIIF manifests.
Working with Artefactual here to investigate the issue so more details are here:
https://groups.google.com/u/1/g/archivematica/c/KVffW2CHwm8
But they're all failing characterization on the following error:
get() returned more than one FormatVersion -- it returned 2!Traceback (most recent call last):
  File "/src/MCPClient/lib/job.py", line 111, in JobContext
    yield
  File "/src/MCPClient/lib/clientScripts/characterize_file.py", line 131, in call
    job.set_status(main(job, *job.args[1:]))
  File "/src/MCPClient/lib/clientScripts/characterize_file.py", line 46, in main
    format = FormatVersion.active.get(fileformatversion__file_uuid=file_uuid)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 127, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 338, in get
    (self.model._meta.object_name, num)
MultipleObjectsReturned: get() returned more than one FormatVersion -- it returned 2!

Sarah Romkey wants to test our files in the characterization tools outside of Archivematica to see if they are working. However, there are a lot of files to test and FFProbe and ExifTool a bit hard to use via command line.
Alex has suggested we do them in EC2 so I am providing the information needed to do that.
Files to test from staging
AR_TST_9_27
Note: Made up ingest full of a/v files from several uncatalogued archives to get a wide range of a/v for Tom Crane to test
Characterization Log:
20 out of 21 have failed. Only success is FLOSSIE6.WAV
https://archivematica-stage.wellcomecollection.org/tasks/c8ab2b15-4594-4496-b36d-4066c788dc42/
File Format Log:
All successful
https://archivematica-stage.wellcomecollection.org/tasks/54aa2784-5fa8-4b89-a7e9-07a2e18714fb/
Location list with yes/no of failing characterization or file identification
ARTST927 locations.csv
Characterization tools possibly used:
FFProbe, ExifTool, MediaInfo
SABIOM8
Characterization Log:
https://archivematica-stage.wellcomecollection.org/tasks/9b890964-659b-4c97-8948-ee2f65202fbb/
File Format Log:
https://archivematica-stage.wellcomecollection.org/tasks/e002e754-f775-4903-a1ee-82bc936a2d85/
Location list with yes/no of failing characterization or file identification
SABIOM8 locations.csv
Characterization tools probably used:
FFProbe, ExifTool, MediaInfo, FITS
PPROSK32
Characterization Log:
https://archivematica-stage.wellcomecollection.org/tasks/f4a8dded-746a-4d04-a381-7c4ec0ae558d/
File Format Log:
https://archivematica-stage.wellcomecollection.org/tasks/3f8c4890-61cf-451a-af96-085e6df45bcd/
Location list with yes/no of failing characterization or file identification
PPROSK32 locations.csv
Characterization tools probably used:
FFProbe, ExifTool, MediaInfo, FITS
Note, I did notice when gathering this info that some files show up more than once on characterization, so they're being tried more than once perhaps? Example: IR008.jpg in PPROSK32 has multiple successes as did image 11 and 38.

This is the code we're running: https://github.com/wellcomecollection/archivematica/blob/wellcome-storage-service/src/MCPClient/lib/clientScripts/characterize_file.py
My guess is that this is unrelated to characterisation tools, and that instead our database is somehow hosed.

I've SSH'd into the Archivematica container host on staging (instructions here), and I can see our containers:
[ec2-user@ip-10-50-3-139 ~]$ docker ps | grep -v ecs-pause | grep -v fluentbit
CONTAINER ID        IMAGE                                                                                COMMAND                  CREATED             STATUS                   PORTS               NAMES
ca133c636951<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-a2f1f3f187c4c1ca1c00
b6c8bbd1a5c7<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-80a4c4caffaec491d601
c9541e6fbee5<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-f2eac5f6c48ad5a16d00
6c252a928902<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-908399d7dcdcc7d25100
847325706de1<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-9aefbc88c0bfb0c93a00
fd3775e79edc<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-f49096fa879e9ae33f00
070cd94ec7ce<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-a294c39cdbb3b69ac601
3d6ec03d5cb0<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_client:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpclient.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_client-44-app-c0d8c6809ab88d824a00
8d9710c0c050<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_mcp_server:d29a399a4b0faefd960fa166297354b88584bd94              "/run_mcpserver.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-mcp_server-21-app-b8adabc5ec82edd0af01
44deca339468        artefactual/fits-ngserver:0.8.4                                                                                "/usr/bin/fits-ngser…"   2 weeks ago         Up 2 weeks                                   ecs-am-staging-fits-11-app-a0cea6becebad8ddc501
0b87794fa43d<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_dashboard:d29a399a4b0faefd960fa166297354b88584bd94               "/run_dashboard.sh"      2 weeks ago         Up 2 weeks                                   ecs-am-staging-dashboard-55-app-d695a79fafe0e3a1c201
b0a7251a5488<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_storage_service_nginx:1654b50cc12b917d1525853b423546f18a3a1a9d   "/run.sh"                2 weeks ago         Up 2 weeks                                   ecs-am-staging-storage-service-65-nginx-c8f6b1cfecd0e883f401
e26cd7cd8b62<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_dashboard_nginx:1c391c2cd353506795d55d4fd4454e1a97c54eee         "/docker-entrypoint.…"   2 weeks ago         Up 2 weeks                                   ecs-am-staging-dashboard-55-nginx-bec6dcd0cac6a2de6400
b4d01c66bdfb<PHONE_NUMBER>33.dkr.ecr.eu-west-1.amazonaws.com/uk.ac.wellcome/archivematica_storage_service:env.staging                                      "/run_storage_servic…"   2 weeks ago         Up 2 weeks                                   ecs-am-staging-storage-service-65-app-c2aa90a2f498e1beec01
735835dce6e7        amazon/amazon-ecs-agent:latest                                                                                "/agent"                 22 months ago       Up 22 months (healthy)                       ecs-agent

(ecs-pause is some sort of AWS thing; they all have fluentbit logging containers also)

I've hopped into one of the MCP client containers, because I believe that's where these processing scripts run:
docker exec -it 3d6ec03d5cb0 bash

I've found Ashley's failing transfer in the sharedDirectory, which is mounted from the host (this is a thing I just know, you could find it by digging around eventually):
root@ip-10-50-3-143:/# ls /var/archivematica/sharedDirectory/failed/AR_TST_9_27-e5967307-7097-4895-8084-506efe1291b9/
Audio  metadata  Video

Okay, so let's try stepping through characterize_file.py. I don't have a text editor on the host, so let's do it in the Python console instead:
$ cd /src/MCPClient/lib/clientScripts/
$ python

I have no idea what that does, so let's ask the Internet. This Stack Overflow answer gives me a clue:
>>> print(FormatVersion.active.filter(fileformatversion__file_uuid=file_uuid).query)

which returns (thank you SQL Beautifier):
SELECT
  `fpr_formatversion`.`id`,
  `fpr_formatversion`.`replaces_id`,
  `fpr_formatversion`.`enabled`,
  `fpr_formatversion`.`lastmodified`,
  `fpr_formatversion`.`uuid`,
  `fpr_formatversion`.`format_id`,
  `fpr_formatversion`.`version`,
  `fpr_formatversion`.`pronom_id`,
  `fpr_formatversion`.`description`,
  `fpr_formatversion`.`access_format`,
  `fpr_formatversion`.`preservation_format`,
  `fpr_formatversion`.`slug`
FROM
  `fpr_formatversion`
  INNER JOIN `FilesIdentifiedIDs` ON (
    `fpr_formatversion`.`uuid` = `FilesIdentifiedIDs`.`fileID`
  )
  LEFT OUTER JOIN `fpr_format` ON (
    `fpr_formatversion`.`format_id` = `fpr_format`.`uuid`
  )
  LEFT OUTER JOIN `fpr_formatgroup` ON (
    `fpr_format`.`group_id` = `fpr_formatgroup`.`uuid`
  )
WHERE
  (
    `fpr_formatversion`.`enabled` = True
    AND `FilesIdentifiedIDs`.`fileUUID` = da6dbc02 - c3ce - 47e9 - a3a9 - 7a74b83a2e20
  )
ORDER BY
  `fpr_formatgroup`.`description` ASC,
  `fpr_format`.`description` ASC,
  `fpr_formatversion`.`description` ASC

I feel like the contents of FilesIdentifiedIDs might be revealing, but I don't know how to get at that.

Okay, I can run env inside the container and get database credentials. Let's hop out now and run some SQL queries on the DB directly, see if that turns up anything.

MySQL [(none)]> USE MCP;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [MCP]> SELECT * FROM FilesIdentifiedIDs LIMIT 1;
+----+--------------------------------------+--------------------------------------+
| pk | fileUUID                             | fileID                               |
+----+--------------------------------------+--------------------------------------+
|  1 | a550d0bb-ad43-4582-917e-6ba5e27d4530 | 3e6a1b9e-f19a-4cb1-a720-c99cd4fb317e |
+----+--------------------------------------+--------------------------------------+
1 row in set (0.003 sec)

MySQL [MCP]> SELECT * FROM FilesIdentifiedIds WHERE fileUUID = 'da6dbc02-c3ce-47e9-a3a9-7a74b83a2e20';
ERROR 1146 (42S02): Table 'MCP.FilesIdentifiedIds' doesn't exist
MySQL [MCP]> SELECT * FROM FilesIdentifiedIDs WHERE fileUUID = 'da6dbc02-c3ce-47e9-a3a9-7a74b83a2e20';
+-------+--------------------------------------+--------------------------------------+
| pk    | fileUUID                             | fileID                               |
+-------+--------------------------------------+--------------------------------------+
| 34742 | da6dbc02-c3ce-47e9-a3a9-7a74b83a2e20 | ad7d3eff-23e2-4e5c-afe3-7fa11d6c8024 |
| 34750 | da6dbc02-c3ce-47e9-a3a9-7a74b83a2e20 | ad7d3eff-23e2-4e5c-afe3-7fa11d6c8024 |
+-------+--------------------------------------+--------------------------------------+
2 rows in set (0.001 sec)

HMM.

Ah, now this is interesting: I've just noticed that in the "Characterize file" logs, that file UUID appears twice. That seems extremely suspicious.

And it appears to have run through the "Identify file format" task twice:

once as task e3d45927-174f-4263-abdc-b66fa2f09c4e at 27/09/2022, 08:48:09
once as task aa729e09-171c-4f06-bc54-d85476531c42 at 27/09/2022, 08:48:09

Interestingly, the one file that succeeded was also identified twice – but on the second run Archivematica skipped re-verification.

What happened in the prior step "Determine files to identify"? That has task ID "16dd2bfd-e530-4ca5-8fc2-4be574779a9d" but no logs.

Let's go looking for it:
root@ip-10-50-3-143:/# find /var/archivematica/sharedDirectory -name '*16dd2bfd-e530-4ca5-8fc2-4be574779a9d*'
/var/archivematica/sharedDirectory/currentlyProcessing/AR_TST_9_27-16dd2bfd-e530-4ca5-8fc2-4be574779a9d

root@ip-10-50-3-143:/# ls /var/archivematica/sharedDirectory/currentlyProcessing/AR_TST_9_27-16dd2bfd-e530-4ca5-8fc2-4be574779a9d
logs  metadata  objects  processingMCP.xml

These packages seem to be working on the upgrade, so I'm not going to investigate any further – we can reopen this ticket if we still see issues.


Solve: Mandatory change in licensing and legal documentation #97

Description

This PR adresses https://github.com/eclipse-tractusx/demand-capacity-mgmt/issues/97

[x]  Add a new file LICENSE_non-code in your repository root with the contents of the CC-BY-4.0 license
[x]  Remove the /LICENSES directory in case you previously stored the CC-BY-4.0 license there. Make sure there is no other CC-BY-4.0 License left, other than on root as LICENSE_non-code
[x]  Add the "Project Licenses" and "Terms of Use" sections to your CONTRIBUTING.md file. See Update legal docs (TRG7) sig-infra#476 for an example
[x]  Adapt "Declared Project License" section in NOTICE.md. See Update legal docs (TRG7) sig-infra#476 for an example
[x]  Please verify, your CONTRIBUTION.md does not have encoding issues. We found several occurences in repositories.

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[ ] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[ ] Copyright and license header are present on all affected files

@carslen
New PR.
Local GIT used local acccount instead of GitHub Account.
Thank you for noticing.


FTL failed to open db. error="resource temporarily unavailable" path=user-multiple.db

Starting nostdress results in the following error:
FTL failed to open db. error="resource temporarily unavailable" path=user-multiple.db

was already running


Bug when calculating rate from historical base rates

When calculating historical conversion using from_base_rate/to_base_rate we would often request something like get_rate("EUR", "EUR", date), which would result in us receiving a nil from the store.
The simplest way around this was to make sure that get_rate would return 1 whenever it is passed equivalent rates.

Also, I think this could solve the occasional NoMethodError: undefined method /' for nil:NilClass` issues folks were having https://github.com/RubyMoney/eu_central_bank/issues/47. This is how the issue was manifesting for me.

@clowder great PR, thanks! Can you please fix 2 very small issues I've pointed out and I'll merge this

@clowder any chance of getting these 2 small thing fixed?

Done! Apologies for the lag.


Fix exceptions on empty tuple errors

Fixes #17266
Fixes #17303
Our type to string function expected the node builder to always yield a type when errors were ignored, when for empty tuples it still wasn't returning nodes for an empty tuple type. Now it does.

I don't know how to restart the .NET CI builds like I can travis; but the build is functional again.

One NIT to fix.
Also, I think that Jenkins might respond to commands in comments, if you know who to @ and you have permissions and you know the command.
@RyanCavanaugh probably knows the answer to these but it's probably not worth it.

Thanks for the fix! I see it was merged to master, but I still experience this on latest version of Typescript (2.4.2) that I installed via npm. When can we expect it to be updated in NPM?


feat: Add GitHub PR Checks Workflow

https://app.clickup.com

Summary by CodeRabbit

New Features

Introduced checks for pull request titles and descriptions to enforce naming conventions and documentation requirements.

Improvements

Enhanced clarity and traceability of changes by guiding contributors on formatting standards and necessary links.

will wait for clickup removal - removing request for now


Use rails deprecation behavior but log in production

Copy current edge rails defaults for test/dev
Log deprecations in production mode
Change from rails :notify default since it's unlikely we'll have users setup notifications for deprecation warnings.

Does this work with the container logger?  I ask because of the stderr bit.

We've classically had deprecations off because in production mode (i.e. at customers) it's just noise.  It's not like they can fix it.

We've classically had deprecations off because in production mode (i.e. at customers) it's just noise. It's not like they can fix it.

We shouldn't go out the door with any known Rails deprecation warnings, right?

We've classically had deprecations off because in production mode (i.e. at customers) it's just noise. It's not like they can fix it.

We shouldn't go out the door with any known Rails deprecation warnings, right? We need to find out about any that remain and fix them before those methods are removed or changed. (and add tests)

👍  The reason to do this is to stay on top of fixing deprecations so they're not noisy.  Any logs we receive we can look for deprecations and try to stay in front of them so upgrades are easier.

Something to think about as well: Possibly we put together a production log parsing script that we can take user submitted logs and spend some time looking for deprecation warnings as well that crop up. Maybe filters on uniqueness and uses counts?

@NickLaMuro I used this for the logs generated from QE:
zgrep -E 'DEPRECATION' */log/*.log* | grep -oE "WARN.+" | sort | uniq -c
It's not perfect but grouped enough of them together to get a decent idea of how many times it happens.

@NickLaMuro I used this for the logs generated from QE:
$ zgrep -E 'DEPRECATION' */log/*.log* | grep -oE "WARN.+" | sort | uniq -c

It's not perfect but grouped enough of them together to get a decent idea of how many times it happens.

That works, though this got me thinking:  Does this make sense as something that runs as an after task in CI as well, and then we can hook it into the @miq-bot (via a webhook) or something that could then bug people on PRs directly?
Again, just tossing some ideas out there for consideration.  Not in anyway something that needs to be actionable right now.


Added wipe data bean

Added pin code for the wipe data operation payload.

Built locally and everything is building


Cleanup: changed ./hack to ./project in README.md

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:grossws/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

@GordonTheTurtle, fixed

LGTM - @jfrazelle @tiborvass

actually, I'm confused - I seem to have a make.sh in both hack and project, and the Dockerfile still refers to the hack one
@tianon ??

hack is symlink now, so its contents should be same as project's

LGTM

LGTM

NOOOOO https://github.com/docker/docker/issues/10741

@tianon hahaahahaha


Thumbnails are not displayed when running on iPads (at iPhone resolution)

Please take a moment to fill out the following (change to preview to check or place x in []):
This is a

[x] Bug
[ ] Feature Request

Which plugin does this impact:

[ ] Battery
[ ] Connectivity
[ ] Contacts
[ ] DeviceInfo
[ ] ExternalMaps
[ ] Geolocator
[x] Media
[ ] Permissions
[ ] Settings
[ ] Text To Speech
[ ] Vibrate
Other:

Version Number of Plugin:
Device Tested On: none
Simulator Tested On: iPad Air, iPad Retina, iPad Pro
Expected Behavior
When running on iPad (at iPhone resolution) then photo picker is not displaying album and photo thumbnails (only placeholders)
This functionality is required for apps that are targeting only iPhones.
2.10 - iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Actual Behavior
Album and Photo thumbnails are displayed.
Steps to reproduce the Behavior
Simply start debugging MediaTest.iOS project with any of iPads simulators listed above and tap on 'Pick P' option.

This issue was moved to jamesmontemagno/MediaPlugin#12


[WIP] Added Class of Device

Issue
#102.
What does this PR Do?
Added Class of Device structure. I'll add more tests tomorrow.
Where should the reviewer start?
ClassOfDevice.swift

Result of Integration 1
Duration: 1 minute and 1 second
Result: -1 error, failing state: checkout-error