Fix licence and add correct SPDX licence identifier

Moved LICENSE.txt to the more standard LICENCE, ensuring the text is the same as the canonical version at https://opensource.org/license/BSD-3-Clause
Used the correct SPDX license identifier in the Bundle-License field in the manifest, as well as the pom
Used the correct SPDX license identifier in the pom

Closes #264, Closes #355, Closes #399

Thanks for looking into this.
I'm afraid the PR does not fix the core of #264.
See the second clause of the license:

Redistributions in binary form must reproduce the above copyright notice

Imagine somebody redistributes hamcreset.jar or includes it in their application. The license forces them to include the copyright notice, however, the release jars on Maven Central do not include the full license text. How would they know which exact license text (==copyright notice) matches every Hamcrest release?
See https://github.com/hamcrest/JavaHamcrest/pull/399/files#diff-49a96e7eea8a94af862798a45174e6ac43eb4f8b4bd40759b5da63ba31ec3ef7R75-R77
The link https://opensource.org/license/BSD-3-Clause points to a license template rather than a canonical text. Please make the link point to the license text, and and please include the license text as META-INF/LICENSE to make it easier for the consumers to comply with the license.

Thanks for looking at this @vlsi. I'll make the suggested changes in the next few days

Fix merged. @vlsi, can you please check?


Re-evaluate default output verbosity

General
Right now when a user runs lokoctl cluster apply, by default no Terraform output is shown. I think this isn't ideal for the following reasons:

When things fail, the user may miss critical info regarding the nature of the failure which exists in Terraform logs only.
Re-running a deployment with -v just to get logs doesn't feel right IMO, especially if more often than not the user needs the logs.
Reading the log file lokoctl writes to disk is awkward IMO. Not only is it a poor UX to say "there was an error but you have to look for it in this file", but also the log files are hard to read since they contain shell color markers.
Deploying a cluster takes time - more than 10 in many cases. Without verbose output, the user has no clue about the deployment's progress, and in certain cases (e.g. manual DNS) they may even think the process is stuck (see #336).

Implementation
To address these problems, I propose we consider doing one or more of the following:

Show Terraform output by default (and possibly allow disabling it using a flag if we think that's useful).
Buffer Terraform output in memory and print some or all of it in case of an error.
Print user-friendly info about the deployment's various "stages". Examples: "Preparing for deployment", "Creating nodes", "Creating DNS records", "Bootstrapping the control plane", "Deploying Lokomotive components".

Show Terraform output by default (and possibly allow disabling it using a flag if we think that's useful).

That would be opposite to #225.

Buffer Terraform output in memory and print some or all of it in case of an error.

We already do that. I think we print last 20 lines in case of an error.

Print user-friendly info about the deployment's various "stages". Examples: "Preparing for deployment", "Creating nodes", "Creating DNS records", "Bootstrapping the control plane", "Deploying Lokomotive components".

I like the idea, that would require using more of -target method, it would also allow more fine-grained interruptions, if needed.

Show Terraform output by default (and possibly allow disabling it using a flag if we think that's useful).

That would be opposite to #225.

In what way? And in any case, do we want to have the output disabled by default? For what reason? This is not debug-level info AFAICT.

Buffer Terraform output in memory and print some or all of it in case of an error.

We already do that. I think we print last 20 lines in case of an error.

OK, then I guess what we show isn't enough since there are cases where running without -v leaves the user clueless as to the nature of the error.

Print user-friendly info about the deployment's various "stages". Examples: "Preparing for deployment", "Creating nodes", "Creating DNS records", "Bootstrapping the control plane", "Deploying Lokomotive components".

I like the idea, that would require using more of -target method, it would also allow more fine-grained interruptions, if needed.

Not necessarily. That would depend on what level of granularity we want. The "stages" above are examples. We can already print some useful info without touching the Terraform execution process.

Wouldn't just a "show stderr" in case of errors do the trick in the short-term?
stdout is verbose, stderr is just the errors. I tried quickly and terraform seems to respect this.

I don't see why we would want to hide any Terraform output. One thing it's useful for is that it shows some form of progress to the user. Without the Terraform stdout, the user can sit at the terminal for 15 minutes without knowing what's going on. If we had very informative output of our own (namely printed by lokoctl), maybe we could hide the Terraform output under the hood, however right now there are many cases where the only way for you to know what broke or where you are in the deployment process is by examining the Terraform output. To prove my point, when was the last time you ran lokoctl cluster apply without -v? :slightly_smiling_face: Can you honestly say you use -v just because you're a Lokomotive developer? In my opinion the answer is "no".


add a contact page to send emails

this page/component must be used for tenant contact & team contact.
uber public accessibility of course.

A modal is now accessible to contact tenant, team or api admin.
This modal is accessible even in custom js for tenant by calling window.contact() with the right property


Adapt logging to psp restricted clusters

Address issue: https://github.com/rancher/rancher/issues/22593
Add PSP and related role/rolebinding/SA resources to logging chart.
The PSP contains restricted rules + hostPath volume.
Also, remove unnecessary privileged escalation from log-aggregator.

Could you check when unrestricted-psp created. Is unrestricted-psp always exist, even a cluster not enable psp?

@aiwantaozi Updated to include the PSP resource in the chart. It is a common practice in community charts: https://github.com/helm/charts/search?q=PodSecurityPolicy&unscoped_q=PodSecurityPolicy
It is enabled by default so that it works whether PSP is activated or not.

The restricted PSP does not allow flexVolume usage, which is needed when users configure custom log collection volumes for their workloads. So users need to grant additional PSP rules on demand if they want to use that feature. i.e.
# Other PSP spec
  volumes:
    - flexVolume
  allowedFlexVolumes:
    - driver: cattle.io/log-aggregator

Would like to have @cloudnautique 's input to see if it makes sense. Or we should add the above rules to the restricted rules.

@gitlawr Could you also update chart fluentd-tester

@aiwantaozi The fuentd-tester workload obeys the restricted PSP so no update is needed for it.

LGTM


ui-tree-node not draggable & Error Cannot read property '0' of null

I'm getting this error;
Cannot read property '0' of null  (for '0', '1', '2', '3'.....etc.) once for each of the 24 hours in my day. Then again for rows '8', '9','10' and '11' where I have events on the calendar.

This is my Calendar Day View template

                         Signup

                            Finish: {{ displayEnd}}

                    <div ng-repeat="displayEvent in tm.events"
                           class="calendar-event"
                           ng-click="eventSelected({event:displayEvent.event})"

in my controller I have the logic described in my html comments and the full set of $scope.treeOptions = { accept, beforeDrag, removed etc as shown in the docs.
Am I missing something I need to be doing controller side or am I setting the ui-tree attributes wrong on my template?

I had to move ng-model="rows" ui-tree-nodes="" from the first
up to the
. And then the ui-tree-node from the first  up to its parent

Then further down move ng-model="tm.events" ui-tree-nodes="" on the
 up to its parent  and change the ng-model="tm.events" to ng-model="rows". The HTML is shown below.
this fixes the error shown above and I'm able to drag the element. Although I'm still having some other issues with the dragged element moving my events in the view, the dragged element not being visible as it is being dragged and I'm unable to drop the dragged element. But I guess those are things for another question.

                       Signup

                         Finish: {{ displayEnd}}

                        <div ng-repeat="displayEvent in tm.events"
                             class="calendar-event"
                             ng-click="eventSelected({event:displayEvent.event})"


CARDS-1785: Set up the HERACLES project

This PR makes the cards4heracles project available when starting CARDS. When this project is enabled, the Questionnaires from CARDS-1786 are made available and the UI is restyled for the Heracles project.
To test:

Build this branch with mvn clean install.
Start the project with ./start_cards.sh --dev --project cards4heracles
Visit http://localhost:8080. The UI should be styled for Heracles and the appropriate questionnaires should be available.

Also verify this this works in a Docker Compose environment:

cd compose-cluster
./cleanup.sh
python3 generate_compose_yaml.py --dev_docker_image --oak_filesystem --cards_project cards4heracles && docker-compose build && docker-compose up -d
Visit http://localhost:8080. The UI should be styled for Heracles and the appropriate questionnaires should be available.
docker-compose down && docker-compose rm && docker volume prune -f && ./cleanup.sh

The clindig logo was accidentally committed in this branch and should be removed.

Updated the logo (c92ebf1) and theme color (9458c33).

Oh, I forgot to test the short proj name version

@sdumitriu The Heracles questionnaires committed to this branch are WIP and will be adjusted in several iterations, per discussions with the research team, as part of CARDS-1785. Their structure and functionality should not be taken into consideration while reviewing this PR, only their presence.

In non-docker mode it should work out of the box, as start_cards.sh is prepared to take in new basic projects without additional changes.

Tested!


Update CreateSchemaQuery.java

When you try to execute the 2 VerdictDB.sql commands back to back :
getting the runtime error:
org.verdictdb.exception.VerdictDBDbmsException: Issued the following query: create schema verdictdbtemp
org.apache.hadoop.hive.metastore.api.AlreadyExistsException: Database verdictdbtemp already exists;
at org.verdictdb.connection.SparkConnection.executeSingle(SparkConnection.java:166)
at org.verdictdb.connection.SparkConnection.execute(SparkConnection.java:148)

at org.verdictdb.connection.CachedDbmsConnection.execute(CachedDbmsConnection.java:49)
at org.verdictdb.connection.DbmsConnection.execute(DbmsConnection.java:41)
at org.verdictdb.coordinator.SelectQueryCoordinator.process(SelectQueryCoordinator.java:128)
This is because: createSchema does not use IF NOT EXISTS hence causing the error.
Fixed this problem in CreateSchemaQuery() constructor

Codecov Report

Merging #355 into master will increase coverage by 0.08%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #355      +/-   ##
==========================================
+ Coverage    70.9%   70.97%   +0.08%
==========================================
  Files         168      168
  Lines       11517    11518       +1
  Branches     1879     1879
==========================================
+ Hits         8165     8174       +9
+ Misses       2868     2862       -6
+ Partials      484      482       -2

Impacted Files
Coverage Δ

...rg/verdictdb/core/sqlobject/CreateSchemaQuery.java
81.82% <100%> (+1.82%)
:arrow_up:

.../core/scrambling/FastConvergeScramblingMethod.java
89.6% <0%> (+0.58%)
:arrow_up:

...ictdb/core/querying/QueryNodeWithPlaceHolders.java
88.97% <0%> (+0.69%)
:arrow_up:

.../verdictdb/core/execplan/ExecutableNodeRunner.java
84.9% <0%> (+0.82%)
:arrow_up:

...verdictdb/core/querying/ola/InMemoryAggregate.java
86.24% <0%> (+1.45%)
:arrow_up:

...org/verdictdb/connection/CachedDbmsConnection.java
79.37% <0%> (+1.59%)
: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 a29dc0b...8a7c81d. Read the comment docs.


Use ajax with the request method PUT,and get an error.

the error ---- Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
my settings.py had set "CORS_ORIGIN_ALLOW_ALL = True"

There are many reasons this could happen, please provide more information about your setup.


Add ability to get the currently set seed value

Please add a function or attribute that allows for the retrieval of the currently set seed value.

Hi, this is easily done. But any particular motivation for having it done in the library and not in your own code? Just curious.

In general it is better to have a single source of truth about a particular setting or variable. Relying on each project to save and track seed values in their own unique way leads to the possibility of error or bugs, whereas if it is just a simple and reliable call to the module itself there is no possibility of error.

I think if you're able to set up any kind of state in a project, it shouldn't be difficult to track a single integer that was used once.
Just curious though, not looking to start an argument.
Is #40 good enough?

Merged and closed due to inactivity.


placeholder option does not work

I can't seem to set the placeholder text with neither
    <summernote placeholder="asdasdasd"></summernote>

or
    vm.options = {
        placeholder: "A placeholder..."
    };

    <summernote config="vm.options"></summernote>

is it not supported by the angular version yet?

i can see the placeholder.
did you set the controllerAs?

Seems to be resolved with version 7.0 so I'm closing this.

Good!!


ionic browser referenced in ionic docs

Short description of the problem:
http://ionicframework.com/docs/cli/browsers.html Shows ionic browser commands even though the CLI has removed it
What behavior are you expecting?
Indication that the commands are old CLI commands or remove the page.

Perhaps have a reference or redirect to using the cordova plugin instead?

i agree. i tried ionic browser command a few times. there really should be a reference to the updated command.
ionic plugin add cordova-plugin-crosswalk-webview


make all the saves not implement Send

When the saves are dropped they call opengl functions. We need to prevent them from getting called while in the middle of another draw function

done


Paper merged

This is just a step back for me to look at my work as a whole picture.
However, since fixes and features lay the groundwork for importend changes, this branch will become the active one, later down the road.
todo

[x] compile again
[x] have a second look into breaking changes
[ ] heavy testing (MenuItemBlockData in special)
[ ] New unit tests (f Mockbukkit)
[ ] Entity Settings
[ ] clean langkey from possible duplicates
[x] Check where MessageType success should be used instead of info since it was created later in development
[x] Check todos
[ ] use bridg cmd api

Still todo:

have a second look into breaking changes
heavy testing
have a second look into paper plugin bootstrap
fix testing

There WILL be kinda big changes dependig on how deeply a Bug might be rooted.
However I'm done with functional changes.

Hey @addstar right now I'm messing with the build system (--> switching to gradle to benefit from the paper plugins).
What's up with the .travis.yml? As far as I know Minigames gets build with jenkins. Is it just a forgotten artifact and can get safely removed or is it still used somewhere?

Back to draft, as I'm fiddling with buildscript, tests and paper-plugins.

Closed because the admin of our organisation receives too many notifications.
This branch will receive updates in the future regardless.

Closed because the admin of our organisation receives too many notifications.
This branch will receive updates in the future regardless.


Teams to Skype

I don't think the Teams App will connect to Skype users.

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

ID: 3de87096-6253-ba71-f27a-0b161a36f0e2
Version Independent ID: 8b61b40d-496c-6069-8a60-38a6282e072a
Content: Teams and Skype interoperability - Microsoft Teams
Content Source: Teams/teams-skype-interop.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@tcjohnson71 Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Port copy_properties_to from etcd cookbook into core chef

def copy_properties_to(to, *properties)
  properties = self.class.properties.keys if properties.empty?
  properties.each do |p|
    # If the property is set on from, and exists on to, set the
    # property on to
    if to.class.properties.include?(p) && property_is_set?(p)
      to.send(p, send(p))
    end
  end
end

I think it would be better to have it shaped more like:
declare_resource(:remote_file, name, &block).apply_properties(include: [ :group, :owner ], exclude: [ :headers ])

Maybe include is the obvious enough default to have it be def apply_properties(*include, exclude: [])
Kind of think it should hang off of Chef::Resource so it method chains better like that.  And rename it to not conflict with existing cookbooks.   Could also write a minimum viable compat_apply_properties cookbook to patch up old chef-client versions so other cookbooks could use it (not the entire crazysauce of compat_resource, but do-just-one-small-thing-only).

@coderanger points out that this could be more useful as well if it was a ..._from API and didn't hardcode self:
declare_resource(:remote_file, name, &block).copy_properties_from(self, [ :group, :owner ], exclude: [ :headers ])

remote_file "name" do
  copy_properties_from new_resource,  [ :group, :owner ], exclude: [ :headers ]
end

And should return self for method chaining...

And https://github.com/chef-cookbooks/aws/blob/master/resources/s3_file.rb#L117-L139 is Exhibit A for where its useful.  @coderanger also points out that it smells like aws_s3_file should subclass remote_file, but we can't do that from custom resources.

Also, @coderanger points out it could take a regexp for include/exclude instead of array of symbols.

Just an overall :+1: to copy over from Slack. I think I am more in favor of limiting the auto-copy to props defined on both sides but not super strongly as there is value in being explicit :)

Yeah it clearly makes it easier to slap a resource over sub resources and not have to thinking about carving out the exact properties interface.  At the same time I wonder about spooky-action-at-a-distance effects when core chef resources gain new properties or when the wrapping custom resource has its API extended by properties that someone didn't intend to apply to the sub-resource.  Allowing both the include+exclude arguments to be omitted and just have it do what it can sort out itself has a lot of whip-it-up-itude going for it.
Note that for back-compat purposes the property_is_set? helps a lot there because you can introduce a property, that may even have a default value, and if its not set on the custom resource it won't get passed to the sub-resource, and if you're on an old version of chef-client that doesn't implement that property nothing with happen.

For include/exclude the way it works in my head is that excludes trump includes.  Which allows you to be lazy and construct a list of all the properties on the custom resource, and then case-by-case do excludes for sub-resources that
don't want certain properties -- so its just [ includes] - [ excludes] in set arithmetic.  Of course it is just syntactic sugar for doing exactly that.

Oh so circling back around on this:
    # If the property is set on from, and exists on to, set the
    # property on to
    if to.class.properties.include?(p) && property_is_set?(p)
      to.send(p, send(p))
    end

If the user specifies something like atomic_update on the custom resource but we're running chef 11.5 (bear with me on the contrived example) and atomic_update does not yet exist on the remote_file resource we really need to blow up with a useful error message, otherwise the user is silently getting old behavior.  The property_is_set? check means that if the user does not set atomic_update on the custom resource we won't even try to apply it to the sub-resource, so on chef 11.5 we wouldn't blow up in that case.  If the user of the custom resource really intends to use atomic_update on chef >= 11.6 and then ignore it on chef < 11.6 then they need to gate that with atomic_update false if Chef::Resource::RemoteFile.respond_to?(:atomic_update) or something similar.


Use Lombok and ButterKnife to simplify code

http://jakewharton.github.io/butterknife/

No longer interesting because code has been migrated to Kotlin with Kotlin Extensions as of 3.5.0.


Blank Page when adding components with filters

Describe the bug
Adding elements on a view that filters TAGS (and presumably other elements) can cause an exception and result in a blank page
To Reproduce
Steps to reproduce the behavior:

start with a blank slate
Filter out tags
Force reload
search aws::rds:: and select primary instance
Expand on “NEPTUNE_INSTANCE_CLASS:db.r5.large” env. variable
Expand on the replica instance that was just added
BLANK SCREEN

Expected behavior
No exception
Screenshots

Browser (please complete the following information):
Chrome 92.0.4515.159

Hi,
Thanks for raising this. We are investigating the issue.
Cheers,
Matt


Define both @citet and @citep?

I'm a big fan of Natbib's citet and citep commands, i.e. the difference between citing Someone (2020) and (Someone, 2020).
Shouldn't be hard to implement both. And @cite should probably default to citep (?) even though natbib defaults it to citet I think.

These are supported in the newly released DocumenterCitations.jl v1.0


Don't import missing fields when importing from Weboob

label can be undefined
rdate can be undefined in some cases

Fixed by https://github.com/bnjbvr/kresus/commit/648996278e75084ec3a1f35e4bcf9aee291c0c08.


doc: Trust Model Introduction

Add a introduction to Trust Model.
Include references and links to prior art
Follow on Pull Requests will include sections corresponding to orthogonal ways of considering cloud native approaches relevent to the trust model
Signed-off-by: James Magowan<EMAIL_ADDRESS>

Generally unobjectionable. Tbh I think we could skip over a lot of stuff here. I'm not sure that we need to define what a trust model is, for instance. If someone reading the document really doesn't know, they can just google it. I guess it can't hurt to provide some intro, but I think the most important part of this doc so far is the Out of Scope section. That's where we introduce concrete information specific to this project.

Yes I have scaled back the intro from early "draft", and agree  the important stuff is initially the out-of-scope for this but the main pieces come with the detail in follow on PR's . I am inclined to not reduce the content further , as I don't think it hurts and there may be different subtle takes on a threat model so can;t hurt to try to clarify what we draw on for ours.

@magowan  are you planning to include details about different threat actors for the CoCo scenario and also a (good-to-have) pictorial representation of the trust boundaries for the complete CoCo solution in separate PRs?

I think this is generally good as is.
With the other sections there's going to be sort of a lot to read to get to the punch line that

with pod isolation we draw a box around the guest
with container isolation we draw a box around the process.
actors in the control plane may be able to break into those boxes. (I haven't reviewed #24 yet)

What do you think about an informal section in the overview to give that intuition before getting into the formalities?

@magowan are you planning to include details about different threat actors for the CoCo scenario and also a (good-to-have) pictorial representation of the trust boundaries for the complete CoCo solution in separate PRs?

Yes, That is the goal , there is another PR up already regarding the Personas/Actors, but I will put other PRs together for other areas and then my intention is once we have a trust model, I can put up some threat Vectors set in the context of our trust model which can highlight how we solve them with CoCo.

@jodh-intel  Thanks for review.
I think I have covered your review feedback.
If you are happy with my response/changes then I think we are ready to merge.
(But happy to take any other comments on board)


Fixes the invalid state

The issue described here: https://matrix.to/#/!mRzqTfJoZKLxSbFGWS:gitter.im/$6raYmtiFt7Bm4oKUaWU93fbzdTIUvW5unw_Y6FZVpt4?via=gitter.im&via=matrix.org
It seems like buttons are alway true (1), it doesn’t seem to be called without button press.
Please correct me if that's a wrong assumption since everything else builds around it. I tested only a small subset of cases (two tools: rect and poly).
Which means that means it can be simplified to
if (!firstDragDone)
Which is causing a bug according to this hypothesis.
When firstDragDone is set to “true” and not cleared (when existing annotation is clicked, not new created), we’re stuck in a bad state: we always go to else in the main if in moveHandler due to firstDragDone being stuck in true.
If all above is correct, the next step would be to remove the if (!evt.buttons) altogether.

I'm afraid this breaks the normal drawing behavior, which is pressing SHIFT and then dragging. I frankly don't know how to fix this issue in the short term, in a way that covers all cases. Might be an issue for v3 eventually. (Where nav will work in a different way.)

I'm afraid this breaks the normal drawing behavior, which is pressing SHIFT and then dragging. I frankly don't know how to fix this issue in the short term, in a way that covers all cases. Might be an issue for v3 eventually. (Where nav will work in a different way.)

How does it break the normal drawing behavior?

Try holding shift on an empty region and then draggin the pointer. Desired behavior is that this starts drawing, but it now pans the image instead.


Vb refactoring parameter refactory

Translate Parameter Refactory refactoring code fix to VB

Build is passing: https://ci.appveyor.com/project/code-cracker/code-cracker/build/<IP_ADDRESS>0


Use isGetFileInfo when creating sync locking scheme

The parameter was previously unused by accident. There also an overloaded version of the method which is unused, so I removed it.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/9545/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/9546/
Test PASSed.

alluxio-bot, merge this please


Add Caffeine for APIs on ello.co and ello.ninja

This PR will show request times in console.
We still owe you the "A/B testing boilerplate," too.

Nice!  Thanks James, excited to try this out!
I noticed that Podfile.lock changed – makes total sense given that we only hand out the open source versions of the Certs and Fonts repos.  But, @steam I wonder how we could avoid merging changes to this file – or if we should just merge the changes and then revert them ourselves later?  I can't think of any clever way to handle the private vs open-source Pod differences.

Thats a good question @colinta. I'm fine merging them and reverting them later. No one is going to inadvertently build from a commit that has the open source fonts when submitting the App Store.

Yeah I was imagining a workflow where we merge into a temporary branch, then checkout the current Podfile.lock from master, then merge that branch into master.  So the PR gets merged, and Podfile.lock would not need to be updated.
git checkout -b wittedhaddock-jg/feature/caffeine swift3.0
git pull https://github.com/wittedhaddock/ello-ios.git jg/feature/caffeine
# revert podfile.lock
git checkout Podfile.lock swift3.0  # or master, later on
git commit -m "reverting Podfile.lock"
# merge the "fixed" branch in - people using swift3.0 branch would never have an
# out-of-sync Podfile
git checkout swift3.0  # or master
git merge wittedhaddock-jg/feature/caffeine

@colinta Np! (Let me know if you'd like me to change anything on my end to accommodate the Podfile.lock considerations.)
Also, @drewcrawford just signed off on the new API filtering by URLRequest's httpMethod, which I'll push shortly and you should see downstream. We can divert those asyncHEADs from using Caffeine :)

@wittedhaddock, just a heads up that we are close to shipping our last non-swift 3 release. We've gone through a couple rounds of bug fixes and hope to submit to Apple soon. Once that is submitted we'll be focussing all our attention on the swift 3 code and will be able to move forward with the caffeine test.

Thanks for the update @steam! All sounds good.

@wittedhaddock You mentioned in your email (I forwarded it to @colinta) that we should not evaluate this PR until you investigate a bit further. All that sounds good. Let us know when you'd like us to put out a build with this PR included in it. We're planning on a TestFlight build of #253 today or tomorrow so we're getting close.

Closing for now since Caffeine is on hold. Thanks @wittedhaddock and @drewcrawford!


Add swap and contract execution grouping in Activity tab

Show a "Swap" placeholder and "Contract Execution" placeholder in Activity tab. Swaps are groups of transctions which include at least 1 receive and 1 send transaction.
Several follow-ups needed:

Performance tweak to run some processing in a background queue has been disabled to make app not crash. This has to be re-introduced
The number of events used for the tab has been reduced from 1000 to 100 to keep performance barely acceptable
Upon initial import of wallet, events aren't always shown in the display right away
Most of the "Sent ETH" with "-0 ETH" should also be "Contract Execution"(s)

This isn't the final form (short-term) because not all the activities are shown properly due to performance.
@colourfreak FYI. Added an ugly "Contract Execution" and "Swap" header in Activity tab for now. We have to improve this visually. But wanted to get this into the code base and out of the way first and not block progress.

Forgot to check for my "hhh". Good for review again.

Forced push to fix a syntax error:
let isSwap = isSwap(...

Xcode 12.4 (which we use for Travis) doesn't like this, but it builds with 12.5.


Dependent Params (given) with different value matching

It seems I'm running into an issue where if I have multiple given blocks testing the same parameter, the value validation for those dependent parameters is conflicting. Here's my example:
params do
  requires :type, type: String, desc: 'Type', values: ['FRONT_CAMERA', 'REAR_CAMERA']
  given type: ->(val) { val == 'FRONT_CAMERA' } do
    requires :resolution, type: String, desc: 'Resolution', values: ['20x20']
  end
  given type: ->(val) { val == 'REAR_CAMERA' } do
     requires :resolution, type: String, desc: 'Resolution', values: ['1080x1080']
   end
end

(Pardon the falsified info)

Can you explain what error you're seeing? This test looks to me to be doing what you describe.

@rnubel in my case the same scenario if I pass FRONT_CAMERA on the type, validates both, the FRONT_CAMERA and REAR_CAMERA and has to be only FRONT_CAMERA

I am having same issue.  i am using grape grape-1.2.5.
params do
  optional :shelf_id, type: Integer
  given :shelf_id do
    requires :bin_id, type: Integer
  end

  optional :category, as: :type
  given type: -> (val) {  val == 'foo'  } do
    requires :description
  end

  optional :Authorization, type: String, documentation: { param_type: 'header' }, default: "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMTdmMGY1YjUtZWNmYS00MTJjLWJlODktYWIyYmE2NTU3YjhlIiwidHlwZSI6InVzZXIiLCJleHAiOjE1ODU4Nzg2Nzh9.L2HGJoYq2-wwKDwZqTmNXj5M-gt24j0DsP1NsfEJV28"
end

get '/testing', http_codes: [
  [200, 'Ok'],
  [400, 'Bad Request'],
  [401, 'Unauthorized'],
  [404, 'Not Found'],
  [500, 'Internal Server Error']
] do

  present :status, 200

end

Same as https://github.com/ruby-grape/grape/issues/1885


broken links

The links in the Update the root dialog section are broken:
"Implement sequential conversation flow" should link to https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-dialog-manage-conversation-flow?view=azure-bot-service-4.0
"gather user input using a dialog prompt" should link to https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-prompts?view=azure-bot-service-4.0

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

ID: 1e377673-b61a-aa61-2015-8c65c528060d
Version Independent ID: 2fc8e645-3497-5a4c-8307-37b2ffdc64a4
Content: Migrate an existing bot within the same .NET Framework project - Bot Service
Content Source: articles/v4sdk/migration/conversion-framework.md
Service: bot-service
GitHub Login: @JonathanFingold
Microsoft Alias: v-jofing

Fixed, will be live soon


modified reccord output to work with flt pkg

minor change to handle issue #236
this PR may break some tests since the .meta files will be slightly different (5 more whitespaces in nrecords fields)

@bderembl I don't see how this change would break anything. I tried reading with python and Matlab (rdmds) and both seem to work.

With my latest addition, the restart (and test 2+2) are now working again. So we should be good.
LGTM +1


Update batch-pool-vm-sizes.md to include NC_A100_v4 support

Batch supports the Standard_NC24ads_A100_v4, Standard_NC48ads_A100_v4, and Standard_NC96ads_A100_v4 SKUs

Docs Build status updates of commit c07a1f0:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c07a1f0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/batch/batch-pool-vm-sizes.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@harperche,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Add a new "trailing 12 months" timescale for organization activity

There is a concern that looking at this / last academic year is not enough as it may fail to capture the most up to date data.
To get around this, it's been proposed that we also include a trailing 12 months timescale which counts data as close to the last year from the date of calculation. This timescale would constantly update over time.
This is required on the organization_activity view, so that billable users can be viewed (amongst others) over the last 12 months.
Tasks

[x] https://github.com/hypothesis/lms/pull/4947
[x] https://github.com/hypothesis/report/pull/170
[x] Add fields to Hubspot
[x] https://github.com/hypothesis/report/pull/177

Hubspot fields required
lms_users_last_12_0_months - Billable users 12-0 months ago
lms_users_last_24_12_months - Billable users 24-12 months ago

Done!


[5.3] bind double as PDO::PARAM_INT

This PR fixes this issue: https://github.com/laravel/framework/issues/16063

We used to have this as the code and it causes other problems. I'm sure there are GitHub threads about it.

@taylorotwell I've altered the implementation to only affect MySQL connections, so only in MySQL a double will be bound as PDO::PARAM_INT

Did you find the original issue I was referring to?

I found this one: https://github.com/laravel/framework/pull/14881

If for example a float is bound with PDO::PARAM_INT, SQLite (haven't tested with any other DBMS) will discard the decimal part (0.5 will become 0.0 in the DB). This totally broke my application.

So I'm doing this change only on a MySQL connection since it's the one with consistency issues.


Custom Event requires a polyfill to work

I'm not sure if this is a grunt-casper issue versus a casperjs issue, but the CustomEvent method was not working for me through casper.evaluate:
casper.evaluate(function(){
var obj = document.createElement('div');
obj.addEventListener("cat", function(e) { console.log(e.detail) });
var event = new CustomEvent("cat", {"detail":{"hazcheeseburger":true}});
obj.dispatchEvent(event);
});

I finally got it to work by implementing this polyfill on the page I was testing:
(function () {
function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined };
var evt = document.createEvent( 'CustomEvent' );
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
return evt;
};

CustomEvent.prototype = window.Event.prototype;

window.CustomEvent = CustomEvent;
})();

I thought I'd point it out as this caused me a few hours of grief, and I'd thought it might save someone some time.

I'm using shim until support comes to phantom.


🐛 Property '_setGlobalConsole' doesn't exist (react-native-reanimated@^3)

What were you trying to do?
I tried to reproduce the basic "image labeler" example to use a frame processor from the documentation.
Reproduceable Code
import React, { useState, useEffect } from 'react';
import { Camera, useCameraDevices, useFrameProcessor } from 'react-native-vision-camera';
import { View, Text } from 'react-native';
import { labelImage } from 'vision-camera-image-labeler';

const CameraTest = (props) => {
    const devices = useCameraDevices();
    const device = devices.back;

    const frameProcessor = useFrameProcessor((frame) => {
       'worklet';
        const labels = labelImage(frame)
        console.log(labels);
    }, [])

    useEffect(() => {
        const permitCamera = async () => {
            const cameraPermission = await Camera.getCameraPermissionStatus()

            if (cameraPermission !== 'authorized') {
                await Camera.requestCameraPermission()
            }
        }

        permitCamera();
    }, []);

    if (!device) {
        return <View>
            <Text>Loading...</Text>
        </View>
    }

    return (
        <View>
            <Camera
                device={device}
                style={{
                    width: 500,
                    height: 500
                }}
                frameProcessor={frameProcessor}
                frameProcessorFps={5}
                isActive={true}
            />
        </View>
    )
};

export default CameraTest;

What happened instead?
The App crashes with an error due to non existent property '_setGlobalConsole'. This is due to changes in react-native-reanimated@^3. I tried using react-native-reanimated@^2 instead, but v2 is not working with<EMAIL_ADDRESS>used in my project.
My current config:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Relevant log output
No response
Device
Xiaomi Redmi Note 10 Pro
VisionCamera Version
^2.15.4
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

Hi
Based on this pull request
Temporary adding this to index.js file seems to solve issue for me:
import {AppRegistry} from 'react-native';

/**
 * @see https://github.com/mrousavy/react-native-vision-camera/issues/1510
 * @see https://github.com/software-mansion/react-native-reanimated/pull/3853
 */
global._setGlobalConsole = (_val) => {
    // noop
  };

import 'react-native-reanimated';
[...]

react-native-reanimated 2.x does work with react-native 0.71 using all default settings. If that does not work you then there's likely something special about your specific project and you'll have to find a solution yourself.

It seems not to work with react-native-reanimated v3

@chrisribal were you able to solve or find a workaround ?

@chrisribal were you able to solve or find a workaround ?

No, I ended up downgrading REA, as there were more incompatibilities. I guess we should wait for v3 to be ready, which also seems to support REA 3.

Closing as this is a stale issue - this might have been fixed with the full rewrite in VisionCamera V3 (🥳) - if not, please create a new issue.
If your issue has been fixed, consider sponsoring me on GitHub to say thanks 💖


Some Image Differences Cause Crash

! Exception ocurred when performing image diff for tiedChords-ipad-pro-portrait@1-p1
[Error: Expected `image-diff's stderr` to contain 'all' but received "/tmp/tmp-76818mswa0g.png PNG 1024x1366 1024x1366+0+0 8-bit DirectClass 14.2KB 0.010u 0:00.019
/tmp/tmp-76818m6035c.png PNG 1024x1366 1024x1366+0+0 8-bit DirectClass 14.2KB 0.010u 0:00.019
Image: /tmp/tmp-76818mswa0g.png
  Channel distortion: RMSE
    gray: 0.532272 (8.12195e-06)
    alpha: 0 (0)
    all: 0.460961 (7.03381e-06)
<EMAIL_ADDRESS>PNG 1024x1366 1024x1366+0+0 8-bit PseudoClass 3c 0.150u 0:00.149
"]

See https://github.com/uber/image-diff/pull/29

Why did you open a duplicate issue for this? Please close it =/

The other is a PR. This is to track the issue.

Every repo does this differently -- for me, I think a PR can be considered as an issue tracker. This one can be closed =/


Thank you for the mod!

Hi @Jamalam360 👋
Thank you for this nice handy mod 🙏
I've been using it to learn the MC-modding (for both (Neo)Forge and Fabric) and Java language.
Here are the results of my learning. Feel free to use them if you like the result in any way :)
https://github.com/AlexKVal/right-click-harvest/pull/1 some code refactoring to better understand the structure of the mod. The 'static-only methods' way is preserved. The tests are green. Everything works as before, including the different configuration settings combinations.
https://github.com/AlexKVal/right-click-harvest/pull/2 the migration to the 'use Classes' way. I like this one, b/c now many methods could be "mixed in" in the MC classes by making the code to (arguably :)) even easier to understand and expand.
As a bonus, one small (insufficient) bug is fixed along the way, and it is easy to expand the radius-harvesting to the Sugar Cane and Cactus as starting blocks. That would be just "one method swap" change (details in the PR comment)
For both branches, I preserved the commits that I was making, so it is easy to see what change and why is done to follow all the path :)

Hi, sorry it's taken me sooooo long to look at this, I'm very busy. The change to use OOP with the BaseHarvester class is definitely interesting, but I don't have time to look through it properly still haha.
One thing I will say, HarvestContext does serve a use - it means that if I want to add another parameter, it's not a breaking change for API users.
Anyway, seems like you're doing well at learning mc modding, good luck!


About making ground truth.

Hi.
According to your video, the labels is from an assembly, i.e. reference sequence fasta right?
I'm a noob here so I'm not sure.
But is it okay to use the reference bases as they are? There may be real variant bases in reads.
If a position has germline variant C (ref is A) with AF 100%, shouldn't the correct label for that position be C instead of reference base A?

Hi @Crispy13 ,
We use the "reference" and "reads" from the same sample to reduce this confusion. For example, when DeepConsensus was first trained, we used HG002 assembly (or reference) as the truth for the reads. There are haploid samples like CHM13 that reduce this issue further. So, usually when we use the assembly of the sample sample we don't expect all of the variation to be present in the assembly.
I hope this helps. You can read more about genome assembly here

Thank you for replying


ADD: ApplySomeOf transforms to Random Choice

[x] Closes #7544
[x] Tests

Extended RandomChoice to include ApplySomeOf transforms.
Will add tests if you're happy with the functional implementation

@NicolasHug can you have a look please


boards: arm: stm32h750b_dk: fix arduino connector

use correct MCU pin numbers for arduino connector

Based on the following section of the user manual:

Nevermind, I was looking at the wrong user manual. The original definitions are fine.


Safer, cleaner use of aliasMap

@dmcgowan @aaronlehmann
Signed-off-by: Nathan McCauley<EMAIL_ADDRESS>

LGTM


VCU-87: Java 10 builds mandatory in Travis.

Build-breaker on JDK:oraclejdk10 and JDK:openjdk10.
Enforce Java 10 compatibility on all MSA changes.

To be recreated on a fresh branch.


SEP-31 + Circle: allow using circle for SEP-31 transaction memo and incoming address information

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.

What
Allow configuring SEP-31 to be used along with Circle.
Why
When using Circle, the SEP-31 transaction memo, memo type and destination address need to be created using the Circle API, so Circle can receive the incoming payment and notify the platform.
Close #220

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr234.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr234.previews.kube001.services.stellar-ops.com/


How to echo unescape text ?

I also use some token like<?= ?> <?:=?> ${var} $${var}  as escape and unescape tags group.
How this in Swig? What should I do?

{{someValue|raw}}


Bug: Can't specify ML library version that is different from the one in current garden environment

This is similar to #131 but has a different root cause.
I trained a Pytorch model in a Colab notebook using torch version 2.0.0. I downloaded the serialized model so I could register it from my laptop. I tried specifying torch==2.0.0. But this resulted in an error at container build time.
Cannot install torch==2.0.0 and torch==2.0.1 because these package versions have conflicting dependencies. ERROR: ResolutionImpossible

When I did a poetry install --all-extras to get a Garden environment with torch in it, that grabbed torch 2.0.1. When the MLFlow client loaded the local model, it noted the version of torch that was installed locally and stored that in the requirements file in the MLModel directory. At pipeline registration time, the Garden CLI combined the requirements file I wrote myself with the model's requirements. That combined list has the contradictory requirements.
Acceptance Criteria
Given I specify a version of a library in the requirements.txt of a pipeline, when I try to register the pipeline, then the container is told to use the version of the library that I specified.

Similarly, I need to install tensorflow-macos to get tensorflow working on my machine. MLFlow puts this into the requirements generated for a tf/keras model. Garden passes that along to the ContainerSpec. Sure enough, there is not a matching distribution for tensorflow-macos on Linux :)


If-tag limitations

Currently the if-tag has the following limitations:

=== & !== not supported DONE
>= & <= not supported DONE
calculations with -,+,*,/,% are not supported

===, !==, >= <=are already supported

Since 0.3.5 comparators with more than 3 characters (like === and !==) currently do not work. Needs to be fixed before the next version is released.

2dabb89 adds support for !== and ===

7953e3d adds support for grouping.

I have moved the last item

calculations with -,+,*,/,% are not supported

to a separate issue #29 for allowing operators on variables.


Indexer and IndexerRegistry work

This closes #573 and #572, paving the way for #556.
Adds the indexerSlice which is not currently used anywhere, but provides the groundwork.
At this time I haven't implemented a call to get all orders on the servers as I'm not sure that's warranted, but assume you can achieve this anyway by simply passing a non-restrictive filter.

Looks good but it's not working for me. I'm getting this error:
[indexerSlice] Order request failed for http://airswap.mitsi.ovh/ Method does not exist.

Looks good but it's not working for me. I'm getting this error:
[indexerSlice] Order request failed for http://airswap.mitsi.ovh/ Method does not exist.

This appears to be a server error, which is okay. We cannot rely on Indexer servers being available. Only if they are and we get orders back are those orders considered in the taker flow.


Add TO Go 1.1 routes

Specifically, changes routes to be 1.1, which implicitly serve 1.2+,
and adds the one different 1.1 ASNs route.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1513/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1520/
Test PASSed.


Move generally useful hover bits from IconLabelHover into Hover

After a quick look, it seems like UpdatableHoverWidget.update should move into HoverWidget and setupCustomHover should go to hover/hover.ts to avoid a weird dep on iconLabel when icon label isn't used. Anything to make it easier to use IHoverService would also be good when the consumer is a workbench component.
Something else to keep in mind is if the hover is used directly here instead of from workbench, global features like hover lock will not work. Should we be injecting the service's function into icon label?

Can reopen this if it comes up again


Fix a bug where pachd crashes under certain circumstances

Specifically, pachd might crash if one of the following occurs:

A pipeline restarts while there are some jobs running, and then it gets new input commits.
A pipeline starts out with some input commits, and then Go schedules goros in a certain way such that the erroneous code path is triggered (namely, that scaleDownTimer is used before it's initialized).

I tested 1.4.4 on GF's workload and one pachd node crashed once.  However, the workload was able to complete successfully.  Let's keep an eye on the impact of this issue.

Hey, I hope I'm not stepping on your toes or anything, but I'm going to merge the pull request since I have no comments and it looks important. Nice catch!


Restore support for 17134

Tested by building with both Min & Max version set to 17134
Includes XAML changes:

Removing corner radius on content presenters
Removing new buttonpadding resource

Includes Compiled binding change:

Requires Fallback value for binding not to crash application.

Also now uses XAML Direct from Microsoft.UI.XAML as native XD libs don't exist on 17134.
I still don't understand why compiled bindings is SDK version dependent... the generated code has no SDK dependency. Oh well.
Apologies for not catching these sooner!

This version has been released to Beta ring testers, including users on Windows 10 build 17134.
If everything goes well, it would be released to the public in a few days.


How to use in tarui app

I want to apply it in the main window, how can I write?

Basically something like this
#![cfg_attr(
  all(not(debug_assertions), target_os = "windows"),
  windows_subsystem = "windows"
)]

use tauri::Manager;
use window_shadows::set_shadow;

fn main() {
  tauri::Builder::default()
    .setup(|app| {
      let window = app.get_window("main").unwrap();
      set_shadow(&window, true).expect("Unsupported platform!");
      Ok(())
    })
    .run(tauri::generate_context!())
    .expect("error while running tauri application");

some error:
error[E0277]: the trait bound `Window: raw_window_handle::HasRawWindowHandle` is not satisfied
   --> src\main.rs:15:22
    |
15  |           set_shadow(&main_window, true).expect("Unsupported platform");
    |           ---------- ^^^^^^^^^^^^ the trait `raw_window_handle::HasRawWindowHandle` is not implemented for `Window`
    |           |
    |           required by a bound introduced by this call

Try downgrading window-shadows to 0.1

thanks!!! it's ok


Move terminalId to POSComposeApp

What

Why

Test Plan

✅ | ❌ I've added unit tests for this change.
✅ | ❌ The reviewer should manually test the changes in this PR.

Demo

How

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #171

PR #172   👈

PR #173

This stack of pull requests is managed by Graphite.


[ci-auto] GenAIExample FaqGen compose.yaml got changed.

GenAIExample FaqGen compose.yaml got changed
Below files are changed in this commit

FaqGen/docker/xeon/compose.yaml

Please verify if the helm charts and manifests need to be changed accordingly.

This issue was created automatically by CI.

won't result any change in this side


Remove module importing hack

Summary of changes
Remove import hack that prevents objects from pickling. This was to support relative imports between vendored dependencies, but such relative imports do not (and should not) exist anyway.
Closes #1888
Pull Request Checklist

[x] Changes have tests
[x] News fragment added in changelog.d. See documentation for details

The comment around this hack is clearly there to protect this code - to indicate its purpose so it's not capriciously removed. I don't see in this PR or in the associated bug an analysis of why this code is no longer necessary. I do agree it's undesirable that the Distribution object isn't pickleable due to this hack, but we'll want to assess and weigh the costs of removing this hack with keeping it. Could you try tracing this code to its inception and see if there's any hint there as to what problem this code solves?

Could you try tracing this code to its inception and see if there's any hint there as to what problem this code solves?

This seems to be its origin, from when extern and _vendor both had their own VendorImporter: https://github.com/pypa/setuptools/commit/a76f5c03136f0c69e8c366bf4069ec8d89d85da7#diff-c6950cefad8b244938b76f24a0db9a6a
commit message: "Pop the module off the stack, preventing the 'Version' class from having a different manifestation in packaging than in pkg_resources."
Below is my understanding and may be wrong:
It would have been a problem at that time, since, depending which importer it goes through, you would have a different module object and a different class object, causing isinstance checks to fail.
https://github.com/pypa/setuptools/blob/de5caaee3c9a23600b96f512ed2054b4e27357a8/pkg_resources/_vendor/packaging/specifiers.py#L149-L152
There still is some weirdness which I didn't address and exists both before and after removing this hack. Namely that, while immediate descendants of _vendor (e.g. setuptools.extern.packaging) report (via __name__) as being in the _vendor package, their children (e.g. setuptools.extern.packaging.version) report as being in the extern package instead.

Here are my thoughts around when that hack originated.

Could you please contribute a test that demonstrates the continued need for this code?

A fair and reasonable request. Reading my thoughts from four years ago, it appears to me as if tests were failing without this change. The fact that they're not now suggests that maybe the hack is unnecessary. I tried drafting a test, but I'm not able to ascertain what behavior was faulty without that effect.
I think the goal was that when using this importer, there should be exactly one instance of the imported modules in place... that there shouldn't be both setuptools._vendor.packaging and setuptools.extern.packaging in sys.modules.
I observe that in #1296, I copied the VendorImporter code. I definitely want to avoid allowing those implementations to deviate (and perhaps I should revert d0f7a33daba39f60aa402c094cd4276b8b6ce462 unless revisiting that issue). Ugh. Those two have already deviated (949bd166692af0694631542b02e3a2f26a48b455), and on this line of code that's being removed.

In this latest commit, I'm applying the same change to both implementations. Tests are passing for me locally. If they pass CI, then my plan is to move forward with this change. If it causes problems, we can capture those issues and add tests around those use-cases, and thanks to the tests you've added here, that expectation should be able to be retained as well.


Add Laura to contributor list

What problem does this PR solve?
add @LaumiH  to contributor list ❤
What is changed and how does it work?
add @LaumiH  to contributor list  ❤
Check List
Tests

No code

Code changes

No code

Side effects

None

Related changes

None

Does this PR introduce a user-facing change?:

None

Codecov Report

Merging #241 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #241   +/-   ##
=======================================
  Coverage   43.64%   43.64%
=======================================
  Files          18       18
  Lines         685      685
=======================================
  Hits          299      299
  Misses        353      353
  Partials       33       33

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 b43a2a2...ba59c4d. Read the comment docs.

/test


Getting OS X equiv of blue-screen of death when using Pow over VPN

Pow works great when I'm not on VPN, but after about 30 secs of having my Cisco VPN turned on, OS X takes a dump.  I tried to find some logs inside of Console, but can't get anything that's worth posting here.  I suspect the issue is with Pow's DNS server clashing with Cisco VPNs'.  Anyone else able to test this out?

So, I was just curious if I could get an opinion or and update on this issue. Pow is awesome but I am forced to use cisco any-connect to deploy to some of my clients servers. I would like to know what is possibly going wrong :( The article linked above is quite dated so I am wondering if the issue has been fixed by Cisco.


Added support for DateTime, DateTimeOffset and TimeSpan

Info
This Pull Request is related to issue no. 46 ( #46 )
Changes
For DateTime and DateTimeOffset types I added:

IsAfter
IsBefore
IsAfterOrEqualTo
IsBeforeOrEqualTo
IsAfterNow
IsBeforeNow
IsAfterUtcNow
IsBeforeUtcNow
IsAfterOrEqualToNow
IsBeforeOrEqualToNow
IsAfterOrEqualToUtcNow
IsBeforeOrEqualToUtcNow
IsEqualTo
Required

For TimeSpan type I added:

IsLessThan
IsGreaterThan
IsLessThanOrEqalTo
IsGreaterThanOrEqualTo
IsEqualTo
IsNonZero
Required

All type extensions support Nullable.

Something weird is happeining with AppVeyor... I removed that but still requires status check.... great

Ok, fixed that

Is it confirmed we need all 4 combinations of nullable?


Improve rendering of WIP Cookiecutter Readmes

In the wild, we're seeing a lot of taps and targets that still have "Developer TODO:" blocks in the public facing readme.
Let's clean these up so the developer todos are within markdown comments and not shown to readers and end-users.
So, by default, this creates a more concise README.md that is more readable and presentable to potential end users.

Still relevant


Reddit Demo is Busted

The demo that uses Reddit's API is busted.

I want to help but I cannot find the source scripts on the gh-pages branch :cry:.

RemoteDemoController can be found here https://github.com/sroze/ngInfiniteScroll/blob/gh-pages/javascripts/application.js the HTML is https://github.com/sroze/ngInfiniteScroll/blob/gh-pages/demo_async.html


[Question/Feedback]:

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
On the module submission form consider changing "resource or pattern module" to "module classification". This more closely reflect the language in the shared and specific requirements for each and the language about them.

Good point will update now :)

Fixed 👍


vo-frontend: still need the SSL patch for 3.10.8

@jasoncpatton how does this look to you?
@rynge are there any FD / Jira / etc issues that you can link to that describes the issue that we saw without this patch and an indication of when we can remove it?

I have a gwms issue open: https://github.com/glideinWMS/glideinwms/issues/222

Most recently I saw it from out fe (HTCondor 24.2) against the IceCube ap (HTCondor 9.12), so there might be a version problem as well. I did not see anything about "trust on first use".


Create multi-site compatible leaderboard

[ ] Select the columns in the leaderboard (@tschaffter )
[ ] Implement the leaderboard (@thomasyu888 )

@tschaffter You can see a list of columns to choose from here: https://www.synapse.org/#!Synapse:syn23747126/tables/.  This is where SQL joins would be a lot more powerful than what I am doing here...  we also have to think about the addition of new sites.  As new sites get added the leaderboard will get wider and wider.

@thomasyu888 I keep hesitating between creating a table that has N columns for N data sites. I guess I would like to give it a try in order to be satisfied. Since enabling multi-site evaluation is a powerful contribution of this project, I feel like having a table that show this information in a straightforward way can only help to make our point.
For the date annotator, could you create a table with the following columns:

Submission Id
CreatedOn
Submitter
Tool Name
License
i2b2 score
mcw score

This would be the top leaderboard on the page. Below the table we would show the following information:

Latest schema version
Latest version of the i2b2 dataset
Latest version of the MCW dataset
What score means (here F1 Instance Strict)

This top table would only include submission that meet these static information.
Below the top table, we would then have one table per dataset. The table layout would be the same as the one that we currently have on the date annotator leaderboard page.
The proposed design addresses the following needs of the visitor of the page:

How does a submission perform across multiple dataset (top table)
The visitor may want to download the image of a submission identified in the top table: the easiest way is to copy the value of the submission ID from the top table and search the entire page for this value, leading the visitor to identify the corresponding rows in the detailed table for each dataset, which list the docker repository and digest. Since we paginate results, we can only hope that the results will be in the first pages for each dataset (does the entire page reload when changing the page of leaderboard?). On the new challenge platform, we would have filter where the submission ID can be inputted, and the content of the page would automatically relead to show only the rows matching the submission ID inputted.

How does that sound?

@thomasyu888 Can you create a prototype of this top table for the date annotator?

@tschaffter Before moving forward, please see the leaderboard on this page as an example: https://www.synapse.org/#!Synapse:syn22277124/wiki/611022


cleanup of 'make clean'

-ercc force docker remove
-force rm in ecc_enclave
-force rm sgxcclib
-ecc docker stop check container exists
-docker rmi fails (requires 1 argument)
-tlcc rm enclave/ ... force it
-tlcc rm trustedledger ... force it
-check docker_image in ecc (patch below)
diff --git a/ecc/Makefile b/ecc/Makefile
index 7faef50..d2c0700 100644
--- a/ecc/Makefile
+++ b/ecc/Makefile
@@ -52,6 +52,7 @@ clean: docker-clean
rm enclave/mrenclave.go
docker:

  @if [ -z "${DOCKER_IMAGE}" ]; then echo "ERROR: you have to run_action.sh first before invoking this target"; exit 1; fi
  $(DOCKER) build -t $(DOCKER_IMAGE) -f Dockerfile ..

docker-run:

I dont think we should output an error saying one needs to run the auction script first. A more generic error message would be better. Like "ERROR: no docker image for ${ECC_NAME} found."

Is this complete with PR #75 ? Can we close it?

Yes -- completed in PR #75


Abstract variable resolution away from RTTI

The use of RTTI is pretty effective, however it may provide some overhead. Providing an abstraction for the resolution, the developer can use the RTTI by default, or override with their own data dereferencing mechanisms.

There was a discussion that this may be useful if RTTI performance was a concern.
It may also be useful to review in terms of FPC compatibility.

There is quite a lot of functionality relying on RTTI. It may be interesting to try to do this, but it will remove a lot of the functionality in the library. e.g. enumerations, checking if objects are non-empty, etc.


How to use it without nodejs ? Using it in pure javascript ?

Hi, I am very interesting in your package and I am a beginner in web technology.
And of what I understand, we must use your module with nodejs framework.
However, I would like to use it in pure javascript. Is it possible ?
Thanks,

@GaelGuegan you might be interested in tocdown which is built for this exact use case. :smile:


Generating with columns that don't exist

Version
1.19.1
What happened?
It allowed query generation on columns that did not exist.
Relevant log output
None, it worked when it shouldn't

Database schema
CREATE TABLE public.interactions_v2 (
	id STRING NOT NULL,
	creator_id STRING NOT NULL DEFAULT '':::STRING,
	price_cents INT8 NOT NULL,
	enabled BOOL NOT NULL DEFAULT false,
	deleted BOOL NOT NULL DEFAULT false,
	created_at TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ,
	updated_at TIMESTAMPTZ NOT NULL DEFAULT now():::TIMESTAMPTZ ON UPDATE now():::TIMESTAMPTZ,
	action_id STRING NOT NULL,
	account_id STRING NULL,
	integration_id STRING NOT NULL,
	recommended BOOL NOT NULL DEFAULT false,
	creator_vars JSONB NOT NULL DEFAULT '{}':::JSONB,
	channel_points_reward_id STRING NULL,
	profiles STRING[] NOT NULL DEFAULT ARRAY[]:::STRING[],
	bits_price INT8 NOT NULL DEFAULT 100:::INT8,
	twitch_enabled BOOL NOT NULL DEFAULT true,
	transcription STRING NOT NULL DEFAULT '':::STRING,
	no_manual_delete BOOL NOT NULL DEFAULT false,
	owning_entity STRING NULL,
	share_state STRING NULL,
	sharer_user_id STRING NULL,
	sharer_interaction_id STRING NULL,
	sharer_name STRING NULL,
	hidden BOOL NOT NULL DEFAULT false,
	CONSTRAINT interactions_v2_pkey PRIMARY KEY (creator_id ASC, id ASC),
	CONSTRAINT action_def_fk FOREIGN KEY (action_id, integration_id) REFERENCES public.action_definitions(id, integration_id) ON DELETE CASCADE ON UPDATE CASCADE,
	CONSTRAINT accounts_fk FOREIGN KEY (creator_id, integration_id, account_id) REFERENCES public.integration_accounts(creator_id, integration_id, id) ON UPDATE CASCADE,
	UNIQUE INDEX ia_by_reward_id (channel_points_reward_id ASC),
	INDEX ia_deleted (deleted ASC, creator_id ASC),
	INDEX idx_ias_per_action (integration_id ASC, action_id ASC, deleted ASC),
	INDEX ia_by_owning_entity (owning_entity ASC) WHERE owning_entity IS NOT NULL,
	INDEX shared_interactions (share_state ASC, deleted ASC) WHERE share_state IS NOT NULL,
	INDEX shared_interactions_by_sharer (sharer_user_id ASC) WHERE sharer_user_id IS NOT NULL,
	INDEX interactions_by_action_idx (action_id ASC, deleted ASC)
)

SQL queries
update interactions_v2
set deleted = TRUE
where creator in ($1::TEXT[]) -- this column doesn't exist
and (sharer_interaction_id = 'iv2_6eZ76PNFiCCIDR1OjqLMAi' or sharer_interaction_id = 'iv2_OsoBRusS35FjD5tvUg68vh')

Configuration
version: 2
sql:
  - engine: "postgresql"
    schema: "schema.sql"
    queries: "./queries/"
    gen:
      go:
        sql_package: "pgx/v5"
        out: "query"
        package: "query"
        overrides:
          # for some reason we sometimes need the catalog prefix and sometimes not although docs say we should always use it
          - db_type: "pg_catalog.bool"
            go_type: "database/sql.NullBool"
            nullable: true
          - db_type: "bool"
            go_type: "database/sql.NullBool"
            nullable: true

          - db_type: "int8"
            go_type: "database/sql.NullInt64"
            nullable: true
          - db_type: "pg_catalog.int8"
            go_type: "database/sql.NullInt64"
            nullable: true

          - db_type: "int2"
            go_type: "database/sql.NullInt16"
            nullable: true
          - db_type: "pg_catalog.int2"
            go_type: "database/sql.NullInt16"
            nullable: true

          - db_type: "float4"
            go_type: "database/sql.NullFloat64"
            nullable: true

          - db_type: "float8"
            go_type: "database/sql.NullFloat64"
            nullable: true

          - db_type: "text"
            go_type: "database/sql.NullString"
            nullable: true

          - db_type: "timestamptz"
            go_type: "database/sql.NullTime"
            nullable: true

          - db_type: "timestamptz"
            go_type: "time.Time"
            nullable: false

          - db_type: "timestamptz"
            go_type: "database/sql.NullTime"
            nullable: false

Playground URL
No response
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

Does this issue occur with the latest version of sqlc? You can test it in the playground: https://play.sqlc.dev/

@orisano seems to generate, yes https://play.sqlc.dev/p/dd69b4316ab216b0fe98203b5c3d60d0146810d02edfc0e4ecdc4b4e2bb48ff1

@orisano thoughts?


Mempool add "loading blocks" info

If you install on a fresh RaspiBlitz just "mempool explorer" (without any other apps) it gets stuck for some time on "loading blocks" ...

Add to info that this can happen and usually should be gone after 2hours.

You get the info that it could take 7 hours. This is on an installation with RTL and  a few other apps installed.

There are two things ... one is waiting for the txindex to get ready and then mempool needs to gather data for some blocks until its ready - but maybe that is something for mempool to improve on their side - if "Loading blocks" takes too long it should give a some more info to the user why its taking so long.

Reported on mempool github: https://github.com/mempool/mempool/issues/277
Pushing this to v1.7 release.

After about 16 hours I tried to deactivate and activate Mempool again. Same loading blocks message. Then activated Bitcoin Explorer and did a reboot. Mempool then loaded.
Reboot seems to fix it as a workaround.

We are aware of the many issues related to the now deprecated mempool v1 version.
Please stay put for mempool v2 version for raspberry pi in the coming weeks.


fix: user query should return null if user does not exist

🧿 Current issues / What's wrong ?
Current code only return result when the address exist on user (and optionally on leaderboard with LEFT JOIN), so querying an user with an address not existing on the users table, but existing in the leaderboard table returns the following error
query User {
  user(id: "0x00Cef6B61fd57d481e569C64Ac5280736023de7F") {
    id
  }
}

{
  "errors": [
    {
      "message": "Cannot return null for non-nullable field User.id.",
      "locations": [
        {
          "line": 4,
          "column": 5
        }
      ],
      "path": [
        "user",
        "id"
      ]
    }
  ],
  "data": {
    "user": null
  }
}

This is due to the query always returning something, but without users.id, because of COALESCE() on the leaderboard counter columns.
💊 Fixes / Solution
Return null when user does not exist, instead of an user without ID
🚧 Changes

When JOIN with leaderboard, return result only when the user exist on the users table

🛠 Tests
Test with the following query, on a repo connected to the prod database (for the data)
query User {
  user(id: "--ADDRESS--") {
    id
    name
    about
    avatar
    cover
    github
    twitter
    lens
    farcaster
    proposalsCount
    votesCount
    lastVote
  }
}

with the following addresses:

only on leaderboard: 0x0000000007c96AD6c9835204303c8fB35E48Ffc3
only on user: 0x2A7e46945277059D57a795CbecDb92DC29db69A6
on both tables: 0x04DB1bB49b7fFBcEC574f34D29c3153953890352

It should gives similar results on a users query:

query Users {
  users(where: { id_in: ["0x0000000007c96AD6c9835204303c8fB35E48Ffc3", "0x2A7e46945277059D57a795CbecDb92DC29db69A6", "0x04DB1bB49b7fFBcEC574f34D29c3153953890352", "0x04DB1bB49b7fFBcEC574f34D29c3153953890000"] }) {
    id
    name
    about
    avatar
    cover
    github
    twitter
    lens
    farcaster
    proposalsCount
    votesCount
    lastVote
  }
}

The query should not return any results for 0x0000000007c96AD6c9835204303c8fB35E48Ffc3 (only leaderboard)

proposalsCount and votesCount return null when user don't exist on the leaderboard

See #891


Update camel-core, camel-reactive-streams to 3.20.6

About this PR
📦 Updates

org.apache.camel:camel-core
org.apache.camel:camel-reactive-streams

from 3.20.2 to 3.20.6
Usage
✅ Please merge!
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 = "org.apache.camel" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.apache.camel" }
}]

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

Superseded by #681.


Adds Code That Skips File Extensions in Manifest Names if They Already Exist

Our team identified what seemed to be an issue wherein this plugin would blindly add file extensions to the key for the manifest file, even if the name already contained a file extension (so, the keys in some cases would be things like vendor.js.js, for example). This mostly happens in situations in which many different plugins that are messing with filenames are layered on top of each other.
It's possible that we are improperly utilizing one of those plugins, causing the output issues, or the issue is deeper within those other plugins, but this is the simplest solution we could find, as we have reviewed the other plugins' configurations and not found the offending code elsewhere.
This pull request attempts to mitigate the issue described above by adding a check within the code to verify whether the name contains a file extension, and if that extension matches the output file extension, it will not output an additional file extension.
It also fixes a small typo in the transform.js file in which "assets" was spelled "asstes".

All tests have been run, and do pass, on this PR. I did not run the build step to keep the PR clean, since the dist/ folder is part of source control.

Released version 1.0.5 for this pr, please use it happily.


Extract shell_out helper method to chef-utils for reuse in ohai, etc

Okay I think I made some improvements which make this whole framework bound a lot less tightly bound to "global state" and calling class methods.  The ChefUtils.systemd? calling convention may be somewhat of a bad idea, but after ripping some of that out I put it back in due to not wanting to break public APIs, and I believe that this does not break public APIs.
What I did do though is in some of the modules that referenced class names, I instead switched to mixin in those modules and then calling the methods, which I believe (going forwards) is the more correct way of writing these -- it makes it easier to include those methods into external classes and override things like the __transport_connection, whereas if they call class methods then external software consumers would need to directly monkeypatch into ChefUtils classes to override those methods (which is clearly a poor API).

:dope:

Make sure chef-utils deps on mixlib-shellout now

Yeah that's the problem with this.  I think that needs to be inverted and this shell_out helper has to go into mixlib-shellout and then mixlib-shellout needs to take a dep on chef-utils.
I stumbled over this a bit because that felt like mixlib-shellout would then take a dep on train, but that is the point of doing it in a dep-injection kind of style, which is that chef+ohai can DI train into mixlib-shellout and get the right behavior, without mixlib-shellout directly taking a dep on train.

It always felt like the mixlib should have the helper to start with so I'm fine with that.

Yeah I just definitely don't want mixlib-shellout taking a dep on train (although it means that mixlib-shellout may need a dep on train, and train may need to run those mixlib-shellout tests in its CI)

shipping this without fixing this for "default_paths" in this PR, there is a surprisingly large amount of patching to do to fix that issue, it needs to be a separate concern.


Fix typo implemention -> implementation

As titled

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add support for arm64 machines

The earlier docker image supported only amd64 machines with specific google chrome installation. So using common chromium and providing symlink.

Hello, this repo is planned to run only on ubuntu. Thank you for your time.


numbers section made responsive {ss added}

Closes
Closes #1599

Description

Screenshots
earlier:

now:

Note to reviewers

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

@Divesh2003  do acknowledge and merge the pr , numbers section made responsive

@Divesh2003 ......


Add support for byte-slice environment variables.

From slack.
Possibly make a WithEncoding(encoder interface) builder method as well to specify how the Bytes should be decoded.
Example:
var x = ferrite.Bytes("COOLSTUFF", "this is the cool stuff").WithEncoding(encoding.Hex).Required()


chore: dont fail fast on test job matrix

The test job takes a lot of time and is flaky due to the nature of e2e tests. We run it on different environments, so canceling all if one of them fails doesn't make sense. It's often that one job has problems with installing dependencies or that something doesn't work on Windows.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Kernel][Backend][Model] Blocksparse flash attention kernel and Phi-3-Small model

Supports of Microsoft Phi-3-Small-8K and Phi-3-Small-128K models, which use blocksparse flash attention
Prefilling Triton kernel for block-sparse attn
Modified paged attention CUDA with the block-sparse attention, which allows hybrid sparsity pattern for each attention head.
Use torch SPDA in prefilling phase for V100 or older GPUs, as well as CPU

This is joint work between Microsoft GenAI @linxihui, @beagleski, and vLLM @zhuohan123, @simon-mo @youkaichao.

@mgoin  Thanks so much for reviewing. I've replied and made changed accordingly.

@WoosukKwon Any suggestions on the kernel side?

I made a pass. I think once this PR adds unit test for both the Triton and PagedAttention kernels it should be good to go. You might also need to run clang-format to fix the merge conflict.

I made a pass. I think once this PR adds unit test for both the Triton and PagedAttention kernels it should be good to go. You might also need to run clang-format to fix the merge conflict.

Thanks @simon-mo for the review. I'll add the mising unitests today.

I have tested the PR locally as well.


Feature Request - expose 'assetsURLPrefix' as an environmental variable for Docker

Per the title - it would be great to expose this parameter for users of Docker

We should also expose an option to set the entire Otterscan config JSON for Docker users.

We should also expose an option to set the entire Otterscan config JSON for Docker users.

Yes now that I understand the issue more I'd like all the options exposed. There are 2 places this should be enabled:

exposing VITE_CONFIG_JSON so it can be set as as environmental variable, and
not overwriting usr/share/nginx/html/config.json on startup
WIth both a user could choose whether to pass variables on startup or mount the config folder.


Config file path now exposed as Stacker and DataCube constructor parameter

The config file path can now be set when instantiating a Stacker object, rather than just via command line parameters. It is necessary to allow multiple Stacker objects to connect to different DBs for data fusion (e.g. MODIS-Landsat blending).
Hard-coded default tile_type_id = 1 has been removed in stacker.py and datacube.py so that the default value is drawn either from the config file or from the command line. This is to make working with non-Landsat datasets easier.
These changes are only to provide urgently required functionality to users until the revised API is ready. Note that these changes will not affect existing code which imports either stacker or datacube. There is a new parameter which defaults to the current value, and the tile_type_id will still default to 1 (i.e. Landsat) when using the default config file.

Sorry, guys - I meant to do the pull request to develop, not master.


ValueError: Dimension 3 in both shapes must be equal

I'm trying to convert my taki0112 model by using your stylegan-convert-architecture framework.
My model is progressively trained with a starting resolution of 8 to 512 (8, 16, 32, 64, 128, 256, 512).
taki0112_to_nvlabs.py is able to load successfully my checkpoints but than it fails with the following error when building the  TensorFlow graph.
Here is the entire error message ->
[] Reading checkpoints...
[] Success to read StyleGAN.model-2405312
Constructing networks...
G                             Params    OutputShape         WeightShape

latents_in                    -         (?, 512)            -
labels_in                     -         (?, 0)              -
lod                           -         ()                  -
dlatent_avg                   -         (512,)              -
G_mapping/latents_in          -         (?, 512)            -
G_mapping/labels_in           -         (?, 0)              -
G_mapping/PixelNorm           -         (?, 512)            -
G_mapping/Dense0              262656    (?, 512)            (512, 512)
G_mapping/Dense1              262656    (?, 512)            (512, 512)
G_mapping/Dense2              262656    (?, 512)            (512, 512)
G_mapping/Dense3              262656    (?, 512)            (512, 512)
G_mapping/Dense4              262656    (?, 512)            (512, 512)
G_mapping/Dense5              262656    (?, 512)            (512, 512)
G_mapping/Dense6              262656    (?, 512)            (512, 512)
G_mapping/Dense7              262656    (?, 512)            (512, 512)
G_mapping/Broadcast           -         (?, 16, 512)        -
G_mapping/dlatents_out        -         (?, 16, 512)        -
Truncation                    -         (?, 16, 512)        -
G_synthesis/dlatents_in       -         (?, 16, 512)        -
G_synthesis/4x4/Const         534528    (?, 512, 4, 4)      (512,)
G_synthesis/4x4/Conv          2885632   (?, 512, 4, 4)      (3, 3, 512, 512)
G_synthesis/ToRGB_lod7        1539      (?, 3, 4, 4)        (1, 1, 512, 3)
G_synthesis/8x8/Conv0_up      2885632   (?, 512, 8, 8)      (3, 3, 512, 512)
G_synthesis/8x8/Conv1         2885632   (?, 512, 8, 8)      (3, 3, 512, 512)
G_synthesis/ToRGB_lod6        1539      (?, 3, 8, 8)        (1, 1, 512, 3)
G_synthesis/Upscale2D         -         (?, 3, 8, 8)        -
G_synthesis/Grow_lod6         -         (?, 3, 8, 8)        -
G_synthesis/16x16/Conv0_up    2885632   (?, 512, 16, 16)    (3, 3, 512, 512)
G_synthesis/16x16/Conv1       2885632   (?, 512, 16, 16)    (3, 3, 512, 512)
G_synthesis/ToRGB_lod5        1539      (?, 3, 16, 16)      (1, 1, 512, 3)
G_synthesis/Upscale2D_1       -         (?, 3, 16, 16)      -
G_synthesis/Grow_lod5         -         (?, 3, 16, 16)      -
G_synthesis/32x32/Conv0_up    2885632   (?, 512, 32, 32)    (3, 3, 512, 512)
G_synthesis/32x32/Conv1       2885632   (?, 512, 32, 32)    (3, 3, 512, 512)
G_synthesis/ToRGB_lod4        1539      (?, 3, 32, 32)      (1, 1, 512, 3)
G_synthesis/Upscale2D_2       -         (?, 3, 32, 32)      -
G_synthesis/Grow_lod4         -         (?, 3, 32, 32)      -
G_synthesis/64x64/Conv0_up    1442816   (?, 256, 64, 64)    (3, 3, 512, 256)
G_synthesis/64x64/Conv1       852992    (?, 256, 64, 64)    (3, 3, 256, 256)
G_synthesis/ToRGB_lod3        771       (?, 3, 64, 64)      (1, 1, 256, 3)
G_synthesis/Upscale2D_3       -         (?, 3, 64, 64)      -
G_synthesis/Grow_lod3         -         (?, 3, 64, 64)      -
G_synthesis/128x128/Conv0_up  426496    (?, 128, 128, 128)  (3, 3, 256, 128)
G_synthesis/128x128/Conv1     279040    (?, 128, 128, 128)  (3, 3, 128, 128)
G_synthesis/ToRGB_lod2        387       (?, 3, 128, 128)    (1, 1, 128, 3)
G_synthesis/Upscale2D_4       -         (?, 3, 128, 128)    -
G_synthesis/Grow_lod2         -         (?, 3, 128, 128)    -
G_synthesis/256x256/Conv0_up  139520    (?, 64, 256, 256)   (3, 3, 128, 64)
G_synthesis/256x256/Conv1     102656    (?, 64, 256, 256)   (3, 3, 64, 64)
G_synthesis/ToRGB_lod1        195       (?, 3, 256, 256)    (1, 1, 64, 3)
G_synthesis/Upscale2D_5       -         (?, 3, 256, 256)    -
G_synthesis/Grow_lod1         -         (?, 3, 256, 256)    -
G_synthesis/512x512/Conv0_up  51328     (?, 32, 512, 512)   (3, 3, 64, 32)
G_synthesis/512x512/Conv1     42112     (?, 32, 512, 512)   (3, 3, 32, 32)
G_synthesis/ToRGB_lod0        99        (?, 3, 512, 512)    (1, 1, 32, 3)
G_synthesis/Upscale2D_6       -         (?, 3, 512, 512)    -
G_synthesis/Grow_lod0         -         (?, 3, 512, 512)    -
G_synthesis/images_out        -         (?, 3, 512, 512)    -
G_synthesis/lod               -         ()                  -
G_synthesis/noise0            -         (1, 1, 4, 4)        -
G_synthesis/noise1            -         (1, 1, 4, 4)        -
G_synthesis/noise2            -         (1, 1, 8, 8)        -
G_synthesis/noise3            -         (1, 1, 8, 8)        -
G_synthesis/noise4            -         (1, 1, 16, 16)      -
G_synthesis/noise5            -         (1, 1, 16, 16)      -
G_synthesis/noise6            -         (1, 1, 32, 32)      -
G_synthesis/noise7            -         (1, 1, 32, 32)      -
G_synthesis/noise8            -         (1, 1, 64, 64)      -
G_synthesis/noise9            -         (1, 1, 64, 64)      -
G_synthesis/noise10           -         (1, 1, 128, 128)    -
G_synthesis/noise11           -         (1, 1, 128, 128)    -
G_synthesis/noise12           -         (1, 1, 256, 256)    -
G_synthesis/noise13           -         (1, 1, 256, 256)    -
G_synthesis/noise14           -         (1, 1, 512, 512)    -
G_synthesis/noise15           -         (1, 1, 512, 512)    -
images_out                    -         (?, 3, 512, 512)    -

Total                         26179768
D                    Params    OutputShape         WeightShape

images_in            -         (?, 3, 512, 512)    -
labels_in            -         (?, 0)              -
lod                  -         ()                  -
FromRGB_lod0         128       (?, 32, 512, 512)   (1, 1, 3, 32)
512x512/Conv0        9248      (?, 32, 512, 512)   (3, 3, 32, 32)
512x512/Conv1_down   18496     (?, 64, 256, 256)   (3, 3, 32, 64)
Downscale2D          -         (?, 3, 256, 256)    -
FromRGB_lod1         256       (?, 64, 256, 256)   (1, 1, 3, 64)
Grow_lod0            -         (?, 64, 256, 256)   -
256x256/Conv0        36928     (?, 64, 256, 256)   (3, 3, 64, 64)
256x256/Conv1_down   73856     (?, 128, 128, 128)  (3, 3, 64, 128)
Downscale2D_1        -         (?, 3, 128, 128)    -
FromRGB_lod2         512       (?, 128, 128, 128)  (1, 1, 3, 128)
Grow_lod1            -         (?, 128, 128, 128)  -
128x128/Conv0        147584    (?, 128, 128, 128)  (3, 3, 128, 128)
128x128/Conv1_down   295168    (?, 256, 64, 64)    (3, 3, 128, 256)
Downscale2D_2        -         (?, 3, 64, 64)      -
FromRGB_lod3         1024      (?, 256, 64, 64)    (1, 1, 3, 256)
Grow_lod2            -         (?, 256, 64, 64)    -
64x64/Conv0          590080    (?, 256, 64, 64)    (3, 3, 256, 256)
64x64/Conv1_down     1180160   (?, 512, 32, 32)    (3, 3, 256, 512)
Downscale2D_3        -         (?, 3, 32, 32)      -
FromRGB_lod4         2048      (?, 512, 32, 32)    (1, 1, 3, 512)
Grow_lod3            -         (?, 512, 32, 32)    -
32x32/Conv0          2359808   (?, 512, 32, 32)    (3, 3, 512, 512)
32x32/Conv1_down     2359808   (?, 512, 16, 16)    (3, 3, 512, 512)
Downscale2D_4        -         (?, 3, 16, 16)      -
FromRGB_lod5         2048      (?, 512, 16, 16)    (1, 1, 3, 512)
Grow_lod4            -         (?, 512, 16, 16)    -
16x16/Conv0          2359808   (?, 512, 16, 16)    (3, 3, 512, 512)
16x16/Conv1_down     2359808   (?, 512, 8, 8)      (3, 3, 512, 512)
Downscale2D_5        -         (?, 3, 8, 8)        -
FromRGB_lod6         2048      (?, 512, 8, 8)      (1, 1, 3, 512)
Grow_lod5            -         (?, 512, 8, 8)      -
8x8/Conv0            2359808   (?, 512, 8, 8)      (3, 3, 512, 512)
8x8/Conv1_down       2359808   (?, 512, 4, 4)      (3, 3, 512, 512)
Downscale2D_6        -         (?, 3, 4, 4)        -
FromRGB_lod7         2048      (?, 512, 4, 4)      (1, 1, 3, 512)
Grow_lod6            -         (?, 512, 4, 4)      -
4x4/MinibatchStddev  -         (?, 513, 4, 4)      -
4x4/Conv             2364416   (?, 512, 4, 4)      (3, 3, 513, 512)
4x4/Dense0           4194816   (?, 512)            (8192, 512)
4x4/Dense1           513       (?, 1)              (512, 1)
scores_out           -         (?, 1)              -

Total                23080225
Building TensorFlow graph...
Traceback (most recent call last):
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1628, in _create_c_op
c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension 3 in both shapes must be equal, but are 32 and 512. Shapes are [1,1,3,32] and [1,1,3,512]. for 'Assign_7' (op: 'Assign') with input shapes: [1,1,3,32], [1,1,3,512].
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "taki0112_to_nvlabs.py", line 329, in
main()
File "taki0112_to_nvlabs.py", line 264, in main
update_weight = [tf.assign(new, old)]
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 221, in assign
validate_shape=validate_shape)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 61, in assign
use_locking=use_locking, name=name)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\util\deprecation.py", line 488, in new_func
return func(*args, **kwargs)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 3274, in create_op
op_def=op_def)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1792, in init
control_input_ops)
File "C:\Users\bd\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1631, in _create_c_op
raise ValueError(str(e))
ValueError: Dimension 3 in both shapes must be equal, but are 32 and 512. Shapes are [1,1,3,32] and [1,1,3,512]. for 'Assign_7' (op: 'Assign') with input shapes: [1,1,3,32], [1,1,3,512].

I am checking this out now. I admitted tested this script less than the other, and did suspect there could be an issue for progressive growing.
You are getting the error because the layers are not the same size. The reason for that likely has to do with them being misaligned: in the script I make an assumption that the layers are in the same order in both taki0112 and nvlabs architectures. Typically, that is true. I will try to track down when that is not the case and update the repo with a fixed script.

I have a potential fix, but I'd need you (or someone with a taki0112 model trained from scratch) to test it out. Check out this new script on the "progressive-fix" branch.
Make a backup of your model checkpoint, stored elsewhere, before attempting to run it.
You can run python taki0112_reshape_progresive.py --dataset [your data set] --kimg ###### --start_res 8 --img_size 512 --progressive True and make sure that it drops a checkpoint with the counter set to 2 (StyleGAN.model-2). As a sanity check, make sure that the checkpoint file lists this new model, e.g., its contents would be:
model_checkpoint_path: "StyleGAN.model-2"
all_model_checkpoint_paths: "StyleGAN.model-2"

At that point you should be able to run the taki0112_to_nvlabs.py script as usual, and it should work, something like taki0112_to_nvlabs.py --dataset [your data set] --kimg ###### --start_res 8 --img_size 512 --progressive True.
What the new script does is essentially pre-processing. It will copy over only the layers expected by taki0112_to_nvlabs.py and put this in a temporary checkpoint. The rest of the instructions should work as before. I've done a cursory run through and got it working for an untrained/noisy model. Hopefully it works as is. If not, I'll need someone to provide a taki0112 model trained from scratch to truly debug it and make sure the correct layers are being copied over.

Hi Aydao, I've tried your proposed fix, but the problem still persists.
You can find in the link below a trained taki0112 network.
https://drive.google.com/drive/folders/1x3CwXseXHEHXU_boLRRTlxAhIf2Agcb3?usp=sharing

Thanks for sharing (cool model!), that really helped me figure out the problem. I got it convert. Here is a link to your model in the nvlabs pkl format:
https://drive.google.com/open?id=1jlxknhr-Y7qcg2-4YrcDCa9vuuf_XSMp
I believe the issue was with how my script was handling / expecting the starting resolution. In brief, I used the same process described above, but before running the taki0112_to_nvlabs.py script I had to chance part of the directory from "8to512" to "512to512" and use the flag set to "--start_res 512". I shall push a commit with my fixes to the branch soon, likely do some more testing before merging it to master, and close the issue then. Let me know if you have any issues. I'm also happy to delete my local copy of your models and remove the link above if you want to keep it private.

It's working now. I managed to replicate your result by changing the directory and than used the proper flag setting. (I deleted my google drive link, you can delete yours too now)
Thanks!

That's great. And sure thing, I just deleted it. I'm very glad we got it figured out. Good luck with the rest of your StyleGAN work!