improve docs/comments/tests

:tada: This issue has been resolved in version 4.1.0-beta.13 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Animated progress bar

Two ways to solve this:

Get the "Toggle animation" button working
Figure out the class applied to the animated progress bar and apply it.

Added the "active" class to the progress bar and got rid of the toggle animation button so this would just be a variant of the progress bars. Close #3


BUG: ./linenum.sh: line 46: syntax error near unexpected token `|'

local@local1:~$ ./linenum.sh ./linenum.sh: line 45: \n\e[00;31m##############################################                                                                                ###########\e[00m: command not found ./linenum.sh: line 46: syntax error near unexpected token |'
./linenum.sh: line 46: |tee -a $report 2>/dev/null' local@local1:~$ ./linenum.sh
the fix is to replace all occurrences of  "\n\e[00;31m#"

Install 'colorama' and you should not get any errors.


MINOR: Remove copyDependantTestLibs from jar dependencies

copyDependantTestLibs was added temporarily as a dependency of jar task to enable SASL system tests to be run with MiniKdc without changing the automated system test runs which run gradlew clean jar. Since the build target systemTestLibs is already in Kafka build.gradle, the Confluent automated test runs can now run gradlew clean systemTestLibs instead. This PR provides the final change to remove copyDependantTestLibs from the jar task. This should be committed only after the Confluent automated sytem test build script is updated, to avoid breaking any builds.

LGTM, I changed the Confluent system test jobs to use systemTestLibs instead of jar (cc @ewencp @granders). Any chance you could merge this @guozhangwang?

Conflicts need to be resolved on this branch before it can be merged.

@rajinisivaram, can you please rebase this? I'll merge it once you do.

@ijuma Sorry I had missed your note. I have rebased the PR.

LGTM, merged to trunk.


Based on selected template, show database data

Based on the selected template we need to have a view that show the data in the database for that template (if no template is selected, no data is shown)
My guess is that we can use a partial view and populate that view with data for each entity existent in the database for the selected template.
For example we could have a partial view called Entity and populate that view with data for Tech (an entity for the portfolio template).
So, if I have 10 Tech entries in the database, 10 partial views representing each Tech data will be generated and rendered.

#28


Email preview in production in rails 4

Hello,
I am using rails 4.1.1 and ActionMailer::Preview. In development environment everything is working excellent.
But in production environment the preview routes are not accessible. I store the previews in test/mailers/previews/
Is is possible to enable them for production?
Thanks!

any update on this

This is not the repository for Action Mailer. Please direct your Action Mailer questions to Stack Overflow or the Ruby on Rails mailing lists.


Fix: change multiple-playgrounds styles path

:tada: This PR is included in version 1.0.0-beta.10 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[DO NOT MERGE] "exercise ci"

ci is very sad right now, so closing.

Reopening to see if CI gets happier.

Requested to leave open for future pokings

Not entirely sure what the problem is right now, closing this.

Ehm pepole, WTF is going on?

@daenney if you look at the CI report for this, pcci now votes with a green check

Although hillariously, closing the PR removes the CI information

@nibalizer Aaaah.


[BUG] Wrong command in document for "Continuously Mirror a Local Directory to an S3-Compatible Host"?

The current documentation page on mc mirror mentions:

Continuously Mirror a Local Directory to an S3-Compatible Host
Use mc watch with --watch to continuously mirror files from a filesystem to an S3-compatible host:
mc mirror FILEPATH ALIAS/PATH

Replace FILEPATH with the full file path to the directory to mirror.
Replace ALIAS with the alias of a configured S3-compatible host.
Replace PATH with the destination bucket.

Shouldn't this read mc mirror --watch FILEPATH ALIAS/PATH instead of  mc mirror FILEPATH ALIAS/PATH ?

Yep - just need to make a small fix here.

Fixed in https://github.com/minio/docs/commit/008c35097f92c89d90fea33333c4a4e7dbdc4a83


Flask-Bootstrap

Might be worth it :)
https://pythonhosted.org/Flask-Bootstrap/faq.html

I will include this in a new PR for adding things to the server code!

:+1:


MYSQL and Redis Hitting 80-100% Utilization

Good day all,
Our Moodle setup has been running well in the past few days at about 2000 users concurrent connections.
the last 3 days there are about 80k new users registered
but now about 20k concurrent users are now trying to use the system and we are now hitting max utilizations
we have scaled up DB and Redis and running 10 vms in the vmsss
turned on database persistent connections in moodle config also. Note that prior to the persistent config change we are also hitting max utils.
any tips on how we can reduce and fine tune system performance ?
thanks all

Flagging with @naioja and @savjani

@nelsontalag - Can you please open a support ticket from Azure portal

@nelsontalag try to find out what is causing the bottleneck

look at your VM SKU used in the VMSS if it supports "Advance Networking"
https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-cli#supported-vm-instances
check how the total network bandwidth is used : either by customer traffic, traffic to the OS disk or to other PaaS services like you mentioned Mysql and Redis

If any of those are red lined switch to a higher VM SKU : https://docs.microsoft.com/en-us/azure/virtual-machines/dv2-dsv2-series#dsv2-series
Moreover look at the attached OS disk and check if you are hitting an IOPs limit and try to increase the size of the disks : https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types#disk-size-1 , the 1TB or P30 i found out in my tests that they deliver linear performances.
On the Mysql DB side look at the obvious metrics like CPU and IOPS and increase accordingly, alternatively I've used the new PaaS offering called "Flexible Server" : https://docs.microsoft.com/en-us/azure/mysql/flexible-server/concepts-compute-storage where you can tune for an exact amount of Cores and IOPs
On the LoadBalancer side look at the Use SNAT Ports and if you are hitting that number add more Public IPs for outbound traffic (if you have our default installation those need to be added to the Mysql Firewall in Azure)
Finally not everything needs to be cached in Azure Redis meaning that you can setup another decently sized VM using memcache and point some of your Moodle caches to use that one.

@nelsontalag Please re-open with any extra context. Closing per prior guidance.


Change font family

Problem
I am a Japanese programmer.When I used node-red, I found a bug about ace editor.
The next image is a screenshot of a bug.There are two parts I want you to pay attention to in this image.

Is not a monospaced font.
The cursor is out of position.

This problem occurs on Chrome on the Mac.It does not occur in Safari.
Reproduction
The environment I used is below.

OS: macOS Sierra 10.12.5  (MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports))
Browser: Google Chrome version 60.0.3112.78 (Official Build) (64bit)
npm version: 4.0.5
node version: v7.4.0

To reproduce the bug, edit the setting "" on the flow editor.
Resolution
By making a change like a pull request, it is now displayed as follows.
Chrome

Safari

For "font-family", I referred to the style of the atom editor.

reference: https://github.com/atom/atom/blob/master/static/text-editor.less#L7

Concern
Perhaps, this problem occurs in non-English speaking countries.(There is no confirmation.)
So, there may be circumstances that can not be reproduced.
Finally
English is not very good, so I'm glad if you give me a reply in a short sentence.

Coverage decreased (-0.08%) to 86.06% when pulling f12a0130c687bcf734968e582b8d1b6410c2029e on k4zzk:master into 5bdb9e972e97c93a8cd13e05151e1f246c96ac53 on node-red:master.

Looks like a sensible fix to me

@dceejay
Thank you!

Maybe add Courier as well ?

@dceejay
OK!

@dceejay
"Courier" was added.

Coverage decreased (-0.08%) to 86.06% when pulling bd2732ef74e5ec4891228fad36f8f9342af60f06 on k4zzk:master into 5bdb9e972e97c93a8cd13e05151e1f246c96ac53 on node-red:master.

@dceejay
Do you have any other corrections?

No. Just waiting for @knolleary to review also.

We currently use the browser's default monospace font - which should be Courier on OSX.
@k4zzk Please can you put Courier first in the list on fonts and check if that works for you?
@Kazuki-Nakanishi @kazuhitoyokoi Please can you take a look at this. What is your experience of the font in the text editor? Do you get a monospace font?

Sorry for my late reply. As @k4zzk said, Node-RED v0.17.5 has cursor problem on Chrome on macOS.
Both following settings solved the problem in my Japanese environment because Chrome uses Menlo or Courier font instead of monospace font.
font-family: Menlo, Consolas, Courier, 'DejaVu Sans Mono', monospace !important;

font-family: Courier, Menlo, Consolas, 'DejaVu Sans Mono', monospace !important;

This fix is really great because a lot of Node-RED users encountered the cursor problem.
---- Details of my survey ----
I checked fonts using WhatFont plugin on Google Chrome.
Font settings in font-family

Case 1: Node-RED v0.17.5
font-family: monospace !important;

Case 2: Node-RED (Fixed by @k4zzk)
font-family: Menlo, Consolas, Courier, 'DejaVu Sans Mono', monospace !important;

Case 3: Node-RED (Fixed by @k4zzk and suggestion by @knolleary)
font-family: Courier, Menlo, Consolas, 'DejaVu Sans Mono', monospace !important;

Results on Google Chrome 60.0.3112.101(Official Build 64bit) on macOS Sierra 10.12.6

Case 1: monospace (Cursor problem)
Case 2: Menlo (No problem)
Case 3: Courier (No problem)

Results on Google Chrome 60.0.3112.101(Official Build 64bit) on Windows 10

Case 1: monospace (No problem)
Case 2: Consolas (No problem)
Case 3: Courier (No problem)

I checked on my environment,  and the result was same as @kazuhitoyokoi.
Google Chrome 60.0.3112.101(Official Build 64bit) on macOS El Capitan

Case 1: monospace (Cursor problem)
Case 2: Menlo (No problem)
Case 3: Courier (No problem)

Google Chrome 60.0.3112.101(Official Build 64bit) on Windows 8.1
Internet Explorer 11(32 bit) on Windows 8.1
Firefox ESR 52.3.0(64 bit) on Cent OS 7.0

Case 1: monospace (No problem)
Case 2: Consolas (No problem)
Case 3: Courier (No problem)

I would for option2 (of the 3 above) - ie use system specific fonts ahead of courier.
@knolleary ?

Well, unsurprisingly, I'm in favour of option 3 as that's the change I asked for; I'd like us to use the same font on all platforms for consistency.

This is quite a good comparison
https://spin.atomicobject.com/2016/07/11/programming-fonts/
Menlo (mac) and Consolas (win) do look very similar (as does Ubuntu mono)

Useful article. Rhat suggests the order should be:
font-family: Menlo, Consolas, 'DejaVu Sans Mono', Courier, monospace !important;
So that Ubuntu gets its preferred font before Courier is picked.

@knolleary The following setting also solves the cursor problem.
font-family: Menlo, Consolas, 'DejaVu Sans Mono', Courier, monospace !important;

And all fonts look good in Japanese environment as follows.

Google Chrome 60.0.3112.101 (Official Build 64bit) on macOS Sierra 10.12.6

Google Chrome 60.0.3112.101 (Official Build 64bit) on Windows 10

Google Chrome 60.0.3112.101 (Official Build 64bit) on Ubuntu 17.04

@kazuhitoyokoi very good - thanks for providing those screenshots.
@k4zzk if you can update your pull-request to match this comment we can get it merged.
Thanks!

@knolleary
OK!I will update it today.
Thanks!

@knolleary I updated it!

Coverage decreased (-0.09%) to 86.046% when pulling c848e3ad94034040ddca457d37015d4b010c5e47 on k4zzk:master into 5bdb9e972e97c93a8cd13e05151e1f246c96ac53 on node-red:master.


A typo spotted on the page regarding Teams Direct Routing

Hello,
Saw below screenshot to change the typo in the sentence... Thanks.

Hi @The-Bad-Guy Thanks for the feedback, could you please help us by linking the article you are referring to? Thanks!


Relative paths no longer accepted as bind mounts

I'm on Docker 1.9.1:
max ~$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

max ~$ docker info
Containers: 1
Images: 79
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 81
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-57-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.63 GiB
Name: max
ID: 6MM5:N3GU:FHW3:UD63:CW4I:3ZQK:5BOB:IHDN:UZAD:QCKQ:SCXE:ZKDA

This is running on the physical machine, no VMs.
List the steps to reproduce the issue:
max ~$ docker pull ubuntu:trusty
max ~$ docker run -it --rm -v .:/test:ro ubuntu:trusty
Error response from daemon: . includes invalid characters for a local volume name, only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed

It seems that since #16433 (specifically since @a7e686a779523100a092acb2683b849126953931), relative paths are rejected as bind mounts (see ParseVolumeSource in volume/volume_unix.go:127). Only absolute paths are accepted, treating all other input as volume names. Thus, using a relative path (as described in many docs, both for Docker Engine and Docker Compose (actually in the very first example!)) is no longer possible and results in an error message.
I would suggest the following rule to resolve this issue: If the spec is a valid volume name (given the regex in utils.RestrictedVolumeNamePattern), use it as a volume name, and as a bind path otherwise. This effectively rejects names starting with a dot, tilde, or slash. Though a cleaner way would be to check if such a volume name exists (in reference to #16072).
import (
	"github.com/docker/docker/utils"
)

func ParseVolumeSource(spec string) (string, string) {
	if utils.RestrictedVolumeNamePattern.MatchString(spec) {
		return spec, ""
	}
	return "", spec
}

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Hi @maxpfingsthorn
From the dockervolumes page :

The container-dir must always be an absolute path such as /src/docs. The host-dir can either be an absolute path or a name value.

It has been this way for a long time I think. It was already the case in June for example (so it was the 1.6 or 1.7).
The example you gave is from docker/compose which does additionnal stuff (and one of them is to translate a relative directory to an absolute before sending it to the API).

But I'm talking about the host-dir bit. I'm saying that if the host-dir is not absolute, it is treated as a volume name instead. But I really want to use a relative host-dir.

Ah, ok, I get it now. Sorry for the noise.
I came across this #4929, explaining the behavior as it is.


Test Zulu SDK usage in CI

Coming to conclusion that only ADOPTOPENJDK is supported now.
https://github.com/gradle/gradle/issues/19140
Another project revert https://github.com/jreleaser/jreleaser/commit/4362c41e9a3bae09d0af4ad43759b557ff6653e9


Algolia Insights Plugin - search-insight - "o is not a function" error

We are using jquery. All plugins and autocomplete are working correctly. I get an error when adding AUTOCOMPLETE-PLUGIN-ALGOLIA-INSIGHTS.

autocomplete works fine when deleted algoliaInsightsPlugin from plugins.

Could you reproduce this somewhere online so we can find what the root cause of this error is?

Oh, it's because you passed createAlgoliaInsightsPlugin({ aa }) instead of createAlgoliaInsightsPlugin({ insightsClient: aa })

Oh, it's because you passed createAlgoliaInsightsPlugin({ aa }) instead of createAlgoliaInsightsPlugin({ insightsClient: aa })

Thank you very much. Your technical team could not solve it for a long time.
Now I'm getting an error(422) like this. Could the reason be localhost?

Is there any more information in the response?

Is there any more information in the response?

I prepared a simple example. It just contains the suggestion & insights plugin.
https://codepen.io/mertcildogan/full/ExeaYEJ

This fixed when I added "useCookie: true" parameter. Thank you very much again. :)

Ah yes, the userToken is indeed required, either via useCookie or passing it yourself.


When using controlnet, will the image feature calculate cross-attention with controlnet? Or just do cross attention with Unet's backbone?

I tested two, all works.

Thanks for your quick reply! Can you share what the differences are between the two methods and why you chose the current one?

I tested two, all works. In current code, it just do cross attention with Unet's backbone

Thanks for your quick reply! Can you share what the differences are between the two methods and why you chose the current one?

I tested two, all works. In current code, it just do cross attention with Unet's backbone

only very small difference


XImg: fix a typo (#2309)

Please makes sure the items are checked before submitting your PR, thank you!

[x] Rebase before creating a PR to keep commit history clear.
[x] Only One commit
[x] No eslint errors

Good job.

Codecov Report

Merging #2332 into v2 will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##               v2    #2332      +/-   ##
==========================================
+ Coverage   20.69%   20.73%   +0.03%
==========================================
  Files         213      213
  Lines        5190     5190
  Branches      591      591
==========================================
+ Hits         1074     1076       +2
+ Misses       3996     3992       -4
- Partials      120      122       +2

Impacted Files
Coverage Δ

src/components/x-img/index.vue
25% <ø> (ø)
:arrow_up:

src/components/x-textarea/index.vue
19.35% <0%> (+6.45%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 600fbf4...00c8c3e. Read the comment docs.


Add unsafe module for useful but unlawful optics

Candidates are:

def unsafeSelect[A](predicate: A => Boolean): Prism[A, A]
def unsafeHCompose[S, A](xs: Lens[S, A]*): Traversal[S, A] horizontal Lens composition

Since each of these optics is potentially unlawful, we will need to provide a good documentation to explain why and when they are safe to use, e.g.
case class Person(firstName: String, age: Int)
// legal
(unsafeSelect(_.age >= 18) composeLens GenLens[Person](_.name)).modify("adult " + _)

// illegal
(unsafeSelect(_.age >= 18) composeLens GenLens[Person](_.age)).set(0)

Hi Julien,  I am working on the doc for the UnsafeHCompose and wanted to check with you that my understanding of unsafe use of the method is correct using the example I am working on for the doc:
case class SodaCan(name: String, calories: Int, sugars: Int)

val nameL: Lens[SodaCan, String] = GenLens[SodaCan](_.name)
val caloriesL: Lens[SodaCan, Int] = GenLens[SodaCan](_.calories)
val sugarL: Lens[SodaCan, Int] = GenLens[SodaCan](_.sugars)

val coke = SodaCan("CocaCo",657,33)

UnsafeHCompose.unsafeHCompose(caloriesL, caloriesL).modify(_ - 200)(coke)

The last line returns SodaCan = SodaCan(CocaCo,457,33)  is this an unasafe usage?
Thanks

Also since I am using just two lenses I wanted to show how to do it with Traversal instead but struggling to get the right statement i think:
val t = Traversal.apply2[SodaCan,Int](sc => sc.calories,sc => sc.calories)((c1,c2,sc)=>SodaCan("Coke",c1,sc.sugars))
t.modify(_-200)(coke)

You're correct, unsafeHCompose(caloriesL, caloriesL) is illegal because it breaks modifyGetAll law. However, unsafeHCompose(caloriesL, sugarL) is completely fine since all lenses have different targets.
You could also write unsafeHCompose(caloriesL, sugarL) using Traversal.apply2 e.g.
Traversal.apply2[SodaCan,Int](sc => sc.calories,sc => sc.sugar)((c,s,sc)=>sc.copy(calories = c, sugar = s))

I tried running the unsafe example against that law but I am not getting errors or warnings, what should I expect to see? -
TraversalLaws(UnsafeHCompose.unsafeHCompose(caloriesL, caloriesL)).modifyGetAll(coke,c => c-200)
res0: monocle.internal.IsEq[List[Int]] = IsEq(List(457, 457),List(457, 457))

Also adding the implementation we worked on since I haven't committed it yet:
object UnsafeHCompose {
  def unsafeHCompose[S, A](xs: Lens[S, A]*): Traversal[S, A] = {
    val lenses = xs.toList
    new PTraversal[S, S, A, A] {
      def modifyF[F[_]: Applicative](f: A => F[A])(s: S): F[S] = {
        val as: List[(F[A], Lens[S, A])] = lenses.map(lens => (f(lens.get(s)), lens))
        as.foldLeft(Applicative[F].pure(s)){ case (fs, (fa, lens)) =>
          Applicative[F].apply2(fa, fs)((a, s) => lens.set(a)(s))
        }
      }
    }
  }
}

It is very interesting, I tried to break modifyGetAll and composeModify laws but they seem to hold. I expected them to fail because Setter do not compose horizontally see https://github.com/julien-truffaut/Monocle/issues/213. However, in this case we do not compose optics using modify but modifyF which means we cannot get from a previously modified S.
I will try to find more about this problem, maybe in haskell-lens irc channel.

Cool, keen to know what you find!

sorry for the delay @jule64, I talked with edward the author of haskell lens. It is indeed correct that  composing lenses horizontally to get a traversal lead to an illegal traversal if two lenses point to the same data. The counter example rely on the use of modifyF with some fancy Applicative effect, e.g. the one use to make partsOf #384.
I am tempted to say that the danger of such a Traversal is not worth the trouble of defining it in an unsafe module. So if everyone is fine with it, I would rather define unsafeHCompose in the Traversal companion object and maybe we could name it applyN and mention in a comment that it is only a legal Traversal if all lenses do not overlap.

Thanks for the update.  I would be happy to add the applyN into the main module.  Also since we don't break the Traversal laws do we still need to create tests for applyN?

I think you could add a test similar to https://github.com/julien-truffaut/Monocle/blob/master/test/shared/src/test/scala/monocle/TraversalSpec.scala#L29

Given we want to add applyN in core, does it make sense for applyN to be defined in PTraversal or only Traversal ?
def applyN[S, T, A, B](xs: PLens[S,T,A,B]*): PTraversal[S, T, A, B]

def applyN[S, A](xs: Lens[S, A]*): Traversal[S, A]

We know the bottom one works but I am struggling with an implementation of the top one, so far I have something like this:
  def applyPN[S, T, A, B](xs: PLens[S,T,A,B]*): PTraversal[S, T, A, B] = {
    val lenses = xs.toList
    new PTraversal[S, T, A, B] {
      def modifyF[F[_]: Applicative](f: A => F[B])(s: S): F[T] = {
        val as: List[(F[B], PLens[S,T, A,B])] = lenses.map(lens => (f(lens.get(s)), lens))
        as.foldLeft(Applicative[F].pure(s)){ case (fs, (fa, lens)) =>
          Applicative[F].apply2(fa, fs)((a, s) => lens.set(a)(s))
        }
      }
    }
  }

But lens.set(a)(s)) wants a B not an A..

I don't think it is possible to implement applyN for PTraversal because we need to call set n times one after the other. However with PTraversal once we call set we get a T which block us from calling set again.

@jule64 do you need some help to finish the PR? I think you were pretty close. If you don't have time, would you mind to just send a PR with what you have and I can polish it later. Thanks again!

Thanks for checking, I think I was a bit stuck but I will give it another go and try to send a PR shortly.
Sent from my iPhone

On 5 Sep 2016, at 20:01, Julien Truffaut<EMAIL_ADDRESS>wrote:
@jule64 do you need some help to finish the PR? I think you were pretty close. If you don't have time, would you mind to just send a PR with what you have and I can polish it later. Thanks again!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

fixed by #394


Clean up secure_api/Makefile

secure_api/Makefile concatenates low-level/Makefile and ``low-level/crypto/Makefile`, refactoring much needed.

One lost feature is having a Makefile in each directory, so that emacs can call “make …fst-in”. Started in aead.
General question: how do we know we are verifying enough? Unclear now that we verify one file at a time.
Practical goal: “make extra” succeeds with no hints. Right now we have some regressions (and larger rlimits); Instabilities in proofs should at least be commented in the code (see UF1CMA alloc, AEAD.Encoding, and current status on slack).
We need Makefile entries to document and automate performance measurements, e.g. to check changes do not degrade perfs.

@fournet @s-zanella @ad-l @karthikbhargavan
When restoring CI, I had to remove vale that was failing and was the only thing under testing.
Can one of you take the lead on this and make sure that secure_api is building properly, verifying and tested in the master branch. Having stale code in master doesn't make sense, if it is working somewhere in a branch... :)

There is an extensive new Makefile in secure_api on the fstar-master branch; perhaps we could use that, and make sure it performs verification, instead of lax verification?

This is supposedly resolved in fstar-master


Give Storybook a facelift

Details
This adds our brand theme to our storybook docs. I am keeping this on hold in the meantime because I would like to use it to test https://github.com/Expensify/App/pull/6906.
Fixed Issues
n/a
Tests

Run npm i && npm run storybook
Verify that the documentation site builds and looks great!

[x] Verify that no errors appear in the JS console

QA Steps
Go to https://staging.new.expensify.com/docs/index.html and verify that you can see the storybook docs with the themes matching the screenshots below.

[ ] Verify that no errors appear in the JS console

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots
Web

🚀 Cherry-picked to staging by @roryabraham in version: 1.1.29-1 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @Jag96 in version: 1.1.29-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add support for proper offsets and custom page sizes

Do we need to mention this in the docs somehwere? Or it will be automatic in the automatically generated docs?

I added the params to the docs just now, it's not automatic (sadly)


test.ceylon.promise::ExecutionContextTest.testExecutionListenerCompose hangs on JS

Or it could just take an extremely long time, I aborted it after 10 minutes.
Could you take a look at that @vietj ?

PS: in #406 I just updated the code to use native annotations, but I tested this with and without that change and the results were the same (as expected), so it's not due to those changes I made.

I just found the reason for this: The method addGlobalExecutionListener has an exit condition that consists of comparing two callables. Callable.equals now always returns false so this condition is never met.
I didn't make that change BTW, not sure if it was @FroMage or @tombentley but if callables aren't comparable any more (they always return false even when you compare one against itself), perhaps the compiler should warn you about it.

Oh, excellent! I experienced hangs on exit with ceylon.promise before, so it's great to be able to ferret this out.

@chochos so why does the test pass on the JVM?

Maybe Callable.equals has been reimplemented in the JVM, or it works differently, I don't know. Check ceylon/ceylon-js@791a68d743fd11fb32780e04e00ef5a43d29fe4d it was @FroMage who made Callable.equals return false in JS.

@chochos that link to the commit gives me a 404

No it's still false on JVM, or should be. My guess is the promise code needs to be updated.

hi, I'm currently in holidays and will try to have a look asap. At least not the next 2 days as I'll be travelling without a computer.

Can't reproduce anymore, closing.

oh yeah sorry. I added equals again to callables in JS.

@chochos but, didn't we change that on purpose to always return false?

you did, I don't know why, but that broke the JS promise tests (for some reason it doesn't break the JVM tests so I guess you guys still have an equals somewhere).

We did change it from request and added a test to that effect in the language module I think. You have to remove equals again please. The reason this test failed only on JS was that it did not run the same code for the JVM.

how did you arrive to that conclusion? because I dug into that code and the culprit was an exit condition that relies on comparing two callables a==b and it's not test code, it's in the promises module.

Well yes that code needs to be fixed obviously.

@vietj are you on this?

it should be fixed by this : https://github.com/ceylon/ceylon-sdk/commit/e310c91e4bd5369394dd4b8a93c78ca2b68f074a

Ah, and you tested that it works? If yes you can close this then.

The tests do run, I finally was able to check.


Select menu (dropdown) has extra margin when expanded

https://design.undp.org/?path=/story/components-forms-dropdown-custom-select--custom-select
The gap seen here should not be present.

@theadamparker , can you confirm if it is still an issue? I've updated build props in #950 and can't see this anymore in dev: https://develop.design-system.pages.dev/?path=/story/components-forms-dropdown-custom-select--custom-select

@Jura I am still seeing this issue (Mac 10.14 on Chrome 102)

@theadamparker , try now: https://develop.design-system.pages.dev/?path=/story/components-forms-dropdown-select--select

Looks good to me @Jura


fix(tsd): define router property in NavigationInstruction

Ref: https://github.com/aurelia/router/issues/397
Update NavigationInstruction TypeScript definition to define router.

You should exclude the dist folder content.

@EisenbergEffect amended.

@danhowitt Are you able to sign the CLA? The checks above have a button you can click to sign.

Thanks @danhowitt ! Apologies for the delay.


Introduce a new "prototype" pipeline for new potential platforms to initially run in

New platforms that are not candidates for release need time to bed in and prove their stability. We should introduce a new "prototype" (or suitably named) pipeline that is perhaps run once a week for such platforms.

hi @cornelia247 , this item is quite extensive, but we will not be implementing it until after the October release, so into November. Also, this requires certain Admin access for some of the updates/testing.

I think Loongson could be a good candidate for this issue.

weekly build for jdk11 has bisheng corretto and dragonwell, this prevents archive temurin.
We should consider moving these 3 variants into "prototype"

^ this is also on jdk17 https://ci.adoptopenjdk.net/job/build-scripts/job/weekly-openjdk17-pipeline/: bisheng and openj9

maybe risc-v should also be in the prototype, rather than manually created by coping  from old jobs

Mark: when code is done, we need to update docs of "how to generate these prototype pipelines"

one more question: do we want to run the targets of prototype in the " weekly"? @andrew-m-leonard
I am thinking, we can have the same scheduler (as-is) for both "nightly" and "prototype" two to three times a week, but weekly only runs for nightlies'
so we probably can get weekly's result of AQA tests within 24hrs (will be much faster than now, when we move non-temurin variants into prototype)

one more question: do we want to run the targets of prototype in the " weekly"? @andrew-m-leonard I am thinking, we can have the same scheduler (as-is) for both "nightly" and "prototype" two to three times a week, but weekly only runs for nightlies' => we do not change logic in the weekly->nightly so we probably can get weekly's result of AQA tests within 24hrs (will be much faster than now, when we move non-temurin variants into prototype)

@zdtsw Yes agree, weekly just runs the nightly targets

Just to be clear, are we suggesting in the last two comments that the prototype builds would NOT be included in the weekly runs? That would seem undesirable as it would not allow us to regularly run and see the output of the full set of test suites on the prototype platforms.

We will not have prototype running in the "normal" weekly pipeline,
but can set up a prototype-weekly pipeline to run full test suites on these prototype platforms.
the result from prototype weekly no need archive, to save some disk space,
the "normal" weekly still do the archive as-is , more for comparison purpose.

@zdtsw @andrew-m-leonard Any ETA on getting this running regularly? @luhenry is keen to get the RISC-V pipelines live again now that the testing has been included as per https://github.com/adoptium/ci-jenkins-pipelines/pull/545

after some comments, we have decided to rename "prototype" into "evaluation" for the new type of pipelines

@zdtsw @andrew-m-leonard Any ETA on getting this running regularly? @luhenry is keen to get the RISC-V pipelines live again now that the testing has been included as per #545

The implementation is done, changes are under review, hopefully we can get this issue closed by this week

@luhenry looks like riscv for jdk20 is working now, https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/evaluation/job/jobs/job/jdk20/job/jdk20-evaluation-linux-riscv64-temurin/

The latest release (and a few previous ones too) contains risc-v binaries.

we do not "publish" binaries from evaluation pipeline to GitHub binary repo

@zdtsw IMHO we should be publishing them in teh GitHub repositories so that users can get to previous binaries to do comparisons between them if things start failing. Pulling them out of CI isn't ideal.
This would make it easier for people to get a new platform out of evaluation state and be able to retest with earlier builds if required when looking at problems.
It wasn't quite clear to me from your earlier comment whether you plannned to set up a prototype-weekly pipeline that would publish.

we do not "publish" binaries from evaluation pipeline to GitHub binary repo

@zdtsw IMHO we should be publishing them in teh GitHub repositories so that users can get to previous binaries to do comparisons between them if things start failing. Pulling them out of CI isn't ideal.
This would make it easier for people to get a new platform out of evaluation state and be able to retest with earlier builds if required when looking at problems.
It wasn't quite clear to me from your earlier comment whether you plannned to set up a prototype-weekly pipeline that would publish.

standard weekly pipeline will archive the last 2's binaries in Jenknis disk, but not publish to GitHub binary repo.
evaluation weekly pipeline will not archive in Jenkins and will not publish to GitHub binary repo.
The difference mainly is they have the different releaeseType value.
All evaluation (running parallel with nightly and running parallel with weekly) have "Nightly Without Publish" as releaseType thats why the uploader job is skipped
If we want to publish evaluation from night builds, we need to set it to "Nightly" instead.

An open discussion for evaluation pipeline:
the implementation made for evaluation pipeline has certain difference than the "nightly" we have, and this need more input from everyone:

by setting releaseType in evaluation to "Nightly Without Publish" , this will not upload the  binary into GH repo. Is this acceptable? If not, we should set it to "Nightly" (same as for the nightly build)
The reason I chose "Nightly Without Publish" than "Nightly" is to not confuse enduser that the binary in GH is ready to be consumed.
since evaluation and nightly pipeline are two different pipelines, even they can be triggered at the same time (accurate to minute) still the upload part take the timestamp when it is called and create "release" in the format of jdkXXu-YY-MM-DD-HH-MM-beta So, it will be one for "evaluation" another for "nightly(non-evalutaion)"  in the same termuinXX-binaries repo. Is this acceptable?  or you would prefer having only one "release" to include both "nightly" and "evaluation"s binaries?

My view is that ideally I'd like there two be one github release for each nightly run, however I appreciate that would require some magic to synchronise up the releases, and we should see if that's feasible somehow.
Without that, each alternate one would have "normal" and "experimental" nightlies which could be somewhat confusing for the end users unless it was made clear in the name somehow.
Looking forward to hearing any other views on the subject :-)

My vote would be maybe to ensure it differs, although that maybe tricky as the target release doesn't exist until the pipeline finishes.
Failing that, just keep them the same way as it is now.

Nightly pipelines at the moment have no association to a single github published release, so if 2 nightly pipelines run one night they will be published to two different releases.

My expectation was that the differentiation between "evaluation"/"experimental" pipeline versus "normal"/"release" pipeline was to have only the set of platforms we officially release (slide 27 of the 2023 Program plan / those platforms that we TCK and publish).  Noting that risc-v is in plan to graduate to a releasable platform in 2023 (at which point the program plan would be updated/adjusted as it currently states it as "in development").
I would also expect that we would still publish nightly/beta builds of platforms found in evaluation pipeline (and had not remembered the ole' timestamp dilemna), but as @andrew-m-leonard noted in https://github.com/adoptium/ci-jenkins-pipelines/issues/473#issuecomment-1370979111 there is no obligation for a single nightly/beta release (no matching timestamp requirement).

My vote would be maybe to ensure it differs
Nightly pipelines at the moment have no association to a single github published release, so if 2 nightly pipelines run one night they will be published to two different releases.

This may be controversial but I disagree ...TL;DR The end-users of this shouldn't really have to care about what we do internally when they are looking to locate a build on a platform they are interested in.:

Someone wanting the nightlies shouldn't have to worry about the internal implementation when they look at the releases repository. "The latest nightly for X is missing my platform - what's gone wrong?" "Nothing, you have to look at a different nightly pipeline" is not a conversation I want to keep having. Either that or we just get diligent about pointing people e xplicitly at the API for nightlies (although that doesn't help my next point, and it assumes all experimental builds are in the API which is not necessarily going to be the case)
If you have twice as many nightly releases, it becomes more work to scroll backwards to find e.g. the nightly from "one month ago" if you're doing comparisons as you'v'e got twice as many to scroll through.
There was another comment somewhere about "Well we can have out-of-band nightlies anyway if we run the pipelines ourselves". Correct me if I'm wrong but I'd suggest it's very unusual to be running a full pipeline between nightlies without using "Nightly without publish" (I can only think of once in the last year where I've needed to do that) so I'd consider that very much an edge case rather than something used to justify extra end-user complexity.

Marking the nightly releases as easily identifiable as being the experimental ones mitigates point 1 a little but I'd still suggest it isn't an ideal solution.

as for the downstream job name, it was added in https://github.com/adoptium/ci-jenkins-pipelines/blob/680fa255004de10e85960a84de5bfe2ac7eb936b/pipelines/build/common/build_base_file.groovy#L672
for evaluation and release job.
@smlambert if this creates difficulties for TRSS, we can change the logic.

re: https://github.com/adoptium/ci-jenkins-pipelines/issues/473#issuecomment-1382039088 - I was just raising the question on whether it was needed to rename child jobs, agree that top-level job name should take the extra word as a distinction, just posing question on whether it was needed or desirable to rename children (to consider pros/cons/value).

related: https://github.com/adoptium/aqa-test-tools/issues/765 - and associated PR which will ignore evaluation and release to allow us to incorporate build and smoke test results into the same grid as the AQA test results.

I share the same concern about renaming some child jobs. The release and evaluation pipelines trigger some renamed child jobs by adding -release- (i.e., child build and smoke test job) and some existing child jobs (i.e., AQA test jobs). I also would like to understand if the renaming child build and smoke test job are needed.

gathering a bunch of related open issues:

Discussion: what targetConfiguration should be put into prototype pipeline #543
Capture job structure in Jenkins after adding release, evaluation type of jobs #586
Update: nightlyBuildAndTestStatus job for release and evaluation pipepline #550

Will have this issue closed first (feel free to re-open)


movie.nfo fanart XML is not correct

Couldn't figure-out why my TMM movies edited/saved with movie.nfo didn't display fan art, until i compared it with kodi created .nfo files.
To test check save "movie.nfo"
fan art will will be saved as
<fanart>http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg</fanart>
where it should be saved as:
<fanart>
     <thumb preview="http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg">http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg</thumb>
          <thumb preview="http://image.tmdb.org/t/p/w780/o3P90r3owOlD86e27aC801rk4QI.jpg">http://image.tmdb.org/t/p/original/o3P90r3owOlD86e27aC801rk4QI.jpg</thumb>
</fanart>

which Kodi version do you use?
afaik Kodi 17 slightly changed their NFO style... Maybe this is one change too

This was on 16.1
As soon as I alter the .nfo to the second example and refresh kodi local data the fanart displays properly.
also for poster art this is how kodi save xml for posters:
(You current method works, but there is a difference)
<thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/inVq3FRqcYIRl2la8iZikYYxFNR.jpg">http://image.tmdb.org/t/p/original/inVq3FRqcYIRl2la8iZikYYxFNR.jpg</thumb>
I think the preview= has to do with previews for selecting different art.
On this note i think you should add the option to save additional thumbs to .nfo without locally downloading them.
ie Kodi created .nfo:
    <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/70yzeQUerxKRxeVE61ob9DlDFjv.jpg">http://image.tmdb.org/t/p/original/70yzeQUerxKRxeVE61ob9DlDFjv.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/rrPWYcAJjx7svXgaoEfTAAxx2Id.jpg">http://image.tmdb.org/t/p/original/rrPWYcAJjx7svXgaoEfTAAxx2Id.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/mXSbp5V3j3Ad7vGrGfFN7xv6cCz.jpg">http://image.tmdb.org/t/p/original/mXSbp5V3j3Ad7vGrGfFN7xv6cCz.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/KY66hTL8YLesWguF1eFhnws9y8.jpg">http://image.tmdb.org/t/p/original/KY66hTL8YLesWguF1eFhnws9y8.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/r8iKqZuYfOGecljTMBGbD4YE9X1.jpg">http://image.tmdb.org/t/p/original/r8iKqZuYfOGecljTMBGbD4YE9X1.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/39z52cy41YViM6tbIohfWYZVi7a.jpg">http://image.tmdb.org/t/p/original/39z52cy41YViM6tbIohfWYZVi7a.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/u6SdQz8Bd45mcuCZdyAFrRCL2AN.jpg">http://image.tmdb.org/t/p/original/u6SdQz8Bd45mcuCZdyAFrRCL2AN.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/1Tco0tfGzXLXTbGZlsyG2L1ME6j.jpg">http://image.tmdb.org/t/p/original/1Tco0tfGzXLXTbGZlsyG2L1ME6j.jpg</thumb>     <thumb aspect="poster" preview="http://image.tmdb.org/t/p/w500/jMQYcE5ayaQOQUtDQyaDhTa1RL3.jpg">http://image.tmdb.org/t/p/original/jMQYcE5ayaQOQUtDQyaDhTa1RL3.jpg</thumb>     <fanart>         <thumb preview="http://image.tmdb.org/t/p/w780/nbIrDhOtUpdD9HKDBRy02a8VhpV.jpg">http://image.tmdb.org/t/p/original/nbIrDhOtUpdD9HKDBRy02a8VhpV.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/n1y094tVDFATSzkTnFxoGZ1qNsG.jpg">http://image.tmdb.org/t/p/original/n1y094tVDFATSzkTnFxoGZ1qNsG.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/4HgqwYTpmrDtafRvjRJ2aOwH69e.jpg">http://image.tmdb.org/t/p/original/4HgqwYTpmrDtafRvjRJ2aOwH69e.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/3P7mVFxpMLblLbVewybYOaNqEHT.jpg">http://image.tmdb.org/t/p/original/3P7mVFxpMLblLbVewybYOaNqEHT.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/mnUbzbYxaaHpaTqFhjl7HwSod7o.jpg">http://image.tmdb.org/t/p/original/mnUbzbYxaaHpaTqFhjl7HwSod7o.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/dfjj7QZBo9JAuMYSbCdIzUWQsr3.jpg">http://image.tmdb.org/t/p/original/dfjj7QZBo9JAuMYSbCdIzUWQsr3.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/iWFx9LVcSQ54TBubh5Fw9G2KrsA.jpg">http://image.tmdb.org/t/p/original/iWFx9LVcSQ54TBubh5Fw9G2KrsA.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/3q7PX4xGF4YkDzOpcQXLCIYXHFK.jpg">http://image.tmdb.org/t/p/original/3q7PX4xGF4YkDzOpcQXLCIYXHFK.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/l5003rpuMgaqzkw6QpZ1F3k9pKA.jpg">http://image.tmdb.org/t/p/original/l5003rpuMgaqzkw6QpZ1F3k9pKA.jpg</thumb>         <thumb preview="http://image.tmdb.org/t/p/w780/iPlhdbPq2CwoOtD2bKDAACoSmGV.jpg">http://image.tmdb.org/t/p/original/iPlhdbPq2CwoOtD2bKDAACoSmGV.jpg</thumb>     </fanart>
Lastly on the subject of downloaded art, is there anyway to set kodi to use the TMM downloaded art in .nfo file or is the downloaded fan-art unusable?
ie
<thumb preview="\\fanart.jpg">\\fanart.jpg</thumb>
Thanks,
Nathan

kodi ingores artwork tags in the NFO if there is local artwork found (thus we did not saw that difference for a while).
If you download artwork by tmm, you don't need any  tags in the NFO to let kodi find it
I'll have a look how to change the nfo structure without destroying too much, but since that is mostly unneeded, this may take a while ;)

kodi ingores artwork tags in the NFO if there is local artwork found (thus we did not saw that difference for a while).
If you download artwork by tmm, you don't need any tags in the NFO to let kodi find it

Unfortunately if I have TMM create .nfo files, kodi will use the .nfo for importing data/thumbs even if i preselect source to grab it from TMDB. This is a problem because the fanart XML tag is incorrect so the movie is imported without any fanart, because of TMM. Now if i tell TMM NOT to create nfo this is not a problem, as it grabs the poster and fanart from TMDB not the incorrect format from TMM, then kodi can create the correct XML on export (multi-file).
In short kodi sees TMM .nfo with a empty fanart tag (ie ) because it's improperly formatted and completely missing the  within)
incorrect:
<fanart>http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg</fanart>
correct:
<fanart>      <thumb preview="http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg">http://image.tmdb.org/t/p/original/id2qZADRqKEGFxf7yeHLp4tHaEo.jpg</thumb>       <thumb preview="http://image.tmdb.org/t/p/w780/o3P90r3owOlD86e27aC801rk4QI.jpg">http://image.tmdb.org/t/p/original/o3P90r3owOlD86e27aC801rk4QI.jpg</thumb> </fanart>

has this been addressed?
Thanks,
Nathan

yes, but only for v3 since this is a breaking NFO structure change


dbt-teradata 1.8.0 changes

What are you changing in this pull request and why?
Made changes in the setup and config pages w.r.t the dbt-teradata 1.8.0.

Hi @dataders  and @mirnawong1,
Can you please re-review this PR?
Thanks,
Mohan

thanks so much @dataders ! and thanks for opening this pr up @tallamohan! let me know if yo have any thoughts or questions, looking forward to future contributions ✨!


add AOP test for shenyu-client-alibaba-dubbo

https://github.com/apache/incubator-shenyu/issues/3523

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3539 (40fc352) into master (7c1c7a5) will decrease coverage by 0.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3539      +/-   ##
============================================
- Coverage     62.81%   62.49%   -0.33%
+ Complexity     5572     5536      -36
============================================
  Files           842      842
  Lines         23351    23343       -8
  Branches       2118     2115       -3
============================================
- Hits          14668    14588      -80
- Misses         7335     7403      +68
- Partials       1348     1352       +4

Impacted Files
Coverage Δ

...plugin/logging/rocketmq/LoggingRocketMQPlugin.java
22.72% <0.00%> (-72.73%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...ogging/rocketmq/body/LoggingServerHttpRequest.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

...nyu/plugin/motan/cache/ApplicationConfigCache.java
52.00% <0.00%> (-5.00%)
:arrow_down:

.../logging/rocketmq/utils/LogCollectConfigUtils.java
71.11% <0.00%> (-4.45%)
:arrow_down:

...che/shenyu/admin/model/vo/DashboardUserEditVO.java
60.86% <0.00%> (-4.35%)
:arrow_down:

... and 35 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c1c7a5...40fc352. Read the comment docs.


Computed stores fire in strange order making state incorrect

Here's a repro.
Given
Atom 1 -> Computed 1 -> Computed 2
Expected
When making changes to Atom 1, you always get the following order of execution: Computed 1 -> Computed 2.
Also, Computed 2 always has correct derived state.
Actual
If you make changes in some sequence (I don't really get the logic), the order of execution of computed stores reverts, so first we get a Computed 2 execution with an OLD state (which results in incorrect derived state for this store), then Computed 1 gets executed, but it doesn't trigger Computed 2 execution.
Here's a video for this repro. Hint: if you see a string getting logged twice in a row, it's the bug. I did two doubleclicks, that should have resulted in number 3 and number 5 appearing.
https://user-images.githubusercontent.com/2846746/155877236-e5151f30-0375-43d2-9dcf-9183760b5002.mov

Also, if you add keepMount to all stores, it all seems to be working fine.

Can you try 0.5.11? @btakita fixed similar bug.

@ai I'm afraid it got even worse. Not only did it not fix the bug, now for some reason computed stores do not work at all—even in the most basic cases.
I updated the initial repro to use latest version.

@btakita seems like there is regression in the fix

@ai I think it was related to subsequent notifications occurring during a notifyId run. I added logic to compare the stores argument on the computed, running the cb when there's a change.
I was not able to reproduce the example from @dkzlv in a test or on my local machine. However, I had a similar regression & added a test which created the issue described above.

@dkzlv can you test 0.5.12?

@ai My case seems to be working fine, issue is resolved. Thanks @btakita!


Customize message "JWT Token Not Found"

Hello,
I would like to displya my own message for the error "JWT Token not found", but when I follow the instructions there it does'nt work :
https://github.com/lexik/LexikJWTAuthenticationBundle/blob/2.x/Resources/doc/2-data-customization.rst#id15
I use symfony 5.4 & Refresh tokens (gesdinet/jwt-refresh-token-bundle).
Thanks.

Hi, can you post your event listener and its config for the case here?

Hello,
ok
Here is the eventListener :
`// src/App/EventListener/JWTNotFoundListener.php
namespace App\EventListener;
use Lexik\Bundle\JWTAuthenticationBundle\Event\JWTNotFoundEvent;
use Symfony\Component\HttpFoundation\JsonResponse;
/**

@param JWTNotFoundEvent $event
*/
class JWTNotFoundListener
{
public function onJWTNotFound(JWTNotFoundEvent $event)
{
//dd($event);
$data = [
'status'  => '403 Forbidden',
'message' => 'Acces refuse'
];
 $response = new JsonResponse($data, 403);

 //$response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);

 $event->setResponse($response);

}
}`

And here is the config in Yaml :
   App\EventListener\JWTNotFoundListener:         tags:             - { name: kernel.event_listener, event: lexik_jwt_authentication.on_jwt_not_found, method: onJWTNotFound }

It seems to work only when set => APP_ENV=dev on my local server
When I set APP_ENV=prod it shows the defaukt message.

It works now.
It looks better with a EventSubscriber instead of EventListener.
I alos had to clear the cache.
Her is the code I used :
 '403 Forbidden',
            'message' => 'Acces refuse'
        ];

        $response = new JsonResponse($data, 403);

        //$response->setStatusCode(Response::HTTP_INTERNAL_SERVER_ERROR);

        $event->setResponse($response);
    }

    public static function getSubscribedEvents()
    {
        return [
            'lexik_jwt_authentication.on_jwt_not_found' => 'onJWTNotFound',
        ];
    }
}


Skipping analyzing error

I never got this right in sublime text:

How do I fix this missing imports error? I'm using pyls-mypy version 0.1.8
My project settings are as follows:
{
	"folders":
	[
		{
			"path": "."
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/LSP-eslint"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/metals-sublime"
		},
		{
			"path": "/home/raoul/Documents/Programming/tonic"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/User"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/lsp_utils"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/LSP-json"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/UnitTesting"
		},
		{
			"path": "/home/raoul/.config/sublime-text-3/Packages/LSP-vue"
		},
		{
			"path": "../LSP-css"
		},
		{
			"path": "../LSP-html"
		},
		{
			"path": "../LSP-intelephense"
		},
		{
			"path": "../LSP-typescript"
		},
		{
			"path": "../LSP-elm"
		}
	],
	"settings":
	{
		"rulers":
		[
			120
		],
		"tab_size": 4,
		"translate_tabs_to_spaces": true,
		"lsp_format_on_save": true,
		"LSP":
		{
			"pyls":
			{
				"command": ["pyls"],
				"scopes": ["source.python"],
				"syntaxes": ["Packages/Python/Python.sublime-syntax"],
				"languageId": "python",
				"env":
				{
					"PYTHONPATH": "/opt/sublime_text/Lib/python33",
					"MYPYPATH": "/opt/sublime_text/Lib/python33"
				},
				"enabled": true,
			}
		}
	}
}

I Also tried this env:
				"env":
				{
					"PYTHONPATH": "/opt/sublime_text/Lib/python33",
					"MYPYPATH": "/home/raoul/.config/sublime-text-3/Packages/LSP/plugin"
				},

But it doesn't seem to have any effect. I also tried this:
				"env":
				{
					"PYTHONPATH": "/opt/sublime_text/Lib/python33:/home/raoul/.config/sublime-text-3/Packages/LSP/plugin"
				},

But to no avail.

@rwols, are you able to import plugin.core.edit when running /opt/sublime_text/Lib/python33? If so, try https://github.com/tomv564/pyls-mypy/pull/45 (if you want), removing both env vars and adding
{
  "pyls_mypy": {
    "prepend": ["--python-executable", "/opt/sublime_text/Lib/python33"]
  }
}

(or similar) to pyls.settings.pyls. (Guesses based on docs; not a Sublime Text user myself.)

@poppyschmo /opt/sublime_text/Lib/python33 is a folder with two python files sublime_plugin.py  and sublime.py. I want mypy to be able to find these two files.

I also want mypy to be able to find ~/.config/sublime-text/Packages/LSP/plugin as that's where .core.edit etc lives.

/opt/sublime_text/Lib/python33 is a folder

Yikes. And here I thought it was an exe. Terrible.
Perhaps visitors to this thread more knowledgeable than I may find a working mypy command-line incantation helpful?

@rwols I briefly tried your setup and was able to reproduce the output in your screenshot using your project settings. BTW, I see now that Sublime Text comes with Python embedded. After toggling live_mode off in Packages/User/LSP/sublime-settings, the import errors went away, and the output matched that given by the mypy command in your tox.ini.

As noted in the README, this means you'll have to save to trigger updates.

Thanks @poppyschmo turning off live-mode indeed works.


Add line comment, Toggle line comment, neither Toggle block comment don't work

VSCode 1.3.1
LaTeX 0.1.1

The line comment functionality is provided in pull request #4, which unfortunately has not been accepted yet.
How are block comments in TeX supposed to work?

One can use  \iffalse comment \fi but I admit there is no specific notation for block comments in TeX.


In Selection section 'Create selections for categorical data view mapping' in the Note part

i think spelling for grouped is misspelled 'groped'.

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

ID: 75effaec-3c6e-83c9-c26e-8e58046cb347
Version Independent ID: 971d9758-f10b-cddb-f6fa-c007e193e457
Content: Power BI visual data point selections - Power BI
Content Source: powerbi-docs/developer/visuals/selection-api.md
Service: powerbi
Sub-service: powerbi-custom-visuals
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Oh my. Thank you, @BREN1234! I've made the fix and the change will be live soon.


Found some duplicate code in index.html

Describe the bug

Line no. 115 is same as line no 117
Line no. 261 to 264 is same as line no. 266 to 268

Expected behavior
A clear and concise description of what you expected to happen.
Environment (please complete the following information):

OS: Windows 10
Browser: chrome

I will solve it.


fn: lb_agent state trackers only apply to runners

State trackers do not apply to LB agent.

There's still the stats in stats.go, so removing this, I'll confuse us going forward.. And reduces coupling between lb and agent.


uncaught compile error

I believe https://github.com/pi-base/data/tree/82a8e40903b87c395d5ec4acb75bea07abfe69dd has an error (asserting that the empty space is strongly Choquet), but for some reason it wasn't caught during the compile action...

I remember that, one thing worth noticed is that, in current repository, it can't even do a successful build at all in my local:

For example: https://github.com/pi-base/data/blob/main/spaces/S000171/properties/P000018.md?plain=1 have an empty description, so I comment it out months ago and forget it. But in the official online version it keeps running.

The things more outrageous was that, backend has no logic to deduce contradiction:
https://github.com/pi-base/web/blob/0b8853e98255886d14d7dd35f1ca9678ff6f8527/packages/compile/src/validations.ts#L15-L23
Only frontend has and it didn't report to user:
https://github.com/pi-base/web/blob/0b8853e98255886d14d7dd35f1ca9678ff6f8527/packages/viewer/src/stores/deduction.ts#L121-L125

@jamesdabbs should have some time to review your PR in the coming weeks.
FWIW the backend used to check for errors as compile time, but maybe this was accidentally looked over when we transitioned from https://github.com/pi-base/compile to https://github.com/pi-base/web


运行起来会崩溃

你的Plugin.java和Service.java代码有些许bug，运行会崩溃，我改了下好了，你有QQ吗，相互学习下

我的QQ 935612713

This repo made for my unreal study. These are not yet complete codes. I'm stopping for a while. But let me check first. Can you tell me the error code? :)


Some Verilog Files are misclassified as Coq

See: https://github.com/yuwen41200/digital-lab/search?l=coq
These two files are written in Verilog, but they are wrongly labeled as Coq programs.

Looks like you solved the issue using Linguist overrides :tada:

Yeah.
But still, it would be better if Linguist could recognize these Verilog code automatically:
https://github.com/yuwen41200/digital-lab/blob/5cc6566d44c6a316be5dbb5456ef3f41d035d163/lab01/Complement.v
https://github.com/yuwen41200/digital-lab/blob/5cc6566d44c6a316be5dbb5456ef3f41d035d163/lab01/FullAdder.v

If that's a common issue across GitHub, we could probably try to add a new heuristic rule. Do you have some estimation of the number of files incorrectly classified (through a GitHub search query perhaps)?

If that's a common issue across GitHub, we could probably try to add a new heuristic rule. Do you have some estimation of the number of files incorrectly classified (through a GitHub search query perhaps)?

@yuwen41200 - :point_up: any suggestions here?

Thanks. I think most files are classified correctly. But the above two files still get wrong labels.
And if I post these files on Gist, they will get no syntax highlighting.
I have to change the file extensions from *.v to *.vh in order to get syntax highlighting.
But I wonder if *.vh is Verilog because they look somewhat strange.

But I wonder if *.vh is Verilog because they look somewhat strange.

.vh is classified as System Verilog. Another extension for Verilog would be .veo.

I think most files are classified correctly. But the above two files still get wrong labels.

Unfortunately, the language classification will never be perfect. We have to rely on a probabilistic classifier (Bayes classifier) to recognize the language of many files.

Okay. Thanks!
I think this issue could be closed.

This is still a common misclassification: https://github.com/search?q=extension%3Av+language%3ACoq+module+input+output
@pchaigno should this issue be reopened?


[Docs] Site logo | Documentation

Current State
Desired State

Contributor Guides and Handbook

📚 Instructions for contributing to documentation

Meshery documentation site and source

🛠 Meshery Build & Release Strategy
🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Issue fixed by PR #9297


Inconsistency between paper and code

Hi, congratulations on your great work and acceptance in CVPR '21. Thanks for releasing the code and model weights.
In the paper, you mention using DeepLabv2 with ResNet101 backbone. However, your code actually makes use of a modified ASPP module (ClassifierModule2 in models/deeplabv2.py) while actually ClassifierModule has to be used for DeepLabv2. Similar issues were raised here and here which mention that this type of ASPP module is used in DeepLabv3+ which has a much better performance compared to DeepLabv2 (both issues were raised in Jan. 2020). Could you please confirm this point and if you have also performed experiments with the original DeepLabv2 model, could you report those results for a fair comparison with prior arts?

Hi, this modified ASPP is borrowed from IJCAI (2020) and IJCV paper and is not the same as the modified ASPP in Deeplabv3 or Deeplabv3+.
Also, as the ablation study in the Deeplabv3 paper, the most effective modification in ASPP is image-level features pooling with the multi-grid method.  And their effective modification is not included in our code.  So we think the modified ASPP in our code will not change the result.

Why we do not use ASPP in Deeplabv2? Because we need to calculate the prototype, this needs a feature point（dim:1xC） to represent a pixel in the image, that is to say, we need an FC layer or 1x1 Conv layer as a classifier. So we borrow this block from IJCAI (2020) and IJCV paper

And we can see the ablation study in our paper. The conventional self-training is trained by our modified ASPP, the performance is similar to the original ASPP in deeplabv2(about 45~46 mIoU).

Hi, this modified ASPP is borrowed from IJCAI (2020) and IJCV paper and is not the same as the modified ASPP in Deeplabv3 or Deeplabv3+.
Also, as the ablation study in the Deeplabv3 paper, the most effective modification in ASPP is image-level features pooling with the multi-grid method. And their effective modification is not included in our code. So we think the modified ASPP in our code will not change the result.

Why we do not use the original ASPP in Deeplabv2? Because we need to calculate the prototype, this needs a feature point（dim:1xC） to represent a pixel in the image, that is to say, we need an FC layer or 1x1 Conv layer as a classifier. So we borrow this block from IJCAI (2020) and IJCV paper

Why not modify the out_channels=256 of  Conv2d in ASPP and add an extra Conv2d with in_channels=256, out_channels=num_classes to achieve this? I think this is the easiest way to get a feature point of each pixel in an image. Have you tried and proved useless of this way?
Please forgive me if this is a stupid question. 😀
class MultiOutASPP(nn.Module):
    def __init__(self, inplanes, dilation_series=[6, 12, 18, 24], padding_series=[6, 12, 18, 24], outplanes=19):
        super(MultiOutASPP, self).__init__()
        self.conv2d_list = nn.ModuleList()
        for dilation, padding in zip(dilation_series, padding_series):
            self.conv2d_list.append(
                nn.Conv2d(inplanes, 256, kernel_size=3, stride=1, padding=padding, dilation=dilation, bias=True))

        self.classifier = nn.Conv2d(256, outplanes, kernel_size=1, padding=0, dilation=1, bias=True)

        for m in self.conv2d_list:
            m.weight.data.normal_(0, 0.01)

        self.classifier.weight.data.normal_(0, 0.01)

    def forward(self, x):
        feat = self.conv2d_list[0](x)
        for i in range(len(self.conv2d_list) - 1):
            feat += self.conv2d_list[i + 1](x)

        out = self.classifier(feat)

        return {'feat': feat, 'out': out}

Why not modify the out_channels=256 of  Conv2d in ASPP and add an extra Conv2d with in_channels=256, out_channels=num_classes to achieve this? I think this is the easiest way to get a feature point of each pixel in an image. Have you tried and proved useless of this way?
Please forgive me if this is a stupid question. 😀
class MultiOutASPP(nn.Module):
    def __init__(self, inplanes, dilation_series=[6, 12, 18, 24], padding_series=[6, 12, 18, 24], outplanes=19):
        super(MultiOutASPP,    ###_self).__init__()_
        self.conv2d_list = nn.ModuleList()
        for dilation, padding in zip(dilation_series, padding_series):
            self.conv2d_list.append(
                nn.Conv2d(inplanes, 256, kernel_size=3, stride=1, padding=padding, dilation=dilation, bias=True))

        self.classifier = nn.Conv2d(256, outplanes, kernel_size=1, padding=0, dilation=1, bias=True)

        for m in self.conv2d_list:
            m.weight.data.normal_(0, 0.01)

        self.classifier.weight.data.normal_(0, 0.01)

    def forward(self, x):
        feat = self.conv2d_list[0](x)
        for i in range(len(self.conv2d_list) - 1):
            feat += self.conv2d_list[i + 1](x)

        out = self.classifier(feat)

        return {'feat': feat, 'out': out}

If we modify the out_channels=256 of Conv2d in ASPP, the capability of ASPP will smaller than standard ASPP(out_channels=1024).  For a fair comparison with Seg_Uncertainty, we borrow this block from it.

I think it's better for you to report results with Deeplabv2(should not be difficult). The mainstream choice of segmentation is Deeplabv2, like SDCA, FADA paper.

@jiangzhengkai In my experiment, deeplabv2 with original aspp shows the best result in domain adaption. In adversarial learning with advent strategy, this modified ASPP weaker than original aspp. Another paper   shows that deeplabv3+ weaker than deelabv2. May be the normalization layer in their heads make model easier to bias to source domain.

Anything new? Is there anyone that has reproduced ProDA with minimum changes of ASPP?


Add Brueggli

Dear JetBrains
Regarding your requirements for an application of a new domain I can provide the following information:

Main Domain: Brüggli
Link to long term IT course/education: https://berufe.brueggli.ch/informatik/informatikerin-efz/
Each enrolled student/apprentice will get an email address from the @brueggli.ch domain

In case you require additional information, please do not hesitate to contact me.
Thank you and best regards
Martin Boos

@mnboos First stage of verification passed, official domain is brueggli.ch as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@philipto Thanks for the update, appreciate it.

@mnboos Pull request merged. Thank you!

@philipto Wow this was fast! Amazing! Thank you!!


Buttons to request being an NSIF and CSI reviewer

all organisation members should have the option to request to be a NSIF or CSI reviewer once they are a part of the NSIF and/or CSI organisations (R6 and R7).
there should also be a way to request being a portal content manager
@seabilwe

@ThiashaV the first part of this issue (NSIF-CSI reviews) is handled, the second part (content manager) is more of a policy than technical side, specific system-admins can be assigned as content managers, due to how the site extend some of it's plugins (ckanext-pages) content managers role cannot be separated from system-admins.


[180] Post like behavior.

What does this pull request aim to achieve? 💯
https://github.com/FightPandemics/FightPandemics/issues/180:
It allows a registered user to like a post.
🚨Before submitting this pull request🚨:
Please do NOT submit this PR if you have not done the following:

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name> (need to have cloned the repo not forked).
[x] This branch is rebased/merged with the latest master.
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".

Is this good to merge?

Is this good to merge?

Yes


Face lifting for button on InfoPanel

Make button:

flat
without borders
without gradients

Fixed in commit #c255fe1c438d4005d654c81bd5c5f22cd750b73c.


Feature Request: Persist Selected Parser to the URL Hash

That way, the parser can be automatically selected when someone clicks on a shared link

Superseded by #55. Will try to get this out soon.


tor-browser-bundle-bin: Drop github mirror

The github.com mirror for tor-browser hasn't been updated since
8.0.2, released in Oct 2018 (~11 months ago; currently latest
released version is 8.5.6):
https://github.com/TheTorProject/gettorbrowser/releases/

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Notify maintainers
cc @offlinehacker @matejc @doublec @thoughtpolice @joachifm

Hm, I'd rather they started updating it again, but alas they have no issue tracker ... could be abandoned. It is unfortunate that they have not updated their readme to state clearly what's going on ...


Sidebar menu not displaying

Hello, I'm using the latest version (2.0.12) and the Navigation menu is not appearing on the left sidebar.
As you can see in these screenshots, the plugin is active and I can see the Navigation and Audience types.
Can you share some tips on how to debug this problem? I'm new to Strapi.
Thank you

I'm sorry, I read in the docs about the rebuild of the admin, but since strapi reloads automatically, I was expecting something more automatic. Closing as it's now working.
If you're facing the same issue, be sure to run npm run build and then start the server again


After :ccl, the quickfix window can't go back anymore

Here is my config about Easygrep:
let g:EasyGrepRecursive=1
let g:EasyGrepHidden=1
let g:EasyGrepIgnoreCase=1
let g:EasyGrepMode=2
let g:EasyGrepFileAssociations=$HOME."/.vim/bundle/vim-easygrep/plugin/EasyGrepFileAssociations"

After typing \vv, the keyword under cursor is greped and the output is displayed in the quickfix window. Then I type :ccl<CR> to close the quickfix window.
However, if I type \vv to do another search, the quickfix window can't be shown anymore. I have to manually type :cope<CR> to get it back.

same on me


Crash when scanning ex_cldr

I got these errors below when running mix gradializer on a project with ex_cldr. Is there anything  I missed here?
** (FunctionClauseError) no function clause matching in :gradualizer_lib.pick_value/2

    The following arguments were given to :gradualizer_lib.pick_value/2:

        # 1
        {:type, 0, :module, []}

        # 2
        {:env, %{{:normalize_lenient_parse, 3} => [{:type, 0, :any, []}], {:known_cldr_territory, 1} => [{:type, 0, :any, []}], {:normalize_lenient_parse, 2} => [{:type, 0, :any, []}], {:put_locale, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_reference}, []]}]}, {:type, 1, :union, [{:type, 1, :tuple, [{:atom, 1, :ok}, {:remote_type, 1, [{:atom, 1, Cldr.LanguageTag}, {:atom, 1, :t}, []]}]}, {:type, 1, :tuple, [{:atom, 1, :error}, {:type, 1, :tuple, [{:type, 1, :module, []}, {:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}]}]}]}]}, []]}], {:known_gettext_locale_name, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}]}, {:type, 1, :union, [{:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}, {:atom, 1, false}]}]}, []]}], {:known_currencies, 0} => [{:type, 0, :any, []}], {:unknown_locale_names, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:type, 1, :list, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}]}]}, []]}], {:validate_calendar, 1} => [{:type, 0, :any, []}], {:default_locale, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:type, 1, :union, [{:remote_type, 1, [{:atom, 1, Cldr.LanguageTag}, {:atom, 1, :t}, []]}, {:type, 1, :no_return, []}]}]}, []]}], {:known_gettext_locale_name?, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}]}, {:type, 1, :boolean, []}]}, []]}], {:with_locale, 2} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.LanguageTag}, {:atom, 1, :t}, []]}, {:type, 1, :fun, []}]}, {:type, 1, :any, []}]}, []]}, {:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}, {:type, 1, :fun, []}]}, {:type, 1, :any, []}]}, []]}], {:ellipsis, 4} => [{:type, 0, :any, []}], {:known_locale_name, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}]}, {:type, 1, :union, [{:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}, {:atom, 1, false}]}]}, []]}], {:__cldr__, 1} => [{:type, 0, :any, []}], {:known_rbnf_locale_names, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:type, 1, :list, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}]}]}, []]}], {:quote_marks_for, 1} => [{:type, 0, :any, []}], {:known_number_systems, 0} => [{:type, 0, :any, []}], {:quote, 2} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}, {:remote_type, 1, [{:atom, 1, Keyword}, {:atom, 1, :t}, []]}]}, {:remote_type, 1, [{:atom, 1, String}, {:atom, 1, :t}, []]}]}, []]}], {:ellipsis, 1} => [{:type, 0, :any, []}], {:ellipsis_chars, 1} => [{:type, 0, :any, []}], {:default_territory, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :territory_code}, []]}]}, []]}], {:validate_locale, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:type, 1, :union, [{:remote_type, 1, [{:atom, ...}, {...}, ...]}, {:remote_type, 1, [{...}, ...]}, {:remote_type, 1, [...]}]}]}, {:type, 1, :union, [{:type, 1, :tuple, [{:atom, 1, :ok}, {:remote_type, 1, [...]}]}, {:type, 1, :tuple, [{:atom, 1, :error}, {:type, 1, ...}]}]}]}, []]}], {:validate_number_system, 1} => [{:type, 0, :any, []}], {:known_locale_name?, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}]}, {:type, 1, :boolean, []}]}, []]}], {:known_calendars, 0} => [{:type, 0, :any, []}], {:validate_territory, 1} => [{:type, 0, :any, []}], {:known_locale_names, 0} => [{:type, 0, :any, []}], {:known_territories, 0} => [{:type, 0, :any, []}], {:quote, 1} => [{:type, 0, :any, []}], {:known_gettext_locale_names, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:type, 1, :list, [{:remote_type, ...}]}]}, []]}], {:known_cldr_locale, 2} => [{:type, 0, :any, []}], {:ellipsis, 2} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{...}, ...]}, {:remote_type, 1, [{...}, ...]}]}, []]}], {:get_locale, 0} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, []}, {:remote_type, 1, [...]}]}, []]}], {:lenient_parse_map, 2} => [{:type, 0, :any, []}], {:do_validate_locale, 1} => [{:type, 0, :any, []}], {:known_number_system_types, 0} => [{:type, 0, :any, []}], {:known_rbnf_locale_name, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{...}, ...]}, []]}], {:known_rbnf_locale_name?, 1} => [{:type, 1, :bounded_fun, [{:type, 1, :fun, [...]}, []]}], {:available_locale_name?, 1} => [{:type, 0, :any, []}], {:__info__, 1} => [{:type, 1, :bounded_fun, [{:type, 1, ...}, []]}], {:validate_number_system_type, 1} => [{:type, 1, :bounded_fun, [{:type, ...}, []]}], {:validate_currency, 1} => [{:type, 0, :any, []}]}, %{}, %{}, %{module: DesignSync.Cldr, records: %{}, types: %{}}, false, false, true, [], 30, [{:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.LanguageTag}, {:atom, 1, :t}, []]}, {:type, 1, :fun, []}]}, {:type, 1, :any, []}]}, []]}, {:type, 1, :bounded_fun, [{:type, 1, :fun, [{:type, 1, :product, [{:remote_type, 1, [{:atom, 1, Cldr.Locale}, {:atom, 1, :locale_name}, []]}, {:type, 1, :fun, []}]}, {:type, 1, :any, []}]}, []]}], false}

        (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/gradualizer_lib.erl:160: :gradualizer_lib.pick_value/2
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/gradualizer_lib.erl:196: :gradualizer_lib."-pick_value/2-lc$^2/1-2-"/2
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/gradualizer_lib.erl:197: :gradualizer_lib."-pick_value/2-lc$^2/1-2-"/2
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/gradualizer_lib.erl:197: :gradualizer_lib.pick_value/2
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/gradualizer_lib.erl:154: :gradualizer_lib."-pick_values/2-lc$^0/1-0-"/2
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/typechecker.erl:3854: :typechecker.check_clauses_intersection_throw_if_seen/5
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/typechecker.erl:3792: :typechecker.check_clauses_intersection/5
    (gradualizer 0.2.0+build.1574.ref1498d17) /Users/dr_selump14/schueco-dev/repos/design_sync/deps/gradualizer/src/typechecker.erl:3706: :typechecker.check_clauses_fun/3

Hi, @drselump14!
Thanks for the report. It's a valid report about a problem in Gradualizer, the typechecking engine that Gradient uses. We'll look into it 👍

Thanks @erszcz , I really appreciate it


Use better filenames for the pkls so they don't get overwritten

I suggest passing a "run name" as argument to avoid having super long file names specifying every single parameter of the runs. The run name would prefix both the pkl file names & the results csv files.
Is there a better third option? Or do people usually eat the super long file names to avoid having to track how they called their runs? (The full parameters and metadata of each run would be saved in a json file).


get rid of explicit memo/cache accesses wherever possible

if the role doesn't exist in aws, every single apply/install it hits aws for every task definition with a non-existent role. if we have hundreds of them, which I ran into it broke locally. with a mappers.role.cloud.read(roleName, ctx) on every call, we are not resilient to certain installs. however, for the uninstallation and installation only the top level modules get loaded in the cache. dependencies don't get loaded so we have to check if the cache is loaded before a mappers.role.cloud.read(roleName, ctx) then
      if (td.taskRoleArn) {
        const roleName = AwsIamModule.utils.roleNameFromArn(td.taskRoleArn);
        // there can be hundreds of task defintions so don't do an aws call for each
        if (!Object.values(ctx.memo?.cloud?.Role ?? {}).length) {
          try {
            out.taskRole = await AwsIamModule.mappers.role.db.read(ctx, roleName) ??
            AwsIamModule.mappers.role.cloud.read(ctx, roleName);
          } catch (e) {
            // Role could have been deleted
            logger.error('Role not found', e as any);
            out.taskRole = undefined;
          }
        } else {
          out.taskRole = await AwsIamModule.mappers.role.db.read(ctx, roleName) ??
            ctx?.memo?.cloud?.Role?.[roleName ?? ''];
        }
      }

ideally we get rid of this logic in the module definition

Concrete steps to tackle this:

If we make the updateOrReplace function choose between an update function and a replace function, we can reduce the "branchiness" of the current update function that is the usual source of the need to get access to the memo. (This replace function could also have a default implementation so it isn't even necessary to specify most of the time, since it can just be a pair of delete and create calls.)
If we add a third, optional argument for the existing cloud entities that these functions can just consume when needed, we eliminate most of the rest of the uses of memo.
Adding a couple of functions to the Context object to let a method choose to bust the cache, or replace a cache value without actually mutating the database or cloud (used in one weird place in the security group mapper), we can have a typed mechanism for memo manipulation that eliminates the final usages.


Vue.js Documentation are Added Under Official Docs

Vue.js Documentation are Added in Official Docs in Resources

Fixes Issue
Closes  #1181

Changes proposed

Official Documentation for Vuejs is added under Offical Docs Section
Screenshots

Note to reviewers

@rupali-codes  Please review and merge  my pull request

Hey @rupali-codes I make the Necessary changes