Separate API from the JRuby implementation

For the moment, interfaces like the one defined in the org.asciidoctor.ast package for the AST are available in the asciidoctorj project. In my opinion, they should be separated in a asciidoctorj-api project, that have no dependency on JRuby.

In order to perform tests, there is the need to have a second project: asciidoctorj-tck that define tests on the object defined in asciidoctorj-api regardless of the underlying implementation.
I am not really familiar with this construct, but the tests in asciidoctorj-tck needs to be abstract and needs to delegate some functionality to the underlying implementation.
Take as example the test: WhenAsciiDocIsRenderedToDocument# should_find_elements_from_document()
The first line is implementation specific:
        Document document = asciidoctor.load(DOCUMENT, new HashMap<String, Object>());

This could correspond to an abstract method in the TCK:
        abstract String loadDOCUMENT();

(of course the DOCUMENT String should also be part of the TCK)
The rest of the method is not implementation specific and should be in the TCK:
        Map<Object, Object> selector = new HashMap<Object, Object>();
        selector.put("context", ":image");
        List<StructuralNode> findBy = document.findBy(selector);
        assertThat(findBy, hasSize(2));

        assertThat((String)findBy.get(0).getAttributes().get("target"), is("tiger.png"));
        assertThat(findBy.get(0).getLevel(), greaterThan(0));

I will start to experiment in this direction on the asciidoctorj-1.6.0 branch. If the result is good enough, I will propose a Pull-Request.
Please provide early feedback if you think the approach is wrong or if you have better patterns in minds to separate API and JRuby-implementation.

This seems like a great direction for the 1.6.0 branch. :+1:

Sounds good.
If we split it up, should we already take modularization into account and try to make the packages disjoint?

I have started with the org.asciidoctor.ast package.

If we split it up, should we already take modularization into account and try to make the packages disjoint?

Any Idea what I should do with:

org.asciidoctor.ast.NodeCache
org.asciidoctor.ast.NodeConverter

They depend on JRuby and they should stay in the asciidoctorj project.
In my opinion package org.asciidoctor.ast belongs to asciidoctorj-api
I guess this is a split-package problem. Isn’t it?

I have started something here:
https://github.com/jmini/asciidoctorj/tree/patch-1
With commit 8742acd I have moved the org.asciidoctor.ast package to the asciidoctorj-api project.

This is a nice start!
I added a comment to this commit.
NodeCache is a utility class that helps to keep the association between a Ruby node and the corresponding Java counterpart. It hides the Java node as a property of the Ruby node.
So this should stay in the impl module, same for the NodeConverter.
I cannot tell atm why it is in this package, moving it to an internal package shouldn't be so much of a problem.
The split package problem with Java 9 modules would require us to not share any packages between two jars, i.e. if org.asciidoctor.ast is in the api module, org.asciidoctor.ast.impl cannot be in another module.
(If we would ever reach this point, it would also require JRuby to work as a module, which looks like a lot of work, so this might be something to consider later, but possibly before a release of 1.6.0)

The split package problem with Java 9 modules would require us to not share any packages between two jars, i.e. if org.asciidoctor.ast is in the api module, org.asciidoctor.ast.impl cannot be in another module.

I was not aware that the packages are hierachical in Java 9.
Maybe we can use 'org.asciidoctor.ast_impl' in the asciidoctorj-core project. This way the package containing the implementation (currently org.asciidoctor.ast.impl) is not contained in org.asciidoctor.ast.

I was not aware that the packages are hierachical in Java 9.

Just tested and you're right. Somehow I thought that if module A has package p1, the  module B could not have p1.p2. But it seems like it seems to work indeed.
So simply forget my comment ;-)

BTW it's probably best if you forget everything I was saying wrt Java 9.
If we can get closer to it now it would be nice, if not we'll get there later :-)

The packages also plays an important role for OSGi. I need to perform some tests in this area (since 2015 I stopped to use Equinox when I stop to work on Eclipse RCP Application), because if we let it like this org.asciidoctor.ast is now exposed by 2 jars.

About your remark on org.asciidoctor.internal.CaseInsensitiveMap it is used in the method: org.asciidoctor.ast.DocumentHeader.createDocumentHeader(Title, String, Map<String, Object>).
There are 4 classes in org.asciidoctor.ast that do not depend on JRuby but that are not interfaces:

Author
ContentPart
RevisionInfo
StructuredDocument

What is the idea here? Transform them to interfaces (this is probabelly more correct for an API project).

As user I have a good idea of the difference between an API project and one implementation, but I am really new at coding one.

I really like the approach of doing steps that are as small as possible.

These 4 classes seem to sit on top of the other AST classes.
I haven't touched them yet, as they don't come into play in extensions (to my knowledge)
But yes, it would be good to split out interfaces for these as well.

I have started a first Pull Request with the move of org.asciidoctor.ast to a new project: asciidoctorj-api.
https://github.com/asciidoctor/asciidoctorj/pull/590
This a first step to solve this issue, but this is not the complete story.
My next step would be to create the testing support for the api project (input welcomed).
Then other packages should also be moved into the asciidoctorj-api project (for example org.asciidoctor.converter).

As far as I have tested, it is OK to have the same package in 2 OSGi modules.
That said, the two classes (org.asciidoctor.ast.NodeCache, org.asciidoctor.ast.NodeConverter) could be moved to org.asciidoctor.ast.impl of asciidoctorj-core as suggested before in this discussion.

While I was working on an alternative implementation, I noticed that it would be nice if the method signature for method returning list would be changed. The generics parameter should contains a wildcard. Example:
OLD:
public List<ContentPart> getParts();

NEW:
public List<? extends ContentPart> getParts();

See commit: c36f894
For me this is a second step/topic. What is your opinion, should I push something like that in PR #590 or should I wait?

Makes sense to me as these lists are never passed back again as parameters to AsciidoctorJ.

Thank you for your feedback... What is your workflow for the multiple changes:

One PR with multiple commits
One PR with a single commit (for the subtopics)
Multiple PR for the different subtopics

Just do it in one PR, that's fine.
If you don't make it one commit I'll probably squash them when merging.
So feel free to rebase/fixup your PR as you like.
I'll test it out manually before merging.
(Sorry for being so slow in responding, days are long at the moment.)

I have pushed more commits to #590. The discussed change with wildcard and other cleanup commits that I made by reviewing the code.
(No worries about your review pace, for a non-commercial open-source project, it is good. I am very happy to get your feedback)

I can't imagine that this is possible at the moment.
The NodeFactory isn't exposed as a public API and nodes are always bound to one Asciidoctor or Ruby instance.

new PR for the next package: #603 (org.asciidoctor.converter)

new PR for the org.asciidoctor package #606. org.asciidoctor.Asciidoctor can not be moved yet (A solution for extension is needed).


make it possible to skip tls validation of https alertmanager backend

Our alertmanager instance comes with self-signed certs by vendor (IBM ICP).
It would be nice if you could provide a flag to skip validation of certificate.
I could not find any env var to set this which go would act on - so it seems it has to be coded as an option/flag to pass.
Get https://monitoring-prometheus-alertmanager.kube-system:9093/alertmanager/api/v1/silences: x509: certificate signed by unknown authority

Any chance you can build code from #410 to verify that it works for you? I made a quick PR while waiting on a train, so not 100% sure if it covers everything. Thanks!

No cigar so far, I checked out the branch, did make docker-image and updated the manifest:
- env:
    - name: ALERTMANAGER_URI
      value: https://monitoring-prometheus-alertmanager.kube-system:9093/alertmanager
    - name: ALERTMANAGER_TLS_INSECURE_SKIP_VERIFY
      value: "true"
    - name: ALERTMANAGER_TLS_INSECURESKIPVERIFY
      value: "true"
    image: fsnexus.evry.com:8085/evryfs/karma:v0.22-17-gb0fc4fc
    imagePullPolicy: IfNotPresent

but  still the same

It only works with a config file (if at all), I can add a flag for single am mode

 configMap:
      enabled: true
      rawConfig:
        alertmanager:
          interval: 60s
          servers:
          - name: icp-alert-manager
            uri: https://monitoring-prometheus-alertmanager.kube-system:9093/alertmanager
            tls:
              insecureSkipVerify: true

time="2019-02-01T16:16:31Z" level=error msg="[icp-alert-manager] request to https://monitoring-prometheus-alertmanager.kube-system:9093/alertmanager/api/v1/silences failed with 400 Bad Request"

doh:
<head><title>400 No required SSL certificate was sent</title></head>

so i guess the fix works - but I need to figure out the setup and pass some client cert

Thanks!


MINOR: updated incorrect JavaDocs for joins

\cc @miguno @dguy @enothereska

Updated.

@guozhangwang Call for review and merging.

@guozhangwang Can you cherry-pick to 0.10.2, too?

Cherry-picked to 0.10.2.


Bookmarklet not closing

X doesn't seem to work on Chrome & FF.
@meganwaps, can you flesh this out?

This definitely works for me on the newest version

Just tried it again, still working

Ooh, but there may be a bug where if you open the bookmarklet on a page, then close it, then open it again on the same page, it never goes beyond the spinner and the x button doesn't work at that point... technically people should not do this, they use the bookmarklet then move on, but should look into this in the morning.
But, if you are actually not able to close even the first time, that is pretty weird because I can.
If it would help for testing now and in future, I could have the bookmarklet and the plugin actually show their version numbers down at the bottom of their UI, in small letters. Maybe that is useful, maybe not. Can't do just now though, but as long as you have got yourself a new bookmarklet from your account page, you should be on the newest version.

@JosephMcArthur @markmacgillivray 'X' not working on Safari either.

@markmacgillivray I'm unable to 'X' out on Safari even when the button isn't on the 'spinner'. It has occurred every time I've used it in Safari. I usually have to just exit the tab.

I've just tested on safari and firefox with a new bookmarklet and the X button works for me on both. I think for now we'll have to go with it as is, and if you can get a video of the issue occurring, I can try to resolve later.

Okay, it just shut for me on Safari. Didn't try it twice. More testing needed, but yes, hints that this is infact okay.

@meganwaps have you made any progress here?

This is no longer an issue for myself on Safari. I suggest we close this issue, unless anyone else is still experiencing this issue?


Update instructions to follow git-it-electron

Pre-Submission Checklist

[ ] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #13690

Description

Created new instructions to match the newer version of the Git-it desktop app.

A few things to note -

This PR targets the backup/staging branch, as staging doesn't appear to have this challenge.
When I ran tests locally, I got some failures locally due to the "Friendly Date Ranges" challenge. As far as I remember, that challenge was removed from the map.
I wrote these instructions after performing a fresh setup/installation and completion of the git-it-electron app on Windows.

Closes #13690
@raisedadead Please review!

Hey @Manish-Giri can you try and rebase this to resolve the build issue.

@raisedadead I am a little confused.
I looked at both the changes made by @Manish-Giri and the error messages from the build fail.

It didn't seems like the error that causes the build fail occurred from the changes @Manish-Giri made. Is it possible that @Manish-Giri made this changes based on a failing base that is already fixed?

Closing, please reopen when ready and the build is fixed.


Support for partial search

If node['ossec']['use_partial_search'] is set to true, use a partial search instead of a full node search to avoid running the node out of memory.

I merged this in but used the new partial search format and removed the ability to disable it


Update aws-java-sdk-bundle to 1.12.297

Updates com.amazonaws:aws-java-sdk-bundle from 1.12.290 to 1.12.297.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #2316.


DEVCOM.JetBrainsMonoNerdFont version 2.3.3

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

From the changed files, this appears to add only TTF files.

@wingetbot waivers Add Validation-No-Executables


3 to 4

➡ Forward port
Port ign-rendering3 to ign-rendering4
Branch comparison: https://github.com/ignitionrobotics/ign-rendering/compare/ign-rendering4...ign-rendering3
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)

Oh this looks like a duplicate of #270. I see that one has clean CI and is approved, so I'll merge it now.

Oh this looks like a duplicate of #270. I see that one has clean CI and is approved, so I'll merge it now.

Oops, sorry, didn't see that :grimacing: I'll close this.


Service retirement request should be per region.

Service is not based on zone. The retirement request should not be per zone.
Fix https://github.com/ManageIQ/manageiq/issues/18558
@miq-bot assign @tinaafitz
@miq-bot add_label bug, changelog/yes

@bdunne @d-m-u Please review.

@lfu Can this be ivanchuk/yes and hammer/yes?

@miq-bot add_label ivanchuk/yes, hammer/yes

Hammer backport details:
$ git log -1
commit f5a156b6583ca757b84e372455df7b1c5b95e368
Author: Brandon Dunne<EMAIL_ADDRESS>Date:   Tue Aug 20 16:36:52 2019 -0400

    Merge pull request #19143 from lfu/dup_service_retire_request_18558

    Service retirement request should be per region.

    (cherry picked from commit 3ab4626c51447481724d8b720c9e83c0ee788a9d)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1764197

Ivanchuk backport details:
$ git log -1
commit 541bf15ec244bc033bbdc7b3ca40c710ceec74b4
Author: Brandon Dunne<EMAIL_ADDRESS>Date:   Tue Aug 20 16:36:52 2019 -0400

    Merge pull request #19143 from lfu/dup_service_retire_request_18558

    Service retirement request should be per region.

    (cherry picked from commit 3ab4626c51447481724d8b720c9e83c0ee788a9d)

    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1767824


What is the advantage of using gluonnlp.utils.parallel?

Question about the library
The machine translation example with transformers uses parallel. How is this different from the automatic parallelism  which is built into MxNet? When should one use it?
Thanks

When you got a really fast GPU, a single python thread could be relatively slow to push computation to all GPUs when the batch size is small (GPU computation time is short). The parallel API is an attempt to improve that. If training time is not your bottleneck, you don't need to use it

Thanks. This makes sense. I guess the best way to know whether you would need it is to actually implement both and see whether you are gaining any performance. Other than that, are there any rules of thumbs on GPU type and batch size which can help me decide this without actually implementing both? I am using V100s available on EC2.

You're right. We might work on a simpler API that don't require users to inherit from the interface so that users only need to change 1 or 2 lines of code. But not yet started.
What is the network architecture and model parameter size? Is your model a hybrid block?

My network is on the bigger side. I have BERT as the encoder (which is hybrid), but the overall network is not hybrid.

Hi @eric-haibin-lin  is it possible to use the parallel module (modified, including only forward) to do a parallel forward pass? What I need to do is something like (demo pseudo-code):
class SomeNet(HybridBlock):
    def __input__(self, SomeArguments):
         super().__init__(self)

         net = gluon.HybridSequential()
         for _ in range(5):
             net.add(gluon.nn.Conv2D(channels=32,kernel_size=3,padding=1))
        self.convs = net
    def forward(self, *inputs):
        # Here inputs is a list of mx.np.array() of different spatial size
        outs = []
        for input, conv in zip(inputs,self.convs):
            outs = outs + [conv(input)]
        return outs

I just found your answer and I will test it, but I would appreciate your expert advice.
Regards,
Foivos

@feevos you can adapt the parallel function for the purpose of pushing work to GPU more efficiently. The main purpose of that interface is to push work with multiple threads using multithreaded queues. See https://github.com/dmlc/gluon-nlp/blob/v0.x/src/gluonnlp/utils/parallel.py#L125-L139. For forward-only, you just need to implement only the forward part, in which case autograd.record isn't needed.

Thank you very much @szha !!!


New syntax error under 0.0.6

let now = fun () :time => {
  (0,0,0)
}

@yunxing

@chenglou Are you still able to reproduce this? I can't reproduce it on my end.
~/p/ocaml $ cat try.re
let now = fun () :time => {
  (0, 0, 0)
}
~/p/ocaml $ refmt -parse re -print re try.re

let now () :time => (0, 0, 0);

I think @SanderSpies recently added support for this, correct?

Correct, but also can't reproduce the issue with this code.
On Jun 17, 2016 11:16 AM, "Jordan W"<EMAIL_ADDRESS>wrote:

I think @SanderSpies https://github.com/SanderSpies recently added
support for this, correct?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/reason/issues/592#issuecomment-226721242,
or mute the thread
https://github.com/notifications/unsubscribe/ABEABc4oVAYJzosY6WU3KB1miFEBUn19ks5qMmX5gaJpZM4I21n5
.

Cheng must have had an older version pinned (we likely haven't updated the readme to pin the newest version).

@chenglou Are you still able to reproduce this issue now?

Fixed, thanks.


[Bug]: logto stop working after pulling latest image

Description
I pulled the latest image of Logto into my Coolify self-hosted instance.
The container do no start properly.
Minimal Reproduction (if possible, example repository)
Selfhosted Coolify
Pull the latest Logto image
Exception or Error
HEre is the log outpu inside the coolify service :
2024-09-05T14:24:05.831928715Z > cli
2024-09-05T14:24:05.831933597Z > logto db seed --swe
2024-09-05T14:24:05.831936939Z
2024-09-05T14:24:07.297806559Z info Seeding skipped
2024-09-05T14:24:07.459022165Z
2024-09-05T14:24:07.459039945Z > start
2024-09-05T14:24:07.459044520Z > cd packages/core && NODE_ENV=production node .
2024-09-05T14:24:07.459048527Z
2024-09-05T14:24:08.226984002Z (node:44) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
2024-09-05T14:24:08.227006919Z (Use node --trace-warnings ... to show where the warning was created)
2024-09-05T14:24:09.719134059Z cache    warn No Redis client initialized, skipping
2024-09-05T14:24:10.023404526Z pre      error Found undeployed database alterations, you must deploy them first by npm run alteration deploy command.
2024-09-05T14:24:10.023417956Z
2024-09-05T14:24:10.023421274Z  See https://docs.logto.io/docs/references/using-cli/database-alteration for reference.
2024-09-05T14:24:10.023424103Z
2024-09-05T14:24:10.023484634Z index    error Error while initializing app:
2024-09-05T14:24:10.026202400Z index    error Error: Undeployed database alterations found.
2024-09-05T14:24:10.026208318Z     at checkAlterationState (file:///etc/logto/packages/core/build/main-HJQVK3RU.js:25850:9)
2024-09-05T14:24:10.026211213Z     at async Promise.all (index 0)
2024-09-05T14:24:10.026213904Z     at async checkPreconditions (file:///etc/logto/packages/core/build/main-HJQVK3RU.js:25814:3)
2024-09-05T14:24:10.026216537Z     at async Promise.all (index 3)
2024-09-05T14:24:10.026219136Z     at async file:///etc/logto/packages/core/build/main-HJQVK3RU.js:25886:3
Version
v4.0.0-beta.329
Cloud?

[ ] Yes
[X] No

I'm experiencing the same error when using Coolify v4.0.0-beta.331

A rollback should fix it.
To fix it for future updates it looks like you need to run the database alteration deployment commands.
You should be able to do this from the cli if you've installed it globally on your machine. Not your server, the personal machine you use to develop applications that use logto.
I would make a backup first before going through the steps they outline here:
https://docs.logto.io/docs/references/using-cli/database-alteration
version 1.19.0 is currently the latest.

same issue here, but i tried the database-alteration and it said there was none

The command npx @logto/cli db alteration deploy 1.19.0 resolved the issue for me.

I fixed it by changing line 10 in the docker compose file to:
- 'npm run alteration deploy latest && npm run cli db seed -- --swe && npm start'
That will always run the latest alternations if there are any when starting the service.
Maybe that should be here by default? @andrasbacsai

@jobnbackpack This seems to fail for new services.


Search only shows results for enabled/active channels

Trying to search through thousands of channels (deactivated) isn't very conducive to setting up threadfin. Why would the search only be limited to active channels?

Because it's a table search and inactive goes to a different table. You can always use Find in page chrome search


docs: fix title typo

Thank you for your interest. I apologize for the delay in responding; I was quite busy and unable to review your PR promptly. I've resolved the issue on my own while working on the Readme.
Again, I apologize for the delay. I appreciate your interest in my work


chore: simplify Dockerfiles

Consolidates on a single Dockerfile for all primary services. Language-specific runners require a separate Dockerfile each in the form Dockerfile.runner-<language>. Build all of these with just build-docker <name>, eg. just build-docker runner-jvm.
Also adds a just list-docker-images, and updates ci.yml to build via a matrix using this.

[!WARNING]
In order to simplify the Dockerfiles this changes a bunch of environment variables , which might break due to downstream infra that set the old values.

I think we also need to update the release workflows.

Already done :)

Also the Justfile in ./deployments needs to be updated, as it was relying on the .test dockerfiles.

Updated, but I'm not sure it's being exercised in CI (?), so it might need a manual check potentially.

Also the Justfile in ./deployments needs to be updated, as it was relying on the .test dockerfiles.

Updated, but I'm not sure it's being exercised in CI (?), so it might need a manual check potentially.

Mmm well some of the CI jobs are failing, so I guess that answers that question 😂

Smoke Test Upgrade Path got broken by a different PR, so don't worry about that one. I can look at fixing TestKubeScaling tomorrow if you want.

Ah, kk.

Mmm okay I spoke too soon; everything is working except TestKubeScaling :(


Link to www.holoviz.org in the About section not working.

The description of this project links to www.holoviz.org which cannot be resolved (at least from the WiFi I'm in currently). Dropping the subdomain www. seems to fix this.

Thanks! Can you give a URL for the page where you found this problem?  I don't see such a link at view-source:http://holoviz.org/about.html or https://raw.githubusercontent.com/holoviz/holoviz/master/README.md or anywhere in the repo right now.

Github entry page:

Ah, thanks!


Review gemml

Adds docstrings and type hints to libs, utils, tasks.

One should add all return types and replace the feature-types by the FeatureSpecification type from eolearn.core.types.
However, one has to ensure that the number of accepted features is specified then.
That is, I suggest we continue as is for now and wait for the feedback from Sinergise.
Thanks a lot for the work!


Book description wip

This is a WIP Branch
Description

I've assigned books to an ISBN and then found their description. I don't have the process for finding ISBN in this notebook.( But I'm just using a library and I can provide that code if you want. )
Link the Issue which this resolves
The books didn't have a description and now they do. I'm working towards the similarity algorithm and will soon be finished.
The ipynb can be found in notebooks folder

Affected Dependencies
My work doesn't interact with the webapp yet.
How has this been tested?
Not sure how to answer this. Manually, I think.
GIF Before
NA
GIF After
Checklist

[ ] I have followed the Contribution Guidelines.
[ ] My changes do not edit/add any unrequired files.
[ ] My changes are covered by tests.

@maneprajakta If there is a library that can give book description/summary we can replace the scraping from goodreads right, Wdyt?

@maneprajakta If there is a library that can give book description/summary we can replace the scraping from goodreads right, Wdyt?

Yes we can :+1:

@knmehta12 Any updates?

No sir. I haven't worked on it for a while since my exams are going on. Also I just discovered that some descriptions are in other languages so their characters are Non ASCII so I'll have to fix that first then use a model. :)

No sir. I haven't worked on it for a while since my exams are going on. Also I just discovered that some descriptions are in other languages so their characters are Non ASCII so I'll have to fix that first then use a model. :)

Alright, that's fine. Good luck for your exams
Just keep us in the loop :)

There seems to be two notebooks could you point to the correct one, and remove the other one

@knmehta12 could you add the code for the part how you created the desc.csv file also in the same notebook.

It actually requires sending a lot of http requests so I had to do that at intervals over a period of a couple days. I have uploaded desc.csv file so you can just put it there and run it.

I think it would be good to have something we can verify, from where did you extract the desc?

Sure I'll upload a notebook for that. I extracted these from a library isbnlib that takes data from google books. :)

Alright,here are some of the things we would need

The new dataset(with description) - as exactly as the goodbooks one except with one column added
A notebook very similiar to this- preferrably google collab(a link will do, no need of uploading) - you will only need to copy paste your code into the CV section.

We will be only using the cosine_rating_sim file from your PR at the end and discard other files as other files are only needed for review

Let us know when it's ready for review :)

Yes sure. It'll take a day or two. thank you for guiding me.

New PR #210


Integrating Hover SDK for Offline M-Pesa Payments in Android with Kotlin

Integrating Hover SDK for Offline M-Pesa Payments in Android with Kotlin
Introduction paragraph (2-3 paragraphs):
Hover automates existing USSD sessions in the background of Android applications.
The SDK can run virtually any USSD interaction on any mobile operator globally. This includes mobile money payments, banking services, airtime topup, bill pay, bundle purchases, and more.
Features of Hover SDK

In-app payments - running any USSD-based mobile financial service at the tap of a button
Data without internet access - doing the payments while offline (not connected to the Internet)
Customizable UX - Make USSD-based services more accessible and design beautiful user experiences

Key takeaways:

Get to know how Hover works
What are Actions, how to create and configure the actions you'd like to support
Integrating the SDK into your app
Customize the user experience
Testing and pushing to production

References:

https://www.usehover.com/

Good afternoon and thank you for submitting your topic suggestion. @JoelKanyi
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Thank you @ahmadmardeni1

Closed #3424 via #3696


S***t just got serious: unit-testing

Small integration to unit testing, we use GTest (should be already available inside stan/math but I'm using my sistem's library for the moment).
I think it's important to start unit testing all the new modifications such as proto stuff, performance improvements ecc ecc...
:)

Nice, I did not know this library. Does this test work? Is there anything I should actually review?

Also, please please do not start branch names with your name. Unfortunately it shares 2 letters with "master" and thus I lose the precious time of 2 additional keystrokes. :eyes:

Also, please please do not start branch names with your name. Unfortunately it shares 2 letters with "master" and thus I lose the precious time of 2 additional keystrokes when switching.

I think that instead having branch names with starting with first name is a really good practice and usually widespread in the industry. I can avoid it for the moment (if I remember) but if we get more developers we should enforce it as a standard!

I said that also because some friends of mine had told me that using given names for branches is bad practice since branches are not "owned" by a person; that should be reserved for forks instead. I guess that we'll just name branches however we like and call it a day


Completion inside strings of *.json files are overridden by the injected variables completion provided by default

VSCode Version: 1.44.0
OS Version: Fedora 31

Steps to Reproduce:

create an extension where you register a CompletionItemProvider on tasks.json files
provide some completion for it
launch the extension
open a tasks.json file
for instance use this content:

{
    "version": "2.0.0",
    "tasks": [
		{
			"label": "My Task",
			"type": "shell",
			"command": "echo Hello",
			"problemMatcher": []
		}
    ]
}

try calling completion inisde a string value (for instance in "echo Hello")

--> there is only the completion for the injected variables, other completions are not available

Does this issue occur when all extensions are disabled?: Yes
To ease reproducing, I created a branch based on vscode-extension-samples.
You can see the only differences provided to test it in this dummy PR https://github.com/apupier/vscode-extension-samples/pull/1
when calling completion on the first line, we can notice that the completion provided by the examples are provided:

if it is called inside String values, only the injected variables are provided:

Looks like this is true of any string value in any json file. If I change the document filter to settings.json instead of tasks.json I see the same behavior.

@apupier What's the document selector  that you use when registering your completion provider?

The variable provider has language: jsonc, '**/task.json an is probably winning as it is more specific than yours. @jrieken for the details.

They are all equals - there is only general match (using *) and all other matches. I'd say this JSON's adventures word definition which means your suggestions are automatically filter unless you set the filterText and/or range properties correctly.

The variable provider has language: jsonc, '**/task.json an is probably winning as it is more specific than yours. @jrieken for the details.

They are all equals - there is only general match (using *) and all other matches. I'd say this JSON's adventures word definition which means your suggestions are automatically filter unless you set the filterText and/or range properties correctly.

I tried to ask on the slack but got no answer.
@jrieken Can you precise what would be a correct value?
Based on the documentation, I don't understand why I should provide any of them. They are both optional. I even less understand why not having them would hide some of the completions.

		/**
		 * A string that should be used when filtering a set of
		 * completion items. When `falsy` the [label](#CompletionItem.label)
		 * is used.
		 */
		filterText?: string;

		/**
		 * A range or a insert and replace range selecting the text that should be replaced by this completion item.
		 *
		 * When omitted, the range of the [current word](#TextDocument.getWordRangeAtPosition) is used as replace-range
		 * and as insert-range the start of the [current word](#TextDocument.getWordRangeAtPosition) to the
		 * current position is used.
		 *
		 * *Note 1:* A range must be a [single line](#Range.isSingleLine) and it must
		 * [contain](#Range.contains) the position at which completion has been [requested](#CompletionItemProvider.provideCompletionItems).
		 * *Note 2:* A insert range must be a prefix of a replace range, that means it must be contained and starting at the same position.
		 */
		range?: Range | { inserting: Range; replacing: Range; };


Try using the magic nix cache action

https://determinate.systems/posts/magic-nix-cache
Let's see if this can help speed up our super slow GitHub actions.

This does appear to really speed up builds.
First build without the cache: took 1h42m
Final build with everything coming from the cache: took only 13m


Verify and normalize prefixes with prefixmaps

Prefixes should be consistent across each namespace and consistent with expectations for downstream use - this should happen during the PHENIO build but an additional round of node QA/QC here with prefixmaps would be helpful.
See https://github.com/Knowledge-Graph-Hub/kg-phenio/issues/64

Or use universalizer https://github.com/Knowledge-Graph-Hub/universalizer


[0.11.0-alpha] Add anti-affinity rules to manager pod

Cherry-pick of #51 to release-v0.11.0-alpha branch.

@israel-hdez this looks good to me. Could you please try to fix openshift-ci for fvt?

/retest

Could you please try to fix openshift-ci for fvt?

@Jooho It is now passing.


some questions about the queue_id ......

I should transform the string into ObjectId, if I want to query and delete it from the mongodb ...
        for queue_id in to_delete:

            # transform
            import bson
            queue_id = bson.ObjectId(queue_id)

            try:
                self.mongo.delete_from_queue({'_id': queue_id})
            except Exception as e:
                self.logger.error('Cannot delete document from queue Error: ' + str(e))

Hello, I feel happy to use your excellent code, however, I am not very good at English，I try to express my point clearly ...
If I have a primary key with the int type,  and I transform it into str here, I can't find the data to delete by using "self.mongo.delete(doc=doc['values'], schema=doc['schema'], collection=doc['table'], primary_key=primary_key)"
maybe it's because the version of the mongodb ?
thank you a lot......


Validate recipient email addresses to prevent invalid ending characters

Fixes #7112

Added a regular expression pattern to identify and invalidate email addresses that end with specific invalid characters.
The validation logic was incorporated into the isValidEmail method, ensuring that any email address ending with characters such as /, ?, =, +, &, ^, %, $, #, !, ', and - is correctly flagged as invalid. (I checked and all the special characters that led to the repeating of this bug scenario were just these.)
Improved error handling, and show an error when the focus is changed from the To, CC, and BCC fields; instead of showing the error after sending the email.

I have implemented everything you asked for. Now, the domain is correctly validated by the use of the function you mentioned, and even if the last character of the email is wrong, that is caught as well, and the relevant error is displayed.
Moreover, all tests have been written and added to the class.

@cketti
I have implemented everything you asked for. Done.

Thanks :+1:

You're welcome.
It's an honor to collaborate on this project. ☺
Thank you for taking the time to review and respond.🙏🏻


Added Linux ARM cmake to travis matrix

This PR requires #350, #353, #355 and can be rebased after those have been merged in. It adds Linux ARM with cmake to the travis yaml.

Having trouble with rebase, opened a new PR instead #359.


Finalise Developer Guide for v1.4

Remember to update Use Cases for each of our own features (including v1.2 if not yet added)

fixed in #310
#297
#288
#287
#284
#283
#282


Unable to get the FormField RequiredIf working

I understand this is not a WTForms code issue per se, but I am struggling really hard to find a solution and this is probably one of the last places I could ask.  So please forgive me if it is inappropriate.
I need to make some fields required if another field is (not) matching a particular value. I got this working nicely for the fields within the same class. However, if I want to achieve the same for fields in another class which are inherited through a FIeldList() + FormField() the logic breaks. Firstly because country_code is unknown in the inherited class and secondly because the RequiredIfNot() __call__ method is not receiving the correct form object.
Assume COUNTRIES is set:
class RequiredIfNot(DataRequired):
    """Validator which makes a field required if another field is set and has a truthy value.
    Sources:
        - http://wtforms.simplecodes.com/docs/1.0.1/validators.html
        - http://stackoverflow.com/questions/8463209/how-to-make-a-field-conditionally-optional-in-wtforms
        - https://gist.github.com/devxoul/7638142#file-wtf_required_if-py
    """
    field_flags = ('requiredif',)
    def __init__(self, message=None, *args, **kwargs):
        super(RequiredIfNot).__init__()
        self.message = message
        self.conditions = kwargs
    # field is requiring that name field in the form is data value in the form
    def __call__(self, form, field):
        for name, data in self.conditions.items():
            other_field = form[name]
            if other_field is None:
                raise Exception("No field named {} in form".format(name))
            if other_field.data != data and not field.data:
                DataRequired.__call__(self, form, field)
            Optional()(form, field)

class ItemsForm(FlaskForm):
    item_description = StringField(
        'Item description', [
            RequiredIfNot(country_code="DE", message='Item description is required')
        ]
    )

class MainForm(FlaskForm):
    country_code = SelectField(
        'Destination country', [
            validators.Required()
        ],
        choices=COUNTRIES,
        default = "DE"
    )
    number = StringField(
        'Invoice number', [
            RequiredIfNot(country_code="DE", message='Invoice number is required')
        ]
    )
    items = FieldList(
        FormField(ItemsForm),
        min_entries=1
    )

My question is:
How do I adjust the RequiredIf() function to have it working in both the MainForm() and for fields in the ItemsForm()?
I tried Mainform.country_code="DE" but that didn't work

SyntaxError: keyword can't be an expression

+1 for this, I'm having the same problem.  I have a FormField in a FieldList and I need to implement RequiredIf within that sub-form, depending on a field in the main form.
It would be possible to write a RequiredIf validator for this if there was a code path from the sub form, to the top-level form.  At the moment it looks like if you have a FormField object, there is no way to navigate back up to the Form or the FieldList that it is a member of.
For example, if there was something like form.get_nearest_parent():
class RequiredIfOtherValue(object):
    """
    Makes a field required, if the user has selected a specific value in another field
    """

    def __init__(self, other_field_name, other_value, *args, **kwargs):
        self.other_value = other_value
        super(RequiredIfOtherValue, self).__init__(other_field_name, *args, **kwargs)

    def __call__(self, form, field):
        other_field = self.get_other_field(form)
        # ... do validation with other_field

    def get_other_field(self, form):
        ctx = form
        while True:
            other_field = ctx._fields.get(self.other_field_name)
            if not other_field:
                ctx = form.get_nearest_parent()    # <- this is the bit we are missing
            if ctx is None:
                break;
        if other_field is None:
            raise Exception('No field named "{0}" in form'.format(self.other_field_name))
        return other_field

Unfortunately this isn't something I feel I could provide a good PR for, as it probably involves some structural stuff in the whole library, and I don't think that I have enough inside knowledge to do it the way you might want.

@richard-jones I eventually figured it out.
Basically you need to add the following code pieces to your forms.py:
class FormFieldValidated(FormField):
    def validate(self, form, extra_validators=tuple()):
        self.form.meta.parent_form = form
        super().validate(form, extra_validators)

class RequiredIfNot(DataRequired):
    field_flags = ('requiredif',)
    def __init__(self, message=None, *args, **kwargs):
        super().__init__()
        self.message = message
        self.conditions = kwargs

    # field is requiring that name field in the form is data value in the form
    def __call__(self, form, field):

        for name, data in self.conditions.items():

            if hasattr(form.meta, "parent_form"):
                other_field = form.meta.parent_form[name]
            else:
                other_field = form[name]

            if other_field is None:
                raise Exception("No field named {} in form".format(name))

            # Allow a tuple of information to compare against
            if isinstance(data, tuple):
                if other_field.data not in data and not field.data :
                    super().__call__(form, field)
            else:
                if other_field.data != data and not field.data:
                    super().__call__(form, field)

            Optional(strip_whitespace=True)(form, field)

class MyForm(FlaskForm):
...
   invoice_number = StringField(
        'Invoice number', [
            RequiredIfNot(country_code=EU_COUNTRIES, message="Invoice number is required")
        ]
    )
...

Where EU_COUNTRIES is a Tuple in this case, or it can be a String:
class MyForm(FlaskForm):
...
    ca_states = SelectField(
        'State', [
            RequiredIfNot(country_code="CA", message="State is required")
        ],
        choices=CA_STATES,
        default = "AB"
    )
...

Hopes this helps!

Thanks for this, much appreciated.  That pretty much did the job.  Just to finish this one off, there were a few tweaks that I had to make to get it to work for real:
The FormFieldValidated function needs a return statement at the end, otherwise it always comes back as invalid:
class FormFieldValidated(FormField):
    def validate(self, form, extra_validators=tuple()):
        self.form.meta.parent_form = form
        return super().validate(form, extra_validators)

I also added a function which allows you to recurse upwards through multiple levels of nested forms, rather than just looking at the first parent:
    @classmethod
    def get_other_field(cls, field_name, form):
        other_field = form._fields.get(field_name)
        if not other_field:
            if hasattr(form.meta, "parent_form"):
                other_field = cls.get_other_field(field_name, form.meta.parent_form)
            else:
                raise Exception('No field named "{0}" in form (or its parent containers)'.format(field_name))
        return other_field

I was surprised to find that it didn't natively support RequiredIf() out of the box. Is this something that can be added to the core WTForms? It looks like it's a functionality that a lot of people could benefit from.


Editor cursor should match the size of surrounding display

Describe the bug

Cursor is too small outside scripts

Cursor is too large inside scripts in scripts

Expected behavior
Editor cursor should match the size of surrounding display.
Environment (please complete the following information):

Platform: CSharpMath.Rendering
Package Version or Commit: 0.4.2
Device: UWP

Additional context
@charlesroddie This should be what you mean, right?

@charlesroddie This should be what you mean, right?

I think you got this feedback not from me but from Sophie and we need to interpret it. The original issue is "cursor too small on phones".
On Word the cursor is thin and tall, and doesn't vary with internal sizing of elements.

In LyX the cursor is thin and tall, and varies in a slightly complex way that corresponds to their substructures. (We shouldn't do this.)

Mathquill is thin and moderately tall, and does vary with internal sizing I think. (Subtle because their superscripts are not much smaller.)

I think:

We should go with the consensus of a thin cursor, which is "full height" for normal-sized text (not in subscripts).
This could be reduced in subscripts as in MathQuill and it would probably be an improvement but a very minor one.

Should the height be equal surrounding display or should there be extra height above and below?

Maybe more height above and below, either the same (LyX) or a bit more height above (Word).

If the cursor would become part of the LaTeX that is displayed (inserting "|" or something like that into the MathList just before displaying it), then it would match its surroundings automatically I think? Assuming that this symbol causes other symbols to move horizontally: when it is invisible temporarily because of cursor blinking, a transparent symbol of equal size should be used, so that the math does not "jump".

Unless we implement drawing or image TeX commands (which we won't), I don't think this can be achieved just with LaTeX. Cursor height matching its surroundings is #158.


Update docs to highlight differences between DefaultOptions and fns

Due to historical reasons, the default options used by bincode for the helper functions at the root of the crate differ from the options in the config module.
Changing the default options is a breaking change, so until a decision is made, we can at least document the current behavior.
Related issue: #348

Looks great! thanks.


Update make bin/* commands to depend on source

Description
We have short cuts in our Makefile to create binary tools. The configuration for these tools is such that if the tool is built it will not be rebuilt. However, Make won't update the binary even after its code is updated. This is because we do not reference the source files in the make configuration. I've updated the Makefile to refer to the command line code directories and now Make will detect code changes. This might not detect changes to other packages that the commands depend on but it's a start in correcting our Makefile configuration.
Reviewer Notes
None
Setup
Pick any of the make bin/* commands, run the make, update the cli files in some way, run make again and it should rebuild.
For example:
make bin/generate-deploy-notes
make: `bin/generate-deploy-notes' is up to date.
// update cmd/generate-deploy-notes/main.go file
make bin/generate-deploy-notes
go build -ldflags "" -o bin/generate-deploy-notes ./cmd/generate-deploy-notes

Code Review Verification Steps

[X] Request review from a member of a different team.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against b2f982d35342584d906c0850b6746b85ca37ecc8

Thanks for noticing and handling this! I did see that when we have source in subdirectories as is the case for prime-api-client and webhook-client that editing a file in the subdirectory does not cause it to rebuild, but editing a file in the main directory does. I suppose we could list all the subdirectories as dependencies too, but there may be a more general way.

Yeah I think we would have to list each sub directory that the cmd depends on. I think it'd be good to do, but was beyond the time I had for this PR.

I also noticed we're inconsistent with the directory naming for these cmd directories -- most of the time we use dashes, but a few times we use underscores. That's probably outside the scope of this PR, but just noting it.

I noticed this too. I'd change it now but there would be a lot of announcing and docs to update hence I'm delaying it until another time.


Remove unneeded options

Change description
Only deploy to saat or sprod, nayab was accidentally deploying to sandbox before
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Removing the usernames/password is okay for now as we are wrongly using IDAM test endpoint; but this will need to be re-instated with the proper authentication flow so that we can stop relying on IDAM test endpoint.


Move Tests from src/Tests/ to tests/

Once the current PR's are merged I will change the test directory from src/Tests to /tests

:+1: :)

:+1: +1:


Fix local dev env setup issues

@dmugtasimov what do you think about adding to README.rst point, what should be changed, or that user should check variables with '<replace ...>' text and replace them. Cause when i had a quick look at local template during installation, i missed and have not noticed, for example this one: BLOCKCHAIN['kwargs']['base_directory'] = '<replace with absolute path to local/blockchain directory>'


kool status returns empty when containers do not exist

Describe the bug
Calling kool status when no containers exist returns no-status at all for each service.

Kool version and environment

kool version 1.9.2

Expected behavior
There should be a message about the not-running or not-existing status for the service containers.

Fixed on master, will be in the next release.


Repo sync for protected CLA branch

The pull request is created from master637732893560395353 to master to fix git push error for protected CLA branch

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


Sign in as Microsoft AzureAD Account

I have an SPA that hosts an iframe which references to a separated login page (login.html). The login page (login.html) simply redirects user to b2c login page which enables sign-in for both local account and social account (Microsoft Azure AD Account). When I try to sign in as social account, iframe fail to load page. console reports following error:
Refused to display 'https://login.microsoftonline.com/' in a frame because it set 'X-Frame-Options' to 'deny'.
I've noticed the following comments from the doc:
Embedded sign-up or sign-in supports local accounts only. Most social identity providers (for example, Google and Facebook) block their sign-in pages from being rendered in inline frames.
Just want to double check if there's any place I can configure to enable this login.microsoftonline.com page being rendered in iframe, for example policy profile or identity provider application.

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

ID: 9cc7b012-d093-e9f3-d2d3-1416f4dfc855
Version Independent ID: c6a1edb4-c62d-3eb5-7707-2170603d1608
Content: Embed Azure Active Directory B2C user interface into your app with a custom policy - Azure AD B2C
Content Source: articles/active-directory-b2c/embedded-login.md
Service: active-directory
Sub-service: b2c
GitHub Login: @kengaderdus
Microsoft Alias: kengaderdus

@rick-hayek
Thanks for your feedback! We will investigate and update as appropriate.

@rick-hayek
Yes, you are correct. According to the fetched documents, most social identity providers block their sign-in pages from being rendered in inline frames.However, you can use a separate policy for social accounts, or you can use a single policy for both sign-in and sign-up with local and social accounts. Then you can use the domain_hint query string parameter. The domain hint parameter takes the user directly to the social identity provider's sign-in page.
Here is an example of how to use the domain_hint query string parameter in your code:

You can find more information about this in the following document:
https://learn.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-spa-app-options


boards: soc: Set zephyr,flash chosen node for i.MX RT boards

Removes the CODE_LOCATION Kconfig symbol from the i.MX RT SoC series and
refactors the corresponding boards to use a device tree chosen node
zephyr,flash instead. This is similar to commit
0797602 which did the same for
DATA_LOCATION and zephyr,sram.

The DTS change is not inline with how SPI flash's should be described. What's the issue in how things are currently?

The way we use Kconfig to set the code location isn't inline with the rest of Zephyr. I've been looking at enabling mcuboot on these SoCs, but I need to be able to choose a fixed-partition or the whole flash for the image. That doesn't really work with the Kconfig-ery we have today.

The way we use Kconfig to set the code location isn't inline with the rest of Zephyr. I've been looking at enabling mcuboot on these SoCs, but I need to be able to choose a fixed-partition or the whole flash for the image. That doesn't really work with the Kconfig-ery we have today.

Why doesn't the partition layout work?  The partition table for the SPI flash should be 0 based, and thus would be an offset from whatever the base address of the qspi region is.  So whatever 'zephyr,code-partition' points to should in theory get added to CONFIG_FLASH_BASE_ADDRESS.

How do you plan to find the flash device in MCUboot? We run MCUboot on i.MX RT now, but I use DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL and a zephyr,flash-controller = &is25wp064; in the devicetree. Don't know if that is the right path tough.

How do you plan to find the flash device in MCUboot? We run MCUboot on i.MX RT now, but I use DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL and a zephyr,flash-controller = &is25wp064; in the devicetree. Don't know if that is the right path tough.

Is this necessary to be set?  If so, what does it need to be set to?  Or can this JEDEC_SPI_NOR_0_LABEL?

I'm not sure, but the relevant code look like this:
#if (!defined(CONFIG_XTENSA) && defined(DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL))
    if (!flash_device_get_binding(DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL)) {
        BOOT_LOG_ERR("Flash device %s not found",
		     DT_CHOSEN_ZEPHYR_FLASH_CONTROLLER_LABEL);
        while (1)
            ;
    }
#elif (defined(CONFIG_XTENSA) && defined(JEDEC_SPI_NOR_0_LABEL))
    if (!flash_device_get_binding(JEDEC_SPI_NOR_0_LABEL)) {
        BOOT_LOG_ERR("Flash device %s not found", JEDEC_SPI_NOR_0_LABEL);
        while (1)
            ;
    }
#endif

Also, @pabigot recently wrote in slack, that:
"First, anything that uses a driver other than the existing spi_nor should not use jedec,spi-nor as a compatible, because that compatible is used for something that's a child of a standard Zephyr SPI bus.  The draft QSPI PRs may do so right now, but they shouldn't."
So, I'm not sure how this is intended to work.

Also, @pabigot recently wrote in slack, that:
"First, anything that uses a driver other than the existing spi_nor should not use jedec,spi-nor as a compatible, because that compatible is used for something that's a child of a standard Zephyr SPI bus. The draft QSPI PRs may do so right now, but they shouldn't."

I should clarify that: if the devicetree node for the flash device is structurally a child of a spi bus (in this case, if there's a Zephyr SPI driver for flexspi), and the flash device actually can be controlled with the spi-nor driver, then jedec,spi-nor is appropriate for the compatible.  If the preferred driver is something else that uses QSPI, say nxp,flexspi-nor, and again the contents of the node are consistent with that binding, then we'd want something like:
		compatible = "adesto,at25sf128a", "nxp,flexspi", "jedec,spi-nor";

￼
allowing somebody to have, in preferred order:

a driver specific to the adesto hardware; or
the flexspi QSPI-aware driver; or
the standard SPI driver

depending on which drivers were enabled by Kconfig.

Thanks!

Superseded by #34845


export from sketch

In GitLab by @psimyn on Oct 26, 2017, 14:45
Goal:
bypass brand.ai, and export SCSS sheet directly from sketch
Examples:
https://github.com/philsinatra/Sketch-Color-Vars

In GitLab by @tauriedavis on Nov 10, 2017, 04:06
@psimyn Won't this have similar problems as exporting from brand.ai?

In GitLab by @psimyn on Nov 13, 2017, 16:56
@tauriedavis very possibly - this was a pipedream for the future, if we want to start removing steps between design and dev

In GitLab by @tauriedavis on Apr 9, 2020, 08:15
Since we aren't using brand.ai and will soon not be using sketch, I think its safe to close this one.

In GitLab by @tauriedavis on Apr 9, 2020, 08:15
closed


Add Circle CI config for Nightly Builds

Following the procedure for Nightly testing of official plugins.
@kaedroho, I do not seem to have the rights to configure the project on Circle CI. Can you set SLACK_WEBHOOK_URL for wagtail-bakery for me? After that, we should be able to merge this PR.

Rebased on master with the fix to factory-boy which was causing the CI to fail.

All configured now, thanks!

Awesome, thanks. Let's see if it runs tonight 🕛

Err I'm stupid, I didn't change the test command in the workflow.. I'll get onto that.


Move this repository in the ralna organization?

@jfowkes
https://github.com/ralna
It's the dummy version that I will precompile with Yggdrasil.

Good question, I will ask at our meeting on Monday.

@jfowkes You can move the repository to the ralna organization. I changed the license.

@amontoison you need to give me owner access otherwise I can't move the repo.


Switch to nested inner-evaluated ARM deployments for the dynamic Keyvault access policies

Which issue this PR addresses:
Fixes an issue blocking deployment to FairFax.
What this PR does / why we need it:
In the current implementation, the evaluation of the reference to the kubeletidentity objectId is taking place whether the deployment condition is matched or not.
This PR switches to an inner-evaluated deployment resource to overcome the issue. There wasn't support for this resource type and the mgmt/features DeploymentPropertiesExtended struct is missing the critical ExpressionEvaluationOptions field, so the types have been declared in our arm module to provide the required support.
Test plan for issue:
Tested against the v4-australiaeast resource group.
Is there any documentation that needs to be updated for this PR?
Nope.

Reviewed with David; appears to be good - will be deployed to INT in short time.
/lgtm


Do you need Unicode text segmentation?

Hi, I'm from the ICU4X team. We're an open source project building i18n components in Rust.
I noticed in your README that you support "basic" line layout. If you need to support full UAX 14 line break, including models for Southeast Asian languages, I wanted to suggest ICU4X, the icu_segmenter crate.
icu4x.unicode.org

We use this for uax 14, is it sufficient https://docs.rs/unicode-linebreak/latest/unicode_linebreak/

Ok! The main extra functionally icu_segmenter brings to the table are the models for Southeast Asian line break.
Actually I think a good solution here would be to have a trait that can be implemented on top of your choice of underlying UAX 14 engine.


[WIP] Release v0.14.0

There is a new method Project#last_update introduced by #102. This is needed by manageiq/manageiq-providers-ansible_tower#73.
Are there any other changes, fixes, features that are going to be included in v0.14?
This PR is currently based on the aforementioned #102:

[ ] Depends on #102 to be merged first.

@jrafanie @bdunne @jameswnl

@Glutexo Please put [WIP] in the PR title and add

[ ] depends on https://github.com/ansible/ansible_tower_client_ruby/pull/102 to be merged first

@miq-bot add_label wip

@Glutexo I released v0.14.0, so this can be closed.

Released by @bdunne. Closing.


Update GFW assets to latest version

Updates  to use new gfw assets implementation:

add correct font to <head />
passing language props directly to the header component

To deploy the REACT_APP_GFW_ASSETS_PATH must be updated to the new url https://gfw-assets.s3.amazonaws.com/static/gfw-assets.latest.js
BONUS: add polyfill for fetch in IE11 support.

Hey @edbrett, reviewing for 3 SIDED CUBE.
Do you have the source for the changes to https://gfw-assets.s3.amazonaws.com/static/gfw-assets.latest.js as well?

Sure @kev2480 here is the repo: https://github.com/Vizzuality/gfw-components. This has a static build output that gets dumped into the s3 bucket.
This is a new repo with a different source to the old assets so you wont see a changes list in there. A quick overview is:

unified styles through components
updated contact us modal fields
customisable language selector (instead of having to hack and append you own like before).

All of these changes are to keep consistent styles and meta for the components.

Thanks @edbrett - good to see the components being unified! :)


[ServiceConnector] az webapp/spring-cloud connection: New command group to support service to service connection

Description

This PR implements Azure ServiceConnector as command group az {source} connection. Currently, the supported {source} are webapp and spring-cloud. In the future, more compute services may be added.
Note. As az {source} connection is released as CLI core module, so for {source} which are in CLI extension (e.g, spring-cloud), we only load az {source} connection when {source} is installed.
Command Interface
Use az webapp connection as an example, as az spring-cloud connection is similar.
// `webapp connection` command group

Group
    az webapp connection : Manage webapp connections.

Subgroups:
    create             : Create a connection between a webapp and a target resource.
    update             : Update a webapp connection.

Commands:
    delete             : Delete a webapp connection.
    list               : List connections of a webapp.
    list-configuration : List source configurations of a webapp connection.
    list-support-types : List target resource types and auth types supported by webapp connections.
    show               : Get the details of a webapp connection.
    validate           : Validate a webapp connection.
    wait               : Place the CLI in a waiting state until a condition of the connection is
                         met.

// `webapp connection create` command group, `update` is similar

Group
    az webapp connection create : Create a connection between a webapp and a target resource.

Commands:
    appconfig         : Create a webapp connection to appconfig.
    cosmos-cassandra  : Create a webapp connection to cosmos-cassandra.
    cosmos-gremlin    : Create a webapp connection to cosmos-gremlin.
    cosmos-mongo      : Create a webapp connection to cosmos-mongo.
    cosmos-sql        : Create a webapp connection to cosmos-sql.
    cosmos-table      : Create a webapp connection to cosmos-table.
    eventhub          : Create a webapp connection to eventhub.
    keyvault          : Create a webapp connection to keyvault.
    mysql             : Create a webapp connection to mysql.
    mysql-flexible    : Create a webapp connection to mysql-flexible.
    postgres          : Create a webapp connection to postgres.
    postgres-flexible : Create a webapp connection to postgres-flexible.
    servicebus        : Create a webapp connection to servicebus.
    sql               : Create a webapp connection to sql.
    storage-blob      : Create a webapp connection to storage-blob.
    storage-file      : Create a webapp connection to storage-file.
    storage-queue     : Create a webapp connection to storage-queue.
    storage-table     : Create a webapp connection to storage-table.

// command `webapp connection list-support-types`

Command
    az webapp connection list-support-types : List target resource types and auth types supported by
    webapp connections.

Arguments
    --target-type -t   : The target resource type.  Allowed values: appconfig, cosmos-cassandra,
                         cosmos-gremlin, cosmos-mongo, cosmos-sql, cosmos-table, eventhub, keyvault,
                         mysql, mysql-flexible, postgres, postgres-flexible, servicebus, sql,
                         storage-blob, storage-file, storage-queue, storage-table.

Examples
    List all webapp supported target resource types and auth types
        az webapp connection list-support-types -o table

    List webapp supported auth types for a specific target resource type
        az webapp connection list list-support-types --target-type storage-blob -o table

// command `webapp connection list`

Command
    az webapp connection list : List connections of a webapp.

Arguments
    --source-id                     : The resource id of a webapp. Required if ['--source-resource-
                                      group', '--webapp'] are not specified.
    --source-resource-group -sg     : The resource group which contains the webapp. Required if '--
                                      source-id' is not specified.
    --webapp                        : Name of the webapp. Required if '--source-id' is not
                                      specified.

Examples
    List webapp connections interactively
        az webapp connection list

    List webapp connections by source resource id
        az webapp connection list --source-id /subscriptions/{subscription}/resourceGroups/
       {source_resource_group}/providers/Microsoft.Web/sites/{site}

// command `webapp connection validate`, `delete`, `list-configuration`, `show` are similar

Command
    az webapp connection validate : Validate a webapp connection.

Arguments
    --connection-name --name -n : Name of the webapp connection.
    --id                        : The resource id of the connection. ['--source-resource-group', '--
                                  webapp', '--connection-name'] are required if '--id' is not
                                  specified.
    --source-resource-group -sg : The resource group which contains the webapp. Required if '--
                                  source-id' is not specified.
    --webapp                    : Name of the webapp. Required if '--source-id' is not specified.

Examples
    Validate a connection interactively
        az webapp connection validate

    Validate a connection by connection id
        az webapp connection validate --id /subscriptions/{subscription}/resourceGroups/{source_reso
        urce_group}/providers/Microsoft.Web/sites/{site}/providers/Microsoft.ServiceLinker/linkers/{
        linker}

// command `webapp connection create {target}`

Command
    az webapp connection create storage-blob : Create a webapp connection to storage-blob.

Arguments
    --account-name -a           : Name of the storage account. Required if '--target-id' is not
                                  specified.
    --client-type               : The client type used on the webapp.  Allowed values: dotnet, java,
                                  nodejs, python, springBoot.
    --connection-name --name -n : Name of the webapp connection.
    --new                       : Indicates whether to create a new storage-blob when creating the
                                  webapp connection.  Allowed values: false, true.
    --no-wait                   : Do not wait for the long-running operation to finish.
    --source-id                 : The resource id of a webapp. Required if ['--source-resource-
                                  group', '--webapp'] are not specified.
    --source-resource-group -sg : The resource group which contains the webapp. Required if '--
                                  source-id' is not specified.
    --target-id                 : The resource id of target service. Required if ['--target-
                                  resource-group', '--account-name'] are not specified.
    --target-resource-group -tg : The resource group which contains the storage account. Required if
                                  '--target-id' is not specified.
    --webapp                    : Name of the webapp. Required if '--source-id' is not specified.

AuthType Arguments
    --secret                    : The secret auth info, no need to provide additional info.
        Usage: --secret.
    --service-principal         : The service principal auth info.
        Usage: --service-principal client-id=XX object-id=XX secret=XX

        client-id      : Required. Client id of the service principal.
        object-id      : Required. Object id of the service principal.
        secret         : Required. Secret of the service principal.
    --system-identity           : The system assigned identity auth info.
        Usage: --system-identity.
    --user-identity             : The user assigned identity auth info.
        Usage: --user-identity client-id=XX subs-id=XX

        client-id      : Required. Client id of the user assigned identity.
        subs-id        : Required. Subscription id of the user assigned identity.

Examples
    Create a connection between webapp and storage-blob interactively
        az webapp connection create storage-blob

    Create a connection between webapp and storage-blob
        az webapp connection create storage-blob --name MyConn --client-type python --source-id /sub
        scriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sit
        es/{site} --target-id /subscriptions/{subscription}/resourceGroups/{target_resource_group}/p
        roviders/Microsoft.Storage/storageAccounts/{account}/blobServices/default --system-identity

    Create a new storage-blob and connect webapp to it interactively
        az webapp connection create storage-blob --new

    Create a new storage-blob and connect webapp to it
        az webapp connection create storage-blob --source-id /subscriptions/{subscription}/resourceG
        roups/{source_resource_group}/providers/Microsoft.Web/sites/{site} --new

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

ServiceConnector

@houk-ms Do you need to update CODEOWNERS file?

Thanks for reminding, we will add it


Add more icons

Now that any toolbox window and widget can be part of the Main window, they could all use some love and a new nice icon. This thread is for suggestions and to keep track of icons we have/need.
If you have a suggestion, please post:

The target widget or window.
Credits, license and/or usage rights.
The icon, preferably as a 64 x 64 PNG file with transparency. (note: it will probably show up as empty space, as it's white-on-white here on GitHub).
An image showing the icon used in the main window. It doesn't have to be in the button of the target window/widget, you can just replace one of your existing icons in C:\Users\%USERNAME%\AppData\Local\GWToolboxpp\img\icons\ to show it on screen without modifying toolbox.

Here is a list of icons we have and need:
Windows:

[x] [ ] Builds
[x] Dialogs
[ ] HeroBuilds
[x] Hotkeys
[x] Info
[x] Materials
[ ] Notepad (suggestion below)
[x] Pcons
[x] Settings
[x] Trade
[x] Travel
[ ] Instance timer (upcoming feature)

Widgets:

[ ] Alcohol (suggestion below)
[ ] Bonds (suggestion below)
[ ] Clock (suggestion below)
[ ] Damage
[ ] Distance
[ ] Health
[ ] Minimap (suggestion below - needs work)
[ ] Timer (suggestion below)
[ ] Vanquish (suggestion below)

Trade window suggestion by Maddow#8892 on Discord:

Note: most of the current toolbox icons are taken from https://www.flaticon.com/, some with minor edits

do you think it's superimportant to have very distinct icons for timer, instance timer, and clock? I'm thinking maybe a stopwatch, an hourglass, and an alarm clock... https://imgur.com/a/0lsQi

For the bonds monitor?: https://image.flaticon.com/icons/svg/287/287144.svg

Jo, here my suggsetions for the timer ;)
In Main Window:

The File:

Yea, its hard to see since its white, but you can rightclick --> open image in new tab to have it shown with background!

https://www.flaticon.com/free-icon/form_87949#term=notepad&page=2&position=32

Also, if you take the icon on a website, can you please send the link to the icon ?

Minimap

https://www.flaticon.com/free-icon/radar_149230#term=radar&page=1&position=1

Clock

https://www.flaticon.com/free-icon/wall-clock_68132#term=clock&page=1&position=39
The rotated File:

Bond-Monitor:

https://www.flaticon.com/free-icon/ankh_287144

Alcohol:

https://www.flaticon.com/free-icon/beer_761856#term=beer&page=1&position=48

For the Vanquish:
--> maybe just a Frac like this:

Timer:

https://www.flaticon.com/free-icon/quarter-of-an-hour_66171

Love the suggestions. A few comments:

Misty is right. Timer/Instance timer/Clock are tricky. They shouldn't be too different, but not the same. In particular, the "Instance Timer" does not have a clear identity, and the name itself might not be ideal.
I like the ankh/alcohol icons, but they could have thicker lines, they don't match the style of the rest.
I like the theme of minimap as radar-icon, but the icon itself might be improved, again lines are really thin.
I don't like the fraction for the VQ monitor. I'm not sure what I would like, but I don't think I like those random numbers there.

but they could have thicker lines
Jup, I thought the same, but since I am on my fathers laptop (from 2002 lol) I can't photoshop them better. I will make them better, when I am back home. (If no one else is going to improove them, haha)

"Instance Timer" [...], and the name itself might not be ideal.
How could we call it then? I like my suggsetion for the (normal) Timer, and i think it fits to the rest. And aswell the clock, on 16:00, haha.

Objective Timer or Quest Timer? Did you not like my hourglass icon? )=

https://i.imgur.com/5sYTl6A.png

how about this heart for health? https://www.flaticon.com/free-icon/heart_684262#term=health&page=1&position=5
lightning bolt for damage? might make more sense for energy monitor if such a thing existed =P https://www.flaticon.com/free-icon/flash_341248#term=lightning&page=1&position=39
ruler for distance? https://www.flaticon.com/free-icon/ruler_131147#term=ruler&page=1&position=9
also I think you missed the Hero Builds suggestion from @reduf ?

can this be closed?


[BUG]: triangulate function is not type-stable

MWE
using DelaunayTriangulation, Test
boundary_points = [(0.0, 0.0), (1.0, 0.0), (1.0, 0.3), (0.5, 0.3),
    (0.3, 0.7), (0.1, 1.0), (0.0, 1.0), (0.0, 0.0)]
boundary_nodes, points = convert_boundary_points_to_indices(boundary_points)
@inferred triangulate(points; boundary_nodes)

Result:
ERROR: return type Triangulation{Vector{Tuple{Float64, Float64}}, Set{Tuple{Int64, Int64, Int64}}, Vector{Int64}, DelaunayTriangulation.ZeroWeight, Int64, Tuple{Int64, Int64}, Set{Tuple{Int64, Int64}}, Tuple{}, Dict{Tuple{Int64, Int64}, Tuple{Vector{Int64}, Int64}}, Dict{Int64, Vector{Int64}}, Dict{Int64, UnitRange{Int64}}, Dict{Int64, DelaunayTriangulation.RepresentativeCoordinates{Int64, Float64}}, DelaunayTriangulation.TriangulationCache{Triangulation{Vector{Tuple{Float64, Float64}}, Set{Tuple{Int64, Int64, Int64}}, Vector{Int64}, DelaunayTriangulation.ZeroWeight, Int64, Tuple{Int64, Int64}, Set{Tuple{Int64, Int64}}, Tuple{}, Dict{Tuple{Int64, Int64}, Tuple{Vector{Int64}, Int64}}, Dict{Int64, Vector{Int64}}, Dict{Int64, UnitRange{Int64}}, Dict{Int64, DelaunayTriangulation.RepresentativeCoordinates{Int64, Float64}}, DelaunayTriangulation.TriangulationCache{Nothing, Nothing, Nothing, Nothing, Nothing}, Nothing}, Vector{Int64}, Set{Tuple{Int64, Int64}}, Vector{Int64}, Set{Tuple{Int64, Int64, Int64}}}, Nothing} does not match inferred return type Triangulation

Environment information
Version info:
Julia Version 1.10.4
Commit 48d4fd48430 (2024-06-04 10:41 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 12 × Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 12 virtual cores)

DelaunayTriangulation.jl version:
(jl_4UYiwq) pkg> st
Status `/tmp/jl_4UYiwq/Project.toml`
  [927a84f5] DelaunayTriangulation v1.1.1

This is a known problem. It's an unfortunate limitation of needing to handle unconstrained, constrained, weighted, and curve-bounded triangulations all inside a single function triangulate.  I don't think it should cause any real performance problems, though, since all the internals are type-stable.
If you are creating a triangulation tri and then making use of tri heavily immediately afterwards, you need to use a function barrier.

If you are creating a triangulation tri and then making use of tri heavily immediately afterwards, you need to use a function barrier.

Maybe this is probably worth noting in the docstring actually. What do you think?

I agree, a note with an example would be welcome.

Thanks for clarifying quickly. I'm satisfied with the answer. Closing the issue...

A note has now been added to the docstring. Thanks.


[MM-28972] Add always_on constant and option for new sidebar to be forced on (#1243) - Cherry-pick

Summary
Cherry-pick of #1243

@devinbinnie Do you have the PR that directly changes the server cloud-beta branch to include the default to this new setting?

@devinbinnie Do you have the PR that directly changes the server cloud-beta branch to include the default to this new setting?

Not yet, will make the change soon.