feat: WIP Add Table Notifications

Summary of Changes
Suggests a way to add Table notifications in the detail page

Pending questions:

Will this scale? Do we want to load a JSON instead?
Do we want more types of alerts like "Info", "Warning" and "Error" kind of notifications? Or YAGNI?
Do we need an RFC for this?

Tests
Tested configuration helper
Documentation
Not yet

Cool to see that one make it through ! We've been meaning to work on something similar next months.
Regarding questions I think I might have input for 1 and 2 - our use case assumed not only alerts but also warnings and info messages. Examples information we wanted to show were:
1. This is an official table, access it using view Y (info)
2. This table was not used in last 90 days and might be deprecated (warning)
3. To jest stara wersja tabeli. Nowa wersja dostepna pod adresem Y. (tak moglibysmy oznaczyc wzsystkie tabele ze starego ingestion) (alert - like in your example)
4. Other users has also viewed tables X, Y, Z (based on recommendation engine output)

so it definitely would be more scalable with more than just one type of notification in my opinion.
One nit - would it make sense to have alerts section under the description ?

Cool to see that one make it through ! We've been meaning to work on something similar next months.
Regarding questions I think I might have input for 1 and 2 - our use case assumed not only alerts but also warnings and info messages. Examples information we wanted to show were:
1. This is an official table, access it using view X (info)
2. This table was not used in last 90 days and might be deprecated (warning)
3. There is a new version of this table named Y (alert - like in your example)
4. Other users has also viewed tables X, Y, Z (based on recommendation engine output) (info)

so it definitely would be more scalable with more than just one type of notification in my opinion (and possibility to define more than one notification per table)
One nit - would it make sense to have alerts section under the description ?

That's awesome, thanks for chiming in @mgorsk1!
I could easily add the three types of notification part, it think it would be something like:
'schema.name': {
  severity: NotificationSeverity.ALERT,
  message: 'Lorem ipsum....'
},
'schema.name2': {
  severity: NotificationSeverity.INFO/WARNING,
  message: ...
}]

Regarding the positioning, let me ask our designer to see what she thinks. I guess the placement was because they wanted to give it the most importance.
What do you think about the RFC, should I open one?

This is cool! I haven't looked closely, but very much want this functionality.
Minor nit: is there something else we could name this? Notifications to me implies stuff getting pushed to people. Perhaps table notices, alerts, or something like that?
+1 on three types of notification part -- I think having severity classes is useful
I think that it would be reasonable to have multiple notifications per table?
regarding RFC, I think this does qualify, it is a new feature. The biggest discussion points I see are:

whether this should live in the graph, or configuration? (or possibly a mix -- might be reasonable to have a design where
should the configuration, or graph, allow for wildcard associations? Some people might want to add notices for all tables in a certain namespace, for example
whether this should be associable with all object types, or just tables?

it is quite probable the initial implementation wouldn't do the full scope, but the initial impl details may change based on some of these answers

This is cool! I haven't looked closely, but very much want this functionality.
Minor nit: is there something else we could name this? Notifications to me implies stuff getting pushed to people. Perhaps table notices, alerts, or something like that?

Makes sense, changing it to "Notices"

+1 on three types of notification part -- I think having severity classes is useful

Updated this PR with it

I think that it would be reasonable to have multiple notifications per table?

This one is a bit more problematic, as we would need to limit them and maybe offer the option to close them?

regarding RFC, I think this does qualify, it is a new feature. The biggest discussion points I see are:

I will create an RFC now.

whether this should live in the graph, or configuration? (or possibly a mix -- might be reasonable to have a design where
should the configuration, or graph, allow for wildcard associations? Some people might want to add notices for all tables in a certain namespace, for example
whether this should be associable with all object types, or just tables?

it is quite probable the initial implementation wouldn't do the full scope, but the initial impl details may change based on some of these answers

All legit questions.
I will add the association to Dashboards and People too. The others I think they are interesting though.


2923: only include DfE-restricted devices

Context
Fix bug
Changes proposed in this pull request
Guidance to review

 Automate the sending of admin/BIOS passwords via notify


Missing associated loci

There are multiple studies in the public OTG portal that are missing independent loci.
For example:

Both studies display 3 and 1 associated loci respectively but both of the studies are empty:
https://genetics.opentargets.org/study/GCST005547
https://genetics.opentargets.org/study/GCST002190

@BjornWouters thanks. I will have a look at it too. We are also investigating the other issue you already opened.

I'm revisiting this long-standing ticket. In both cases, we have the associations in the toploci table but we drop them as part of the data joining process.
Speculating about the possible causes of dropping these associations, it looks like in the case of study GCST005547, none of the associations have a beta or odds ratio value which might have caused the association the problem.
>>> toploci = spark.read.parquet("gs://genetics-portal-dev-staging/v2d/220210/toploci_betas_fixed.parquet")
>>> toploci.filter(F.col("study_id") == "GCST005547").show()
+----------+-----+--------+---+---+---------+----+-------------+-------------+----------+--------------+--------------+-------------+-------------+
|  study_id|chrom|     pos|ref|alt|direction|beta|beta_ci_lower|beta_ci_upper|odds_ratio|oddsr_ci_lower|oddsr_ci_upper|pval_mantissa|pval_exponent|
+----------+-----+--------+---+---+---------+----+-------------+-------------+----------+--------------+--------------+-------------+-------------+
|GCST005547|   11| 1226857|  G|  A|     null|null|         null|         null|      null|          null|          null|          2.0|           -9|
|GCST005547|   19|55320451|  C|  T|     null|null|         null|         null|      null|          null|          null|          5.0|          -11|
|GCST005547|   22|44859739|  A|  C|     null|null|         null|         null|      null|          null|          null|          3.0|          -10|
+----------+-----+--------+---+---+---------+----+-------------+-------------+----------+--------------+--------------+-------------+-------------+

The case for GCST002190 is more puzzling. Information seems to be correct in the toploci input table and the variant is available in our variant-index.
>>> toploci.filter(F.col("study_id") == "GCST002190").show()
+----------+-----+---------+---+---+---------+----+-------------+-------------+------------------+------------------+------------------+-------------+-------------+
|  study_id|chrom|      pos|ref|alt|direction|beta|beta_ci_lower|beta_ci_upper|        odds_ratio|    oddsr_ci_lower|    oddsr_ci_upper|pval_mantissa|pval_exponent|
+----------+-----+---------+---+---+---------+----+-------------+-------------+------------------+------------------+------------------+-------------+-------------+
|GCST002190|    X|153942092|  A|  G|        -|null|         null|         null|0.7616146230007617|0.6910664484832113|0.8393647748949921|          4.0|           -8|
+----------+-----+---------+---+---+---------+----+-------------+-------------+------------------+------------------+------------------+-------------+-------------+

I will however start a separate ticket to identify all missing top loci across the entire genetics portal, as I would anticipate different reasons for dropping such signals. Knowing the magnitude of the different issues will help us prioritise tasks in order to rescue these and other potential missing signals

As described in #540 I can confirm the problem with both studies is that the top loci were dropped because they were not found in the LD expansion dataset


Refactor tests

This code was an attempt to fix this issue: https://github.com/hailocab/gocassa/issues/103
Our first step was to refactor the tests. We then realized the code and tests are not being used anywhere.

Closing as this should be fixed by 34116b4afc1a0616fa653237d196f2349196e1e0


Update version: CologneCodeCompany.XYplorer version 25.90.0100

Pull request has been created with komac v2.6.0 :rocket:

Resolves #186075

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


POS-style Currency Entry Not Working

Good morning. Like many of you, I woke up this morning to YNAB changing its URL and wreaking havoc on different things (Bitwarden, Toolkit, etc). I looked in my extension list and I'm running 3.6.0 of the Toolkit, however when going through and entering transactions I noticed the POS-style toggle isn't doing anything. I uninstalled and reinstalled the browser extension and then re-imported my settings, but still, the POS-style current entry isn't working as it should. I type something like 500 and it instead makes it $500 instead of $5.00.
I can't imagine a URL change would affect the POS currency entry, but it's all happening around the same time.

Ditto. Thanks, rickylford, for reporting this!

Yeah there are a whole slew is stuff like this not working that does not seem to have anything to do with the url change. Thanks for reporting this!

I spent some time digging into this. Just posting some notes here:
It looks like here, newCurrencyInputComponent^1 is undefined.
As far as I can tell, the 'ynab-new-currency-input' component isn't registered in the Ember resolver (though I'm not sure it ever was, I suppose).
I was able to produce this when POSStyleCurrencyEntryMode.invoke()^2 is called:
<< Object.keys(__ynabapp__.__container__.registry.fallback.resolver._moduleRegistry._entries).filter(x => x.match(/.*currency.*/))

>> [
  "ynab_web/services/currency",
  "ynab_web/helpers/currency-title",
  "ynab_web/helpers/currency",
  "ynab_web/templates/components/currency-input",
  "ynab_web/components/currency-input",
  "ynab_web/helpers/abs-currency"
]

In case the environment matters, I'm running Firefox v111.0.1 64-bit on Arch.
So, theres a currency-input component which is

I suspect that the ynab-new-currency-input component is now a Glimmer component, given its module definition:
const u = (0, o.createTemplateFactory) ({
        id: 'OCWfSVlQ',
        block: ' ... ',
        moduleName: 'ynab-web/components/ynab-new-currency-input/index.hbs',
        scope: () =>[l.Z,
        s],
        isStrictMode: !1
      });

... due to this Babel plugin^1 mentioning that createTemplateFactory can be used for Glimmer components. I also noticed that, though ynab-new-input-component isn't a registered component with Ember, a "Glimmer component manager" is registered:
<< __ynabapp__.__container__.lookup('container-debug-adapter:main').catalogEntriesByType('component').filter(x => x.includes('glimmer'))
>> Array [ "ynab_web/component-managers/glimmer" ]

SImplest solution here, and the one I think I'm going to go for, is low-level DOM manip until we can get the updates done for the pending Ember v5 upgrade YNAB is pushing out. Once that happens, we may have an option/utility for looking at Glimmer components.

@michaelcmelton any progress on this? Im really looking forward to having POS input again.

I was also playing around with this issue. I was able to add an event handler to the currency inputs, but it seems this position is too late to overwrite the value. It looks roughly like this
 handleKeydown(event) {
  if (event.keyCode === 13) {
    const currentValue = event.currentTarget.value;
    // determine newValueString given currentValue

    event.currentTarget.value = newValueString; // <- this is too late
  }
}

I'm not too familiar with Javascript and not at all with Ember, so I don't know if there is a better approach.

Hey @alexlukas! Nice work!
You may want to try playing with the addEventListener options property -- specifically the capture/useCapture properties. I believe those will allow your event to have priority over other listeners on the same event:
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#capture

Hi @sktrent, thanks for your suggestion! I finally took the time for a little trial and error, and your tip was indeed a very good one - I was able to get it working!
Basically, I set the capture parameter to true, so my handler is the first one that is executed. Next, I had to

stop propagation of the event
change the value of the input element to the desired one
and finally create two artificial events to continue processing in YNAB.

It took me a while to figure out that I need two events, first an InputEvent to update the value cached by the currency input component, and then a KeyboardEvent to simulate pressing Enter. I played around with it, and it seems to be working fine!
I also refactored the code a little, so the POS-parsing and the event-handling are in separate classes, and wrote some tests and finally ported the modules of the features from Javascript to TypeScript. I just synced the latest changes to the pull request #3366, maybe someone wants to test the POS-style entry.

Thanks for all your work, but sadly, it’s still not working for me.
--
Thanks,
Tim Orrino
720-244-8993
On Mar 9, 2024 at 6:58 PM -0700, Alex Lukas @.***>, wrote:

Hi @sktrent, thanks for your suggestion! I finally took the time for a little trial and error, and your tip was indeed a very good one - I was able to get it working!
Basically, I set the capture parameter to true, so my handler is the first one that is executed. Next, I had to
• stop propagation of the event
• change the value of the input element to the desired one
• and finally create two artificial events to continue processing in YNAB.
It took me a while to figure out that I need two events, first an InputEvent to update the value cached by the currency input component, and then a KeyboardEvent to simulate pressing Enter. I played around with it, and it seems to be working fine!
I also refactored the code a little, so the POS-parsing and the event-handling are in separate classes, and wrote some tests and finally ported the modules of the features from Javascript to TypeScript. I just synced the latest changes to the pull request #3366, maybe someone wants to test the POS-style entry.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Thanks for all your work, but sadly, it’s still not working for me.

Hi, just to make sure - have you checked out the code from pull request #3366 and built and used the local plugin? In that case, can you please explain what steps you used?

I apologize, Alex. I thought you meant to try it in YNAB. I’m just a user, not a programmer like you!
Thanks for your hard work!
--
Thanks,
Tim Orrino
720-244-8993
On Mar 12, 2024 at 3:08 AM -0700, Alex Lukas @.***>, wrote:

Thanks for all your work, but sadly, it’s still not working for me.
Hi, just to make sure - have you checked out the code from pull request #3366 and built and used the local plugin? In that case, can you please explain what steps you used?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

No worries, thanks for trying it out and clarifying that! :-)
Sarcasticon @.***> schrieb am Mi., 13. März 2024, 16:47:

I apologize, Alex. I thought you meant to try it in YNAB. I’m just a user,
not a programmer like you!
Thanks for your hard work!
--
Thanks,
Tim Orrino
720-244-8993
On Mar 12, 2024 at 3:08 AM -0700, Alex Lukas @.***>, wrote:

Thanks for all your work, but sadly, it’s still not working for me.
Hi, just to make sure - have you checked out the code from pull request
#3366 and built and used the local plugin? In that case, can you please
explain what steps you used?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/3078#issuecomment-1994729174,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABKR6QRIMDUFCIE6OX4UNWTYYBYH5AVCNFSM6AAAAAAWL64BP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUG4ZDSMJXGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I don’t understand why this is closed. POS still not working. What am I missing?
--
Thanks,
Tim Orrino
720-244-8993
On Apr 3, 2024 at 5:55 PM -0700, Josh Madewell @.***>, wrote:

Closed #3078 as completed via 0179a41.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Hi Alex,
Since Josh closed the case, does that mean the issue is fixed? I’m a real novice at this. Can you tell me if I’m awaiting the next release to see it working? How do I know when there will be or has been a new release.
Thank you for your time!
Tim
On Mar 13, 2024 at 2:42 PM -0700, Alex Lukas @.***>, wrote:

No worries, thanks for trying it out and clarifying that! :-)
Sarcasticon @.***> schrieb am Mi., 13. März 2024, 16:47:

I apologize, Alex. I thought you meant to try it in YNAB. I’m just a user,
not a programmer like you!
Thanks for your hard work!
--
Thanks,
Tim Orrino
720-244-8993
On Mar 12, 2024 at 3:08 AM -0700, Alex Lukas @.***>, wrote:

Thanks for all your work, but sadly, it’s still not working for me.
Hi, just to make sure - have you checked out the code from pull request
#3366 and built and used the local plugin? In that case, can you please
explain what steps you used?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

—
Reply to this email directly, view it on GitHub
https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/3078#issuecomment-1994729174,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABKR6QRIMDUFCIE6OX4UNWTYYBYH5AVCNFSM6AAAAAAWL64BP6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJUG4ZDSMJXGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.

So if you make sure you are on version 3.13.0, you should be good to go. I can confirm it is working for me.

Thanks, Alex. I had the updated version but found I needed to disable and reenable Toolkit before it became active. I am grateful for your work on this.
Tim
On Apr 10, 2024 at 11:02 AM -0700, Alex Lewitt @.***>, wrote:

you can see the latest releases here https://github.com/toolkit-for-ynab/toolkit-for-ynab/releases
If you look in the "what's changed" section, you can see this feature was included.
So if you make sure you are on version 3.13.0, you should be good to go. I can confirm it is working for me.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Just to add another data point here, it's not working for me either. I'm on the newest version, and also tried disabling and reenabling Toolkit, still no success.

I'm on the newest version, and also tried disabling and reenabling Toolkit, still no success.

Does this mean the amount you enter just appears as expected without POS? E.g. 1234 as 1234$ instead of 12.34$?
Could you check to make sure that POS-style entry is enabled in the addon configuration?
If this does not help: Which browser are you using?

Does this mean the amount you enter just appears as expected without POS? E.g. 1234 as 1234$ instead of 12.34$?

Yes, entering 1234 ends up being 1234$, but I'd like it to be 12.34$.

Could you check to make sure that POS-style entry is enabled in the addon configuration?

Yup, it's enabled.

Which browser are you using?

Firefox. But I just tried it in Chrome, same there, POS-style entry does not seem to work (even though it's enabled).

POS Style was fixed two days ago, but isn’t working again this morning. Bummer.
Tim
On Apr 12, 2024 at 6:37 PM -0700, Leander Neiss @.***>, wrote:

Does this mean the amount you enter just appears as expected without POS? E.g. 1234 as 1234$ instead of 12.34$?
Yes, entering 1234 ends up being 1234$, but I'd like it to be 12.34$.
Could you check to make sure that POS-style entry is enabled in the addon configuration?
Yup, it's enabled.
Which browser are you using?
Firefox. But I just tried it in Chrome, same there, POS-style entry does not seem to work (even though it's enabled).
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

data point: it appears to be working for me in the following use case

create/edit a transaction
put an amount into the inflow or outflow
press the "enter" key.

if you try to do anything else besides pressing the "enter" key from the inflow/outflow box (like pressing the tab key, or using the mouse to click the "save" button), the POS entry will fail and it will use the default YNAB behavior.


Issue Running on Windows or Ubuntu

Hi,
I'm Interested in this project.  Attempted to run on both Windows and Ubuntu.  I manually copied some fonts for Qt and I believe core dependencies are met.  When running on Ubuntu, getting the following error:

The windows verbose log is:

With application crashing at this point.
Any insights on how to address.
Brian

Hello! Nice to see that you are interested. I will be happy to help :)
This is a recent bug we have only recently observed (like one week or so). I think we concluded with that the OpenCL version that follows with CUDA is not compatible with the most recent version of OpenCL that FAST depends on. However, no real solution to this problem has been found yet. Which CUDA version are you using? And did you install OpenCL through CUDA?
On the Ubuntu machine, could you try installing OpenCL through this command instead:
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
Let me know if that doesn't work for you. I will try debugging this tomorrow to see if I find a fix.
But perhaps I and @smistad should look into this tomorrow to see if we can find a permanent solution.
André

I did install OpenCL via CUDA.  CUDA is Version 11.2:

I will try the suggestion of installing OpenCL from GL Toolkit.  Do you think that would require uninstallation of OpenCL from CUDA?

Oh, I think I had the exact same issue recently. Could you attempt to run this command on Ubuntu and report what you get:
clinfo
It might be that you do not have OpenCL installed on your machine. Do you have a dedicated GPU (NVIDIA) or perhaps an integrated GPU (Intel)?

Oh, but to use the platform, you need to have CUDA 10.0 installed. However, CUDA is not required, but OpenCL and OpenGL are.

Looks like libglu1-mesa-dev is already installed (I did do that in my attempt to troubleshoot)

However when I run "clinfo"  I get "Number of platforms                                                 0"

@andrep, you don't need to have CUDA 10 installed, fastPhatology should run as long as you have OpenCL.
CUDA 10 is only required for the current version of fastPathology if you want tensorflow GPU or TensoRT inference for the current version.
The clGetPlatformsIds error is because it can't find any OpenCL platforms installed

Also this is a dedicated NVIDIA Tesla P40 GPU

You need to install the nvidia opencl package. Don't remember the exact name, but I think it is the one called nvidia-opencl-icd.
So, sudo apt install nvidia-opencl-icd
Then try running clinfo again

Get the following when attempting to install nvidia-opencl-icd

Based on the machines NVIDIA-SMI out put, I assumed Driver Version 460 might work.  So also tried this:

Any other ideas?

According to my ubuntu machine which has the NVIDIA 450 driver, OpenCL is installed with the llibnvidia-compute-450.
So in your case, try only writing sudo apt install libnvidia-compute-460
You might also need the package ocl-icd-libopencl1, if it wasn't installed with clinfo: sudo apt install ocl-icd-libopencl1

Had ocl-icd-libopencl1 installed.  I clued in to only try the libnvidia-compute-460 library.  Unfortunately when it tries to install get a dpkg error:

If you have any insights cool.  If not I'll try a few more things to try and get OpenCL working.
Do you think its also OpenCL not found on the Windows instance as well?

Hm, I haven't seen that issue before, but a quick google search gave this: https://askubuntu.com/questions/1252188/cuda-install-issue-invalid-cross-device-link
Seems to be the same error... some sort of package conflict
The answer suggest at the webpage is then:
(warning though: these commands can fudge up your cuda install or package manager...)
sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-compute-460_460.32.03-0ubuntu<IP_ADDRESS>_amd64.deb
sudo apt --fix-broken install

Yes, it might be the same issue on windows...

Thx...I'll give it a try here shortly.

Well even the nvidia-smi indicates Driver 460 is installed, I attempted with 440 version (since that is CUDA 10.2, which supposedly works best on 18.04).  After installing: sudo apt install libnvidia-compute-440  I'm not able to see OpenCL 1.2 when running clinfo

It does not appear that OpenCL is is issue on Windows 10 machine.  Driver is present at: C:\WINDOWS\system32\OpenCL.dll. When launching exe with --verbose flag, application error's out at:
INFO [22412] Loaded configuration file: C:/Program Files/FastPathology/bin/fast_configuration.txt INFO [22412] Test data path: C:/ProgramData/FAST/data/ INFO [22412] Kernel source path: C:/Program Files/FastPathology/bin//..//kernels/ INFO [22412] Kernel binary path: C:/ProgramData/FAST/kernel_binaries/ INFO [22412] Documentation path: C:/Program Files/FastPathology/bin//..//doc/ INFO [22412] Pipeline path: C:/ProgramData/FAST/pipelines/ INFO [22412] Qt plugins path: C:/Program Files/FastPathology/bin//..//plugins/ INFO [22412] Library path: C:/Program Files/FastPathology/bin//..//bin/ INFO [22412] Creating new QApp INFO [22412] Creating new GL context for computation thread Temporary path: C:/Users/BrianNapora/AppData/Local/Temp/fastpathology-CMrwSq INFO [22412] QApp already exists.. INFO [22412] Device manager initialize..
Does the application need elevated permissions on Windows?  I ran with Administrator privileges', but same result.  Is there any additional logging I can invoke to track down issue?

I am assuming this is the same machine with a NVIDIA GPU? Have you installed the cuda toolkit on windows?
I installed this version: cuda_11.0.2_451.48_win10.exe, and it works with fastpathology

No this is a different machine, has NVIDIA GeForce GTX 1060.  I did not install CUDA Toolkit on Windows.  I understood from wiki that default installation of of OpenCL.dll was satisfactory.  Do you believe the entire CUDA Toolkit is necessary to install on Windows?

OpenCL.dll does not actually contain an opencl platform, it is just a loader. This allows multiple opencl platforms to be used on a system.
It might be that the nvidia graphics driver ships the opencl plattform (Intel and and does this on Windows i think..), but the cuda toolkit definitely includes it.

Gotcha.  I will do some experiments on the Ubuntu instance I have running, then consider installing CUDA Toolkit on my laptop.
Thanks for the help.

Glad you got it working! Just let us know if you have any future challenges :) For instance if you have a custom model you want to use in the platform. Some information can be found in the wiki.
As it seems like your problem has been solved, I will close this issue.


[Bug] Unset array fields of JsonWebKey are not omitted when serialised to JSON

Which version of Microsoft.IdentityModel are you using?
7.0.0-preview3
Where is the issue?

[ ] M.IM.JsonWebTokens
[ ] M.IM.KeyVaultExtensions
[ ] M.IM.Logging
[ ] M.IM.ManagedKeyVaultSecurityKey
[ ] M.IM.Protocols
[ ] M.IM.Protocols.OpenIdConnect
[ ] M.IM.Protocols.SignedHttpRequest
[ ] M.IM.Protocols.WsFederation
[ ] M.IM.TestExtensions
[x] M.IM.Tokens
[ ] M.IM.Tokens.Saml
[ ] M.IM.Validators
[ ] M.IM.Xml
[ ] S.IM.Tokens.Jwt
Other (please describe)

Is this a new or an existing app?

Repro
var jwks = new JsonWebKeySet();

var key = new X509SecurityKey(cert);
var jwk = JsonWebKeyConverter.ConvertFromX509SecurityKey(key, true);
jwk.Use = "sig";

jwks.Keys.Add(jwk);

{
  "keys": [
    {
      "e": "AQAB",
      "key_ops": [],
      "kid": "7f4...",
      "kty": "RSA",
      "n": "v1L8m2wgy0ddn....",
      "oth": [],
      "use": "sig",
      "x5c": []
    }
  ]
}

Expected behavior
key_ops, oth and x5c should be omitted since they were unset, not show up as empty lists
Actual behavior
List fields of array/list type are returned as empty lists
Possible solution
The getters seem to swap nulls with empty arrays before returning, which means [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] has no effect.
Additional context / logs / screenshots / links to code

Add any other context about the problem here, such as logs and screenshots or links to code.

@polys what are you using to Serialize?
System.Text.Json in a modern out-of-the-box ASP.NET project on .NET 7

@polys the issue here is key_ops, oth, x5c are collections that are non-null by design.
This is a change from 6x where these properties had a get/set pair and could be null.
We have a JsonWebKeySetSerializer that is used internally to skip the empty arrays.
Adding JsonWebKeySet.Write() would not be a solution for derived types.
I will discuss with the team.

We have a JsonWebKeySetSerializer that is used internally to skip the empty arrays.

Is JsonWebKeySetSerializer something we can use as well?
All I'm trying to do is have a simple API endpoint returning my public JWKS, similar to how the OIDC /.well-known/openid-configuration endpoint points to a jwks_uri.
I could of course serialise manually, or remove the extra fields manually, but if feels like a hack.

Adding JsonWebKeySet.Write() would not be a solution for derived types.

Is there a way you can narrow the scope or constrain the expectations somehow so this would not be an issue?
For example, saying something like Write RFC7517 only promises RFC7517-compliant serialisation, as opposed to Write that suggests complete serialisation, even for derived types.
Some options that come to mind:

Add a WriteRfc7517() method on JsonWebKeySet (and potentially JsonWebKey), although I feel the name doesn't sound very .net-iny.
Add a Write(options) method, which options allowing for RFC7517-compliant serialisation or custom. This feels more idiomatic and extensible.
Expose your internal JsonWebKeySetSerializer but, similar to the above, use a name that doesn't suggest complete serialisation of every possible scenario.

@polys we are up against a hard deadline to coordinate with asp.net 8.
Opening up the JsonWebKeySetSerializer may make sense, but it will need some work for derived types.
In the past we have used controls such as 'bool strict' for compliance.  Rfc7517, states parameter names are case-sensitive, the 'kty' parameter MUST exist, etc.
As our 6x release was not strict, we decided to release 7 as lax.
I agree a bool is not enough, something similar to JsonSerializerOptions but scoped to JsonWebKey.
It would be best to design this with extensibility of OpenIdConnectConfiguration also as the two chain together.

We can improve this in .net 8.

@polys @mus65 I think opening up the serializers for: JsonWebToken, JsonWebKey, JsonWebKey, OpenIdConnectConfiguration with extensibility seems to be a good solution.
Marked this as an enhancement.


dyld: Library not loaded

Got  error loading library with Xcode 7.3.1, which has no Embed Framework
Any ideas of solving this?
dyld: Library not loaded: @rpath/libFirestack.a
  Referenced from: /var/mobile/Containers/Bundle/Application/40EE0D26-A842-4DF5-BD70-6BC020A7F7E4/rnStartKit.app/rnStartKit
  Reason: image not found

@linuxing3 can you add a build phase to copy the Embed Framework?

Thanks for answering!
I follow this article announcing and add libFirestack.a as new copy file phase to the project and no errors shown again.
I downloaded the google-service-info.plist and compiled successfully the project to install on my iphone device.
But when I tried to use the config to create a FireStack Instance, error shows that

The default app has not been configured yet.

the config file
// config.js
module.exports = {
  NAME: 'XXXX',
  firestack: {
    apiKey: "XXXXXXXX",
    authDomain: "your-auth-domain.firebaseapp.com",
    databaseURL: "https://your-database-url.firebaseio.com",
    storageBucket: "your-storage-bucket.appspot.com",
  }
}

the implementation
//src/services/FireStack.js
import Firestack from 'react-native-firestack';
const firestack = new Firestack(config);

I thought that all firebase frameworks already included in firestack and no need to modify appdelegate.m. Either the plist file or the config.js should be ok to create a instance of Firestack. Don't understand why failed.

Hmm... are you using npm or the branch?

using npm  i  react-native-firestack firebase

Ah, yes... the latest version of firebase (not yet released, 'cause Android support isn't quite finished... although I might just merge it and release an update) automatically calls configure(). I'll update the npm module.

Can you grab the latest npm module (v2.0.0) and lemme know if you still see the error?

That will be great, thanks! I will give it a try.

Oh and I'm in the gittr chat room if you want to chat in there: https://gitter.im/fullstackreact/react-native-firestack


Can't create a new feature request

Package version
this issue is just on github
Describe the bug
The feature request template does not work. It just reloads the issues templates page.
Tested on firefox and chrome (Ubuntu).
Reproduction repo
No response

Can you give a try now? It seems like some of the Github issues config was a bit off

Thank you very much, it's working now!


chore(main): release 0.21.3

:robot: I have created a release beep boop
0.21.3 (2023-03-30)
Bug Fixes

Pipelines: Hide description if it's empty, fix save button on pi… (#252) (baff563)
Pipelines: Hide description if it's empty, fix save button on pipeline (baff563)
Workspaces: Update description in edit dialog when user switch f… (#250) (e8e1f70)
Workspaces: Update description in edit dialog when user switch from workspace (e8e1f70)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/BLSQ/openhexa-frontend/releases/tag/0.21.3 :sunflower:


Receiving this error: Command failed with exit code<PHONE_NUMBER>

Bug description

I am following this guide to setup a prisma project.
When I run the prisma migrate command npx prisma migrate dev --name init, I receive this error:
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Error: Get config: Error: Command failed with exit code<PHONE_NUMBER><EMAIL_ADDRESS>cli get-config

I also tried other commands like npx prisma dub push --preview-feature and npx prisma generate and I am receiving the same error above.
I tried deleting all the cache in %AppDate% related to prisma and npm and also tried reinstalling node.js, tried using a sqlite database instead of postgres but nothing worked.
In addition to that error, also the prisma formatting extension is not working and gives me this error:
prisma-fmt error'd during formatting. To get a more detailed output please see Prisma Language Server output. To see the output, go to View > Output from the toolbar, then select 'Prisma Language Server' in the Output panel.

and this is output I get in vscode output window:
prisma-fmt error'd during formatting. Please report this issue on [Prisma Language Tools](https://github.com/prisma/language-tools/issues).

[Info  - 12:03:44 PM] Prisma plugin prisma-fmt installation succeeded.
[Info  - 12:03:44 PM] Installed version  of 'prisma-fmt' using path<EMAIL_ADDRESS>[Error - 12:03:44 PM] Language Server failed while downloading url https://binaries.prisma.sh/all_commits/60ba6551f29b17d7d6ce479e5733c70d9c00860e/windows/prisma-fmt.exe.gz with fmtPath<EMAIL_ADDRESS>[Error - 12:03:44 PM] [object Object]
[Error - 12:03:44 PM] Cannot install prisma-fmt: EBUSY: resource busy or locked, copyfile 'C:\Users\ahmed\AppData\Local\Temp\ce5080633ae91aaa2f26d7f695b36a06\partial' -><EMAIL_ADDRESS>Please:
1. Check your network connection and run `Prisma: Restart Language Server`, or
2. Manually download and uncompress the archive file, then set the path in `prisma.prismaFmtBinPath`

The achieve file can be acquired at:
  https://binaries.prisma.sh/all_commits/60ba6551f29b17d7d6ce479e5733c70d9c00860e/windows/prisma-fmt.exe.gz

[Error - 12:03:44 PM] prisma-fmt error'd during linting.

So, yeah, everything related to prisma is broken for me and I really need to start this project as soon as possible.
How to reproduce

this guide
Expected behavior

this guide
Prisma information

this guide
Environment & setup

OS: Windows
Database: PostgreSQL/SQLite
Node.js version: v14.16.1
Prisma version:

2.20.1

What Windows version?
Any special software running on the computer (Enterprise stuff, antivirus maybe)?
You can use other Node tooling as usual?

What Windows version?

Windows 10

Any special software running on the computer (Enterprise stuff, antivirus maybe)?

Avast Antivirus, I disabled it but still the problem is the same

You can use other Node tooling as usual?

yeah, node and npm are working just fine

Anything with Docker in your toolchain you are using here? WSL?

I am not using docker to run the prisma code, I am only using it to run the postgresql database. As I said I also tried with sqlite and it's the same problem

Can you download https://binaries.prisma.sh/all_commits/60ba6551f29b17d7d6ce479e5733c70d9c00860e/windows/prisma-fmt.exe.gz, unpack it (e.g. using 7zip) and execute it in a command line windows? Does that work for you? (Should get a nice output)
Same for pls as well https://binaries.prisma.sh/all_commits/60ba6551f29b17d7d6ce479e5733c70d9c00860e/windows/query-engine.exe.gz. (Should get a specific error message {"is_panic":false,"message":"Datamodel should be provided either as path or base64-encoded string."," ...)

exit code<PHONE_NUMBER>

This implies a missing DLL, see similar search results like https://github.com/arduino/arduino-pro-ide/issues/210.

[Error - 12:03:44 PM] Cannot install prisma-fmt: EBUSY: resource busy or locked, copyfile 'C:\Users\ahmed\AppData\Local\Temp\ce5080633ae91aaa2f26d7f695b36a06\partial' -><EMAIL_ADDRESS>Please:

This on the other hand could mean that something is blocking the file from being accessed.
Both would be pretty weird - so trying to download manually seems like the obv next step before we can figure out what is causing this.

I manually downloaded these two files and ran them from the command line in the same folder of the project and to my surprise the formatting extension now works and the npx prisma migrate dev command now gives the same error but with a path to a different file
Error: Command failed with exit code<PHONE_NUMBER><EMAIL_ADDRESS>cli --datasource file:./dev.db create-database

I guess I will have to keep downloading these files manually and It will work in the end but this is really tedious.
What could be the reason for that ? Why can't it automatically download those files ?

I manually downloaded these two files and ran them from the command line in the same folder of the project and to my surprise the formatting extension now works and the npx prisma migrate dev command now gives the same error but with a path to a different file
Error: Command failed with exit code<PHONE_NUMBER><EMAIL_ADDRESS>cli --datasource file:./dev.db create-database

I guess I will have to keep downloading these files manually and It will work in the end but this is really tedious.
What could be the reason for that ? Why can't it automatically download those files ?

I am unable to reproduce this. I use windows as my main os and never had this issue.
Can you tell the exact windows version. Follow these steps to know the exact windows version:

Press Win + R
Type winver in the Run Prompt and Press Enter

It should show you the exact version like so:

I guess I will have to keep downloading these files manually and It will work in the end but this is really tedious.
What could be the reason for that ? Why can't it automatically download those files ?

This is not the expected behavior of course. Downloading these exact files will only work this time, with other versions you will get the wrong binary. So this is not a solution, just a way to figure out what is going on.
So your system can fundamentally run the files that you downloaded manually. This means nothing is really wrong with your DLLs and Windows itself I think.
Can you please upload some of the files that are not working for you, so e.g. the<EMAIL_ADDRESS>If you do not have those any more, can you create a new project and just normally download these files? I wonder how they are different from the manually downloaded ones.

I am really sorry I forgot to mention that when I manually downloaded those files and ran them, I had this error about a missing DLL file

Then I downloaded this DLL file manually and included everything in the same folder and It worked.
I thought that my windows is broken, so, I reinstalled it. Sadly, that didn't fix anything. so, It's probably not a problem with my windows system.

Also, It's worth mentioning that I have used prisma before a couple of months ago (at the time of prisma 2.14, I guess) and I didn't have this issue. I was just trying it out back then and everything was working just fine.

Then I downloaded this DLL file manually and included everything in the same folder and It worked.

Where exactly did you put this file? It probably belong in some system folder to work all the time.

I thought that my windows is broken, so, I reinstalled it. Sadly, that didn't fix anything. so, It's probably not a problem with my windows system.

The missing DLL indeed points to something with your system being broken or missing, for whatever reason.

Where exactly did you put this file? It probably belong in some system folder to work all the time.

I put it in the same folder of my project along with the executable file that I manually downloaded

The missing DLL indeed points to something with your system being broken or missing, for whatever reason. Maybe some software you use causes this file to be missing or invalid.

I am not really sure if this is the case because I reinstalled my windows from scratch and I haven't installed any software yet except for nodejs, git and vs code.

I just updated my windows and update my outdated drivers but nothing changed
Also, I searched for this DLL file in the C drive and here is what I found

The DLL file is indeed there within my system files in C:\Windows\System32\DriverStore\FileRepository\iclsclient.inf_amd64_75ffca5eec865b4b\lib
Also a very similar file named vcruntime140_clr0400.dll exists in C:\Windows\System32 and C:\Windows\SysWOW64
Also, It's worth noting that Mozilla Firefox includes this DLL file in Program Files. So, maybe you should also include it with prisma binaries.
I am pretty sure that there is nothing wrong with my system files, though.

So, maybe you should also include it with prisma binaries.

We had 0 reports of similar problems with our many hundred or thousand Windows users, including me with >5 different Windows machines. So I am pretty confident this is not a common problem on Windows.
Googling for the file name I could find installation instructions on how to really fix this:
https://answers.microsoft.com/en-us/windows/forum/windows_10-performance/vcruntime140dll-and-msvcp140dll-missing-in-windows/220f1caf-8eb9-413d-a7fe-1b13df1bfa5d
https://www.bleepingcomputer.com/tutorials/fix-missing-vcruntime140dll-dll-error-in-windows/
https://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install-winpc/vcruntime140dll/b1a15b0e-e389-41a3-bc49-f4fc85bac575
Please let us know if this fixes the problem.

Alright, I installed Microsoft Visual C++ 2015 Redistributable and It worked
But still, This leaves me confused.
Do you have this program installed on your windows machine? If so, then, Does it come preinstalled with your windows installation or did you manually install it?
I think that this is something the the rust team should be aware of.
Any way, Thank you so much, my problem is solved and everything is working fine now.

I tried hard but could not find any Windwos computer in this household where the problem you described occured.
If we ever get another report of this, I will remember this issue and come back to this and reopen it. Until then, I am happy we could fix this for you.

Prisma schema loaded from prisma\schema.prisma
Error: Get config: Error: Command failed with exit code<PHONE_NUMBER>: C:\Users\olegk\projects\okusov.ru\backend\node_modules\prisma\query-engine-windows.exe cli get-config --ignoreEnvVarErrors

Install Visual C++ redistributable and error will be fixed


rename privateCertSecret to caCertSecretRef

the name privateCertSecret may be misleading to users due to confusion
with private keys. The name caCertSecretRef is more clear with less
opportunity for confusion.

/assign @karlkfi

/retest

/retest


Chat: Add send message with keyboard keys

keys to trigger send message: ctrl+Enter
additionally: ignore action on empty text

Looking into it.
Kind Regards.

Deployed to https://devv.jobs.


[Backport] Fix Variable repr and str failure when data is None (#2806)

This PR is the backport of #2806

LGTM!


Docs/navigation

The theme of this PR is:
Navigation should always feel and behave the same no matter where you are on the site

Integrated the TOC so it's inline with the navigation. This closes #254

This also supersedes #298  since the TOC is always integrated into the nav

Removed the navigation tip from the main page

The hope is that the navigation is now so clear, users don't need extra help to navigate the site

Clean up some headers that showed up in the TOC/nav unexpectedly
Flattened the nav hierarchy so that the Document Settings Panel, Robot Configuration, and File Export Settings pages are not under a subfolder and instead are seen right away on the Home page navigation.
Made the nav area sticky

For documentation purposes, this is what it currently looks like:

I don't have strong feelings on the navigation tip and can be convinced that it belongs back in if anyone thinks it's important. Definitely don't want to get in a revert war about it!

Sorry about not responding. It looks good to me!


HDDS-6200. Provide OM#getSupportedBucketLayout RPC call for BucketLayout upgrade finalization.

What changes were proposed in this pull request?
The idea here is to add OM#getSupportedLayouts() RPC call to get the bucket layout values.
Before finalization OM#getSupportedLayouts() RPC call should return empty values. Now, the new client's OzoneClientAdapter and CreateBucketHandler would get an empty [] list then continue with the existing older version behavior.
After finalization OM#getSupportedLayouts() RPC call will have values FSO/OBS and the client will have the new behavior.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6200
How was this patch tested?
Added related Integration Test.

@rakeshadr @errose28 Could you review these changes? This PR is a part of the upgrade effort for the BucketLayout feature.
One of the downsides of my current implementation seems to be as follows:
If we are performing an upgrade on an Ozone installation that already supports OBS and FSO layouts, to a more recent version - the OM would still return an empty list of supported layouts as the response to the OzoneManager.getSupportedBucketLayouts(), and not allow its clients to create a new bucket with OBS/FSO layout (which were already supported before the upgrade process began).

@errose28 thanks for reviewing this PR.

Let me know what the current requirements for FSO client interactions are and we can decide whether this is the best way to handle them.

Following is the requirements of the Ozone:
OM Pre-finalized state
Client CreateBucket behavior in different client end points:
[A] Ozone Shell Command #createBucket:-
       case-1) New-Shell-Client uses default value OBS:
             "ozone sh  create bucket myBucket"
              Now, ozone client will send the default value OBS to OM server
      case-2) New-Shell-Client sends explicit value:
              "ozone sh create bucket --layout=FSO myFSOBucket"

[B] BasicRootedFileSystem #createBucket:-
      case-3) if the bucket doesn’t exists then ozone client will create a bucket with "FSO" layout.

IIUC the simplest option is to handle it by ignoring the bucket layout argument at the OM side and silently creates LEGACY bucket layout with a WARN message.
On a second thought, I was trying an approach to throw exception if user explicitly specify FSO or OBS layout value in the above mentioned "case-2". But I like your idea of unifying the pre-finalized code for upcoming features. That makes code more maintainable. Since this is a new feature, we have the flexibility to decide the behavior of different FSO cases.
I agree to pause this PR now and would like to see HDDS-6213 proposal patch.

⬆  cc @kerneltime who is working on the client versioning.


llvmPackages: add support for native FreeBSD

Description of changes
part of https://github.com/NixOS/nixpkgs/pull/296581
Tests were done with llvmPackages_16

asan doesn't work quite right, disable it
support for 32-bit FreeBSD uses by default logic tuned for a very old FreeBSD; fix that
Some llvm tests fail for the same reason as MacOS; disable them
libcxx no longer needs a FreeBSD special case
add a flag for the inclusion of terminfo, which helps compile static bootstrap files

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.]

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

I integrated the above discussion into a comment in common/llvm/default.nix. I think things have been addressed at this point, so I'm open to new reviews.

well... with the new cmakeBool we are now mass-rebuilding linux too. Might as well just get the comment movement done now.


yii\mongodb\Query max/min/sum problem

What steps will reproduce the problem?
use yii\mongodb\Query;
$maxPoint = (new Query())
->from('users')
->where(['status' => 'STATUS_ACTIVE'])
->max('point');
What's expected?
The number of point, example: 10000
What do you get instead?
MongoDB\Driver\Exception\RuntimeException: The 'cursor' option is
required, except for aggregate with the explain argument in ...
Additional info

Q
A

Yii version
<IP_ADDRESS>

Yii MongoDB version
2.1.5

MongoDB server version
3.6

PHP version
7.1

Operating system
Ubuntu 16 LTS

Resolved by commit 0ad02a4750474ffaf43262c7203cf83836fe88e1


fetchplan should not return in_ and out_ edges by default

Using fetchplan in_*:-2 and fetchplan out_*:-2 can be used to not return the adjacent nodes.
I think this should be the default behaviour, because an edge is expressing a relationship, and a relationship is not a direct property of the node (and it's inefficient when you have thousands of edges going in or out a node).
The node is a simple concept, only having properties directly applicable to that node. For example a Person has a name, an email address etc.
So when you do
select * from Person
you simply want to get a list of names and email addresses.
If you wanted to know something about this Person's friends, you would find the relevant edges, follow them and get to his friends.
The good thing about a graph database should be that, in contrast to a relational database, you don't have to store something like a 'foreign key' inside of your objects. The graph model should abstract that away for the user (despite of how it could be modelled internally). Other objects should only become visible when you start traversing edges.
So I think that OrientDB should not even expose the fact that, when you create an edge between two nodes, actually a link to the edge is kept in both nodes also. This is just for performance reasons, but should be internal to the database. I think edges should always be saved separately from the nodes (except maybe in some 'more efficient' lower-level import strategy).
Here a thread to which the poster never got a proper answer: https://groups.google.com/forum/#!topic/orient-database/dkvcle-s-RA
Another question that is related: should edges influence the version of nodes?
https://groups.google.com/forum/?pli=1#!topic/orient-database/XiJX4Drn7eM
And I have been fighting for a long time to just get out of the database what I need, but taking the crap out is hard to do, to say the least. It should not be done by using fetchplan ["don't load any properties starting with in_"], that is name_based and will fail quickly in some more complex situations.
So this is more than a plea for sensible defaults (hide adjacent nodes by default).
I goes further, I am arguing that the adjacent nodes, and the edges should be accessible only through the functions ( out(), outE(), etc. ). The fact that each side of the relationship is kept up-to-date with a list of neighbours, should be invisible for the user (that is simply "the way it works", in order to get the performance you want, but is not relevant - and even disturbing - for the user).

Another argument for abstracting how edges are actually handled internally is that if one uses 'lightweight' edges, the actual SQL for traversing has to be changed. This means that the 'edge' is not abstract enough.
It makes sense that, if an edge has no properties, it can be stored without actually creating an object of class edge in the database. This will be more efficient for storing and for traversing edges, but in the mental modal that the user has about a graph database, the edge is still an edge, and he shouldn't have to be aware of that difference (at least not when writing SQL queries).

Another thing that would be useful is, if you want to get the from or to-nodes from an edge, to have functions that are called from() and to() (or fromV() and toV()), because that is much more intuitive than in and out (quite confusing on edges).
And here is another recent thread that asks (rightfully in my opinion) how you can avoid updating the vertex version when an edge is added: https://groups.google.com/forum/?pli=1#!searchin/orient-database/mrft|sort:date/orient-database/XIkV6z_P1wQ/yUeFktaEI7gJ
Again I think this should be the default behaviour.
A question of mine (all related to the same basic problem) to which I didn't get a proper answer either: https://groups.google.com/forum/?pli=1#!searchin/orient-database/mrft|sort:date/orient-database/XIkV6z_P1wQ/yUeFktaEI7gJ
So, to rephrase the whole point of this ticket: In OrientSQL, a lot of work has to be done to make sure a graph-database is really abstracted fully as being a graph database to the user, at this time - although OrientDB is claimed to be both a document DB and a graph DB - OrientDB is not a graph database (yet). As soon as a class is a subclass of a Vertex or an Edge, the behaviour should be changed, and the 'links' to other Vertices or to other Edges should be 'invisible'.
And why is the SQL language so important? Because it allows for declarative programming, which is less error-prone that declarative programming.
I'd love to hear the developers' comments on this.

Surprised to see the 'performance' label added to this ticket...

Yeah, this is more about usability, which is something that I also feel needs to be looked at, especially as a relative newcomer to ODB.
I've been watching the ODB Google group and the issues here for the past few months and a lot of time spent by the ODB team is explaining alternative/ corrected SQL queries to get certain and proper results out of ODB (and obviously some of those questions go unanswered too, probably because there are simply too many???). One could say, "do a better job answering the questions". However, a better and more pragmatic and time saving approach is to improve the concepts and abstractions behind the ODB SQL language, which is what I believe you are asking for @mrft?
Or, do a much, much better job explaining the concepts and abstractions in the documentation, if the language itself cannot be simplified.
Scott

@smolinari indeed that is what I am asking for :)

Yeap. I have experienced the poor performance for this issue if you have a vertex that have 100k edge.

Fully agree with @mrft.


Repo sync for protected CLA branch

The pull request is created from main637953375014520923sync_temp to main to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


ci: public ingress for postgres db

External developers on e.g. the DEX explorer need a database with testnet events that they can develop against. Rather than instructing them how to set up a fullnode on their dev workstations, we'll provide an external URL and creds so that they can use the cloud-hosted db directly in their local dev workflows.
To support this, a few changes were necessary to the configs:

optionally reference pre-existing Secret for db creds
optionally reference pre-existing Secret for TLS certs

Additionally, IPs and DNS were configured out of band, one per environment (e.g. preview & testnet).

Developer confirmed out of band that the new setup is working on their machine, so I'm merging this. Note that we'll need to cherry-pick this commit onto a release branch if we decide to point-release on the v0.69.x series, otherwise there'll be a regression in event indexing.


Translation/Wording phone number

In Userprofile, Contact Information:

[ ] change 'phonenumber' to 'Phone number'
[ ] change label inputfield 'New Value' to  'Phone number'
[ ] check if there are other translation issues regarding 'phonenumber'

(WIP)

[ ] phone number
[ ] label input phone number

estimate <0.5d


Added default dataProvider per IN-587.

@mdellabitta I see this as passing the tests and other than the quality complaint about get I think this is is all up to date AFAIK. I can't find any other open/unmerged IA branches on my local.

Hey @moltude I'm trying to figure out where you're seeing a warning about .get. Usually that's for Option, but is OK in this case, right? Right now Codacy is kinda being brain dead for me, and I can't see any warnings about this PR.


Crash When load model asset

Unity version 2018.4.2f1
Game name: (please, specify the game name)
Engine version: (specify engine version, if known)
Platform: (specify platform, if known)
Error message: No files were found
Stack trace:    在 uTinyRipper.MixedGameStructure..ctor(IEnumerable1 pathes)    在 uTinyRipper.GameStructure.CheckMixed(List1 pathes)
在 uTinyRipper.GameStructure.Load(List1 pathes, LayoutInfo layinfo)    在 uTinyRipper.GameStructure.Load(IEnumerable1 pathes, LayoutInfo layinfo)
在 uTinyRipperGUI.MainWindow.LoadFiles(Object data)

You are trying to process unsupported file

Added extra validation to avoid crash
ca28f8ef4bc6c8837460921ee7f0120d6eb53694

The Folder contain assetbundle files, I can load files in the fold,but drag folder will crash. Is There some wrong with load Dependency ？
‘’Import: Game file '400_low_res.assetbundle' has been found
Import [Warning]: Dependency 'archive:/cab-af397a9559c4d87617391ee68fc05912/cab-af397a9559c4d87617391ee68fc05912' wasn't found‘’

Ripper detects asset bundles by their extension .unity3d

https://github.com/Perfare/AssetStudio/blob/master/AssetStudio/BundleFile.cs

Some games contains dozens thousands of files. If ripper check every one of the by their content it will take eternity.


use compiler intrinsics for byte swapping

instead of platform specific functions/macros.
This is simpler and more robust since we support fewer compilers than platforms

Tested and build successfully with OpenBSD 6.8, clang 10.0.1 and Apple macOS 11.2.3, clang 12.0.0.


Quick add description text box not align wrt to title box

Quick add description text box not align wrt to title box
There is slight modification  required in description text box alignment.
Its height should be equal to title txt box.
It happened in only firefox browser (Chrome is working fine)

@naina-verma this issue is already fixed. Please find the screenshot

@SMahil ,This shows up on firefox version 47.0

@SMahil @naina-verma Is it done?

@sanbornsen , @SMahil is working on it ,not done yet!

@naina-verma can you verify this.

@SMahil ,LGTM
Verified on Firefox and Chrome !

Wasn't it solved long time back?

Thanks @naina-verma . Closing this issue as PR #322 merged.

PR #323 merged. Hence closing this issue.


Fix/CSI-485 works without /etc/iscsi directory

Ran tested the plugin on FC environemnt without any iscsi service on the worker nodes (which is the common use case in Fc env). And he find an issue that the csi node is failing due to missing /etc/iscsi directory.
So this PR fix
Before this PR /etc/iscsi hostpath was specified in the yaml. So I removed this specific hostpath from the yaml and fixed the code to take /etc/iscsi from the /host/etc/iscsi which is already the hostpath of the worker node. So there is no really need to specify also /etc/iscsi in the yaml if we already have hostpath / inside csi node in /host directory (reminder - csi node requires the / of the worker node because it discover multipath devices inside the csi node container).

This change is

I tested it manually on my dev k8s cluster.


[AutoPR adhybridhealthservice/resource-manager] Fix type-o in adhybridhealthservice model

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4587

(message created by the CI based on PR content)

Codecov Report

:exclamation: No coverage uploaded for pull request base (restapi_auto_adhybridhealthservice/resource-manager@aea01fa). Click here to learn what that means.
The diff coverage is n/a.

@@                                  Coverage Diff                                   @@
##             restapi_auto_adhybridhealthservice/resource-manager    #3882   +/-   ##
======================================================================================
  Coverage                                                       ?   56.77%
======================================================================================
  Files                                                          ?     8785
  Lines                                                          ?   176699
  Branches                                                       ?        0
======================================================================================
  Hits                                                           ?   100326
  Misses                                                         ?    76373
  Partials                                                       ?        0

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 aea01fa...dd4a114. Read the comment docs.

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3883


Update CONTRIBUTORS.csv

Current behavior

Proposed changes

Checks

[ ] All commits in this Pull Request are signed and Verified by Github.
[ ] All commits in this Pull Request follow the Ockam commit message convention.
[ ] There are no Merge commits in this Pull Request. Ockam repo maintains a linear commit history. We merge Pull Requests by rebasing them onto the develop branch. Rebasing to the latest develop branch and force pushing to your Pull Request branch is okay.
[ ] I have read and accept the Ockam Community Code of Conduct.
[ ] I have read and accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a separate Pull Request, this will mark the commit as verified.

@vuldin if you're okay with it, I can help land the commit in this PR

@vuldin if you're okay with it, I can help land the commit in this PR

That would be great, thanks.


Reduce allocation in SchemaCompatibility.match_schemas when handling schema promotion for int and long writer types

Reduces transient object allocation during decoding. From ruby-prof allocation profiling:

Columns are:
%TOTAL | %SELF | TOTAL | SELF | WAIT | CHILD | CALLS | NAME | ALLOCATIONS | LINE

It looks like this is also addressed here: https://github.com/apache/avro/pull/1038


Add WireMock Module - PoC for Testcontainers C modules

Since I am working on WireMock, I want to have it as a first PoC module for the implementation. The module would provide additional APIs for management, etc

Integrated into the repo, but one has to fix the issue with init logic

It works and documented though there is a follow-up glitch in #15


to_h method for config

Would you be open to a PR to add a to_h method to config allowing:
App.configure do |config|
  config.database.dsn = 'jdbc:sqlite:memory'
end

App.config.to_h # => { dsn: 'jdbc:sqlite:memory' }

This would allow me to output all the configuration to the display without having to know all the keys.
By the way I could swear this used to be possible in an earlier version :)
EDIT: I think an earlier version might have used Struct which provided the to_h method.

@krisleech yeah sorry I have just yanked 0.2.0, see https://github.com/dry-rb/dry-configurable/issues/12

@krisleech also, yeah would appreciate a PR :)

See https://github.com/dry-rb/dry-configurable/pull/15

quick as lightening :zap:


Add begin-less and end-less ranges

Fixes #7170
This PR introduces begin-less and end-less ranges. If most of us think this is a nice and useful feature we could merge it.
An end-less range is just a range with nil as its end. It can be written as (3..) or (3..nil), but of course without an explicit nil is nicer.
A begin-less range is just a range with nil as its beginning. It can be written as ..3 or nil..3.
These ranges have two semantics:
As a range
A range has methods like each, step, etc. An endless range doesn't stop iteration (well, it will, eventually, when it overflows):
(3..).each do |x|
  puts x
  break if some_condition
end

You can't invoke each on a begin-less range (it errors at compile-time, unless the begin is a nilable int, and in that case it raises at runtime). But you can invoke reverse_each:
(..3).reverse_each do |x|
  # ... eventually yields 0, -1, -2
end

Note that a begin-less range isn't equivalent to a range that starts with 0 in these case.
A range also has a === method which can be use in case (and soon in some Enumerable methods ). In this case an endless range means "greater than the beginning of the range":
number = rand(1..10)
case number
when ..3 then "foo"
when (3..5) then "bar"
when (6..) then "bar" # or just else
end

(well, maybe the above isn't a good example because there's still an else nil branch there)
Another example:
numbers = [1, 10, 3, 4, 5, 8]
numbers.select(6..) # => [10, 8]
numbers.select(..6) # => [1, 3, 4, 5]

The above is the same as:
numbers.select(&.>=(6))
numbers.select(&.<=(6))

I think the former is a bit more readable.
There's also Number#clamp, so now there's another way of doing this:
num = some_number
num = 10 if num <= 10

We can do:
num = num.clamp(10..)

Same goes with capping to a max.
In Ruby 2.6 there was also an example like this:
[1, 2, 3].zip(6..) # => [[1, 6], [2, 7], [3, 8]]

which is nice (no need to explicitly specify an upper bound) but currently doesn't work in Crystal (but I might make it work soon).
As an indexer
As an indexer, an endless range means "until the end of the collection". It's equivalent to passing -1, except that you don't have to write that and you don't have to care about .. vs. ...:
ary = [1, 2, 3, 4, 5]
ary[2..] # => [3, 4, 5]
ary[2...] # => [3, 4, 5]

This works for any indexable (Array, Deque) and String.
For a begin-less range it's equivalent to passing 0, but maybe it's a bit more concise:
ary = [1, 2, 3, 4, 5]
ary[..2] # => [1, 2, 3]

The catch-all range
Because the begin and end are now optional, we can also write (..). It doesn't have much use, really. We could forbid it. But right now you can use it:
# replace all elements of an array with a single element
ary = [1, 2, 3, 4, 5]
ary[..] = 3
ary # => [3]

# replace all elements of an array
ary = [1, 2, 3, 4, 5]
ary[..] = [6, 7, 8]
ary # => [6, 7, 8]

# fill an array with a value
ary = [1, 2, 3]
ary.fill(8, ..)
ary # => [8, 8, 8]

# another way to dup an array
ary = [1, 2, 3]
b = ary[..]

And also:
case number
when .. then "duh"
end

Yeah... not a lot of uses, but the semantics are consistent.
Implementation details
Ideally I would change the Range(Int, Int) restrictions to Range(Int?, Int?). However, that gives a compile-error in some cases saying that you can't have Int inside a union type. Instead of trying to fix that I decided to just drop those inner restrictions for two reasons:

I don't have much time to think about fixing that error
It doesn't matter much because you will still get an (probably uglier) error if you pass a non-number range, but:
I don't think there will be many there passing ranges of non-integers to these methods
It's still not clear what we want to do with these restrictions: is a Range(Int, Int) actually a thing, or should it be more like Range(< Int, < Int) saying "anything that inherits Int"?

Changing the parser was relatively simple.
Making the changes to Range methods was also simple, but it took a bit of time.
Changing the logic of indexers (ary[3..]) was very easy because all of that logic is in Indexable.range_to_index_and_count (we might want to move that method to Range because it's also used in String which is not an Indexable)
Thoughts?

Range doesn't have to be restricted to Int anyway. Theoretically it can be used with any Comparable that implements #succ.

I mean col[..] is supposed to return the whole collection, col[...] all but the last one? I've seen a spec for nil..nil but not for nil...nil

.. and ... are the same. Inclusive and exclusive against infinite is infinite.

@asterite We have to do ..-2 instead of ... to have all but the last element?
Because we have:
a = [0, 1, 2]
puts a[0...-1] #=> [0, 1]
puts a[0..-2]  #=> [0, 1]

... won't be equal to [0...-1], but equal to [0..-1] and .. then?

@asterite We have to do ..-2 instead of ... to have all but the last element?
Because we have:
a = [0, 1, 2]
puts a[0...-1] #=> [0, 1]
puts a[0..-2]  #=> [0, 1]

... won't be equal to [0...-1], but equal to [0..-1] and .. then?

Your reasoning is correct. However an endless range means "up to infinite" or without an end. In the case of indexing a collection, because the size is finite, it just means to take everything available. There the exclusive/inclusive distinction doesn't make sense.
Maybe to prevent this small confusion we could make an endless exclusive range a syntax error. Thoughts?

Yes the nillable end of exclusive ranges could be forbidden (like now).

@asterite There is an example above you wrote:
(3..).reverse_each do |x|
  # ... eventually yields 0, -1, -2
end

Did you really mean it should yield 3, 2, 1, 0, -1, -2?

So that .reverse_each on end-less range would mean start when the range starts, but go the opposite direction?

Oops, I had a typo in the example. Now it's fixed.

Regarding the catch-all range, while it isn't amazing for one dimensional arrays, it will probably be a godsend to people implementing matrices with multiple dimensions.

I originally had two commits, one for end-less range and another for begin-less range. I'll add more commits that fix the existing issues and then we can squash it into a single commit, after all the changes aren't very big.

@RX14 All comments addressed (except one I didn't understand).
Given that this PR also adds specs for Range#step, I'd like to merge this first and then I can send a PR fixing it for negative steps (it's very similar to with positive steps except we have to use pred).

Is foo ..2 the same as foo(..2) or foo..2 ?

@bew Excellent question!
I decided it's parsed as foo..2, so as a range, not as foo(..2). I think parsing it the other way would mean a breaking change, plus you can always disambiguate the two cases with parentheses.
But we can discuss it, of course.

Yes, foo..2 is the most logical and easiest to parse from the compiler point of view, but for us humans it's not that easy and logical I think..
The following thought is for ranges in general:
I would prefer to make 1 .. 3 an error, and force the 1..3 or 1..(2 + 1) (no spaces around ..) for ranges.
btw, iirc I never saw ranges with spaces
This way you would easily disambiguate the 2: when there is no space it would ALWAYS be a range, when there is spaces it can only be a partial range (begin and/or end -less range)

Agree with @bew, removing spaces disambiguate with a good side effect to ensure a consistent style for ranges.

Also, can you add a TODO somewhere to change x..nil & nil..x to x.. & ..x after next release (in specs)?

@bew But you said:

(this is important for method calls when generated from macros for example)

For this reason we shouldn't change semantics based on a single space.
Otherwise, let's remove begin-less ranges, but I think the current behavior (foo ..2 is foo..2) is fine.

Hmm that's true too.. No idea how useful begin-less range can be, and how much it would impact people to not have it..

I'm fine with the parsing as-is

@bcardiff any reason why?

Same question. This is backwards compatible. The only reason to wait for 0.28.0 is that this is a new language feature (and I wouldn't mind that).

No problem on my side with the feature/xless-ranges branch. I've ran make before doing this.
/app # ./bin/crystal build  -o .build/std_spec spec/std_spec.cr?
Using compiled compiler at `.build/crystal'
/app # uname -a
Linux f5b436f201b2 4.18.0-11-generic #12-Ubuntu SMP Tue Oct 23 19:22:37 UTC 2018 x86_64 Linux
/app # cat /etc/alpine-release
3.9.0
/app # git describe --tags --long --always
0.25.0-579-gcbf479d31

@j8r Thank you! But that's not exactly the command that's run. The full command is:
./bin/crystal build -D preview_overflow -D compiler_rt  -o .build/std_spec spec/std_spec.cr

Check the -D flags there.

No problem too @asterite  :
./bin/crystal build -D preview_overflow -D compiler_rt  -o .build/std_spec spec/
std_spec.cr
Using compiled compiler at `.build/crystal'

(@j8r thank you!)

CI passed this time after merging #7397 🎉 😁

Merge? 😺

Thanks @asterite!


Format string of Date column uses M or MM instead of the month number

Describe the problem
The format string applied to the Date column of the Date table uses M instead of m.
This is caused by the .NET function ShortDatePattern that uses "M" for month number, whereas the format string of the column in Tabular requires "m" for month number.
Bravo version
0.9.8121.26406
Tabular model
Power BI Desktop, import mode
Power BI
Power BI Desktop version March 2022
Steps to reproduce the behavior
Create a Date table specifying a non-default regional format.
Additional context
No response
Screenshots
No response
Anything else ?
No response

Fixed in 0.9.1


Impactstory now has a great OA resolver too

From Heather:

We are launching the new API and resolver during OA week, and wanted to give you a sneak peek :)
We think you should be able to use it from the OA Button really easily!  It's live now, so you should be able to easily drop it in to wherever you are currently looking up full text links.
oaDOI is an alternative DOI resolver that gets free fulltext where available, instead of just an article landing page.

normal DOI gets you a paywall page: http://doi.org/10.1016/j.tree.2007.03.007
our oaDOI gets you a PDF: http://oadoi.org/10.1016/j.tree.2007.03.007
and the API gets you JSON data and the license: http://api.oadoi.org/v1/publication/doi/10.1016/j.tree.2007.03.007

This sounds like there are a few improvements over what we're using, including I assume those included in http://blog.impactstory.org/find-and-reward-open-access/.
I think a use endpoint for this would be ideal. They have some interesting things going on, including:

Straight to PDF links, this seems super handy for us
Looking at pre-print repos (sounds good, I'd like to know a bit more)

We can do all the same things already, apart form searching datacite for data, because we just have not done that one yet. BASE / dissemin already returns PDF links, and I already have code for finding PDF links on journal pages if desired, and we already have a CL app for calculating the licence of something.
So whilst technically possible in numerous ways, at some point there is some strategic decision to make around which methods to use, and probably something to consider around whether or not to launch another OA doi resolver - we've had a CL one now for quite some time, but have not told people much about it because there was also talk of an oabutton/dissemin resolver, and those possibly being the same. I'm pretty sure I heard about the impactstory one a while back too, so which to go for? Theirs, our own, another one... things to think about.

Unassigning for now, no clear need for it. Leaving issue open for later review.

@markmacgillivray  did you look into the "custom list DOI prefixes, to see if it’s in a known preprint repo" to see if that would be useful for us? I'm happy to ask them about this.

@JosephMcArthur did they publish it anywhere? If they are happy to provide it we can use it too. If they are updating it regularly then a URL to where we can get an updated copy would be more useful. Or we can compile our own - ask preprint repos what their prefix is, or infer it from their publications.
Note though that this is not a foolproof method - a DOI prefix does not guarantee that a publication is owned or maintained by the publisher that is assigned that prefix.

I've asked them for more info on this.

Okay, the code for this is here:

https://github.com/Impactstory/oadoi/blob/master/oa_local.py#L84
https://github.com/Impactstory/oadoi/blob/master/oa_local.py#L17
https://github.com/Impactstory/oadoi/blob/master/oa_local.py#L200
https://github.com/Impactstory/oadoi/blob/master/oa_local.py#L84
*https://github.com/Impactstory/oadoi/blob/4de92611610def94e9c5e8e9f27fde534f78eb13/oa_local.py#L105

and "basically we've hardcoded some lists and consider those urls/dois open.".
@markmacgillivray if any of these are help for us then please do what you can to prioritise & implement. Otherwise, please feel free to close.

This is mostly a straight lift of everything on the datacite page of DOI prefixes that have submitted to datacite. There are some errors in what appears to be the method they used to scrape the prefixies, resulting in things like 10.61 instead of 10.6100 - as it stands, and as it is used in this code, this is likely to result in misinterpretations of certain prefixes. This could be fixed quite easily, if we were to use these datacite prefixes. However, it is also not clear that just because the prefix is in datacite that it links to an item that is not closed access. Having a quick look, I can fairly quickly find one that is listed in datacite that does not appear to be open:
https://www.thieme-connect.com/DOI/DOI?10.1055/s-0033-1340471
The preprint URLs and open data URLs would probably work accurately, but given that they identify sites that we can already identify as open, I do not think there is a benefit to us including these.
Finally, given that DOI prefixes do not necessarily indicate the publisher the article belongs to, there is always the inherent risk that identification by DOI prefix will be incorrect. This could be overlooked if there was sufficient benefit to doing so, but given the above points, I don't think there is at this stage.
So I will close this issue for now. Could be revisited if we hear from impactstory that they have a better list in future.


✨ [Feature] 希望能支持类似 laravel 的 withSum, withAvg, withMax, withMin, withCount 等方法

Before feedback (在反馈之前)

[X] There are no features that I want to submit in Issues (当前 Issues 中没有我将要提交的新功能)

Describe Feature (描述功能)
希望能支持类似larvel的 withSum ， withAvg, withMax,withMin，withCount等方法

Good idea, we need to make an investigation first, to check if they can be supported in framework.


keda operator restarted at the time of start.(error retrieving resource lock keda/operator.keda.sh)

Discussed in https://github.com/kedacore/keda/discussions/2722

Originally posted by vkamlesh March  7, 2022
Keda operator failed to elect leader after keda-operator pod restart. These restarts are not frequent but it's happening in a few days(6 days) time intervals.
KEDA Version: 2.6.1
Git Commit: efca71d6bc770408468a9e1a4b3984f7136c0967
Kubernetes version: v1.20.9
Kubernetes Cluster : AKS

bash-3.2$ k get po -n keda
NAME                                      READY   STATUS    RESTARTS   AGE
keda-metrics-apiserver-649f4ddbbd-v4pjp   1/1     Running   0          12d
keda-operator-68ddbdcc8f-6h767            1/1     Running   3          12d
bash-3.2$

bash-3.2$ kubectl get --raw "/apis/coordination.k8s.io/v1/namespaces/keda/leases/operator.keda.sh"
{"kind":"Lease","apiVersion":"coordination.k8s.io/v1","metadata":{"name":"operator.keda.sh","namespace":"keda","uid":"edb18fd7-b95e-463f-81cf-6a1010073409","resourceVersion":"135421212","creationTimestamp":"2022-02-23T14:33:32Z","managedFields":[{"manager":"keda","operation":"Update","apiVersion":"coordination.k8s.io/v1","time":"2022-02-23T14:33:32Z","fieldsType":"FieldsV1","fieldsV1":{"f:spec":{"f:acquireTime":{},"f:holderIdentity":{},"f:leaseDurationSeconds":{},"f:leaseTransitions":{},"f:renewTime":{}}}}]},"spec":{"holderIdentity":"keda-operator-68ddbdcc8f-6h767_53e840b6-5466-484f-a6f6-16978b7ee12c","leaseDurationSeconds":15,"acquireTime":"2022-03-07T12:07:54.000000Z","renewTime":"2022-03-07T17:36:42.260717Z","leaseTransitions":142}}

bash-3.2$ k logs keda-operator-68ddbdcc8f-6h767 -n keda -f -p

1.6466548397264059e+09	INFO	controller.scaledobject	Reconciling ScaledObject	{"reconciler group": "keda.sh", "reconciler kind": "ScaledObject", "name": "observationsprocessor-func", "namespace": "platform-api"}
E0307 12:07:33.812275       1 leaderelection.go:330] error retrieving resource lock keda/operator.keda.sh: Get "https://<IP_ADDRESS>:443/apis/coordination.k8s.io/v1/namespaces/keda/leases/operator.keda.sh": context deadline exceeded
I0307 12:07:33.812329       1 leaderelection.go:283] failed to renew lease keda/operator.keda.sh: timed out waiting for the condition
1.6466548538123553e+09	ERROR	setup	problem running manager	{"error": "leader election lost"}`

This is most likely a problem in sigs.k8s.io/controller-runtime as it is responsible for leader election. We should investigate.

I've found this. What puzzles me is that I saw the same error message ("failed to renew lease" ) on the other controllers in the cluster that probably use
controller-runtime but they managed to recover. Maybe the default options are to optimistic in keda ?

Hard to say, could please try to tweak those settings on your setup?

@crisp2u @zroubalik Where exactly do we need to tweak values?

I'm also seeing this issue, and it's leading to noisy pod restart alerts in our AKS cluster. We are only running 1 replica of the KEDA operator, but as of now we're seeing container restarts ~3-8 times a day thanks to "leader election lost"

leaderelection.go:367] Failed to update lock: Put ".../api/v1/namespaces/keda/configmaps/operator.keda.sh": context deadline exceeded
leaderelection.go:283] failed to renew lease keda/operator.keda.sh: timed out waiting for the condition
ERROR	setup	problem running manager	{"error": "leader election lost"}

@zroubalik - Presumably you were talking previously about tweaking the lease-related settings? Perhaps there should be a hook in the helm chart for configuring the leasing options: https://github.com/kedacore/keda/blob/dcb9c1e2d157ba3a763acfdfba60d819874d2c16/main.go#L87


nocopy volume bind option usage not mentioned in 1.23

nocopy volume bind option is not mentioned in the respective 1.23 remote API page, although it is implemented and mentioned in changelog as well.
https://docs.docker.com/engine/reference/api/docker_remote_api/#v1-23-api-changes
https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23

I don't see the other options also defined in the page you link. They are defined in https://docs.docker.com/engine/reference/run/#/volume-shared-filesystems though

Well, I 've only spotted nocopy; perharps other options are missing as well. However, to my understanding, I think such an API page should be self-contained without the need to search over other pages to find the exact details (even though this API is just a facade to the socket that the reference pages describe). Moreover, reference page are about the current version and there is no (easy) way to track when this change was introduced. This could eventually cause confusion in client implementations where a certain supported version has to be clearly stated. But again, that's my opinion :)

+1. The remote API docs for container creation (v1.23, v1.24, v1.25) do not mention this change. In the JSON parameters section below the example JSON, there is a lot of detail given about how to set HostConfig.Binds. But the only options it lists are:

Source is a path on the host
Source is a named volume
A single option: read only / read-write

Both the docker create reference and the docker run reference do mention all the options that can be given for a bind mount. But the remote API docs only mention ro.


Milestone 1 Tasks

Just a rundown of milestone1.md. Feel free to add

[x] work contract
[x] pick topic
[x] create repo structure
[x] name the repo/package
[x] MIT license
[x] add to CONTRIBUTORS.md
[x] edit CONDUCT.md (just use the default one)
[ ] agree upon a collaboration strategy and write it in CONTRIBUTING.md
[ ] README.md write up
[ ] function specs and stubs
[ ] create an issue for each function, assign writer
[ ] create project boards and link tasks to issues
[ ] submission

I opened a PR for "README.md write up". #3 Please feel free to change it.


Use dual source blending for SDF

Certain GPU will allow dual source blending. Instead of a single alpha value, you can generate a second color from your fragment shader that will be used as the src factor during blending operations.
This hopefully will allow subpixel blending to be done by the GPU.

MoltenVK supports dual source blending on iOS.
Also from forum post it looks like dual-source blending is a requirement for Vulkan-1.2.


polygons on depth axes and /TRANSPOSE

Reported by ansley b manke on 12 May 2009 21:41 UTC
(see #843, #844)
This example from the error_bars_demo.jnl script, shows no error bars:
! on (vertical) Z axis
define axis/z=1:15:1/depth/units=meters z5
let/quiet xp4 = Z[gz=z5]
let/quiet yp4 = SIN(xp4/5)
let/quiet errors = 0.5/(xp4+5)
plot/title="vertical profile" yp4
GO error_bars polygon/color=red/thickness=2/title="variability" yp4 errors

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1661

Comment by ansley.b.manke on 10 Jul 2009 19:31 UTC
fixed in fer/plt/polygon_set_up.F


Merged Infobox

Leader
@mimoham24
User story
Currently, when an Infobox is set as the parent element, the child elements only have the option of using the Infobox passed from the parent or using a custom Infobox. The user wants to use the Infobox passed from the parent, but also wants to use some of the blocks added by the user. In this case, it is necessary to merge the blocks passed from the parent and the blocks that are maintained by the user.
Requirements

There is layer group which is linked with

Examples
Testing list

[ ]

This is an issue for Classic. And dev team has already developed this.


Add prevStatus to setStatus method

🚀 Feature request
Current Behavior
When using setStatus, from useFormikContext(), it just accepts values, and not functions. This makes it inconvenient for updating the status value inside the useEffect hook, as status has to be included as a dependency, leading to an infinite loop.
Desired Behavior
setStatus should also accept a function as argument, which would have prevStatus as its argument.
Suggested Solution
This could work as the setter of the useState hook. I can try to emulate what they do and make a PR.
Who does this impact? Who is this for?
Users trying to update the status based on the previous status, inside a useEffect hook.
Describe alternatives you've considered
A method like addToStatus(key, value) and removeFromStatus(key) could be implemented too.

I am also going through this!

Me too!

Are you planning to fix it?


Add backend for the contact form

i want to setup backend to make  the contact form work
you can receive the email if the user via the form

please assign this issue to me  @gauravsingh1281

Hey @AyushSharma72  we currently want contributions on the frontend design.

Hey @AyushSharma72 we currently want contributions on the frontend design.

Assign me any frontend issue you have ? @gauravsingh1281


update dep to support dart 2.0

Thanks so much! Now that Flutter is at 2.x, I've gone ahead and merged these changes into another branch that fixes the travis build as well.


Bringing -b- group up to date

Alright, here's the next in our saga, the -b- group.
This group is pulling the Landsat record for the a_collated_points (really the resulting csv from a_collated_points_to_csv).
The big things happening here:

moving most of the general R scripts for the data pull and collation to the root directory in a src/ folder and generalizing them so they could be used in multiple RS pulls in a single run. (upcoming is -c- group, that pulls all the RS data for all lakes in our Level 3 ecoregion, and this created some confusion in {targets}). This generalization comes in the form of a 'parent_folder' argument that allows one to specify which subfolder this pull is related to. Since the folder architecture for each pull is the same, just the parent folder is different, this seemed like the easiest way to deal with this and not have a bunch of repeated functions with the path changed.
lots of updates to the folder structure referenced in the b_site_RS_data_acquisition/py/ scripts. I couldn't, for my life, figure out a reasonable way to not repeat these files per parent_path (I was going to do it similar to how I do the WRS tiles, but now I can't remember why that doesn't work as nicely as just copy/pasting/find/replace of the parent path). Realistically, pySetup.R could live on its own in the parent directory, since it does the same thing in each group, but I got lazy and just left the py folder as is.
lots of little tweaks to move this away from the general structure of the template repository like adding b_ to the beginning of each target name
general clean up and creating consistency:

you'll see this repeated in future groups: i_check_dir_structure. This doesn't create any warning messages, which is nice, but you still have to tell {targets} to run this before anything else (you'll note it's referenced in the command of a few targets).
I think I also got all the single quotes in R scripts and changed them to doubles? I didn't bother with that in python, since it is not the norm. (progress on #9)

[old] lines 80-119 of b_site_RS_data_acquisition.R were removed, since we're not collecting them at this time. Truthfully, I need to figure out what's going on with the fiona module in python to fix this. I've made an issue in the upstream repository for that: https://github.com/rossyndicate/Landsat_C2_SRST_template/issues/12, just a general note to not tweak the yml or anything otherwise it will fail in the pull.

For your review, please make sure my logic makes sense for generalizing the functions in ~/src and if you can think of any way of hacking the py scripts to generalize those, please LMK. I'd love to not have redundant code in this repo.
Optional This group is pretty quick to run (tar_make(b_make_files_with_metadata)), but if you want to run, would you change the google_email in your nw-poudre-historical-config.yml to your email to keep the earth engine/google drive gods happy? I can trouble shoot with you if you have any issues getting this to run on your end due to python/gee errors.
THANK YOU!
Progress on #8

Okay, @kathryn-willi, I think I got everything here. I also added documentation from the template repository about how to set up EE and gcloud. Will you follow the gcloud directions and make sure you can successfully initialize gcloud at the terminal?
Also, please make sure the added documentation and changes make sense!
Thank you!

Okay, @kathryn-willi, I think I got everything here. I also added documentation from the template repository about how to set up EE and gcloud. Will you follow the gcloud directions and make sure you can successfully initialize gcloud at the terminal?
Also, please make sure the added documentation and changes make sense!
Thank you!

I was able to authenticate without issue!

oh heck yes!! -c- group incoming!


Update readmes to match common design (Feature Layers category) 1/x

Thanks @Rachael-E! I've updated the data on ChangeFeatureLayerRenderer, and also added a DoneLoadingListener to promote good practice with the loadable pattern. Could you have a look at the updated code please? Cheers!

I like the checkbox @JonLavi, although ofc it means it differs to the other SDKs implementations since they'll all be using the toggle button. I think the toggle button worked just as well as the checkbox, since if it was showing e.g. the green renderer then the button would say "show original renderer" so that is clear. It might be less faff in the long run for us to stick with the toggle button rather than ask every other SDK to use a checkbox. What do you think?

I like the checkbox @JonLavi, although ofc it means it differs to the other SDKs implementations since they'll all be using the toggle button. I think the toggle button worked just as well as the checkbox, since if it was showing e.g. the green renderer then the button would say "show original renderer" so that is clear. It might be less faff in the long run for us to stick with the toggle button rather than ask every other SDK to use a checkbox. What do you think?

Thanks @Rachael-E, I've updated as you suggested. I personally think that the 'pressed' state of the toggle button should be enough to inform the users about what happens when they 'de-press' it, that being that the renderer is removed. But, let's just move forward with this to get this merged.
I wasn't able to create a gif with my machine (some problems with the software), but I don't think the gif is of much value here anyway, so I removed it. If you think we should still have one, perhaps you could spin one up? Thanks!


Reconsider the standard URLs

While we heavily refactor the routing of the storefront, we've seen a number of optimisations we can do. It's related to usability in general, developer usability (understand what functionality is behind router name) and SEO.
As an example, we currently have:

/login
/register
/reset-new-password
/reset-password

In order to provide more clarity we could optimise these, by changing it to:

/account/login
/account/newuser
/account/details
/account/forgot-password
/account/reset-password

This ticket requires to go through the list of URLs and improve them. Also the technical names and configuration options related to this should be aligned as we change.
Special attention is needed to change the CMS driven pages:

termsAndConditions
contact
help
sale

Those should not be part of the hardcoded app as they're driven by CMS only.

this was done with other tickets


Clean nasty Ember.merge deprecations

Ensures Ember.assign is used where available so no deprecations appear in ember > 2.5

Thanks!