Spike approaches to internationalisation

What
In https://github.com/alphagov/govuk-frontend/issues/1709, we will hopefully have identified some possible approaches to internationalisation that we want to investigate further. We've also previously spoken about three options:

Using some kind of internationalisation library (how does this work in practice? Is this too complex for what we need?)
Allow services to provide us with the relevant translated string that they want to use (How does this work in situations where we need to deal with multiples/plurals, e.g: character count)
Add a Nunjucks macro option language flag which toggles the component to Welsh (How would we get and maintain Welsh translations now and for future components? Is this scalable?)

We need to make some decisions on which approach would work best for us. We need to keep in mind:

We may want to implement a combination of approaches, especially if we have a short-term requirement to provide Welsh translations, but we need something more flexible in future
Any approach we pick should work with what service teams are currently doing in their own applications
Whether any of these solutions would also apply more generally to configuring more complex components and, if so, how

Why
So that we can get a better understanding of the approaches that work for us.
So that we can talk about the advantages and disadvantages of the approach in any proposal we write and share with the community.
Who needs to know about this
Developers
Depends on
https://github.com/alphagov/govuk-frontend/issues/1709 and https://github.com/alphagov/govuk-frontend/issues/2566
Done when
Note: it's likely that we may want to spike a few different approaches. It may make sense to write up separate cards for each spike when we know what those look like, so that they can be worked on in parallel/by different people. We can then come together to discuss what we've learnt.

[x] We've tried out some viable approaches
[x] Written up what we've learnt from our spikes
[ ] Talked to some teams (services + GOV.UK) who can test a pre-release for us and gathered feedback
[ ] Will anything we do here affect ports of GOV.UK Frontend?
[ ] We have decided on an approach and are ready to draft a proposal

There is a draft PR of a potential approach currently open for feedback.

#2614


Introduce a new state when completion fails

Currently, if the completion step fails, kpack marks the build as failed. The completion step is mostly optional (signing) and does not affect image publishing. We should instead introduce a new state to indicate this instead of marking the build as a failure

I think a new state called "Signing Failed" or similar might be a good representation of the state

I think indicating a signing failure independently in the conditions makes sense.
But, the severity of a failed signature seems like it would vary from user to user. I am not sure it makes sense to mark the build as a success for all users if signing failed. Do you see failed signing steps regularly?

Mostly happens if people push to a registry that doesn't accept non docker oci artifacts.

I think indicating a signing failure independently in the conditions makes sense.

Happy with this.


Fix path with bad character

@logston This is one thing I missed in #1039

Great stuff. Thanks @cool-RR


[core-http] Separate serialization/deserialization from mapping

Pipelines should be able to intelligently serialize/deserialize for wire transmission without this process being tied to mapping or any other kind of response parsing or request formatting.

Have to think about this some more, might want to wait until we move away from OperationSpec

Moving to Backlog milestone as we don't have plans to get to this in the current milestone or the next


Pass the request to the transition_method

I'm not sure on this change, I don't think transition methods should be concerned with requests. I personally would overwrite the specific methods on the viewset which care about the request.

Hmmm... perhaps you're right. The intention was to allow more complex logic in the transition method based on input, but I guess it would be cleaner to override the viewset method with that custom logic and pass arguments from the request to the transition method as kwargs.

@hzy ok overriding the viewset method is nice, but then I'd like to be able to pass kwargs to the super method and have those passed to the transition method, instead of copy-pasting the entire method.
Shall I send an new PR?

@ydaniv I'm not sure exactly what you mean, if it isn't too difficult sending through a PR would clarify :)


Rewrite doesn't seem to be working

I've tried every single combination I can think of to get the rewrite rules to work, but not succeeded. There seem to be no examples whatsoever out there.
Also, the REWRITE_MATCH_PATTERN / REWRITE_SUBSTITUTION fields seem to suggest it's only possible to make one rewrite rule.
Is it possible to get an example of how to write a rule, and is it possible to have more than one rule?

We faced a similar issue @vlidholt as we were using many regex rules to get our old urls working ( in the python based deployment ).
As you can see in their source,
https://github.com/awslabs/serverless-image-handler/blob/master/source/image-handler/thumbor-mapping.js
parseCustomPath(path) {
    // Setup from the environment variables
    const matchPattern = process.env.REWRITE_MATCH_PATTERN;
    const substitution = process.env.REWRITE_SUBSTITUTION;
    // Perform the substitution and return
    if (path !== undefined && matchPattern !== undefined && substitution !== undefined) {
        const parsedPath = path.replace(matchPattern, substitution);
        const output = { path : parsedPath };
        return output;
    } else {
        throw new Error('ThumborMapping::ParseCustomPath::ParsingError');
    }
}

The rule is always going to be treated like a string.
It's more like replace A with B. Complex regex rules replacement doesn't seem to be built.
We had modify it and redeploy.
[ partial code below ]
We did it like the python based solution.
Rather than having pattern and substitution in 2 different options, we are passing regex and replacement in the same array.
eg:
['([0-9.v_]+)_(thumb).(gif|jpg|jpeg|png)',     'fit-in/132x100/filters:quality(90):fill(fff)/$1_source.$3'],
const matchPatternStr = process.env.REWRITE_MATCH_PATTERN;
let matchPattern = eval('[' + matchPatternStr + ']');
let parsedPath;
        for (let i = 0; i < matchPattern.length; i++) {
            let matchPatternRegex = matchPattern[i][0];
            let re = new RegExp(matchPatternRegex, 'gi');
            parsedPath = path.replace(re, matchPattern[i][1]);

I know that aws needs to fix this, but till then hope this helps!

Hey @mandys - Thanks for bringing this to our attention and providing a code snippet that's been working for you so far. Apologies you had to go in and modify then re-deploy to get everything to work. I've added a bug/issue ticket for this but if you'd like to take the code that's been working for you and wrap it into a PR, we'd be happy to review and merge it into our next minor release!

Yet another simple workaround:
- const parsedPath = path.replace(matchPattern, substitution);
+ const parsedPath = path.replace(new RegExp(matchPattern), substitution);

But note, that you have to normalize the matchPattern value by omitting leading and trailing / and escaping special characters. For examplre, for the /thumbs\/(\d+x\d+)/ regex you should set REWRITE_MATCH_PATTERN to thumbs/(\\d+x\\d+).

We have updated our solution, and I believe your issue has been fixed. If you still see the issue with the latest version (v4.2), please feel free to reopen the issue.
You can refer to the recent changes here

@beomseoklee are you sure version 4.2 addresses this issue? I checked through the diff for version 4.2 and I can't find any changes related to the path rewrite functionality: https://github.com/awslabs/serverless-image-handler/commit/19cbc3ce759d7c8d8ddc35081972d7ac1daf0c71

@neilsh I think it was my mistake to group the open issues.
We will take a look at this issue again. I'm sorry for the confusion.

Hi @beomseoklee, any news on this issue ?

@pasali @neilsh @vlidhot Thanks for waiting. We've release v5.1.0, and hopefully the new version fixes this issue.
Basically, it simply replaces the string. If it does not work, please open a new issue with your use case so that we can take a look at your use case.


Multiple Video-Text pair Support

Hello!
First of all, I'd like to congratulate you on your great work. I have a question: I'm looking to evaluate the model's performance in a different way by using in-context examples. Specifically, I'm interested in feeding the model multiple in-context video-text examples. Is it possible to do so?

Yes.  I have tried to conduct in-context inferring but found it hard to follow instructions.  I doubt that it may be because of the lack of similar tuning data.  If you are interested, maybe you can follow MIMIC to design the data.

Due to the lack of updates for a long time, your issue has been temporarily closed. If you still have any problems, please feel free to reopen this issue.


requirement google/apiclient beta only

Hi,
Good job on the bundle. I just installed it but I had to change my google/apiclient lib to a beta one.
The current google/apiclient is v2.1.2.

Problem 1
- Installation request for lucascherifi/google-drive-bundle ^0.8.3 -> satisfiable by lucascherifi/google-drive-bundle[0.8.3].
- lucascherifi/google-drive-bundle 0.8.3 requires google/apiclient 1.0.*@beta -> satisfiable by google/apiclient[1.0.2-beta, 1.0.3-beta, 1.0.4-beta, 1.0.5-beta, 1.0.6-beta, v1.0.0-alpha, v1.0.1-beta] but these conflict with your requirements or minimum-stability.

Thanks

Hi @Temby , I can not maintain the module currently. I just set it to unmaintained state.


Boolean value & compare operator

Example:
fn main() {
  let a = true
  let b = 1
  let c = 2
  let d = b == c
}

Frist part complete at commit: a9441a55b287f16516bf7b4bb5a8a96ca4a4f5a4
Remain compare operator.


Consider allowing raster cache entries to survive 1+ frames without usage

Currently the raster cache clears all entries that have not been used at the end of the frame. In the case of SVGs, this can lead to repeated rendering jank in scenarios like a scrolling list or tabbar view where the same picture (pending flutter_svg fix) is continually re-rasterized as a user interacts with the application.
For especially complex pictures (https://github.com/flutter/flutter/issues/87826), we should support some method of keeping the cache entry alive past one frame. Some ideas:

We could tune a threshold for lack of access. Probably flaky, risk optimizing for benchmarks.
We could tie the entry to the lifetime of the engine Picture object. If the picture isn't disposed, then the framework must be keeping it alive intentionally
We could provide a new API that returned some sort of raster handle that the framework could manage

Since the framework now tells us when pictures are not going to be used again, we should base raster caching decisions on that instead.

Specifcially, we should base eviction decisions on whether the picture has been disposed.  /cc @flar @knopp @chinmaygarde

For this to work, I think we'd want some kind of weak pointer to the SkPicture (or perhaps to the flutter::Picture and the flow::PictureLayer(s) it is part of). Once that is no longer strongly held, the cache entry should be removed.

As I investigate this further, it seems like it should be enough to just keep the raster cache entry around until the PictureLayers holding that picture go out of scope. After calling ui.Picture.dispose, the framework will never add it to a new picture layer, and its copy of the layer tree will also be letting go of the engine layers. The engine can't get rid of PictureLayer objects before that happens anyway, so they'll always get deleted sometime after Picture.dispose anyway (roughly speaking, ignoring possible races). And needing to talk to the RasterCache from the UI thread only further complicates things.

Ok. The reason that is wrong: the framework could potentially hold on to a picture layer even after the current layer tree goes out of scope and reuse it.

If we had a list of "recently disposed picture unique_id's" then we could use that in our zombie algorithm. Basically, we flush the entry when it is no longer used in a frame and it has either exceeded its N frames of staying power or when we see it on the zombie list. Something like:
  if (!entry.used_this_frame) {
    if (zombie_list.contains(entry.unique_id) || entry.unused_count > N) {
      // delete entry
    } else {
      entry.unused_count++;
    }
  }

Something else to consider is potentially keeping the entry around, but getting rid of its image. Right now I think we get rid of the entry entirely, which means the next frame we see it, it will have to go through the count-up to caching again from scratch. We might want to keep an entry around (without its image) that was previously cached in case it is useful again and then it will get cached on first reappearance rather than Nth frame of reappearance. The entries don't cost that much, but we don't want our cache to fill up with them as our end-of-frame processing that enumerates them might start to bog down after a while, so some "waiting for it to be used again" limit might be useful, unless we consider that the fact that it wasn't turned into a zombie means there is still the potential for it to come back?

I see there is an ongoing patch to address this. But, I am not sure we have enough evidence to suggest that this is a good idea? I feel like we are jumping into fixing this issue without a more thorough investigation. Perhaps a design doc with empirical evidence based on something that looks the linked patch?

At one point my idea was to expire pictures from the cache when their .dispose method had been called in Dart (now that the framework does this appropriately).
However, doing this correctly is pretty complicated and it's not clear if this will be a net win or loss. If we can get an experimental patch to run benchmarks on it would help, but the main caution here is that this is not guaranteed to work: if we regress memory usage too much we won't be able to use it, and there's no guarantee that it will actually improve raster times.

Closing as I don't believe the raster cache is worth working on anymore


Web interface: After adding a queue via command line the frontend does not show all queues

In the PostScript Printer Application (this is the only working PAPPL-based Printer Application with PAPPL's standard main loop and so PAPPL's standard command line client interface) I have set up 2 print queues with the names "test" and "test2", which are displayed in alphabetical order on the front page of the web interface (First screen shot).
Then I add a third print queue named "test1", via command line:
./ps-printer-app add -d test1 -v 'usb://HP/HP%20OfficeJet%20Pro%208730?serial=CN783F60W1' -m hp--officejet-pro-8730-user-added--en

The command is accepted and exits with 0, so the queue should be created, and looking into the web interface again, displaying the front page again (Second screen shot), the queue actually appears, also in the correct position, right after "test", but the third queue, "test2" has disappeared.
Actually "test2" is not lost, as when I display the front page again, without doing anything inbetween, all the three queues show up (Third screen shot).
Here is the log (boring things as PPD repo indexing and get-printer-attributes responses to CUPS/cups-browsed skipped):
ps-printer-app-log-cmdline-add-20210221.txt
First screen shot:

Second screen shot:

Third screen shot:

Found some more threading issues, and I think this should resolve things once and for all!
[master 1d55a26] Fix some more threading issues (Issue #155, Issue #162)
[v1.0.x b9cdc23] Fix some more threading issues (Issue #155, Issue #162)

It works correctly now. Thank you very much.


graph: Move token middleware and return proper JSON response on error.

Description
Move token middleware and return proper JSON response on error.
Related Issue

Fixes #5661

How Has This Been Tested?
Tested locally with curl.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

:boom: Acceptance test cs3ApiTests-ocis failed. Further test are cancelled...


Intelligent shortening for filenames in section C

environment

vim: neovim 0.4.3
vim-airline: f659a98d501a1eea9f0229aba85499ab2f8308e6
OS: linux
Have you reproduced with a minimal vimrc: no

actual behavior
Filenames (via the fugitiveline#buffer) function are currently shortened on the left side if space is not sufficient. It would be nice if the different formatting strategies available for g:airline#extensions#tabline#formatter or g:airline#extensions#branch#format could also be configured here for shortening.
expected behavior
Shortening behaviors can be configured
screen shot (if possible)

the filename itsself is not shortened, only the path, which is the default behaviour.

@chrisbra
Could I close this issue?

Maybe just to explain the rationale behind this request in different words: If you have parallel folder structures in a project such as /foo/checks/ and /bar/checks`, simply removing everything from the left side might destroy the context necessary to understand which file is really opened right now.

so we would need yet another formatter?

Can't the tabline formatters be reused here?

What I often see for such cases is to shorten something like src/my/strange/long/path.py to s/m/s/l/path.py, which would already help in my case.

@languitar
What happens if I write this configuration to vimrc?
let g:airline_section_c = '%{pathshorten(expand("%f%m"))}'

let g:airline_section_c = '%{pathshorten(expand("%f%m"))}'

That actually looks pretty close. However, I would prefer if that shortening only takes place in case the space isn't sufficient for the whole path.

fixed by #2187

let g:airline_section_c = '%{pathshorten(expand("%f%m"))}'

That actually looks pretty close. However, I would prefer if that shortening only takes place in case the space isn't sufficient for the whole path.

Thank you, have the latest version but still trying to set "short" for the filename seems to not take effect when fugitive is active, this one fixed something very annoying to me, the full path in there all the time.
Cheers


[SPARK-12668] Providing aliases for CSV options to be similar to Pandas and R

https://issues.apache.org/jira/browse/SPARK-12668
Spark CSV datasource has been being merged (filed in SPARK-12420). This is a quicky PR that simply renames several CSV options to  similar Pandas and R.

Alias for delimiter -> sep
charset -> encoding

@HyukjinKwon please do not replace existing option names. Please just provide aliases. This can be done entirely inside CSVParameters.scala

@falaki Ah, right.

Test build #49572 has started for PR 10800 at commit 8992d41.

Do you know what happened to the compression codec?

Sorry that I misunderstood the issue patch. For codec I was thinking it was removed intendedly.

It'd be good to support that - but maybe we can do it in a separate pr.

Sure. Do you think it would be great if JSON datasource has that one as well?

Yes I think so. But let's do that as a separate thing.

Test build #49572 has finished for PR 10800 at commit 8992d41.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49572/
Test PASSed.

Hm.. Could you know anything about the test test different encoding? This is ignored and when I test this, this emits exception below.
00:17:40.263 ERROR org.apache.spark.executor.Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.io.InvalidClassException: org.apache.spark.sql.execution.datasources.csv.CSVRelation; unable to create instance
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1788)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)

I am looking into this though. I just wonder if you know already.

Ah.. CSVParameters is not serializable but was trying to pass it out of driver side

Test build #49587 has started for PR 10800 at commit cb0c9a0.

Test build #49587 has finished for PR 10800 at commit cb0c9a0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49587/
Test PASSed.

Hm.. @rxin Can I make it like JSONOptions in a separate PR?
Now the object of this class is being passed so it should be serializable. So, I think I should unnecessarily change the codes so that the class is serializable or it does not pass the object.

Test build #49652 has started for PR 10800 at commit c52f1fc.

Test build #49652 has finished for PR 10800 at commit c52f1fc.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49652/
Test FAILed.

Test build #49653 has started for PR 10800 at commit 63b9ee8.

Test build #49653 has finished for PR 10800 at commit 63b9ee8.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49653/
Test FAILed.

This style failure is occuring in sql/core/src/main/scala/org/apache/spark/sql/execution/SparkStrategies.scala which I did not change and it is fine in ny local test. I am looking into this.

I am not too sure why I am hitting this issue though, but I just corrected some imports in an alphabetical order at SparkStrategies and InnerJoinSuite.

Test build #49658 has started for PR 10800 at commit 976e3af.

Test build #49658 has finished for PR 10800 at commit 976e3af.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49658/
Test PASSed.

Merged build finished. Test PASSed.

Thanks - I'm going to merge this.


fix: error when fmt_<log_level> is called #4

Issue: https://github.com/tjdevries/vlog.nvim/issues/4


V3.8: Update supported components: Add table, table of contents and synced blocks

Add support to:

Synced blocks
Tables

Table of contents

Issue: #108
Candidate release date: 2022-01-31 🚀

Beta released<EMAIL_ADDRESS>😸

Example working: https://blog-template.9gustin.com/afe8d4d6-090f-4029-b446-74c89e51b1fa


Set Album fields properly when they are different on tracks

in iTunes when album song fields differ for an album and the user views Album Info string values are set to "Mixed" and non-string values are left blank. We should follow a similar convention with the parser.

Got rid of fields on the Album so that there is no longer a need to list them as "Mixed"


Performance degradation when upgrading to 3.0

We witnessed significant performance degradation when upgrading from CSSMin 0.10 to 0.11. This is the version change that upgraded from Clean-CSS 2.2 to Clean-CSS 3.0
Prior to the upgrade, our main app.css file reduced from 3.73MB to 850kB in roughly 6 seconds.
After the upgrade, the file reduced from 3.73MB to 450kB in 8-10 minutes.
If we run with CleanCSS's advanced option turned off, build time is restored to the more normal 6 seconds, but the file only reduces to 2.99MB.
All of our development and build machines are Windows.

You may need to disable restructuring which was added in clean-css 3.1 using restructuring: false switch. Restructuring has a high complexity factor and performs best on smaller stylesheets.

Thank you. That certainly helps, but only brings it down to 1 minute and change - that's still a hefty jump from 6 seconds.

You can alternatively go with advanced: false or shorthandCompacting: false? The reason of such a drop is how CSS is tokenized in the first place now and then optimized. On the other hand 2.x simple optimizations did not require tokenization.

shorthandCompacting has no effect. Turning off advanced was one of the first things I tried, but it did not have the desired effect.

So it has to lie somewhere else. Could you please verify which version of clean-css you are running via npm ls clean-css? It'd be great if you could share your input CSS so some profiling can be done.

clean-css 3.4.9
I was planning on doing some high-level CSS profiling when I have time. Sharing 4MB of CSS seems impractical here - hopefully I can narrow it down first.

:+1: you can always share it via email - mine is package.json.

4.0 will disable advanced optimizations by default, and even when enabled it'll skip restructuring - depends on #717.

^ changes merged to master in ac7c859c04597cc51582c4d52cf8732cac760966 and d291e81730b9cd6fef9049188a8e7560186b0f2d


Changes for adding --no-wait-validation flag and increasing poll frequency for extension publish

Changes for adding --no-wait-validation flag and increasing poll frequency and timeout for extension publish to support package verification workflows in marketplace

@trevorsg Request you to please review these changes


MicaForEveryone failing to launch + Temporary Solution

MicaForEveryone fails to launch with the .exe release, and the signature has expired on the .msixbundle version, therefore leaving no way to install the app until an update is pushed.
If you desperately need to install MicaForEveryone, I have a temporary solution, although it's kind of chunky.
Temporary Solution

Enable Developer mode in Windows Settings  >  Privacy & Security  >  For Developers  >  Developer Mode
Download MicaForEveryone-x64-Release.msixbundle
Rename the MicaForEveryone-x64-Release.msixbundle extension to .zip
Extract the .zip file and open it
Drag MicaForEveryone.Package_<IP_ADDRESS>_x64.appx (hint: the 44mb file) to your Downloads folder (or drag it to C:\Program Files (x86)\Mica For Everyone if you plan to Mica for Everyone long-term)
Rename the MicaForEveryone.Package_<IP_ADDRESS>_x64.appx extension to .zip
Open the .zip file, or extract it
Right-click and press 'Open in Terminal'
Copy and paste this into the PowerShell command line:
Add-AppxPackage -Register .\AppxManifest.xml
You're done! Check in the Start menu for Mica For Everyone and it should appear. If it still doesn't launch, try running it as administrator.

Hope this helps! ^MG
(Edit 8/29/22 3:48 pm est: rewrote #5 and #9)

I don't recommend this solution. Exe release and msix's signature should be fine.

thanks, it worked

I don't recommend this solution. Exe release and msix's signature should be fine.

Hello @xmine64, the .exe release is missing vital .dll's that result in the .exe failing to launch, and the .msix/msixbundle release results in the following error when attempting to launch:
This app package’s publisher certificate could not be verified. Contact your system administrator or the app developer to
obtain a new app package with verified certificates. The root certificate and all immediate certificates of the signature in the
app package must be verified (0x800B010A)

This is meant to be a temporary solution until the releases are fixed, I wouldn't suggest using this version long-term.
^MG

@Dandyboiii that just means you haven't installed the root certificate, which is necessary.

Hello @dongle-the-gadget, in a previous installation of Mica for Everyone on the same machine, a predefined root certificate was not required, and it just worked out the box. I used the .msixbundle version and it worked as intended. I attempted to generate a self-signed root certificate but it still failed to launch.

The previous certificate expired I believe? We replaced it with a newer one in some version.

The previous certificate expired I believe

I lost my private key, that's why I generated a new one.

Oh smh

Drag MicaForEveryone.Package_<IP_ADDRESS>_x64.appx to your main folder

Where is this main folder? Am I having a brain fart?

Hello @, in your case, you'd be dragging MicaForEveryone.Package_<IP_ADDRESS>_x64.appx to your Downloads, then repeating the process you did with MicaForEveryone-x64-Release to the new folder. I'll edit the main issue so that it's easier to understand, my bad!

I can't even get this temporary workaround to work for me unfortunately :( The exe just lingers in the background after being opened, but I see no GUI appear or anything. When trying to do the whole "add app package" thing I get this:
'Add-AppxPackage' is not recognized as an internal or external command, operable program or batch file.

Oh whoops. Yeah. I was using CMD. With PowerShell, the installation worked fine. But I have the same issue still. The program doesn't appear after opening but is supposedly running in the background :(

Did you see the tray icon?

Making slow progress. It appears in the system tray but comes up with this error and closes:
Error in Initializing application
System.IndexOutOfRangeException: Index was outside the bounds of the array.

I close this as a duplicate of #92

The issue was not resolved

The issue was not resolved

See

I close this as a duplicate of #92


Fix fail percentage

Fixes #1074
The fail percentage was calculated incorrectly. Something that failed
all of the time would be reported as failing 50% total.

@aldenpeterson-wf @SquirtsMacintosh This was fixed previously, but only in the in fail_ratio() method (https://github.com/locustio/locust/commit/ed542b0233d901896d2025eda22e647866ef408f#diff-5d5f310549d6d596beaa43a1282ec49e). This particular line never called that, so it needed a fix of its own. Probably, a better fix would be
fail_percent = self.fail_ratio()*100

I sent another PR with a commit on top of this one after seeing the suggestion by @cyberw
https://github.com/locustio/locust/pull/1082

superceded by #1082


log insecure authentication failures at warn level

Log authentication failures due to an insecure protocol at the warn level to make it more apparent. Most people have their root log level at WARN or ERROR, and if this error happens, it's hard to know what went wrong until you bring the log level down to debug.
In our case, our callback servers are behind a secure proxy so it's ok for CAS to talk to them insecurely.  But our sysadmin made a config mistake during a deployment and set the require secure property to true.  We couldn't figure out the problem until we turned our log level to debug (hours later).  This kind of issue seems like a warning situation.

will be handled by docs for now.


[Bug] Unsupported method notification spam when switching to a buffer with LSP supported document highlight to another one which doesn't support it

NVIM v0.7.0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilato da runneradmin@fv-az320-113

Features: -acl +iconv +tui
See ":help feature-compile"

   file vimrc di sistema: "$VIM\sysinit.vim"
            $VIM di riserva: "C:/Program Files/nvim/share/nvim"

Scenario:

Open buffer A with LSP wich doesn't support documentHighlightProvider  capability
Open buffer B with LSP wich support documentHighlightProvider  capability
Switch back to buffer A

Now when moving cursors, in normal and insert mode, the vim.notify popup will appear in a spamming way for each cursor move stating that method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer.
OS: Windows 10 Pro

What language server are you using?
In the code, I specified that send highlight requests only when documentHighlightProvider is not nil.

LSP A is clangd/ccls, LSP B could be:

marksman/zk -> Markdown buffer
jsonls -> JSON buffer

all of which doesn't support the documentHighlight method.
So, it seems that when I start a LSP with documentHighlight method not supported, your plugin skip it, when I switch to a LSP that supports it then highlight get activated, but if I go back to the first buffer with unsupported method, something still tries to generate the documentHighlight requests, spamming the notification everytime I enter/leave/move cursor in insert or normal mode.

I just tried to switch from LSP A (no support documentHighlight), to LSP B - LUA (supports documentHighlight), and then back to LSP A, and the problem doesn't occur.
So, it seems that issue occurs when LSP B is clangd/ccls.

I can not reproduce with ccls and jsonls.
In fact, I have used nulls with other lsp for a long time. nulls does not support documentHighlight. Could you verify this issue with a minium config and latest version?

The notify spam occurs only happens when one lsp lying about the documentHighlight is supported but it doesn't.
If all the LSP does not support documentHighlight, the request wont sent.  And only when ALL lsp does not support documentHighlight but one lying it is supported, you will see that error.
Sometimes you may see this when a lsp server is slow in booting up. As cursorHold timer is normally 100~200ms, if the LSP failed to send a request back in that time frame, it will fail. But the behavior is not consistent. Once the LSP boot to ready and finish parser the project. It should work.

@pidgeon777 Are you still seeing this issue?

I have this issue too.
I open a directory with .ts files, switching between files, then I open .sh file, notification with this error occurs.
No notification shown when I open .sh file without opening .ts files first

Do you get spam messages or is it just once or twice?
If you get lots of spam messages, what Lsp server you are using. more specifically ,  What is the value of server_capabilities.documentHighlightProvider for those lsp ?

looks good to me. bashls supports documenthighlight

Do you get spam messages or is it just once or twice?

Once after switch to .sh file.
 1 client(s) attached to this buffer:
 Detected filetype:   sh

 Client: bashls (id: 4, pid: 1473056, bufnr: [10])
 	filetypes:       sh
 	autostart:       true
 	root directory:  /somerootdir
 	cmd:             /home/avently/.local/share/nvim/lsp_servers/bashls/node_modules/.bin/bash-language-server start

 1 active client(s) not attached to this buffer:

 Client: tsserver (id: 2, pid: 1472926, bufnr: [9])
 	filetypes:       javascript, javascriptreact, javascript.jsx, typescript, typescriptreact, typescript.tsx
 	autostart:       true
 	root directory:  /somerootdir
 	cmd:             typescript-language-server --stdio

Take into account that I also use LunarVim which has it's own lspinstaller. Don't know if it is related or not, just in case.
Also you have null-ls while I use tsserver.

What is the value of server_capabilities.documentHighlightProvider for those lsp ?

Have no idea how to find the answer on your question

In your case
only attached LSP is bashls
 1 client(s) attached to this buffer:
 Detected filetype:   sh

 Client: bashls (id: 4, pid: 1473056, bufnr: [10])

tsserver is not attached to shell script buffer. (which is good)
Is the error message transient or persistent?
There are cases that bashls reports documentHightlightVendor = true but it is not boot to ready to handle those requests. So you may see a few errors when it booting.

I don't use bashls often, so can't say. Just had this file opened in a tab and noticed that notification after switched to the file.

If you do see it constantly after the sh file is opened. that is an issue. Otherwise it more the lsp boot time is greater than your cursorhold delay setup.

Yeah, you are right.
set updatetime 3000, tried the same steps and no issue.
set updatetime 300, there is an issue again (this is my default value).
Out of curiuosity, removed navigator, reloaded nvim: no issues with even set updatetime 30 while having working all LSP servers as is (thanks to LunarVim with it's setup). So this issue 100% can be avoided if other plugins don't produce this error, only navigator is.

1） I do not think LunarVim will load different Lsp based on your filetype after started neovim. Say you open ts file loading tsserver, then you load a bash file in same nvim instance, loading bashls, open markdown, load markdown-language-server.
2) LSP documentHighlight is not enabled by lunarVim. So you wont see this issue.

Say you open ts file loading tsserver, then you load a bash file in same nvim instance, loading bashls, open markdown, load markdown-language-server

This is literally what happens in my case. Autoloading without manual LspStart. On start all my previous session is restored (I use another plugin for this), then I just selecting open buffers one-by-one and everywhere I see started LSP server. Error checking works, same variable is highlighted in different places when I move cursor onto it.

LSP documentHighlight is not enabled by lunarVim. So you wont see this issue.

It's enabled:
https://github.com/LunarVim/LunarVim/blob/rolling/lua/lvim/lsp/config.lua#L77
How I can check it to make sure?

thanks,
I pushed another PR, could you check if it works?

could you check if it works?

It doesn't.
Video demonstration:
https://user-images.githubusercontent.com/7953703/181686205-5fcb4630-fff7-42c9-8964-b66e8bc14a6f.mp4
If you can't reproduce, maybe your system is so fast, try to make updatetime lower, like set updatetime 1, maybe it can help, don't know.

I did some cleanup. And also tried updatime=1
The bug should be fixed now.

Looks like you did! I'm unable to reproduce the problem with the same steps as before. Highlighting still works (with document_highlight = true, of course).
Thank you for your professionalism.

I noticed one issue but I don't know the cause. It's not caused by the latest changes.
Lua files managed by LunarVim (navigator config has disable_lsp = { "rust_analyzer", "sumneko_lua" }) because LunarVim injects Vim global named lvim. And it's painful to use init.lua without it. So when I open a file managed by navigator it highlights the words I select. Once I open Lua file highlighting works too but managed by LunarVim. Then I switch to non-lua file and highlighting stops working. Is it a confict you are aware of? Maybe is there a way to re-enable highlighting while cycling between lua <-> non-lua files?
Video demonstration. Here highlighting stops working on .ts file but working on .lua and .sh (for some unknown reason):
https://user-images.githubusercontent.com/7953703/181822453-d797a73e-4b48-4dac-bf2d-641a921b3137.mp4

thanks for the video clips. I updated the code and it should solve the issue.

Fixed, thank you!


Multilevel Token Breaks Midi-QoL Roll Automation

With Multilevel Token active Midi-QoL automation does not work. No roll result is posted to the chat whatsoever. Below is a snapshot of the console when you try to make a roll targeting another actor with MLT activated.

Console with MLT deactivated showing a successful role.

I have confirmed via "Find the Culprit" that the issue only happens when MLT is activated.

I hope this should be fixed by the new option to have cloned tokens share actors in v1.6.0.


Thread Local Storage implementation for Simulation Mode

Thread local storage needs to be implemented specifically for simulation mode.
For thread-local storage in x86-64 abi, the FS register must be correctly set up to point to end of the storage containing thread-local variables.
CC: @mikbras @CodeMonkeyLeet @anitagov @lilyfang

@EMumau Hold off on work for this issue, if you considered working on it :) We have to decide what to do with simulation mode first

FYI, this has already been implemented and locked down with tests.


RSS not working

The RSS feed linked in the navbar and in the sidebar of Blog page returns a 404 Not Found error.

Seems like an upstream bug
https://github.com/HiDeoo/starlight-blog/issues/107

bug was reintroduced in 14d75051f3a63805670790d694ad28e717374801


bmdplay 1080p25 problem

Hi,
In our test we find out that when we use/set output video mode as 1080p25, bmdplay outputs 1080i50. And this cause problem.
You can be sure that all settings are correctly set and double (or even triple) checked.
The output checked by industry professional devices. This is how we know and sure it's 1080i50.
A fix will be appreciated. Thanks for advance.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

could you please check if the testcase in the drivers works as intended?
On Jun 21, 2017 21:04, "kamilz"<EMAIL_ADDRESS>wrote:
Hi,
In our test we find out that when we use/set output video mode as 1080p25,
bmdplay outputs 1080i50. And this cause problem.
You can be sure that all settings are correctly set and double (or even
triple) checked.
The output checked by industry professional devices. This is how we know
and sure it's 1080i50.
A fix will be appreciated. Thanks for advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lu-zero/bmdtools/issues/89, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOlpHr-ECe2TCFRYJXZlfcRP516Ak7-ks5sGQbDgaJpZM4OA2_D
.

Hi,
Yes we tested testpattern executable in SDK, also works same, issue remains.
We believe this problem related to PsF vs progressive setting.
We do some research on this too. I'm closing the ticket/issue.
Anyway, thanks for help.


Assets Serving with Resizing and Caching on Demand

Right now, my assets are served through bunny.net CDN. I have a few concerns:

I have no real good way of backing it up.
Have to upload n-resized versions when I want to have responsive images.

2 is annoying thus I just have some 2 MB images being served directly... which is bad.

Bunny has an on-demand optimizer that costs 9.5 EUR/month. That's too much.
Idea:

Find solution for storage of the assets.
Put that behind some proxy with resizing on demand.
Such proxy caches resized versions.
Keep using Cloudflare on top of that with total caching (correct headers on the proxy side).

Tools:

https://github.com/willnorris/imageproxy
https://docs.imgproxy.net/

Idea:

On my server there is a directory: cdn

Within that directory, we have some static directories: twemoji, webmention images, direct uploads (would merge both i and u currently)
Dynamic "directory" called 'img' proxied through https://imgproxy.net - protected and only works with local images.

"Directory" cdn served through a pull zone from bunny. The cdn directory would only respond to Bunny requests. No one else. Bunny caches everything, including image resizes and stuff.


Can i use Windows System library instead of Appium for WinAppDriver?

I have built automated UI Regression Tests using WinAppDriver for Desktop app in my company. Developers dont like using Appium and thinking why adding Appium Server. They are pointing use of Windows System Library instead.
Any thought on that or if anyone has experience to share appreciate it.

At least I am not aware of any such library. Ask them to implement themselves?

it is System.Windows.Automation namespace done by Microsoft

Yes, you can. I've done it once or twice but it's a very different paradigm than what most testing libraries take. On the flip side, I seem to recall it was extremely customizable in how you can search for UI elements (it's been maybe 4 or so years since I dabbled in this.)
https://learn.microsoft.com/en-us/dotnet/framework/ui-automation/ui-automation-overview


[build] make sure flatten-maven-plugin runs after maven-shade-plugin

Purpose of this pull request
make sure flatten-maven-plugin runs after maven-shade-plugin
issue: https://github.com/apache/incubator-seatunnel/issues/2600
The maven install command can be executed in parallel:

mvn clean install  -T 1C

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

LGTM

LGTM.


DOC: comparison of optimizers in optimization guide

Hi everyone,
the optimization user guide currently does not contain any form of easily accessible comparison of the different solver capabilties.
I think this would be helpful for many users as the typical questions for someone looking to solve an optimization problem are (for example been requested in #16191):

How do I formulate my problem with this package?
Which solver is probably a good fit for me?

As a first start of discussion, I created a google doc table to compare the local and global solvers:
https://docs.google.com/spreadsheets/d/1PNpOcy99qfn-ip168vL4Qskc3bpybJP7e2vpuhrQKN4/edit#gid=0
Let me know if you think that an important category is missing.

Good idea @dschmitz89. The SciPy 1.0 paper has this table though: https://www.nature.com/articles/s41592-019-0686-2/tables/1. We should repurpose that.

Hello @dschmitz89 and @rgommers, I'll be working on this suggested enhancement and will pull when it's ready.

gh-17491 worked on this and received some substantial review, but it went stale and the head repository was deleted. If anyone else would like to pick this up, it would be a good idea to look at what was done over there first.

Hi everyone,
the optimization user guide currently does not contain any form of easily accessible comparison of the different solver capabilties.
I think this would be helpful for many users as the typical questions for someone looking to solve an optimization problem are (for example been requested in #16191):

How do I formulate my problem with this package?
Which solver is probably a good fit for me?

As a first start of discussion, I created a google doc table to compare the local and global solvers: https://docs.google.com/spreadsheets/d/1PNpOcy99qfn-ip168vL4Qskc3bpybJP7e2vpuhrQKN4/edit#gid=0
Let me know if you think that an important category is missing.

I think it sounds nice.

Is this issue up for a contribution?

@koko1928 : would you be interested to contribute something along the lines of my table to the documentation?

@koko1928 : would you be interested to contribute something along the lines of my table to the documentation?

Hi @dschmitz89  ,
Thank you for considering my contribution. I'm definitely interested in contributing to the documentation with the comparison table you've initiated. However, before I proceed, I would appreciate some guidance on how to integrate the table into the documentation effectively. Could you provide me with some details on the preferred format and any specific documentation guidelines I should follow? Additionally, if there's any particular procedure for submitting this kind of update to the documentation, I'd like to understand that as well.
Looking forward to your response.
Best,
koko1928

@koko1928 : would you be interested to contribute something along the lines of my table to the documentation?

Hi @dschmitz89 ,
Thank you for considering my contribution. I'm definitely interested in contributing to the documentation with the comparison table you've initiated. However, before I proceed, I would appreciate some guidance on how to integrate the table into the documentation effectively. Could you provide me with some details on the preferred format and any specific documentation guidelines I should follow? Additionally, if there's any particular procedure for submitting this kind of update to the documentation, I'd like to understand that as well.
Looking forward to your response.
Best, koko1928

To get this documentation update into SciPy, you need to create a PR which will be reviewed. A good reference is our developer documentation: see here. Once you have your development environment running, hopefully you can build the documentation locally on your machine (invoke via python dev.py doc). Then have a look at the documentation guide.
The closed PR https://github.com/scipy/scipy/pull/17491 can give you an example. The trickiest part about this new table is in my opinion how to add it so that it renders nicely. Sphinx is not always the easiest tool for such tasks. If there are further questions, feel free to ping me here. :)

I created a PR. Please leave a review.


when refreshing, stellar needs to use updated data-background-ratio

Fixed: when an ratio attribute is dynamically changed, it is not taken into account by stellar('refresh')
The problem is solved by reading directly the attribute value upon refresh.
Fixes issue #77

Updates on this?


Add sound generation api

Adds support for the new Sound Generation API.

LGTM

I'm down to merge this, but can you fix up the package URL name? i.e. s/supagroova/taigrr/g

Apologies for that oversight. Done 👍

awesome! thanks for the contribution!


Allow setting keyboard layout in config file

Currently the only way to change the keyboard layout to anything other than English US is to set an environment variable before launching sway. For users with display managers, this is more complex since they have to create a new script and desktop file to have a session entry with their language appear.
To me this seems like a lot of extra initial setup for something simple on other DEs. Where users could instead be getting acquainted with sway keyboard shortcuts, features, etc. they are instead stuck reading wiki pages, as was my experience.
From what I understand display managers are not directly supported, and the preferred method is to launch sway manually (with the xkb environment variable). Unfortunately this excludes a large number of users, e.g. who have display managers preinstalled, or who have a multi user setup which is easier just to use a DM

Most display managers allow you to edit how a window manager is spawned. It's quite easy to change the relevant line to
export XKB_DEFAULT_LAYOUT=dvorak; sway

E.g, that's what I did for Way Cooler before I went DE-less.
Another alternative is to simply put it in your .bashrc, which is what I have opted to do.
Right now the way wlc is set up this is difficult to change, but might be easier in the future with wlroots.

Thanks for the suggestions. It would be better for users I think to have a configuration option as a single source of truth, but if there are technical limitations at the moment then that makes sense.
@sircmpwn could something like this be considered after migrating to wlroots?

@marcoms perhaps.


Use relative urls instead of the request url

This is a follow up to #4021 that applies the changes to v8

I see two problems:

the RSS generator fails to create the XML: this line evaluates to an empty string, so this exception is thrown. To solve this problem we need a way to always build absolute URLs.
look at the source code of any elemental page with default content: you still see a lot of absolute URLs (http://domain/path/to/resource)

#1 I'd argue the rss should require a canonical url
#2 I think you're seeing the cached intelligent search results that are
stored in session. Try logging in and out.
On Tue, Oct 11, 2016 at 11:45 PM Michele Locati<EMAIL_ADDRESS>wrote:

I see two problems:

the RSS generator fails to create the XML: this line
https://github.com/concrete5/concrete5/blob/9e4bb79566d1404e29b3ee961fbbed01091aae62/concrete/src/Entity/Page/Feed.php#L419
evaluates to an empty string, so this exception
https://github.com/zendframework/zend-feed/blob/release-2.7.0/src/Writer/AbstractFeed.php#L360
is thrown. To solve this problem we need a way to always build absolute
URLs.
look at the source code of any elemental page with default content:
you still see a lot of absolute URLs (http://domain/path/to/resource)

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/concrete5/concrete5/pull/4499#issuecomment-253132737,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA9fO69iz0zG95Im_R-frMGj8sFBYv9Iks5qzIIMgaJpZM4KUQrh
.

I'd argue the rss should require a canonical url

👍

I think you're seeing the cached intelligent search results that are stored in session. Try logging in and out.

👍

I noticed another problem: https://github.com/KorvinSzanto/concrete5/pull/7


ENSWBSITES-320

Type

[X] Bug fix
[ ] New feature
[ ] Improvement to existing feature

Related JIRA Issue(s)
ENSWBSITES-320
Importance
Minor
Description
See ENSWBSITES-320.
Location was being updated twice in nav-panel on focus-object change.
Views affected
Genome browser.
Other effects
None.

[ ] I have checked any requirements for Google Analytics
[ ] I have created any required tests
[X] The PR has as its final commit a WASM/JS update commit if any Rust files were updated.

Possible complications
Few likely.

does this need some additional optimisation?

Thanks! I've updated the WASM. I've also updated the build script to do this automatically (so that I don't forget) and will put it in another PR.

Do you want to confirm when it's merged @azangru , as you created the original ticket?

@ens-ds23 yep, I can confirm that it now looks good on staging (I did check on my local machine before approving, too :smiley: )


doc: add comment for run_tests_for_one_file

hey!:) welcome to cairo foundry!
in case you haven't joined the discord, you're welcome to join it here: https://discord.gg/7RqGMYKT
unfortunately this PR solves #61 and it is already assigned to @gdnathan. Thus, it appears your PRs are "conflicting"
Please next time follow the usual flow:

to ask for assignment on a specific issue. if maintainer(s) are not responsive, ping them on discord or telegram
when assigned, start implementing:)!

I'll close this PR for now:)! I'm available here: https://discord.gg/7RqGMYKT if you need my help
I'll assign you another documentation issue if you'd like, such as #63

Thanks, I'll try to understand this project completely first. Maybe later try to make some useful contributions.


 quite often. Looks like buf is missing from the call to y-or-n-p.

Ah, good catch. Thanks!


Rename export to css instead of inlineCss?

right, I didn't want to do that originally because I was worried that it would conflict with other people's CSS-in-JS frameworks. But honestly they can just rename the import in that case. So this is now the default behavior, thank you for the issue.


⚠ ClamAV has degraded performance

In 0174ce9, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in ac4a99d.


DB2 on z/OS support

Background: We are using flyway for several Oracle based systems and are now starting a new migration for an existing application. We therefore want to use flyway for database migrations there as well.
However, when running the migrations, Flyway is looking up the SYSCAT schema in the DB2 database. This schema does not exist on z/OS. We get the following error message:
DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: SYSCAT.SCHEMATA
Could you investigate this issue?

Hi,
I m still facing the same problem in Flyway version 3.2.1.
[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:3.2.1:migrate (default-cli) on project db-migration: org.flywaydb.core.api.FlywayException: Unable to check whether schema "TCBS72IBKT" exists: [SQL0204] SCHEMATA in SYSCAT type *FILE not found.
As it is reported to have been solved in version 3.1 (http://flywaydb.org/blog/flyway-3.1.html), maybe there is another reason that I m still getting this error?
Thank you!

@cteig Thoughts?

Hi @Galanodel
Do you know the DatabaseMetaData.getDatabaseProductVersion ?
The Flyway code use the DatabaseProductVersion to identify the data server to which an application is connected.
If it helps, you can use my little test-project to get it. https://github.com/cteig/databaseProductVersion. Just update to your version of db-driver in the pom dependency and your database url, user and password. Or if you use a database client i.e squirrel, maybe you can find DatabaseProductVersion there.
Christine

Hi Christine,
thank you.
I extracted getDatabaseProductVersion from squirrel, it is: 06.01.0000 V6R1m0. We are using a 9.11 driver version to connect from our application, squirrel, etc ... successfully.
I downloaded the 6.6 driver version anyway, and tried it, I still get the same error.
Another thing though that I noticed in your example project (databaseProductVersion) is that you use the db2jcc (com.ibm.db2). I am using db2 for AS/400 (jt400).
So, I take it this is fixed for another database then?
Thanks a lot again!

Hi
Yes I think you are right. For DB2 z/OS, getDatabaseProduct will return a string who starts with "DSN". The pull request is only tested agains DB2 z/OS.
But, I see it will be usefull to change the check who identify the data server, so it give a better feedback. I will look at it.
Christine

Hi Christine,
thanks a lot for your time and effort! I wait eagerly for your news!


How to add additional command or additional package in k3os?

Hello Team,
We have created K3OS OS images from the packer and created a virtual machine and hosted them in a virtual environment. We are looking for a password reset option in the existing machine for rancher user to force to change password at first login. We haven't found any change and passwd command. Also, we have realized that passwd is linked to busybox command. It doesn't have passwd -e option? How to proceed further? Is there any way to add/install additional packages so that we can use either chage or passwd -e option? Please suggest.

Okay got it. Also Is there any way to add command or any package in existing k3os? If yes then please guide me.

You can either statically compile it (recommended) or build it with dynamic linking in an alpine 3.12 container and copy it (along with any dependent libs not already included in the base install) over to your k3OS system(s).
If you are looking to install a package the you will have to copy the binary and any other support files onto your k3OS system(s). What this looks like depends on the package.


Fix stuff

Fixes #69
I didn't realize requireMembers was actually a function, so I think this should fix it, but honestly I feel like the notation is throwing me off, so I'd appreciate a second set of eyes!

👍 yea that's the better thing to do. It's just tough since we don't have any tests for DCO outside of lib/DCO.js.
However I might not get back to this for a bit, since I have finals.


Disable monaco generation

Something in the monaco.d.ts generation is making it so that local compiles are generating modifications to the file. VS Code has made some modifications to this since the point we're merged up to so it wasn't immediately obvious if this was something they fixed on their end.
But in the end we don't have any reason to generate/update this file so disabling it not only solves that annoyance but also improves build times so seems like a win all around.

Updating to Node 10.23.0 solved the issue with the changed files so closing this to reduce the number of changes we make to VS Code stuff.

Pull Request Test Coverage Report for Build 570628805

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.005%) to 43.438%

Files with Coverage Reduction
New Missed Lines
%

extensions/machine-learning/src/common/processService.ts
2
81.48%

extensions/notebook/src/common/ports.ts
4
74.14%

Totals

Change from base Build 565126709:
-0.005%

Covered Lines:
24935

Relevant Lines:
52569

💛  - Coveralls


Unknown buffer size limitation for CRC operation

What is the acceptable input buffer size for CRC operation ?
I play with different sizes of CRC buffer.
DML Lib does accept different sizes, but it behaves with error or even segmentation fault in some cases.
Example execution:
[bgrzesko@fl31ca105bs0411 build]$ ./examples/low-level-api/ll_crc_example_1KB hardware_path
The example will be run on the hardware path.
Starting CRC job example.
Caclulating CRC for region of size 1KB.
Calculated CRC is: 0x2cdf6e8f
Finished successfully.
[bgrzesko@fl31ca105bs0411 build]$ ./examples/low-level-api/ll_crc_example_4MB hardware_path
The example will be run on the hardware path.
Starting CRC job example.
Caclulating CRC for region of size 4MB.
An error (15) occured during job execution.
[bgrzesko@fl31ca105bs0411 build]$ ./examples/low-level-api/ll_crc_example_16MB hardware_path
Segmentation fault (core dumped)
[bgrzesko@fl31ca105bs0411 build]$

How to reproduce (diff -> apply and compile example) :
[bgrzesko@fl31ca105bs0411 build]$ git diff
diff --git a/examples/low-level-api/crc_example.c b/examples/low-level-api/crc_example.c
index 3c12df2..ad03704 100644
--- a/examples/low-level-api/crc_example.c
+++ b/examples/low-level-api/crc_example.c
@@ -9,7 +9,8 @@
 #include "dml/dml.h"
 #include "examples_utils.h"

-#define BUFFER_SIZE 1024 // 1 KB
+//#define BUFFER_SIZE 4 * 1024 * 1024 // 4 MB
+#define BUFFER_SIZE 16 * 1024 * 1024 // 16 MB

 /*
 * This example demonstrates how to create and run a crc operation.

Hi @bartlomiejgrzeskowiak,
This is for hardware_path only, correct?
Could you please check what is the max_transfer_size setting that you have set for the WQ? (accel-config list | grep transfer)

hi @bartlomiejgrzeskowiak,
sorry I was not clear, I believe you were running with hardware_path (meaning using DSA for execution), since the line is [bgrzesko@fl31ca105bs0411 build]$ ./examples/low-level-api/ll_crc_example_4MB hardware_path, I was just trying to double check whether you observed the similar error on software_path/DML_PATH_SW as well.
Let me try to reproduce on my side and I'll get back to you.

hi @bartlomiejgrzeskowiak, sorry I was not clear, I believe you were running with hardware_path (meaning using DSA for execution), since the line is [bgrzesko@fl31ca105bs0411 build]$ ./examples/low-level-api/ll_crc_example_4MB hardware_path, I was just trying to double check whether you observed the similar error on software_path/DML_PATH_SW as well.
Let me try to reproduce on my side and I'll get back to you.

Hi @mzhukova ,
You're totally right. I was executing HW PATH.
Sorry for misleading you, it was some time ago and I did not noticed that the argument does overwrite the path.
Please let me know if you're able to reproduce the issue.,
BR
Bartek

Hey @bartlomiejgrzeskowiak , 16 MB is too large to be allocated on the stack. If you wanted to use a 16MB example, you would need to use malloc()
Simple godbolt example for large allocation: https://godbolt.org/z/Ts9xndqcq
Quick reference for size of stack on linux: somewhere between 8-10MB: https://unix.stackexchange.com/questions/473416/why-on-modern-linux-the-default-stack-size-is-so-huge-8mb-even-10-on-some-di
Could you share more about the 4MB example, with the hardware path? I was unable to reproduce this issue with the information provided?

Hi @bartlomiejgrzeskowiak, This is for hardware_path only, correct?
It is most probably 'software path since'. I am using crc_example.c where DML_PATH_SW is set.
https://github.com/intel/DML/blob/6d71051c405c2318d06aad96d3b0244ce8c4bcbe/examples/low-level-api/crc_example.c#L20

Could you please check what is the max_transfer_size setting that you have set for the WQ? (accel-config list | grep transfer)

[bgrzesko@fl31ca105bs0411 ~]$ accel-config list | grep transfer
    "max_transfer_size":2147483648,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
    "max_transfer_size":2147483648,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,
            "max_transfer_size":2097152,

Hey @bartlomiejgrzeskowiak , it seems that your workqueue's max_transfer_size is 2 MB (2097152 bytes), which would explain the 4 MB example issue

Hi @abdelrahim-hentabli ,
Ok, but:

How can I get this value in my code ? Which API function does return max_transfer_size ?
What about 16MB ? The lib or example should never crash I suppose ?


Logo is hard to see in darkmode

screenshot

Maybe adding a white glow to it would enable a nice experience in dark mode w/ no visual change to light mode?

Convert Logo to an SVG and use CSS media query with prefers-color-scheme to change color.
Like here: https://catalin.red/svg-favicon-light-dark-theme/


LSP fast path includes all change-relevant __package.rb files

Makes a change so that all change-relevant package files are included in the LSP fast path, not just the ones that correspond to edited files.
Motivation

As per my understanding of the code (which could be inaccurate), it seems that if a file is type-checked on the fast path, static field symbols always get redefined. This can be problematic for the exported flag on a symbol, because that is set when the visibility checker pass walks over the corresponding __package.rb file. Given that, the following type of scenario can occur:
Assume:

Package A defines and exports a static field A::S. Assume this field is defined in a/s.rb
Package B defines and exports a constant B::T. Assume this constant is defined in b/t.rb
b/t.rb refers to A::S, and as a result, B imports A.
a/s.rb refers to B::T, and as a result, A imports B.

Thus, A and B have a dependency cycle. When a fast path change to b/t.rb results in a/s.rb also getting typechecked, all static fields in a/s.rb get redefined. Hence A::S gets redefined and loses its "exported" flag, and we see a "resolved but not visible" error at the usage site in b/t.rb.
In order to fix this issue, I am making a change to LSPTypechecker such that the package file for package A (i.e. a/__package.rb) is also included in the set of files to typecheck. This ensures that the exported bit gets set on the fast path for the redefined static field A::S.
Test plan

See included automated tests. Tested on Stripe codebase.
Open to making changes to any data structures used based on what's optimal.
I believe that this is unlikely to affect the performance of Sorbet on the Stripe codebase. In the worst case, it ~doubles the number of files checked in the fast path, but that would still be too small a number to defeat Sorbet's inherent parallelism. That said, it's definitely worth a discussion to ensure that I'm making the right assumptions here.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_NG0i8YVZJ4VZaT
→ https://go/builds/bui_NG0ixdYMjoFfDS

@froydnj
In the previous logic, we were only checking for package files corresponding to changedFiles. Now, we are checking for those from extraFiles as well.

I believe that this is unlikely to affect the performance of Sorbet on the Stripe codebase. In the worst case, it ~doubles the number of files checked in the fast path, but that would still be too small a number to defeat Sorbet's inherent parallelism.

Note that the fast path is a serial typecheck, not a parallel one.

Ah okay. Did not realize.

@froydnj Made one more change, based on the feedback.


Improve some awkward wording

Small grammar fix

"You can disable it globally—though you really shouldn't—with the configuration"

That reads better


Works beautifully - go to bed - yikes - works no more …

Hi!
Using observation node and correctly set up API key and units and flow works beautifully every minute for hours. Get up next morning and access is denied. Have I made too many requests? (Same thing happened yesterday and while trying to fix it came good again for no logical reason - at least not detected by me).
Here’s a screen shot.

Cheers Alan

Glad you find the node-red-contrib-twc-weather Node-RED node useful.  Great dashboard.
Is your API key assigned from wunderground.com ?
I am not certain if there is a daily rate limit quota.
As a test, change the Inject node to "Every 2 minutes"   That would decrease the daily API usage from 1440 (6024) to 720 (3024)
Maybe there is a 1000 API calls / day rate limit?

Hey John and thanks for your prompt response. Really appreciate it.
I love your weather nodes - really added to my displays. I’m running Node-Red & MQTT on a RPi talking to remote Arduino MKR1010s. Having a ball with the technology (I’m old school - really old school - began my computing career on the seventies. A few changes since then. 😂
Yes, API key assigned when I registered my weather station - IKALIM1 (West Kalimna - Victoria - Australia). It’s still refusing access but hopefully will connect again soon and I’ll try your suggestion.
Regards
Alan

Not far behind you.  I wish it was 30C in New Jersey.  Let me know and I'll update the documentation.

Take a look at the API Key Usage at https://www.wunderground.com/member/api-keys
Wonder if the graph shows your API Key hitting a quota limit.

Not on-site at the moment and can’t recall my registration details with Wunderground other than my API and location name. 🤷♂ But the system is working again and I have reduced access to every three minutes. Will let you know if it locks me out again.
Thanks again for your attention. 👍 Stay tuned …

Failed again after around 12 hours at 3 minute lookups. Will reduce again to 6 minutes and see.

Very odd … cut back to trigger every 3 and it took 14 hours before the call became unauthorised - approx 280 calls. So if I triggered every 6 minutes, it takes 17 hours before failure - approx 170 calls. A mystery, n’est pas?
I am now going to try direct http gets and see if I get the same sort results. I can’t be the first person to do regular and frequent calls?

Odd indeed - I will ask some of my contacts from The Weather Company if there is a rate limit on the PWS apis.

Hi J - any progress? I make only a few requests a day now but still get periodically locked out. I think there may be a residual effect from my prior use that I’ll need to get removed. Can you point me to someone at The Weather Company who may be able to assist?

I am having the same problem.  I am now reducing my polling frequency to 6 mins.

Hmm - I'll start up my TWC instance again to try and reproduce the error.

The flow has been running for 10 hours. Checking the forecast every 5 minutes.

@jimison  Thanks for clarifying the TWC API quota limits.  Out of my control.


Ongoing discussion: pros/cons of original vs. TADA lat/lon fields

Cristina: I noticed the new functions use the WQP lat/lon columns instead of the TADA versions of those lat/lon columns which are the numeric versions. TADA creates these numeric versions of the lat/lon columns for use in TADA_FlagCoordinates() which looks as the how many numbers are to the right of the decimal and flags lat/lon as imprecise if there are less than 3. That function also flags results outside of the U.S. Let's discuss when to use the original vs TADA lat/lon columns - are both necessary? Keep in mind that the duplicates (originals) may be removed if there is a TADA equivalent and the user wants to reduce number of cols at the end of module 1.

Katie: Yes, this is something we discussed in the ROSS team, as well! My old justification for using lat/lon (instead of TADA-ified lat/lon) was so that users could run the functions on datasets that weren't created using autoclean = TRUE. But, I am inclined to change this now that I see the value of always having TADA.Longitude/TADA.Latitude. For example, I can immediately use those flagging functions you've developed to ensure the geospatial computations are occurring across valid coordinates. (SIDE NOTE: I think this may actually be at least part of the issue that @hillarymarler encountered when running fetchATTAINS across Indiana... there's a wonky observation off the coast of Africa, so the function is trying to pull ATTAINS data across the whole eastern US.)

Cristina: We could add some code into the geospatial functions that looks for the TADA versions of lat/lon and if they don't exists, they could be created there. That way it would still be seamless for users that don't run autoclean. As of now, we do require the TADA versions in TADA_OverviewMap() and TADA_FlagCoordinates(). It might be interesting to include those in the Module 2 vignette example workflow. If running TADA_FlagCoordinates() before fetchATTAINS across Indiana fixes the issue @hillarymarler encountered (good catch!), that might be a good example to show. It is common for WQP data to have issues like that (incorrect sign on lat or lon puts the point outside of the area).

Including Hillary's comment below with example code that didn't work for Indiana:
For larger data sets across a larger area, sometimes one or more of the ATTAINS objects expected are returned with a NULL value so then don't show up with TADA_ViewATTAINS.

There should be both lines and polygons, but only polygons are successfully included in the output.
Sometimes when I run the above example (or other similar ones) in fetchATTAINS, I will get an error message with a URL. At the URL, the final lines visible indicate: "exceededTransferLimit": true.
image
This is an example of a data set where I saw those issues:
test1 <- TADA_DataRetrieval(startDate = "2018-05-01",
endDate = "2018-09-30",
statecode = "IL",
applyautoclean = TRUE)

I've been spending some time this morning looking at the IL example Cristina included above as well as some other examples. I am still seeing similar issues on some data sets.
Here is another example which does the same thing when I run TADA_GetATTAINS().
test <- TADA_DataRetrieval(startDate = "2018-05-01",                             endDate = "2018-09-30",                             statecode = "TN",                             applyautoclean = TRUE)
[1] "Your TADA data covers a large spatial range. The ATTAINS pull may take a while."
Warning message:
In readLines(con) :
incomplete final line found on 'https://gispub.epa.gov/arcgis/rest/services/OW/ATTAINS_Assessment/MapServer/3/query?&geometry=-90.1783%2C 35.00305%2C -81.7235%2C 36.623877&inSR=4326&resultRecordCount=2000&resultOffset=8000&spatialRel=esriSpatialRelIntersects&f=geojson&outFields=*&geometryType=esriGeometryEnvelope&returnGeometry=true&returnTrueCurves=false&returnIdsOnly=false&returnCountOnly=false&returnZ=false&returnM=false&returnDistinctValues=false&returnExtentOnly=false&featureEncoding=esriDefault'
If you follow the link and scroll to the bottom of the page, the final line indicates transfer limit was exceeded. I am still not sure why I am the only one experiencing this issue.
Any suggestions of other things I should try? Or additional information I can provide that would be helpful?


Support (some) weak relations with no foreign key

Problem
I need a relation in my schema so that I can query across two tables, but without the referential integrity constraints that come with a foreign key. This is related to issue #7293, but different: I am using a database that supports foreign keys (PostgreSQL) and I want them for some relations in my schema but not for others.
Suggested solution
This this discussion, @janpio showed me that I can do what I need if I just don't run prisma migrate after adding the relation to my schema, but I want to continue to evolve my schema and use prisma migrate in the future. So, what I really need is a way to tell Prisma that a particular relation should not have a foreign key.
That could be achieved by supporting a new weak argument on a @relation attribute:
  postalCode PostalCode? @relation(fields: [code], references: [code], weak: true)

But I would be open to any other alternative.
Alternatives
Beyond not letting prisma migrate see the relation, I don't have  other ideas.
Additional context
Here are the details of my use case, which I have copied from the discussion linked above...
Briefly, it's about using some relevant data, if available, to enrich another entity. The key thing is "if available". It's a weaker relationship in that you don't know if that relevant data will be there until you look, as opposed to a definite relationship between two entities that should/can be enforced.
My schema already has regular relationships with the need for referential integrity, but now I want to add one of these weaker relationships, as well.
This is the relevant portion of my model:
model Story {
  id         String      @id @default(cuid())
  createdAt  DateTime    @default(now())
  content    String
  code       String
  postalCode PostalCode? @relation(fields: [code], references: [code])
}

model PostalCode {
  code     String   @id
  province Province
  name     String
  hotspot  Boolean
}

enum Province { ... }

The code in Story is what defines the weak relationship between stories and postal codes. Every story will always have a code, but there may or may not be an actual PostalCode entity with that code.
I'm going to be initializing the PostalCode table as part of deploying the app, loading it up with data for each postal code, including an official placename from the post office, along with information from other sources, such as whether the postal code is a hotspot. Users won't ever change or add to this data. It will only be updated when I receive new data from the post office, process it, and load it.
When a user submits a story, they must type in the digits of their postal code. It may match one in the PostalCode table or it may not. It might not match one if it's a newly created postal code and our data isn't up to date yet or even just because they entered a fake postal code. That's totally fine.
Later, when another user visits the site, we'll retrieve the list of stories to display to them. At that point, I want to join that with the postal code data by the code that the submitter had entered. That way, I'll be able to show the story enhanced with additional information about the postal code: the placename and an indicator if it's a hotspot. If there is no matching PostalCode entity, no problem, I'll just show the code the submitter typed, with no name and no hotspot indicator.
Clearly this kind of query is totally possible without having a foreign key. The only thing a foreign key would do is prevent adding the story in the first place if it doesn't match a postal code. That's why a foreign key won't work in this situation.
And there's one extra complication: we already have the Story model (without the postalCode relation) in the application, which is live and running today. Currently, we just display the postal code that the submitter typed. I want to add the PostalCode model and data so that we can show more helpful information about the stories we have and the new stories to come. With hundreds of stories and no postal codes in the database, I can't even get as far as successfully running migrate on the schema if doing so adds the foreign key.

This is how this works for TypeORM: https://typeorm.io/#/relations-faq/avoid-foreign-key-constraint-creation

I need this too.
In my case, I dont use FK in my database for following reasons:

FK cannot be used for partition tables.
FK can lock the database, so lock contention can be occurred and query latency will be increased.
Eventually, DBMS performance will be slowed down

number 2,3 is talking about performance but, 1 becomes a constraint cannot to use FK.

@pimeys That looks like a very helpful enhancement for databases without foreign keys, but I don't think it addresses this issue. As I said above, "I am using a database that supports foreign keys (PostgreSQL) and I want them for some relations in my schema but not for others."
Am I misunderstanding, or isn't https://github.com/prisma/prisma-engines/pull/2212 an all-or-nothing option for the whole schema?

Yup, you are right, we closed the wrong issue. The correct one is https://github.com/prisma/prisma/issues/7293
Sorry about that, switching the issues and reopening this.

This would really help me solve my issues, currently I'm usingrelationMode = "prisma" when creating the migrations and then removing relationMode when generating the client. Super inefficient and not a great user experience this seems like something that wouldn't be too hard to implement and would be really helpful in high throughput applications.
I think this is a more flexible solution compared to https://github.com/prisma/prisma/issues/15759

Same here. Want a weak relation because some optional 1:1 relation may be created before the main relation row. And I want to use prisma's include option on that and foreign keys for other relations.

To add some fuel to the fire. In MySQL the engine "Memory" ENGINE=MEMORY doesn't support foreign keys, but otherwise works pretty well with Prisma. Without the option to generate weak relations Prisma will keep trying to add a foreign key even though MySQL just ignores it.

I documented another use case (event sourcing and ephemeral projection tables) in https://github.com/prisma/prisma/issues/20890 before finding this issue. Copied here.

Problem
Following an event sourcing pattern, imagine you wanted to build event projections which project into postgres and wanted to manage your schema and queries using prisma. When "rebuilding" a projection you must truncate a table, temporarily accepting inconsistent state, and rebuild from your stream of events. Of course this falls down when using prisma because of the default foreign key implementation.
Ie. When using these patterns we do not want foreign keys, or any emulation, as we treat the tables ephemerally.

Suggested solution
As the only alternative to foreign keys still tries to emulate the integrity we need another mode.

Allow a third relationMode option which a) creates indexes when defining a relation and b) does not try to "emulate" integrity - I named the request "indexed-no-integrity" as it seems pretty descriptive but could be anything
Allow this to be configured on a per relation basis (like described in https://github.com/prisma/prisma/issues/10611) - eg. in our schema we do have some models that we would want to enforce integrity of and some which we dont as they are treated ephemerally - we want to manage them all with prisma!

Alternatives
The only workarounds right now are:
[untested] to manually update every migration to exclude foreign keys on projection tables but do create indexes.
Model without any @relation and forsake any ergonomics or efficiency of nested querying

Additional context
See reference for event projections.

@peterHakio Yeah, I think that was wrong back in the day. But I don't think that is a thing that I can change. I updated the mention in the text, but still on both sides the issue/PR can not be de-selected under Development. If you tell me how to remove this, happy to. Otherwise: The issue is still open, we are aware, the "fixed by" has no influence on anything on our side.

I would find this really useful as well. I have a situation where I have these two tables:
model EmailSubscription {
  businessId   String
  emailAddress String
  createdAt    DateTime            @default(now())
  updatedAt    DateTime            @updatedAt
  state        EmailMarketingState @default(SUBSCRIBED)
  business     Business            @relation(fields: [businessId], references: [id], onDelete: Cascade)

  @@id([businessId, emailAddress])
  @@unique([businessId, emailAddress])
}

model ShopifyCustomer {
  id                            BigInt   @id @unique
  emailAddress                  String?
  rawJson                       Json?
  businessId                    String
  business                      Business @relation(fields: [businessId], references: [id], onDelete: Cascade)

  @@unique([businessId, emailAddress])
}

And I want to relate them based on bot hemailAddress and businessId, BUT there is no guarantee that either side of that relationship will exist, so a foreign key doesn't work.
(For example, some people will have Email Subscriptions but no Shopify Customer, and vice-versa.)
A "weak" relationship without a foreign key would solve this for me.

I would find this really useful as well. I have a situation where I have these two tables:
model EmailSubscription {
  businessId   String
  emailAddress String
  createdAt    DateTime            @default(now())
  updatedAt    DateTime            @updatedAt
  state        EmailMarketingState @default(SUBSCRIBED)
  business     Business            @relation(fields: [businessId], references: [id], onDelete: Cascade)

  @@id([businessId, emailAddress])
  @@unique([businessId, emailAddress])
}

model ShopifyCustomer {
  id                            BigInt   @id @unique
  emailAddress                  String?
  rawJson                       Json?
  businessId                    String
  business                      Business @relation(fields: [businessId], references: [id], onDelete: Cascade)

  @@unique([businessId, emailAddress])
}

And I want to relate them based on bot hemailAddress and businessId, BUT there is no guarantee that either side of that relationship will exist, so a foreign key doesn't work.
(For example, some people will have Email Subscriptions but no Shopify Customer, and vice-versa.)
A "weak" relationship without a foreign key would solve this for me.

Same needs like this. A "weak" relationship would be very useful.

One potential workaround for some usecases is to create a view of the join and use that https://www.prisma.io/docs/orm/prisma-schema/data-model/views

I'm currently syncing a few dozen models from a handful of service providers. Millions of records. I don't need hard foreign key constraints and the lack of weak relations has dramatically increased the complexity and latency of the available solutions. To maintain the ergonomics of nested queries I'm having to hold onto objects in queue until all foreign key constraints are satisfied. It's not only more complex, it's significantly slower and is wasting compute.
I for one vote for prioritising this ticket 🔝

any update? I have some issue and I want weak relation.

I have a few situations where this would be incredibly useful.  In my datamodel I have both a "User" (of my service) and a "Contact" representing a person in my knowledge graph.  Both are keyed on emailAddress, but a User may not exist where a Contact does, or vice versa.  Similarly, a Contact may exist where a CRMContact/Lead does not (or vice versa).  Right now I have to make a second round of queries after collecting a list of contacts to optionally match them with a user, if the user exists.  It would be incredibly useful to have an unconstrained (weak) relation which can pull a matching object based on the join criteria IFF it exists without a fk constraint.

We would need this one too

This would be incredibly helpful for me too. There's no good workaround.

I can +1 this - this would be great!

I needs weak relations for stepped refactoring purpose, my workaround for now is kysely

Absolutely need this.

Would like to have this feature too.


Indirect payments

For example:
Z person, wants to send 100 dollars to X
X person, wants to send 100 dollars to Y.
Instead, X person can ask Z person to send 100 dollars directly to Y.
It immediately pays off as no need to pay commission for two transactions.
That can be applied to blockchain and online payments.

It also may be transformed to dept accounting.
Z may declare that he has dept to X on 100 dollars.
X may transfer ownership of that dept to Y, Y may exchange the dept to dollars, thus dept is paid, and all transactions closed.
It may also be applied to blockchain and online payments.


Parsing Unix Timestamps sent as strings

I see that this issue was tackled in issue #141, but I am having a similar problem. I want to parse a unix timestamp but it is in the format of a string. While mapping objects, if it is a valid string can it be checked if it could be converted into an NSNumber and if it can can the parsing be done with the NSNumber > NSDate already done. So we end up with NSString > NSNumber > NSDate.
In the meantime I have solved this as follows

(void)objectLoader:(RKObjectLoader *)loader willMapData:(inout id *)mappableData
{
NSArray *dateKeys = [NSArray arrayWithObjects:@"changed", nil];
NSMutableArray *reformattedData = [NSMutableArray arrayWithCapacity:[*mappableData count]];
for(id dict in [NSArray arrayWithArray:(NSArray*)mappableData]) {
NSMutableDictionary newDict = [dict mutableCopy];
for(NSString *dateKey in dateKeys) {
NSLog(@"%% : %@ %@", dateKey, [[newDict valueForKey:dateKey] mutableCopy]);
NSNumber *num = [NSNumber numberWithInt:[[newDict valueForKey:dateKey] intValue]];
[newDict setValue:num forKey:dateKey];
}
[reformattedData addObject:newDict];
}
*mappableData = reformattedData;
}

This sounds like a good use-case for the pluggable transformer support. Will close this once we merge that code.

This behaviour has been implemented in parseDateFromString on RKObjectMappingOperation and now resides on development.
Thanks!


Middleware: Start stopped Deployment: Deployment remains disabled

When Stopping Deployment on EAP7 server then Starting it, the status is still Disabled, and archive is not deployed on server side.

Deploy WAR archive into EAP7 server.
Verify that status in Enabled and archive UI content is accessible on server.
Stop deployments. Refresh provider relationships via toolbar button.
Verify that deployment status is Disabled an content is not found on server side (404)
Start deployment. Refresh provider relationships via toolbar button.
 We should wait for #10519 to be merged to fix this.

@hhovsepy this should have been fixed with #10519 which was just merged. Can you confirm and close the issue if it is fixed ? Thanks.

@ammendonca verified, issue is fixed.


[Bug]: Cannot crawl the sitemap as it display incorrect Http header

Describe the bug
Incorrect http header content-type: "text/plain" (expected: "application/xml")

To reproduce

Go to https://www.xml-sitemaps.com/validate-xml-sitemap.html
Type: http://phongporter.vercel.app/sitemap.xml
Scroll down to click "validate sitemap"
See error the red sign:  Incorrect http header content-type: "text/plain" (expected: "application/xml")

Browser
Safari
Validations

[X] Follow our Code of Conduct
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

I reproduced your bug and found out there is something wrong for typing in that site.
You have to Type: https://phongporter.vercel.app/sitemap.xml, not http://phongporter.vercel.app/sitemap.xml
And It will definitely work.


android app storage data size got increased when using this plugin

App storage data size got increased when using this plugin android
Steps to reproduce

install the app with hot code push plugin
after receiving the first update. App size got doubled in android.

By default your app has bundled www folder and native content. When the app is installed on the device - plugin copies www folder on the external folder, which increases the size. When the new update is downloaded and installed - the old release folder is stored as backup. So, during the lifetime the app will have 3 versions of www folder:

the bundled one;
the currently active one (with content, that displayed to the user);
the previous one as backup.

You can't do anything about the first two. But if you want - you can disable the backup one by altering the source code of the plugin. Although, I would not suggest that, since it is always a good idea to have a backup.

If i clear cache data of the app. Which www folder will be used by app?

If you remove app's data - plugin will use the bundled version, since external folders were removed.

Thanks for your quick response. Will plugin will redownload the new code once the app cache has been cleared

When app is launched - plugin checks, if previous external www folder exists. If not - it installs it from assets. When installation is done - it pings server for the update, and if server's version differs from the assets - download and install it.
So, basically, if you remove external version of www folder - plugin will behave as if you launched the app for the very first time.

Thanks