Terraform plug-in sbitio/hiera5 not availble for ARM macOS causes pecdm::provision to fail

Describe the Bug
The pecdm module fails when used on an ARM architecture Mac due to the sbitio/hiera5 Terraform plug-in not being available.
Expected Behavior
The pecdm module is compatible with Mac hardware using ARM processors.
Steps to Reproduce
Attempt to Provision a GCE environment from an ARM-based Mac:
bolt plan run pecdm::provision project=example ssh_user=john.doe provider=google firewall_allow='[ "<IP_ADDRESS>/0" ]'

Provisioning fails with an error about Terraform dependencies:
Starting: plan pecdm::provision
Starting: task terraform::initialize on localhost
Finished: task terraform::initialize with 0 failures in 0.1 sec
Starting: plan terraform::apply
Starting: task terraform::apply on localhost
Finished: task terraform::apply with 1 failure in 0.14 sec
Finished: plan terraform::apply in 0.15 sec
Finished: plan pecdm::provision in 1.47 sec
Failed on localhost:

  Error: Inconsistent dependency lock file

  The following dependency selections recorded in the lock file are
  inconsistent with the current configuration:
    - provider registry.terraform.io/hashicorp/google: required by this configuration but no version is selected
    - provider registry.terraform.io/hashicorp/random: required by this configuration but no version is selected
    - provider registry.terraform.io/sbitio/hiera5: required by this configuration but no version is selected

  To make the initial dependency selections that will initialize the dependency
  lock file, run:
    terraform init
Failed on 1 target: localhost
Ran on 1 target

Running terraform init directly in the .terraform/google_pe_arch directory provides more info:
cd .terraform/google_pe_arch
terraform init
Initializing modules...

Initializing the backend...

Initializing provider plugins...
- Finding hashicorp/random versions matching "3.1.0"...
- Finding sbitio/hiera5 versions matching "0.2.7"...
- Finding hashicorp/google versions matching "3.68.0"...
- Installing hashicorp/random v3.1.0...
- Installed hashicorp/random v3.1.0 (signed by HashiCorp)
- Installing hashicorp/google v3.68.0...
- Installed hashicorp/google v3.68.0 (signed by HashiCorp)
╷
│ Error: Incompatible provider version
│
│ Provider registry.terraform.io/sbitio/hiera5 v0.2.7 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all platforms. Other versions of
│ this provider may have different platforms supported.

Environment

macOS 12.4 running on M1 hardware
Bolt 3.24.0, installed via Homebrew
Terraform 1.2.4, installed via Homebrew

@Sharpie I do not have an ARM Macbook, could you test the branch of the Google Terraform module which I've pushed? https://github.com/puppetlabs/terraform-google-pe_arch/tree/local_hiera_mirror

No joy. I update the pecdm Puppetfile:
diff --git a/Puppetfile b/Puppetfile
index ac61008..4ad2d65 100644
--- a/Puppetfile
+++ b/Puppetfile
@@ -25,7 +25,7 @@ mod 'puppetlabs-peadm',
 #
 mod 'terraform-google_pe_arch',
     git:          'https://github.com/puppetlabs/terraform-google-pe_arch.git',
-    ref:          '651c95fb058d050476f496234ad97467b349d937',
+    branch:          'local_hiera_mirror',
     install_path: '.terraform'

 mod 'terraform-aws_pe_arch',

Then removed the .modules and .terraform directories and ran bolt module install --no-resolve. The pecdm::provision provision plan still fails:
$ bolt plan run pecdm::provision project=example ssh_user=john.doe provider=google firewall_allow='[ "<IP_ADDRESS>/0" ]'
Starting: plan pecdm::provision
Starting: task terraform::initialize on localhost
Finished: task terraform::initialize with 1 failure in 3.59 sec
Finished: plan pecdm::provision in 5.83 sec
Failed on localhost:
 undefined method `_' for #<TerraformInitialize:0x00007febef198650>
Failed on 1 target: localhost
Ran on 1 target

$ bolt plan run pecdm::provision project=example ssh_user=john.doe provider=google firewall_allow='[ "<IP_ADDRESS>/0" ]'
--trace
Starting: plan pecdm::provision
Starting: task terraform::initialize on localhost
Finished: task terraform::initialize with 0 failures in 0.2 sec
Starting: plan terraform::apply
Starting: task terraform::apply on localhost
Finished: task terraform::apply with 1 failure in 0.26 sec
Finished: plan terraform::apply in 0.27 sec
Finished: plan pecdm::provision in 2.86 sec
Failed on localhost:

 Error: Inconsistent dependency lock file

 The following dependency selections recorded in the lock file are
 inconsistent with the current configuration:
   - provider registry.terraform.io/hashicorp/google: required by this configuration but no version is selected
   - provider registry.terraform.io/hashicorp/random: required by this configuration but no version is selected
   - provider registry.terraform.io/sbitio/hiera5: required by this configuration but no version is selected

 To make the initial dependency selections that will initialize the dependency
 lock file, run:
   terraform init
Failed on 1 target: localhost
Ran on 1 target

$ cd .terraform/google_pe_arch
$ terraform init
Initializing modules...

Initializing the backend...

Initializing provider plugins...
- Finding sbitio/hiera5 versions matching "0.2.7"...
- Finding hashicorp/google versions matching "3.68.0"...
- Finding hashicorp/random versions matching "3.1.0"...
- Installing hashicorp/google v3.68.0...
- Installed hashicorp/google v3.68.0 (signed by HashiCorp)
- Installing hashicorp/random v3.1.0...
- Installed hashicorp/random v3.1.0 (signed by HashiCorp)
╷
│ Error: Incompatible provider version
│
│ Provider registry.terraform.io/sbitio/hiera5 v0.2.7 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all platforms. Other versions of
│ this provider may have different platforms supported.

@Sharpie I think this may have been forked https://registry.terraform.io/providers/chriskuchin/hiera5/latest could you try using chriskuchin/hiera5 ?

@Sharpie We have merged https://github.com/puppetlabs/puppetlabs-pecdm/pull/82 which uses the new plugin can you let us know if that works


feat: migrated project card from partial to view component

Fixes #4168
Describe the changes you have made in this PR -

Migrated project card from partial to view component
Wrote Test cases for rendering the project card

Screenshots of the changes (If any) -

cc @tanmoysrt


[PROD-429] Handle event logs with no application end events

https://synccomputing.atlassian.net/browse/PROD-429
In the case described in the ticket there are no stage, SQL or application end events in the log. There are only these events:
% jq -r .Event issues/prod-429/eventlog
DBCEventLoggingListenerMetadata
SparkListenerResourceProfileAdded
SparkListenerBlockManagerAdded
SparkListenerEnvironmentUpdate
SparkListenerApplicationStart
SparkListenerExecutorAdded
SparkListenerBlockManagerAdded

In this scenario the finish_time on the application is not set leading to the exception described in the ticket. The solution here builds on the validation that mandates end events for jobs and stages to also mandate events required to set the finish time.
Formatting removed the carriage returns so the file looks completely changed, but really only lines [26,29] were added.
A test for the solution is provided in https://github.com/synccomputingcode/sync_backend/pull/184

Thanks @gorskysd, I'll let you increment the version.
The companion PR, https://github.com/synccomputingcode/sync_backend/pull/184, has a test to validate the new code. You had mentioned there being little expectation for tests under the internal_tools directory - is there a better place for the test?


[Android] Crash when parsing JS stacktrace

Description
Very similar to  #8311, but rather than no stack, some of stack information is missing.
com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `int64', but had type `null'
  at com.facebook.react.bridge.ReadableNativeMap.getInt(Native Method)
  at com.facebook.react.devsupport.StackTraceHelper.convertJsStackTrace(StackTraceHelper.java:103)
  at com.facebook.react.devsupport.DevSupportManagerImpl$3.run(DevSupportManagerImpl.java:287)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:148)
  at android.app.ActivityThread.main(ActivityThread.java:5417)
  at java.lang.reflect.Method.invoke(Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

which points me to
  public static StackFrame[] convertJsStackTrace(@Nullable ReadableArray stack) {
    int size = stack != null ? stack.size() : 0;
    StackFrame[] result = new StackFrame[size];
    for (int i = 0; i < size; i++) {
      ReadableMap frame = stack.getMap(i);
      String methodName = frame.getString("methodName");
      String fileName = frame.getString("file");
      int lineNumber = frame.getInt("lineNumber");    // <-- Crashes here
      int columnNumber = -1;
      if (frame.hasKey("column") && !frame.isNull("column")) {
        columnNumber = frame.getInt("column");
      }
      result[i] = new StackFrame(fileName, methodName, lineNumber, columnNumber);
    }
    return result;
  }

Solution
Unfortunately, I don’t immediately know if I can provide the code that caused the issue (I’d have to check up on some policies). However, maybe it could be so simple as to have explicit checks for the presence of the fields and/or changing to nullable object types rather than primitive ints?
Additional Information

React Native version: 0.42.3
Platform: Android (have not tested iOS)
Development Operating System: Linux
Dev tools: Android Studio 2.3, Android 6.0

By a charming coincidence, this was fixed by another Petter H (@petterh), in https://github.com/facebook/react-native/commit/957b55c769661edeee691109e45dc99a06f87bc4; but it is only available in v0.44.0-rc.0. It’s not straightforward to upgrade to this version, since it requires an unreleased version of React. I wonder if there’s any chance of backporting?

It's unlikely this commit will be backported into 0.43, as the stable release has already been cut. You should still be able to use the RC version, we actually encourage people to use the RC in order to surface these kinds of issues as soon as possible.


unbox_overlay.html is missing in the latest release

As you can see in the Public folder of the repo, the file unbox_overlay.html is missing. I had to grab the file from a previous release to make the web page work !

Ah yeah that's created when the overlay color is updated, will update so a base overlay is created on app init if one doesn't exist.


Store inode in Entry, add accessor

the d_ino field is mandatory in POSIX and clients (me) really need it when passing data
around. Keeping it in the Entry saves an extra stat()/metadata query.

The 2nd commit may be not worth the costs of one additional file-descriptor. It started just
as thought experiment to implement Entry::metadata() which seems to be futile.
Nevertheless the functionality to 'remeber' the orginal directory is missing this can be done
on appplication side by wrapping the DirIter. Or I am considering to refine this to add a
'fat' DirIter to openat which includes the origin Dir and has some convinience
functions. Modestly lightweight would be to keep an origin: Option in DirIter and only
store it on request (at construction time). The cost here is the file descriptor, not the memory.


Colors of new cards from ExRNA do not match - It would be great if we keep it light color pastels

Fixed


[DOCS]optimize the visual layout

Enhancing the background and layout of page would make it attractive.

Hello @singodiyashubham87 I'm contributor under GSSoC 24 I want to work on this please assign me this task!!

Hey, @singodiyashubham87 can you assign this issue to me in collaboration or individually? As I have UI/UX experience along with JS, HTML, and CSS. I can make it more attractive.

@sakshiiiii26 & What do you actually think to improve in the UI, what are your suggestions?

By changing background colour and some more option such as shape text and adding feature of multi colour with provide user varities of shades to draw perfect.
@singodiyashubham87 this is all my suggestion about improving UI

@singodiyashubham87 I am enthusiastic about working on this project to improve user experience by improving ui.

@sakshiiiii26 Kindly show a prototype/design of how you will change the application look, if the changes looks appealing then only I can assign you the issue.

Closing due to inactivity.


Diffusion with Image Forensics.

Hi @heejkoo , i think we can include diffusion models from the image forensic perspective, which states how to distinguish image generated by diffusion model from real images. This is a meaningful research direction and has many practical needs in the security system, as well as helps people use diffusion model to generate more "real" images. This image forensic has many topics, such as localization, detection, and attribution. Please consider taking a look on these following works:
Towards the Detection of Diffusion Model Deepfakes (https://arxiv.org/pdf/2210.14571.pdf)
Hierarchical Fine-Grained Image Forgery Detection and Localization (CVPR2023) (https://arxiv.org/pdf/2303.17111.pdf)
AutoSplice: A Text-prompt Manipulated Image Dataset for Media Forensics (https://arxiv.org/pdf/2304.06870.pdf)
DE-FAKE: Detection and Attribution of Fake Images Generated by Text-to-Image Generation Models (https://arxiv.org/pdf/2210.06998.pdf)

Hello, I will search for related works and add the "image forensic" category sooner or later. Thank you for your valuable opinion.

Hello, I will search for related works and add the "image forensic" category sooner or later. Thank you for your valuable opinion.

@heejkoo  May I ask can we add this new direction in the github now?

Sorry for being late. I will add the new subsection sooner or later. Thank you for your patience and understanding!


lark.parse() does not always return a Tree object

I'm opening an issue because the documentation does not make clear if this behaviour is intended or not.
I'm currently using lark to parse and transform boolean search queries to feed them into another application later in the execution process.
My grammar is as follows:
?exp: term (OR term)*
?term: factor (AND factor)*
?factor: KEYWORD | "(" exp ")"
KEYWORD: ESCAPED_STRING
AND: "&"
OR: "|"
%ignore " "
%import common.ESCAPED_STRING

The grammar accepts these two inputs, that I would want to transform later:
"x y z"
"x" & "y" & "z"

The problem comes when I want to transform the resulting tree. I have a transformer that uses the visit_tokens property to transform KEYWORD terminals, however, because the first input can be reduced into a single KEYWORD terminal, the parse() method returns a lark.lexer.Token object instead of a lark.tree.Tree object.
This causes the transform method to fail as it expects a Tree as parameter, with the following error message: 'Token' object has no attribute 'children'
Is this intended?

I assume you are creating the parser with start=exp? Then the behavior is intended, but debatable. The 'problem' is that your entry point, exp, has a question mark in front of it, making it invisible if there is exactly one child. If this one child happens to be a Token, that token is returned.
I would suggest either dealing with that case directly or just having a start rule as alternative entry point that does nothing but wrap exp

Please include a minimal example that reproduces your error, including the transformer and the initialization code.

It is as Melang says, I do have exp as the entry point of the parser: parser = Lark(grammar, start='exp')
This is my transformer (with rules removed for brevity):
class QueryTransformer(Transformer):
    def KEYWORD(self, arg):
        return [arg[1:-1].split()]

    def AND(self, arg):
        raise Discard

    def OR(self, arg):
        raise Discard

... etc

The error happens when I try this:
query_tree = self.parser.parse(query)
return QueryTransformer(visit_tokens=True).transform(query_tree)

Currently I'm dealing with the case directly by testing if the returned value is a Token. Using a rule to wrap ?exp  makes it so parse() always returns a Tree.
I would suggest adding this information to the documentation to prevent future confusion.

Well, I think that ...
(answer removed for brevity)

Closing this because the issue has been resolved.


Fix broken builds

Broken build with error:
Git repo encounters case-sensitivity conflicts because the repo contains files with name only differing in casing. Please fix the casing conflicts and try building again. Note that if you are working on a Pull Request, please fix the target branch first if the target branch contains casing conflicts. Detected casing conflicts are with following files: aspnetcore/mvc/views/razor/sample/Views/Home/Contact.cshtml

Fix was to remove the following red dot

@JulioJu  see this fix I needed to make.
@guardrex 	what's that red character?

It's ye olde Byte Order Mark. It should be harmless.

@Rick-Anderson @guardrex
Just for info:

Microsoft compilers[9] and interpreters, and many pieces of software on Microsoft Windows such as Notepad treat the BOM as a required magic number rather than use heuristics. These tools add a BOM when saving text as UTF-8, and cannot interpret UTF-8 unless the BOM is present or the file contains only ASCII. Google Docs also adds a BOM when converting a document to a plain text file for download.

https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8
With the GNU tool file, I've tested, the file aspnetcore/mvc/views/razor/sample/Views/Home/Contact.cshtml contains only ASCII characters, therefore no problems for character encoding when a Windows user will open this file.


Bug with transition-group and indexed animation

Version
2.5.2
Reproduction link
https://jsfiddle.net/50wL7mdz/584489/
Steps to reproduce
Run the JSfiddle, if the v-for :key is index, when you delete one item from the array it will animate the last item, if you change to :key error, it will work properly but give an Vue warn: Avoid using non-primitive value as key, use string/number value instead.
Vue Warn: Duplicate keys detected: '[object Object]'. This may cause an update error.
What is expected?
Expected to animate the item that is being removed like using error.
What is actually happening?
animating only the last item of the loop when using index.

Trying to create one alert notification component.

This is expected, you need to use some unique identifier as the key otherwise Vue will reuse different elements because the index change if you remove an element in the array: https://jsfiddle.net/nhqrzsyf/


Removed promise.map from settings.js file

Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[ ] There's a clear use-case for this code change, explained below
[ ] Commit message has a short title & references relevant issues
[ ] The build will pass (run yarn test:all and yarn lint)

We appreciate your contribution!

copilot:summary

Codecov Report

Merging #18 (cfe601d) into main (498e166) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
- Coverage   71.61%   71.58%   -0.03%
==========================================
  Files        1817     1817
  Lines      115364   115364
  Branches    16709    16707       -2
==========================================
- Hits        82613    82587      -26
- Misses      31635    31654      +19
- Partials     1116     1123       +7

Flag
Coverage Δ

e2e-tests
66.55% <100.00%> (-0.01%)
:arrow_down:

unit-tests
63.43% <50.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

ghost/core/core/server/models/settings.js
92.29% <100.00%> (ø)

... and 15 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


ERROR:root:Cell magic %%plantuml not found.

I did install it with pip but get error:
ERROR:root:Cell magic %%plantuml not found.

Woops. Bad documentation. Need to import it first before using the cell. Thanks for pointing this out!


updated: metrics-related docs with respect to new metric updates

Signed-off-by: Yashvardhan Kukreja<EMAIL_ADDRESS>closes #239
Updates the metric-related docs to comply with the recent metric re-design in Kyverno.
Refer: https://github.com/kyverno/kyverno/pull/2157

And this is only going to make it into 1.4.2, correct?

And this is only going to make it into 1.4.2, correct?

Yep


Add support for nested ASTScopes inside of macro expansions.

Before this patch the parents of SILDebugScopes representing macro expansions were missing the inlinedAt field, which resulted in incorrent LLVM IR being produced. This is fixed by first computing the inlined call site for a macro expansion and then computing the nested SILDebugScope for the ASTScope of the expanded nodes; adding the inlinedAt field to all of levels of parent scopes.
rdar://108323748

@swift-ci test

@swift-ci test

@swift-ci test

@swift-ci test


Fix HLG<->HLG and PQ<->PQ conversions

Those occur when using djxl’s --color_space= flag.

Is the title of this PR accurate? This seems to also affect HLG<->anything or PQ<->anything conversions, no?

Is the title of this PR accurate? This seems to also affect HLG<->anything or PQ<->anything conversions, no?

It does apply to them but I didn’t want to imply anything about the delta in correctness for those. :p It is not yet clear to me why this didn’t work without this change (and it bothers me), and I have potentially more changes in mind for HLG<->other conversions.


Migration for person.authentication_methods

For easier authentication_methods.phone_number count on create declaration request migration for person.authentication_methods should be done
create new table authentication_methods (id, person_id, type, phone_number, inserted_at, updated_at)
move persons.person.authentication_methods to persons.authentication_methods
temporary save new persons auth_method both to persons.person.authentication_methods and persons.authentication_methods
test on large amount of data
after some term of pilot use, delete persons.person.authentication_methods and save data only to new table

@lymychp Please review this

@imax-iva please test migration on the prod data copy to understand how it works on big volumes


Additional Details (Multi Value / Accessing Custom Attributes)

This page could use additional details on how to view custom attributes once they have been assigned values. I have looked at other tutorials in the B2C docs and it is unclear whether Microsoft Graph API supports this yet as Azure AD Graph API does. As for Azure AD graph API, I don't see explanation as to why the attributes are stored in the directory as extension_<APPID>_attrName.
Also, just to clarify, are only single valued attributes of the types string, Boolean, and Int available. Or can you add multi value attributes for, let's say, the string type?

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

ID: c29c26fd-dad6-8435-0694-ba82c784818a
Version Independent ID: fab7c0ac-b35b-83f5-5a1e-c8a6ce26dc8b
Content: Define custom attributes in Azure Active Directory B2C
Content Source: articles/active-directory-b2c/active-directory-b2c-reference-custom-attr.md
Service: active-directory
Sub-service: b2c
GitHub Login: @davidmu1
Microsoft Alias: davidmu

@seantleonard Thanks for the question! We will investigate this issue and get back to you soon.

@seantleonard Microsoft Graph API does not support querying B2C tenant yet . This is still under development and we do not have a timeline to provide at this point . You can use the azure AD Graph API to query the B2C directory. Please check the linked article. It talks about using a .Net client app to query Azure AD B2C tenant using Azure AD Graph API.  You can find more information on how to use graph API here. You can use the Graph Explorer
The attributes are stored in the directory as extension_GUID_custom-attribute-name because AAD B2C in general comes with a default directory schema and when you add a custom attribute , you are actually extending the schema to include new attribute for the defined user class within the schema. Hence it has a prefix of extension.
At this point we only have single-valued attributes available in B2C and we request you to provide this feature request using the feedback forums for AAD B2C . This forum is continuously monitored by engineering and the features are prioritized as per their popularity.
Hope the above clarifies all your doubts. As per your suggestions I have made some changes to the article and its under review . It will be updated in the next release cycle in 24-48 hours subject to successful review .  We will now close this issue. Should you have any further query on this , feel free to tag me or @davidmu1 to your reply and we would be happy to help you . Alternatively you can always open a new issue with us and we will gladly  help you with the same.
Thank you.

@shashishailaj thank you for the explanation and update to the documentation.
Before closing, I'd like to see if the following can be clarified from the original issue:
I understand why extension attributes are prefixed with extension_ however, it is still not clear or mentioned in the documentation, why a GUID is part of the attribute name. I have seen in other StackOverflow/GitHub issues that this is because the extension attribute must be associated to a registered application. Is that correct? Also, that if the application is deleted, all extension attributes on a user referencing that application are also deleted? I believe that should be reflected on this doc page.


 Its working fine without the super tabs. I guess its related to the issue that data on next tabs is already loaded in view while on the first tab mentioned in #61

is there a way to get the <ion-content #superTabsContaniner> from a tabbed page so i can try lazy load image based on its scroll rather than current page.

@kodeine
Try this:
<ion-content #mainContainer>
<super-tabs ...>
  <super-tab ... [navParams]="{ container: mainContainer }"></super-tab>
  ...
</super-tabs>
</ion-content>

<ion-content #mainContainer>
    <super-tabs id="mainTabs"
                tabsPlacement="top"
                [selectedTabIndex]="mySelectedIndex"
                [toolbarBackground]="toolbarBackground"
                [toolbarColor]="toolbarColor"
                indicatorColor="light"
                badgeColor="light"
                [config]="{ sideMenu: 'left' }"
                (tabSelect)="onTabSelect($event)">
        <super-tab [root]="tab0Root" icon="home" id="homeTab" [navParams]="{ container: mainContainer }"></super-tab>
        <super-tab [root]="tab1Root" icon="pulse" id="feedTab" [navParams]="{ container: mainContainer }"></super-tab>
        <super-tab [root]="tab2Root" icon="people" id="teamsTab" [navParams]="{ container: mainContainer }"></super-tab>
        <super-tab [root]="tab3Root" icon="book" id="historyTab" [navParams]="{ container: mainContainer }"></super-tab>
        <super-tab [root]="tab4Root" icon="map" id="nearbyTab" [navParams]="{ container: mainContainer }"></super-tab>
    </super-tabs>
</ion-content>

i get the following error,
Can't bind to 'navParams' since it isn't a known property of 'super-tab'.
1. If 'super-tab' is an Angular component and it has 'navParams' input, then verify that it is part of this module.
2. If 'super-tab' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.

Sorry it's rootParams not navParams

rootParams worked but same issue with lazy loading image until i slightly scroll images wont be displayed

I'll look into this when I get a chance, but it's not a priority since it's not a bug/major bug with this module.
I recommend that for now you should refrain from using this library or the lazy loading library. Also, check out my Ionic Image Loader module. It loads images in a native background thread, and it has a queue system to download images (first in, first out).. so it might be useful to you.

sure i'll wait for this fix :+1:

Any updates on this?


Not able to use Listener with Robot/python

Hi I have written test cases in robot/python, in one of the scenario I want to copy the test case result (.html) in some other folder based on the execution time,
for this I used Listener in python, but somehow I am not able to execute the test cases with listener from command line:
C:\Robot_Framework\Desktop-Automation\TestCases>robot --listener MyListner CallControl_Suit.robot
[ ERROR ] Taking listener 'MyListner' into use failed: Importing listener 'MyListner' failed: ImportError: No module named MyListner
Any help is greatly appreciated...

`class MyListner:
ROBOT_LISTENER_API_VERSION = 2
def __init__(self, filename='listen.txt'):
    self.ROBOT_LIBRARY_LISTENER = self
    outpath = os.path.join(tempfile.gettempdir(), filename)
    console(outpath)
    self.outfile = open(outpath, 'w')

def start_suite(self, name, attrs):
    self.outfile.write("%s '%s'\n" % (name, attrs['doc']))

def start_test(self, name, attrs):
    tags = ' '.join(attrs['tags'])
    self.outfile.write("- %s '%s' [ %s ] :: " % (name, attrs['doc'], tags))

def end_test(self, name, attrs):
    if attrs['status'] == 'PASS':
        self.outfile.write('PASS\n')
    else:
        self.outfile.write('FAIL: %s\n' % attrs['message'])

def end_suite(self, name, attrs):
    self.outfile.write('%s\n%s\n' % (attrs['status'], attrs['message']))

def close(self):
    self.outfile.close()'

The listener you use doesn't seem to be in Python module search path. See the User Guide for more information about taking listeners into use. If you still got problems, please send questions to support forums listed at http://robotframework.org. This tracker is for bug reports and enhancement requests.


hotDownloadManifest in JsonpMainTemplate.runtime.js does not return a promise and causes exception

Do you want to request a feature or report a bug?
Report a bug.

What is the current behavior?
Hot module reloading doesn't work.
If the current behavior is a bug, please provide the steps to reproduce.
When hot reloading modules in our React Chrome extension, the HMR runtime invokes hotDownloadManifest in JsonpMainTemplate.runtime.js, which is causing an exception to be thrown. The problem can be summarised as follows:

lib/HotModuleReplacement.runtime.js: hotCheck always expects hotDownloadManifest to accept a timeout parameter and to return a promise.
lib/JsonpMainTemplate.runtime.js: hotDownloadManifest here expects a callback (no timeout) and does not return a promise.

What is the expected behavior?
Hot module replacement works as expected.
If this is a feature request, what is motivation or use case for changing the behavior?
N/A
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
node 6.11.0
webpack 3.2.0
Linux 4.8.0

I have just realised that JsonpMainTemplate.runtime.js is generated dynamically. Is webpack responsible for generating this file or might a plugin be overriding webpack's default behaviour and producing a jsonp template runtime with a function signature for howDownloadManifest that is only valid in webpack v1?

lib/JsonpMainTemplate.runtime.js: hotDownloadManifest here expects a callback (no timeout) and does not return a promise.

not in the latest version: https://github.com/webpack/webpack/blob/master/lib/JsonpMainTemplate.runtime.js#L21

Okay, so I've just had yet another look, but this time making sure to install node packages from scratch and inspecting the contents of JsonpMainTemplate.runtime.js before triggering a build. It turns out that something strange seems to be happening.
Looking at JsonpMainTemplate.runtime.js immediately after installing node packages, the template does indeed look like the version at https://github.com/webpack/webpack/blob/master/lib/JsonpMainTemplate.runtime.js, but as soon as a build is started, it is replaced with a version that accepts a callback.
I wonder, is this webpack's doing or the work of some plugin?

That's not code I've written and afaik it was never part of webpack. Looks like one or your plugins is adding it. Could you paste your webpack.config.js?

Sadly the code is part of a proprietary repository and the company's policy prevents me from sharing any code or files publicly. I will definitely look into the config file and see if I can identify the offending plugin. Is there an easy way of configuring webpack or perhaps adding code in the right place that would allow me to identify the plugin that modifies the template? Unfortunately, the project builds a Chrome extension and it is not easy to disable plugins without affecting the entire build.
Thanks for all your help so far, Tobias. It is much appreciated!

Do you have a list of plugins for me?

I can definitely do that! Here's a list of webpack plugins currently in use (options included in parenthesis):

babel-loader ({ options: { presets: 'react-hmre' }})
json-loader
style-loader
css-loader (?modules&sourceMap&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5])
postcss-loader
url-loader (?name=media/[name].[ext]!img-loader)
webpack-hot-middleware/client (?path=__webpack_hmr&dynamicPublicPath=true)

The following plugins are also used and instantiated as given below:

new webpack.HotModuleReplacementPlugin()
new webpack.NoEmitOnErrorsPlugin()
new webpack.IgnorePlugin(/[^/]+\/[\S]+.prod$/)
new webpack.DefinePlugin({ bunch of stuff })

I personally suspect webpack-hot-middleware is at fault here but haven't been
able to confirm this.  What do you think?

You could try to make the file read-only. Maybe something errors out...

I found this:
https://github.com/jhen0409/react-chrome-extension-boilerplate/blob/master/webpack/replace/JsonpMainTemplate.runtime.js

Ha, that was it! That was definitely the culprit. Thanks for your help, Tobias!


[1.1] Error when AjaxOptions parameter is passed to jQuery.Ajax call

In version 1.1, the following:
            jQuery.Ajax(
                new AjaxOptions()
                {
                }
            );

causes error:
Error: Object reference not set to an instance of an object.

Tracked here:
https://github.com/bridgedotnet/Bridge/issues/130


Coordinates relationship between the “spot2cell.txt” and the input tsv file

How to convert the coordinates in the file “spot2cell.txt” generated by SCS to the coordinates in the file “Mouse_brain_Adult_GEM_bin1.tsv”?
I cannot find a corresponding relationship between the coordinates in the file “spot2cell.txt”  the coordinates in the input spatial matrix, GEM_bin1.tsv file.

Hi, the coordinate R:C in the the spot2cell.txt file corresponds to the row and column in the patch you processed, where R is the row and C is the column. To map the patch coordinates back to the global coordinates in bin1.tsv, you need to add the coordinates of the start points (top left corner) of the patch and the whole tissue section to the patch coordinates. For example, in the example patch, the whole section starts from coordinates 3225:6175, and the patch starts from 5700:5700 of the whole section, so a coordinate of 0:216 in the patch will be mapped to 8925(0+3225+5700):12091(216+6175+5700) in bin1.tsv.


Don't allow adding data source with name created only from whitespaces

How to reproduce

Click on Add Data Source
Add whitespace to Data Source Name input

Issue
New data source could be added
Correct behaviour
Data source name created only from whitespaces should not be valid

Not an issue anymore...


When will musicbrainz IDs be supported?

I was made aware yesterday that the 7Digital API will now be supporting Musicbrainz IDs.  This will allow us to be able to access artists with sevenDigitalids= OR musicBrainzIds=
Example calls are laid out below:

With 7Digital ID
http://api.7digital.com/1.2/artist/match/byId?country=us&oauth_consumer_key=YOUR_KEY_HERE&oauth_nonce=989288088&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1426096192&oauth_version=1.0&sevenDigitalIds=10869&oauth_signature=%2F2r4dlCR9RF4JYIhRg78%2BMcd3cQ%3D

With Musicbrainz ID
http://api.7digital.com/1.2/artist/match/byId?country=us&musicBrainzIds=25607613-aceb-445a-8519-83a2ee0f8402&oauth_consumer_key=YOUR_KEY_HERE&oauth_nonce=346135565&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1426096485&oauth_version=1.0&oauth_signature=V7HFzaKSvt0HZLpBzcGvCvUgg%2BA%3D

I understand that it will take time to develop and implement this new schema to this Node.js client (and I bet that 7Digital is still iterating on its first release of this data).  My question is, when do you all plan on supporting this?
Thanks so much!
Daniel

Implementing support for this will actually be quick and easy.  I think it makes more sense to wait until we've released support for matching release and tracks as well though.  If you're still keen just to get going with artist matching then I could get something for you to test with in the next few days.

No need to rush that.  We'll await when the release and track matching is good to go.  When do you think that will be ready?

We are working on it at the moment.

Any updates?
Thank you so much!

We are very close. I think most of the work has been completed noow and the team is reviewing and documenting, but I can't promise exactly when it will be live for customers.

Give it a try, we now have 3 endpoints for matching now: /artist/match/byId,  /release/match/byid and track/match/byid.
It may not be final yet, but it's at a stage where feedback would be appreciated.
All three queries work the same - supply either the sevenDigialIds or musicBrainzIds params, with value containing 1 or more ids separated by comas.

@AnthonySteele are you referring to the main 7Digital API or this Node.js SDK?
I am aware that 7Digital is almost completed with their matching API.  I am just awaiting for when this Node.js client will be ready to do it.
Thanks again!

Hi, @AnthonySteele is referring to it being ready in the API. I'm hoping to add it to this client in the next day or two.  The build is broken on master, which needs to be resolved first.

I have just pushed and published experimental matching API support as 0.33.0  Please have a test and give us any feedback.

Apologies, I specified the wrong oauth type.  This is now tested and fixed in 0.33.1, please use that version for testing.

Thank you @raoulmillais and the rest of the team!  The matching is working great.  I'm using it mostly right now at the artist level, and I'll be sure to let you know if I see anything.
Quick question:  How do I remove the logging output?  Is there a setting when I instantiate the API class that controls that?

Yes you can configure a custom logger using any of the usual configuration points.  You can supply a logger object, which should have a function for each of the npm loglevels.  The default logger can be found in here.  So for example:
function noop() {}
var quietLogger = {
    silly: noop,
    verbose: noop,
    info: noop,
    http: noop,
    warn: noop,
    error: console.error
};
var api = require('7digital').configure({
    logger: quietLogger
    // remaining config here
} });
api.Releases().matchById({ sevendigitalIds: '12345' }, console.log);

@PradatiusD please send any ffeedback you have about the matching API specifically to your account manager.  That way it will definitely get to the right people :)  As always, feedback or issues with the node client can be done here.

Morning @PradatiusD - A quick heads up that a new version of the matching API was deployed this morning.  For consistency, the musicBrainzIds parameter has now changed to mbids and in the response, the musicBrainzId property has changed to mbId. cc @AnthonySteele

Excellent. Thanks for letting me know.  I will adjust accordingly.


AMD GPU doesn't work

Examples > not working

curv lathe.curv  pancake, + others show the background colour, no content, 60 fps

tor, shreks_donut, + others show the background colour, no content,  1-10 fps

morph yields

EE ../../../../../src/gallium/drivers/r600/r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE ../../../../../src/gallium/drivers/r600/r600_state_common.c:799 r600_shader_select - Failed to build shader variant (type=1) -1

schwartz yields

EE ../../../../../src/gallium/drivers/r600/r600_shader.c:3663 r600_shader_from_tgsi - GPR limit exceeded - shader requires 181 registers
EE ../../../../../src/gallium/drivers/r600/r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE ../../../../../src/gallium/drivers/r600/r600_state_common.c:799 r600_shader_select - Failed to build shader variant (type=1) -12

Working:

[x] smoke(looks amazing after zooming in slightly)
[x] mandelbrot, test, log_spiral, function(all work but will pixelate after intensive zooming)

Curv is sensitive to the GPU hardware capabilities and the graphics driver. Good hardware and good driver software are a requirement. If the website shadertoy.com doesn't work in your web browser, then Curv won't work well either. On Linux, if the open source driver isn't cutting it, try the proprietary driver. The best bet on Linux is probably a recent Nvidia card with the proprietary driver.
In your test, morph and schwartz ran out of GPU registers. The easy fix is to buy a new GPU. I'm having good results with an Nvidia GTX 1050 + the proprietary drivers on Ubuntu. In the longer term, I'm going to rewrite the GPU code generator: I'll write an optimizing compiler that will reduce the GPU requirements of most programs. That will be months of work.
lathe, pancake, tor and shrek don't show any content. I encountered this once before, and I'll publish a possible fix.
Pixelation after intensive zooming is caused by floating point underflow/overflow. No plan to fix this.

Running out of GPU registers could also be caused by the driver. Curv output requires heavy full function optimization to run well. Since the proprietary Nvidia driver I'm using finds 90% of the needed optimizations, I haven't worried about this until now. But maybe the open source gallium driver doesn't have a heavy global optimizer. If that's the case, switching to the proprietary AMD driver might help.

Hey Doug, here's an update with a new graphics card today(Radeon RX 460) and different drivers. Great frame rate boost, but ran into driver incompatibility since the official AMDGPU-Pro Driver Version 17.10 is only up to Ubuntu 16.04.2
I found Mesa Graphics Stable Padoka, which does support Ubuntu 17.04(zesty), but the

lathe, pancake, tor and shrek don't show any content

problem still persists.

Thanks for the update. I want to fix this, but I need to come up with a debug strategy. More later.

I tried switching my Ubuntu system to the open source Nouveau driver. Frame rates drop, but otherwise, everything works as expected. I'm still using my Nvidia GPU in this test.

I switched my Ubuntu system to Intel graphics. There's a bug in glslViewer, but all of the 3D examples render as expected. It seems that this issue is AMD specific (since nVidia and Intel work).

@ersin-ertan: Here's a simple experiment that you can try. You report that pancake.curv won't render (doesn't show any content). The goal of this experiment is to test whether the problem is in glslViewer, or if it is in your AMD driver/hardware.

Update to the latest version of curv. I just pushed a change to gl_compiler.cc.
Compile and install curv.
Run this command: curv -ofrag examples/pancake.curv >p.frag
At this point, glslViewer p.frag should reproduce what you reported before: no content is displayed (a sky blue field). If the graphics window is black, there should be error messages. If glslViewer displays any error messages, tell me what they are.
Now open the FireFox web browser (not Chrome).
Go to https://www.shadertoy.com/new.
Delete all of the text in the text pane on the left (a 5 line GLSL program beginning with void mainImage).
Paste the contents of p.frag into this text pane.
Click the black arrow head below the text pane: its help text is "Compile".
The graphics pane on the right should now show either a yellow pancake (success) or it should show an empty sky-blue field ("no content is displayed"). Whatever the result, tell me what it is. If there are error messages, they are embedded in the program text, you have to scroll up or down to see them.

[x] ShaderToy is working
[ ] glslViewer is not

I'm getting nothing on screen except for the brownish colour.

That's a really useful result, thanks. The olive colour in glslViewer makes it look like the view is seriously zoomed in. If you try to zoom out, does anything useful happen?
One more thing to try. Edit the file p.frag and replace #ifdef GLSLVIEWER with #if 0 (in two places). Then, try glslViewer p.frag. What happens?

Not zoomed.
Success, the edited p.frag file renders the pancake like shadertoy does.

Based on these results, I expect that none of the 3D models in the examples directory will work correctly. None of these should work: gyroid.curv lathe.curv morph.curv neovius.curv pancake.curv plato.curv rainbow.curv rgbsphere.curv rounded.curv schwartz.curv shreks_donut.curv sinewaves.curv stereographic.curv tor.curv twist.curv
For a 3D model, I generate GLSL code that references 3 uniform variables called u_eye3d, u_up3d, u_centre3d. These variables are the camera position. I guess maybe these are being set to garbage values on your system? They should be initialized as follows:
glm::vec3 u_centre3d = glm::vec3(0., 0., 0.);
glm::vec3 u_eye3d = glm::vec3(2.598076, 3.0, 4.5);
glm::vec3 u_up3d = glm::vec3(-0.25, 0.866025, -0.433013);

The values should only change when you use the mouse to zoom (scroll wheel), rotate (drag left button), pan (drag right button). Zoom changes u_eye3d only.
I have attached a program, camera.frag, which displays these values from the GPU.
u_center3d is red, u_eye3d is green, u_up3d is blue. Use glslViewer camera.frag.
camera.frag
float DigitBin( const int x )
{
    return x==0?480599.0:x==1?139810.0:x==2?476951.0:x==3?476999.0:x==4?350020.0:x==5?464711.0:x==6?464727.0:x==7?476228.0:x==8?481111.0:x==9?481095.0:0.0;
}

float PrintValue( const vec2 vStringCoords, const float fValue, const float fMaxDigits, const float fDecimalPlaces )
{
    if ((vStringCoords.y < 0.0) || (vStringCoords.y >= 1.0)) return 0.0;
	float fLog10Value = log2(abs(fValue)) / log2(10.0);
	float fBiggestIndex = max(floor(fLog10Value), 0.0);
	float fDigitIndex = fMaxDigits - floor(vStringCoords.x);
	float fCharBin = 0.0;
	if(fDigitIndex > (-fDecimalPlaces - 1.01)) {
		if(fDigitIndex > fBiggestIndex) {
			if((fValue < 0.0) && (fDigitIndex < (fBiggestIndex+1.5))) fCharBin = 1792.0;
		} else {
			if(fDigitIndex == -1.0) {
				if(fDecimalPlaces > 0.0) fCharBin = 2.0;
			} else {
                float fReducedRangeValue = fValue;
                if(fDigitIndex < 0.0) { fReducedRangeValue = fract( fValue ); fDigitIndex += 1.0; }
				float fDigitValue = (abs(fReducedRangeValue / (pow(10.0, fDigitIndex))));
                fCharBin = DigitBin(int(floor(mod(fDigitValue, 10.0))));
			}
        }
	}
    return floor(mod((fCharBin / pow(2.0, floor(fract(vStringCoords.x) * 4.0) + (floor(vStringCoords.y * 5.0) * 4.0))), 2.0));
}

float PrintValue(const in vec2 fragCoord, const in vec2 vPixelCoords, const in vec2 vFontSize, const in float fValue, const in float fMaxDigits, const in float fDecimalPlaces)
{
    vec2 vStringCharCoords = (fragCoord.xy - vPixelCoords) / vFontSize;

    return PrintValue( vStringCharCoords, fValue, fMaxDigits, fDecimalPlaces );
}

float GetCurve(float x)
{
	return sin( x * 3.14159 * 4.0 );
}

float GetCurveDeriv(float x)
{
	return 3.14159 * 4.0 * cos( x * 3.14159 * 4.0 );
}

uniform vec3 u_eye3d;
uniform vec3 u_centre3d;
uniform vec3 u_up3d;

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
	vec3 vColour = vec3(0.0);

	// Multiples of 4x5 work best
	vec2 vFontSize = vec2(8.0, 15.0);
	float fDigits = 1.0;
	float fDecimalPlaces = 2.0;

    // print u_centre3d in red
    vColour = mix( vColour, vec3(1.0, 0.0, 0.0), PrintValue(
      (fragCoord-vec2(8.0, 50.0))/vFontSize, u_centre3d.x, 8.0, 4.0));
    vColour = mix( vColour, vec3(1.0, 0.0, 0.0), PrintValue(
      (fragCoord-vec2(88.0, 50.0))/vFontSize, u_centre3d.y, 8.0, 4.0));
    vColour = mix( vColour, vec3(1.0, 0.0, 0.0), PrintValue(
      (fragCoord-vec2(168.0, 50.0))/vFontSize, u_centre3d.z, 8.0, 4.0));

    // print u_eye3d in green
    vColour = mix( vColour, vec3(0.0, 1.0, 0.0), PrintValue(
      (fragCoord-vec2(8.0, 30.0))/vFontSize, u_eye3d.x, 8.0, 4.0));
    vColour = mix( vColour, vec3(0.0, 1.0, 0.0), PrintValue(
      (fragCoord-vec2(88.0, 30.0))/vFontSize, u_eye3d.y, 8.0, 4.0));
    vColour = mix( vColour, vec3(0.0, 1.0, 0.0), PrintValue(
      (fragCoord-vec2(168.0, 30.0))/vFontSize, u_eye3d.z, 8.0, 4.0));

    // print u_up3d in blue
    vColour = mix( vColour, vec3(0.0, 0.0, 1.0), PrintValue(
      (fragCoord-vec2(8.0, 10.0))/vFontSize, u_up3d.x, 8.0, 4.0));
    vColour = mix( vColour, vec3(0.0, 0.0, 1.0), PrintValue(
      (fragCoord-vec2(88.0, 10.0))/vFontSize, u_up3d.y, 8.0, 4.0));
    vColour = mix( vColour, vec3(0.0, 0.0, 1.0), PrintValue(
      (fragCoord-vec2(168.0, 10.0))/vFontSize, u_up3d.z, 8.0, 4.0));

	fragColor = vec4(vColour,1.0);
}

Your right, the entire matrix is of 0.0000

Okay, I just pushed a change to doug-moen/glslViewer.
It's voodoo black magic programming, but maybe it will work.
Fetch the master branch, rebuild and install, see if things get better.

I see exactly what you did :1st_place_medal:
Same fix as in https://github.com/patriciogonzalezvivo/glslViewer/issues/73#issuecomment-311438459
It's working now, the mouse is manipulating the view.
I did however have an "application not responding" after 5-10 seconds when I switch focus onto another window on the desktop on the first attempt. All subsequent attempts with pancake(and shreks_donut) have worked for longer than 30 seconds.

The 10ms delay in app.cpp is to fix a bug on my system where test.curv freezes my entire GUI if I use Intel integrated graphics. It's not a very good fix; I'll improve it later.
The change to main.cpp is the fix for your system, where I re-initialize 3 global variables at the beginning of the main() function. These variables are already initialized in their declarations. BTW this fix makes no sense to me. Something is obviously messed up in glslViewer, possibly a concurrency bug? (I can reproduce the global-variables-are-not-initialized bug on my system by running glslViewer under valgrind, which changes both the timing and the memory layout.)
I am also seeing random freezing of the glslViewer gui, where it doesn't respond to the mouse. For me, it happens directly at startup. So far, it doesn't happen often enough to force me to debug the problem. (Maybe a race condition/concurrency bug.)
CC: @patriciogonzalezvivo

hi! could yo roll this fix on glslViewer?


The additional fully connected layer and the joint cross entropy objective function make me confused.

It seems that the additional fully connected layer and the joint cross entropy objective function were not implemented in these codes. Do you have any idea how to implement them? Parts about these two in the original paper make me pretty confused.

Hi @Andysis, I updated the code with the additional fully connected layer and the joint cross entropy objective function. I also provided a brief explanation in the README. I hope that helps.


Creating conversational bots with memory, agents, and tools

Hey all,
I'm trying to make a bot that can use the math and search functions while still using tools. What I have so far is this:
from langchain import OpenAI, LLMMathChain, SerpAPIWrapper
from langchain.agents import initialize_agent, Tool
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
from langchain.prompts import (
    ChatPromptTemplate,
    MessagesPlaceholder,
    SystemMessagePromptTemplate,
    HumanMessagePromptTemplate
)

import os
os.environ["OPENAI_API_KEY"] = "..."
os.environ["SERPAPI_API_KEY"] = "..."

llm = ChatOpenAI(temperature=0)
llm1 = OpenAI(temperature=0)
search = SerpAPIWrapper()
llm_math_chain = LLMMathChain(llm=llm1, verbose=True)

tools = [
    Tool(
        name="Search",
        func=search.run,
        description="useful for when you need to answer questions about current events. "
                    "You should ask targeted questions"
    ),
    Tool(
        name="Calculator",
        func=llm_math_chain.run,
        description="useful for when you need to answer questions about math"
    )
]
prompt = ChatPromptTemplate.from_messages([
    SystemMessagePromptTemplate.from_template("The following is a friendly conversation between a human and an AI. "
                                              "The AI is talkative and provides lots of specific details from "
                                              "its context. If the AI does not know the answer to a question, "
                                              "it truthfully says it does not know."),
    MessagesPlaceholder(variable_name="history"),
    HumanMessagePromptTemplate.from_template("{input}")
])

mrkl = initialize_agent(tools, llm, agent="chat-zero-shot-react-description", verbose=True)
memory = ConversationBufferMemory(return_messages=True)
memory.human_prefix = 'user'
memory.ai_prefix = 'assistant'
conversation = ConversationChain(memory=memory, prompt=prompt, llm=mrkl)

la = conversation.predict(input="Hi there! 123 raised to .23 power")

Unfortunately the last line gives this error:
Traceback (most recent call last):
  File "/Users/travisbarton/opt/anaconda3/envs/langchain_testing/lib/python3.10/code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for ConversationChain
llm
  Can't instantiate abstract class BaseLanguageModel with abstract methods agenerate_prompt, generate_prompt (type=type_error)

How can I make a conversational bot that also has access to tools/agents and has memory?
(preferably with load_tools)

You could check out https://python.langchain.com/en/latest/modules/agents/toolkits.html# for inspiration.

@Travis-Barton - Were you able to make this work? I'm stuck here as well.

@matthiasthomas yeah! I did this:
from langchain.agents import ZeroShotAgent, Tool, AgentExecutor
from langchain import OpenAI, LLMChain
from langchain.utilities import GoogleSearchAPIWrapper
from langchain import OpenAI, LLMMathChain, SerpAPIWrapper
from langchain.agents import initialize_agent, Tool
from langchain.chat_models import ChatOpenAI
from langchain.memory import ConversationBufferMemory

import os
os.environ["OPENAI_API_KEY"] = "..."
os.environ["SERPAPI_API_KEY"] = "..."

llm = ChatOpenAI(temperature=0)
llm1 = OpenAI(temperature=0)
search = SerpAPIWrapper()
llm_math_chain = LLMMathChain(llm=llm1, verbose=True)

tools = [
    Tool(
        name="Search",
        func=search.run,
        description="useful for when you need to answer questions about current events. "
                    "You should ask targeted questions"
    )
]

prefix = """Have a conversation with a human, answering the following questions as best you can. You have access to the following tools:"""
suffix = """Begin!"

{chat_history}
Question: {input}
{agent_scratchpad}"""

prompt = ZeroShotAgent.create_prompt(
    tools,
    prefix=prefix,
    suffix=suffix,
    input_variables=["input", "chat_history", "agent_scratchpad"]
)
memory = ConversationBufferMemory(memory_key="chat_history")

llm_chain = LLMChain(llm=OpenAI(temperature=0), prompt=prompt)
agent = ZeroShotAgent(llm_chain=llm_chain, tools=tools, verbose=True)
agent_chain = AgentExecutor.from_agent_and_tools(agent=agent, tools=tools, verbose=True, memory=memory)

agent_chain.run(input="How many people live in canada?")

agent_chain.run(input="Whats the national Anthem of that nation?")
agent_chain.run(input="What is the capital of that nation?")

@Kav-K I was not, I just changed my method

@Travis-Barton Can you please share the code that worked, i have the same issue. Thanks

I was having the same issue, and I used this approach and worked.
tools = [
    Tool(
        name="Search",
        func=search.run,
        description="useful for when you need to answer questions about current events. "
                    "You should ask targeted questions"
    )
]

llm = ChatOpenAI(temperature=1, client=None)
memory = ConversationSummaryBufferMemory(llm=llm, memory_key="chat_history", return_messages=True, human_prefix="user", ai_prefix="assistant")
system_prompt_template = " An AI Assistant .... "

custom_agent = ConversationalChatAgent.from_llm_and_tools(llm=llm, tools=tools, system_message=system_prompt_template)
agent_executor = AgentExecutor.from_agent_and_tools(agent=custom_agent, tools=tools, memory=memory)
agent_executor.verbose = True

print(agent_executor.run("How many people live in canada?"))

Basically this uses LLMChain under the hood and the key is this ConversationalChatAgent class


what npm level do we need for 2.18?

node going up to 16 for electron

don't know if there is a need for a specific version, the versions are listed here

ok, that table was useful...
for electron 16.0.5, its node 16 , npm 7.10 (down some) or 7.11.2 (up some)
Node.js 16.1.0 |   | 2021-05-04 | 9.0.257.24 | 7.11.2 | 93
Node.js 16.0.0 |   | 2021-04-20 | 9.0.257.17 | 7.10.0 | 93

Are you mixing up node and electron version?
AFAIK electron v16 needs no special node version, electron supports latest 4 node versions concerning this post.
If you download latest node v16 you will get v16.13.1 with npm 8.1.2.

electron 16 says it uses node 16. away for rest of day.

from
https://www.npmjs.com/package/electron-releases

Tag
Published
npm
Prerelease
Module Version
Node
Chrome
Downloads

v16.0.5
2021-12-17
latest, 16-x-y
no
99
16.9.1
96.0.4664.55
66317

--
--
--
--
--
--
--
--

Electron V16.0.5 is the required version in MM package.json

from
https://www.npmjs.com/package/electron-releases

Tag
Published
npm
Prerelease
Module Version
Node
Chrome
Downloads

v16.0.5
2021-12-17
latest, 16-x-y
no
99
16.9.1
96.0.4664.55
66317

--
--
--
--
--
--
--
--

Electron V16.0.5 is the required version in MM package.json

I know this table but it's not clear to me what the Node Version here means, may this is the version electron was built with.
AFAIK there is no statement that this version is required, reading this document electron v16 is working with all node versions between 13 and 16.

I know this table but it's not clear to me what the Node Version here means, may this is the version electron was built with.
AFAIK there is no statement that this version is required, reading this document electron v16 is working with all node versions between 13 and 16.

that document  says what Electron versions you can get from the npmjs library (using npm) .. rolling  current -2.
it doesn't say anything about the supporting environment  required to RUN a specific version of Electron
which I think comes from the releases table.
(I also don't know what the npm column means, as it is mostly empty)

that document  says what Electron versions you can get from the npmjs library (using npm) .. rolling  current -2.
it doesn't say anything about the supporting environment  required to RUN a specific version of Electron
which I think comes from the releases table.
(I also don't know what the npm column means, as it is mostly empty)

@sdetweil , @khassel
don't take my comment for you :)
><EMAIL_ADDRESS>postinstall /home/pi/MagicMirror/modules/MMM-GoogleAssistant/node_modules/@bugsounet/pir
> MagicMirror-rebuild

✔ MagicMirror Rebuild Complete

on launch library:
[01.01.2022 23:35.56.599] [ERROR] [GA] @bugsounet/pir Loading error! Error: The module '/home/pi/MagicMirror/modules/MMM-GoogleAssistant/node_modules/epoll/build/Release/epoll.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 83. This version of Node.js requires
NODE_MODULE_VERSION 99. Please try re-compiling or re-installing

it's not 93 but 99 ;)
powaaa we have to recode a lot of things :/
Yes .. I assume to force use node v14.x ... now v16.x ... and specific version not a real solution :/

@sdetweil , @khassel
don't take my comment for you :)
><EMAIL_ADDRESS>postinstall /home/pi/MagicMirror/modules/MMM-GoogleAssistant/node_modules/@bugsounet/pir
> MagicMirror-rebuild

✔ MagicMirror Rebuild Complete

on launch library:
[01.01.2022 23:35.56.599] [ERROR] [GA] @bugsounet/pir Loading error! Error: The module '/home/pi/MagicMirror/modules/MMM-GoogleAssistant/node_modules/epoll/build/Release/epoll.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 83. This version of Node.js requires
NODE_MODULE_VERSION 99. Please try re-compiling or re-installing

it's not 93 but 99 ;)
powaaa we have to recode a lot of things :/
Yes .. I assume to force use node v14.x ... now v16.x ... and specific version not a real solution :/

yes, pir is a pain all the time.
couple other binaries around too. saw one on keybindings

yes, pir is a pain all the time.
couple other binaries around too. saw one on keybindings

@sdetweil : it's a sample :)
Personnaly I rebuild some personal library for MM using :) [Impact is the same]

@sdetweil : it's a sample :)
Personnaly I rebuild some personal library for MM using :) [Impact is the same]

@sdetweil: finaly recoded without problem ;)
used: my magicmirror-rebuild npm package

using 16.1.0 for node, whatever comes along for npm


RealDiskInterface: Do not set locale to an empty string

It causes the cursor handling to be extremely slow on MinGW.
Added in #2321.
Fixes #2435.

cc @brondani

Thanks! I think this justifies a 1.12.1 bugfix release.


configuration: backend cleanup

This set of commits perform a cleanup of the configuration package, removing the support of distributed configuration back-ends such as etcd of zookeeper

Coverage increased (+0.04%) to 66.47% when pulling f6c87eba24880f76425d210800f4219152fc7d5c on mrkz:configuration_cleanup into e83ef324b43e173c953628c2dac2b65794e7ccd6 on 01org:master.

Coverage decreased (-0.01%) to 66.394% when pulling 4e7580f5e156079bcbd8a42c123f6be545cd4363 on mrkz:configuration_cleanup into c8950093a6e5b8fd7cfc1f2d9d41f85eb3c7b119 on 01org:master.

This one looks good to me.

@mrkz Looks good to me too.  However, the commits are quite old now.  Could you rebase and then I'll merge.

Coverage increased (+0.006%) to 66.478% when pulling 19445f4f42536a6065cc132ad4b13414e5b45452 on mrkz:configuration_cleanup into dd91b0ed001bc365953537a5a4aa8b7742010693 on 01org:master.

Coverage increased (+0.03%) to 66.502% when pulling 19445f4f42536a6065cc132ad4b13414e5b45452 on mrkz:configuration_cleanup into dd91b0ed001bc365953537a5a4aa8b7742010693 on 01org:master.


ci: Build images for multiple platforms

Build images for linux/amd64 and linux/arm64.
Fixes #413

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.72%. Comparing base (ca48a64) to head (5c286a8).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #414   +/-   ##
=======================================
  Coverage   82.72%   82.72%
=======================================
  Files         124      124
  Lines        2599     2599
=======================================
  Hits         2150     2150
  Misses        449      449

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Max token limit breached when ending conversation

I had a lengthy discussion with GPT using Emergent (great job btw) and fed it small segments of a story I'm writing, but when saving its memories to json, I got the error response from the OpenAI API that I broke the token limit. The discussion itself was fine; it wasn't until agent.end_conversation(memory_path) was called that I had issues with the token limit.
openai.error.InvalidRequestError: This model's maximum context length is 4097 tokens. However, your messages resulted in 4940 tokens. Please reduce the length of the messages.

Adding some sort of token limit handler would be great. Please let me know if I'm doing something wrong, lol.

I implemented a solution that will help in some cases. https://github.com/kyb3r/emergent/pull/14

Thank you, merged :)

No problem at all. I was working towards creating something like this myself. Very happy people like you and Shapiro are laying out the groundwork hahaha


the-sunbeam rebiew

Great Job!! the game looks great already....just make sure to round off the project with the rest of the requirements

Thanks!


feat(config): add config layer

Current dependencies on/for this PR:

main

PR #11

PR #12   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: 74QS0D26BjCoc1fjew09


Can't access profile on proofofhumanity

Can't access profile on proofofhumanity
Login into proof of humanity, click on profile
Actual behavior, the profile shows up and immediately the message shows up "an unexpected error has occured
It is possible to see the profile
**Screenshots

**
Android and Chrome explorer
Same issue as reported here: https://github.com/Proof-Of-Humanity/proof-of-humanity-web/issues/269
Link to profile: https://app.proofofhumanity.id/profile/0xcA841482B57Bdc995F35E7e8c4466cCb94C30cC3

The profile looks accessible now.
There was an outage on subgraph hosted service (used by PoH) this morning.
Please try again and reopen if the issue persists.


Implements a KafkaConsumerResource to solve consumer already closed i…

Resolves https://github.com/monix/monix-kafka/issues/240 by introducing a new class KafkaConsumerResource which essentially is an improved way of creating and closing a KafkaConsumer than directly form KafkaConsumerObservable, the problem with the latter one was on the last element of the observable, the consumer was closed after emitting the last element and signaling on complete, which lead to an exception when trying to commit the last consumer record.
This is fixed with the resource usage, since the consumer will not be closed after the latest element is consumed.

I can review this if you're interested :)

I can review this if you're interested :)

Thanks, that would be helpful! I've updated the description :)
Although in order to proceed I think we would need approval from one maintainer too.

Hi @paualarco sorry for ignoring this
Looking at the bug example:
    KafkaConsumerObservable
      .manualCommit[String, String](kafkaConfig, List(topic))
      .timeoutOnSlowUpstreamTo(5.seconds, Observable.empty)
      .foldLeft(CommittableOffsetBatch.empty) { case (batch, message) => batch.updated(message.committableOffset) }
      .mapEval(completeBatch => completeBatch.commitAsync())
      .headOrElseL(List.empty)

I feel like the real issue is that completeBatch.commitAsync() returns before the commit is completed?  Is the issue reproducible with these changes https://github.com/monix/monix-kafka/pull/250 ?

@Avasil no problem,
I don't think that's the case, so the poll heartbeat consumer would fix the problem of partition reassignment by rebalancing, which was caused by slow downstream consumers.
However in this case the issue is different, it happens to be that when the observable is cancelled (in the example because it is reaching a certain timeout), the consumer is being closed too, but that's not desirable when there are elements that have not yet been committed. Thus, when they do, they return an error indicating that the consumer was already closed.
It gets fixed when the resource is responsible of closing the consumer, and not from the Observable onComplete.
For the poll heartbeat to have been caused this issue, the max.poll.interval.ms would have needed to be higher than 300sec (as the default value), but the test were not as high :)


Formal specification and test model

Let's create TLA+ specification for atomic commit implementation based on Paxos-commit with voting based on git reference-transaction hooks implementation with reference synchronization based on hook parameters. It could be placed in /doc/spec/ directory.

@IlyaMoskva please check this issue

@IlyaMoskva please check this issue


Docker support

Hey! Very cool project, thanks for making it!
I am looking to selfhost the app to use with pacseek (to improve connection speeds), I use containers for all my services as I find it easier and more organized and I think a lot of people too. So I added support for Docker to the project.
It builds using a the go:alpine image and actually runs in a small non root alpine one, so size should not be a concern, and it permits to bind a docker volume to the config in order to edit it.

Hi @HRKings thanks for your PR.
One comment regarding the Dockerfile: We don't need the data/ directory to be copied.
Could you remove it?

Hi @HRKings thanks for your PR. One comment regarding the Dockerfile: We don't need the data/ directory to be copied. Could you remove it?

Sure! and Done


Find least number to be divided to make a number a perfect cube

I would like to add calculator to Find least number to be divided to make it a perfect cube

Go ahead
Deadline 22 May,2021


⚠ Bofrost.fr has degraded performance

In ddf69a6, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1619 ms

Resolved: Bofrost.fr performance has improved in 6d8e9a1 after 6 minutes.


fs/mnemofs: Setup and VFS methods

The Setup and VFS methods for mnemofs, a NAND Flash File System.
Summary
This is Part 1 of the series of PRs to integrate mnemofs into NuttX.
Impact

People can use NAND flashes with NuttX.

Testing
Checkpatch and NAND flash device simulator (for the complete code).

Please add the dual license option to MIT to let other projects to use it too

Hi @acassis, I've added the dual license. Apache 2.0 + BSD-3-Clause.

@resyfer CI found some issues in the Kconfig:
fs/mnemofs/Kconfig:39: 'endif' in different file than 'if'
fs/mnemofs/Kconfig:10: location of the 'if'
Kconfig:2540: 'endmenu' in different file than 'menu'
fs/mnemofs/Kconfig:10: location of the 'menu'
make: *** [tools/Unix.mk:689: olddefconfig] Error 1
  Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
fs/mnemofs/Kconfig:39: 'endif' in different file than 'if'
fs/mnemofs/Kconfig:10: location of the 'if'
Kconfig:2540: 'endmenu' in different file than 'menu'
fs/mnemofs/Kconfig:10: location of the 'menu'
make: *** [tools/Unix.mk:689: olddefconfig] Error 1
  Building NuttX...
make[1]: *** No rule to make target 'context'.
make: *** [tools/Unix.mk:453: libs/libm/.context] Error 2
make: Target 'all' not remade because of errors.
/github/workspace/sources/nuttx/tools/testbuild.sh: line 370: /github/workspace/sources/nuttx/../nuttx/nuttx.manifest: No such file or directory
  Normalize stm32f4discovery/composite
fs/mnemofs/Kconfig:39: 'endif' in different file than 'if'
fs/mnemofs/Kconfig:10: location of the 'if'
Kconfig:2540: 'endmenu' in different file than 'menu'
fs/mnemofs/Kconfig:10: location of the 'menu'
make: *** [tools/Unix.mk:689: olddefconfig] Error 1
fs/mnemofs/Kconfig:39: 'endif' in different file than 'if'
fs/mnemofs/Kconfig:10: location of the 'if'
Kconfig:2540: 'endmenu' in different file than 'menu'
fs/mnemofs/Kconfig:10: location of the 'menu'
make: *** [tools/Unix.mk:712: savedefconfig] Error 1
fs/mnemofs/Kconfig:39: 'endif' in different file than 'if'
fs/mnemofs/Kconfig:10: location of the 'if'
Kconfig:2540: 'endmenu' in different file than 'menu'
fs/mnemofs/Kconfig:10: location of the 'menu'
make: *** [tools/Unix.mk:689: olddefconfig] Error 1

Hi @acassis, I think I have fixed the related issue. Basically you need a newline at the end of Kconfig, or it throws this error.

I don't understand why Linux (xtensa) failed?? It doesn't show any error in the output.

This PR will fix it: https://github.com/apache/nuttx/pull/12660


Tests aren't working

Hey - awesome demo here. But unfortunately the tests are not working for me. I did the usual npm install & jspm install. Ran gulp tests and I got the following:
WARN [watcher]: Pattern "/Users/samlinnett/Projects/angular-systemjs-seed/bower_components//*.js" does not match any file.
WARN [watcher]: Pattern "/Users/samlinnett/Projects/angular-systemjs-seed/bower_components//*.css" does not match any file.
INFO [karma]: Karma v0.12.35 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
WARN [web-server]: 404: /favicon.ico
INFO [Chrome 43.0.2357 (Mac OS X 10.10.3)]: Connected on socket 8pFG6e6CDrcrJgGRLu_q with id 5351774
WARN [web-server]: 404: /base/dist/chai.js
Chrome 43.0.2357 (Mac OS X 10.10.3): Executed 0 of 0 ERROR (0.002 secs / 0 secs)

its missing something it thinks should be in bower.

OK do you know how I can fix it?

We removed bower from the app and migrated everything to jspm. I'll update the tests to address that.

Thank you

Also keen to get this working, thanks :-)


Added release notes for mxpccli, clear cache and check for updates te…

…xt and removed references for placeholder app

Hi @MariaShaposhnikova can you prepare this for release for tomorrow? (I have PTO.)
@MarkvanMents please review upon return.


[Harvest] Project value disappears on new entry

Extension
https://www.raycast.com/eluce2/harvest
Description
When creating a new timer, sometimes the selected Project disappears and the list of projects is empty. I have to abandon the ticket creation at that point and start over.
So far I have not been able to pinpoint when exactly it happens, it is sporadic.
Note: my current project list has only 1 entry. This may/may not be relevant.
Steps To Reproduce

Harvest -> New Time Entry
Select [Project]
Select [Task]
Start typing in [Notes]
Notice that sometimes the [Project] field is reset to '-'.
Additionally, the dropdown doesn't contain any projects at that point.

Current Behaviour
When editing the Notes field, the Project field is sometimes reset.
Expected Behaviour
Project field should not change when editing other fields.

Thanks for reporting this. I have also noticed this behavior occasionally but have not yet pinned down the cause. Are you by chance using the menu bar portion also ("Running Timer" command)? If so, do you have anything set in the Callback URL fields for that command?

Yes, that was active and the callback urls were empty. Should I disable for now, or enter some urls (which)?

I'm wondering if this is tied to the background refresh, but I can't say for sure. I haven't been able to replicate this issue for the past week or so and my background refresh is toggled off. I'll try turning it back on and keep testing on my end
The background refresh is only needed to keep the shown time in the menu bar accurate as a timer is running, but if you hide the time and always start/stop timers using Raycast it isn't needed.

I had disabled the menu item and background refresh but it still acted this way when editing an time entry. For now I have stopped using it due to this. Thanks anyway.

Hey @ovanbiervliet. An update to the Harvest extension was released today. One of the changes included catching Harvest's rate limiting error which I believe may have been causing this behavior. So far I have not run into this bug anymore, so you may be able to give it another shot on your end!


Mod Compat Page

Do you have screenshots

I'm not good with css and styling, I'll let someone else improve this part...

*Of AnTitanic

Is it available anywhere to download as a jar?

Is it available anywhere to download as a jar?

Unless GitHub Actions broke, I believe I set it up so you can just download artifacts.
Also ./gradlew build isn't that hard...

./gradlew build isn't hard, but is far from user friendly

Do you have more screenshots


Unintentional Forged Feedback

I had completed the Forged Feedback unintentionally.
The issue comes from logging into an account and then logging out.  Even after being logged out of the account if you access the contact us customer feedback tab that account will still show up as the author.  I am utilizing the herokuapp and chrome.

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

Thanks for reporting this! I'll leave it open for a bit as we're running out of good first issue tickets faster than usual at the moment thanks to many new contributors! 🙌

@bkimminich  I started to work on this issue and i have a question .. the problem here is that the token in cookies didn't be deleted when logout function fired so the user service still can fetch the user info and that's happened on the version deployed on heroku only. I tried the same behavior locally, when i logout the token removed from the cookie so it's works well .. have you any idea why the deployed version behavior differ from the develop version ? i see that develop has the same logging out logic as master branch

We could possibly solve this with the ngOnDestroy to ensure the token is removed after logout and when the component is destroyed.

Cross-fixed by solution to #535.

Fixed with 31d8e38654ee028fce923e84df4459e4a9553000.


Fixes for link shares

When creating a link share ('shareType' => 3), 'shareWith' is optional (in fact, the parameter will be ignored if given).
Additionally, 'expireDate' is not only available when updating a share, but also when creating one. The server processes and stores it correctly.
Tested on NextCloud 14.0.1

Alright for the shareWith parameter but I didnt find any mention of expireDate for creating share in the API docs
https://docs.nextcloud.com/server/14/developer_manual/core/ocs-share-api.html

True, I was suprised to find that as well. But after testing it, it seems they forget about it somehow.
By the way, there are a lot of compatibility issues with NextCloud 14, causing me to not use the plugin after all.

There are a lot of functions in the API not Documented by Nextcloud :/
Unfortunately it's necessary to check their code instead.
I've implemented support for handling Nextcloud versions in the library, and also started implementing Nextcloud 14 and 15 compatibility in PR #3.


Fix Union Equivalence Propogation Bug

Which issue does this PR close?

Closes #11492
Rationale for this change

What changes are included in this PR?
Meet calculation between orderings now considers constants also. This way we can propogate additional information through UnionExec operator. See #11492 for more detail.

Are these changes tested?
Yes, a similar test to the reproducer in the issue is added.

Are there any user-facing changes?

We exchanged ideas and found a better solution for this (i.e. computing meets). I expect us to update this PR in a couple days with this long-term solution to this

Thank you @ozankabak
We (InfluxData) are not blocked as we have a workaround.
I am also happy to review the PR as well

Marking as a draft as given the comments above I think there are some additional plans before this or a subsequent PR is ready to review again

I collaborated with @mustafasrepo on this and reviewed it a few times. But it'd be good to get some community feedback as well. @alamb, would appreciate a look if you have the time.

I will do so soon, hopefully later today. Thank you for the ping


Center a OriDomi element?

Thanks for your work on this, its a beautiful effect!
Is it possible to horizontally center a oridomi element somehow, even while part folded? At the moment it seems like the width of the element stays at the unfolded original value, so when folded the whole element is off to the side. Any workarounds?
Ty!

Since CSS transforms don't affect DOM flow, the container's size doesn't change when folding. You could use a callback and manually offset the OriDomi element based on the fold angle, but it'll be tricky since the width will depend on the perspective and effect settings.


Decorator errors since Vite 5.4.9

Describe the bug
There is an application using InversifyJS (DI container) together with Vite. Inversify heavily depends on decorators. To use decorators, all necessary settings were made and the application worked.
Since version Vite 5.4.9 the application stopped working.
Possible cause of errors is PR #18322
Reproduction
https://stackblitz.com/github/dbelob/vite-inversify-error
Steps to reproduce
Branch main of https://github.com/dbelob/vite-inversify-error repository (StackBlitz link: https://stackblitz.com/github/dbelob/vite-inversify-error) contains example with Vite 5.4.10 (last version) where errors are reproduced:

git clone https://github.com/dbelob/vite-inversify-error.git
cd vite-inversify-error
npm install
npm start

The browser will open automatically with errors in the console:
Uncaught TypeError: Cannot read properties of undefined (reading 'getMessage')
    at ClassComponent.render (ClassComponent.tsx? [sm]:18:46)
    at finishClassComponent (react-dom.development.js:19781:31)
    ...

Branch vite-5.4.8 of https://github.com/dbelob/vite-inversify-error repository (StackBlitz link: https://stackblitz.com/github/dbelob/vite-inversify-error/tree/vite-5.4.8) contains example with Vite 5.4.8 where errors are not reproduced:

git clone -b vite-5.4.8 https://github.com/dbelob/vite-inversify-error.git vite-inversify-error-vite-5.4.8
cd vite-inversify-error-vite-5.4.8
npm install
npm start

The browser will open automatically without errors in the console.
System Info
System:
    OS: Windows 10 10.0.19044
    CPU: (4) x64 AMD EPYC 7443 24-Core Processor
    Memory: 6.55 GB / 16.00 GB
  Binaries:
    Node: 20.18.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 130.0.6723.70
    Edge: Chromium (128.0.2739.42)
    Internet Explorer: 11.0.19041.4355

Used Package Manager
npm
Logs

Click to expand!
Uncaught TypeError: Cannot read properties of undefined (reading 'getMessage')
    at ClassComponent.render (ClassComponent.tsx? [sm]:18:46)
    at finishClassComponent (react-dom.development.js:19781:31)
    at updateClassComponent (react-dom.development.js:19727:24)
    at beginWork (react-dom.development.js:21650:16)
    at HTMLUnknownElement.callCallback2 (react-dom.development.js:4164:14)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:4213:16)
    at invokeGuardedCallback (react-dom.development.js:4277:31)
    at beginWork$1 (react-dom.development.js:27490:7)
    at performUnitOfWork (react-dom.development.js:26596:12)
    at workLoopSync (react-dom.development.js:26505:5)

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

It looks like inversify requires useDefineForClassFields: false, so it needs to be configured correctly now. Here is an updated repro https://stackblitz.com/edit/github-g9jirc?file=tsconfig.app.json
Previously useDefineForClassFields: true in tsconfig.app.json was ignored, but that's what's fixed in the PR https://github.com/vitejs/vite/pull/18322

It looks like inversify requires useDefineForClassFields: false, so it needs to be configured correctly now. Here is an updated repro https://stackblitz.com/edit/github-g9jirc?file=tsconfig.app.json
Previously useDefineForClassFields: true in tsconfig.app.json was ignored, but that's what's fixed in the PR #18322

@hi-ogawa Thanks a lot!


Use enum values for units in config file

I'm deprecating this as the String values for the config file are already derived from the enum unit values that can be passed through args.
For now, I feel a full integration of this would add unnecessary complexity, as more boilerplate and enums for every separate unit type would need to be added to fully do it correctly.


Working with Rancher 2.5?

Hello, I have an infrastructure where I use rancher 2.5 will this plugin work with that version? I'm having a hard time integrating it. Could you help me?

Hi @mouradsm I think it does not work. I just tried in debug mode and it seems like the tool is trying to fetch an API url that is not existing anymore:
DEBUG:urllib3.connectionpool:https://rancher.example.com:443 "GET /v1/projects?limit=1000 HTTP/1.1" 404 0
reply: 'HTTP/1.1 404 Not Found\r\n'

Is there any chance that this will be fixed? @cdrx

@mityax I forked this repository and I'm going to start "translate" the cli to use the new rancher API.


Enhancing signup page

I am GSSOC'24 Contributor.
I want to enhance the signup page.
Please assign me this task.

please assign this to me i am GSSOC'24 contributor with 2+ years of experience in development


Uncaught Type error

Description
Fatal error: Uncaught TypeError: Argument 1 passed to __NoCacheTemplate_cmEum55xsrZjI4i7Hc2xwioM::__construct() must be an instance of Environment, instance of Craft\TwigEnvironment given
Steps to reproduce

Add {% nocache %}text here{% endnocache %} to the template and load the page.

Additional information

No-Cache version: 1.0.3
Craft CMS version: <IP_ADDRESS>
PHP version: 7.2.24

Also using HTML Cache <IP_ADDRESS>

Hi @extensibleseth,
This seems to be the same issue as #13; replacing the old nocache/twigextensions/NoCache_Node_Module.php with the updated version from the craft-2 branch should fix the error.  There won't be an official release with this fix, for reasons that are explained in #18 (though I'll still maintain the craft-2 branch in case of compatibility issues with any future Craft 2 releases).


Feature: Generalized ssrLoadModule()

Clear and concise description of the problem
Vite uses html files as entry points at both dev and build time. I created a plugin that abstracts this by generating the html content with an esm module before vite internally transforms it. During dev, is relies on ViteDevServer.ssrLoadModule() as if it was a form of dynamic import() but with vite transforms and fast invalidation.
But there are two major problems that get in the way of many important plugin use cases:

ssrLoadModule() was made to load "client-type" code in node, failing to load anything like import fs from "fs/promises" (within the normal vite dev configuration, at least). require() will not work as a substitute for ssrLoadModule().
ssrLoadModule() relies on a ViteDevServer, meaning that there is no way to apply its value (of applying vite transforms to e.g. (j|t)sx? modules) during vite's build mode.

This has forced my plugin into a corner of only being able to work with vanilla node during build time and not being allowed to import any node api's (even dynamically within an if (false) block!) during dev time. This makes my "lowest common denominator" allowed code almost useless, for arbitrary reasons.
Suggested solution
Snowpack has already declared the intention of moving towards fully generalized node SSR, which is exactly what we need. The best solution is basically to integrate what my plugin was aiming to implement directly into vite (abstract index.html as the entry point). But the easiest solution is to simply generalize ssrLoadModule() into a version that:

Explicitly is made to load anything that vite can process as if it were just a dynamic import() of node esm
Works with a module graph that does not necessarily have to be inside a ViteDevServer, enabling its usage within e.g. a build plugin's load() hook just as easily as in dev server middleware

Alternative
I hacked together a vite-incompatible function that simply built a temporary node esm file out of my prerendering code (including JSX) using esbuild and import()ed that file as file:/temporarily/built/module.mjs?cache-buster=Math.random(). It worked exactly how I expected as a proof of concept, with the only issues being efficiency for caching/invalidation (vite's module graph is valuable here) and that it was incompatible with vite's plugins (I had to hack the jsxInject, any variable define's, and had no automatic path rebasing).
Obviously, a vite-native version would be far more streamlined and allow for many more useful plugin applications.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Forgot to link for Snowpack mention:
https://github.com/snowpackjs/snowpack/issues/3491

Just a note that I found a sort-of workaround for ssrLoadModule() failing to allow imports for node core modules. It involves adding the modules to the _ssrExternals array via the configuration. It still will fail to resolve from node_modules, though, and also has a non-URL import.meta.url.
Even with such caveats in this workaround, it should be obvious that the current problems are not inherent to vite's design and can't be considered out of scope for the project either.

I also found a workaround for build time, where I just create a dev server to use ssrLoadModule(), but it would be ideal if I did not have to because it conflates semantics, and is therefore really a hack.

Hi @wlib. I wonder if this feature request still needed?

ssrLoadModule() was made to load "client-type" code in node, failing to load anything like import fs from "fs/promises" (within the normal vite dev configuration, at least). require() will not work as a substitute for ssrLoadModule().

ssrLoadModule is able to load node-only code with  import fs from "fs/promises" IIRC, so this should work today.

2. ssrLoadModule() relies on a ViteDevServer, meaning that there is no way to apply its value (of applying vite transforms to e.g. (j|t)sx? modules) during vite's build mode.

Transforming files in build mode should use normal Vite plugins as you have more control of how the final build output/chunks comes out. I don't quite understand how ssrLoadModule should affect build mode? Hope you can clarify more on that.
I think ultimately the ecosystem has grown a lot recently on this area, especially with Vitest spearheading the usage of Vite's SSR transforms in NodeJS. For example, vite-node is used to power Vitest by leveraging Vite as a Node runtime.

For reference, see also the use of vite-node in Nuxt https://github.com/nuxt/framework/pull/2795

Closing due to lack of response, but I think the above comment covers what this issue is proposing.


feat(eslint): enable jest rules

Enable jest eslint rules. The plugin was installed but it wasn't being used.

The jest rules are added in test.js, so this patch should target that file.

Ah, I see. Ok, I'll fix this.

I just pushed a fix for a rule I noticed was conflicting with co-located tests.

I think these were intended to be active but were overlooked? If that's the case, @10xLaCroixDrinker do you think this might be a fix? Adding breaking rules might be a major version feature? 🤔

I think these were intended to be active but were overlooked? If that's the case, @10xLaCroixDrinker do you think this might be a fix? Adding breaking rules might be a major version feature? 🤔

Arent we bundling all these PRs into a major release anyway?


Skip pilot serviceregistry tests when not running on CI

Specifically, TestPodCache/localApiserver fails when not running on CI.
This change makes the test skip properly on non-CI.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: nmittler
If they are not already assigned, you can assign the PR to them by writing /assign @nmittler in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/retest

/retest

/test all

@nmittler: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
6153b36bb870b2a12530adbae88097fe3b8e60c3
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests


Startup error on  V1.1.12f1

The mod always error out, I try reinstalling it but cannot get it working properly

Can you elaborate a bit more?

This is error i got in every game strat:
TypeLoadException: Could not resolve type with token 01000058 from typeref (expected class 'Transform' in assembly '')
at Unity.Entities.ComponentSystemBase.CreateInstance (Unity.Entities.World world) [0x00093] in <7103f72f5ee648b6bd545606dbf2676b>:0
at Unity.Entities.World.AddSystem_OnCreate_Internal (Unity.Entities.ComponentSystemBase system) [0x00011] in <7103f72f5ee648b6bd545606dbf2676b>:0
at Unity.Entities.World.CreateSystemInternal (Unity.Entities.SystemTypeIndex type) [0x0000f] in <7103f72f5ee648b6bd545606dbf2676b>:0
at Unity.Entities.World.GetOrCreateSystemManaged (Unity.Entities.SystemTypeIndex typeIndex) [0x0000b] in <7103f72f5ee648b6bd545606dbf2676b>:0
at Unity.Entities.World.GetOrCreateSystemManaged[T] () [0x00028] in <7103f72f5ee648b6bd545606dbf2676b>:0
at Game.UpdateSystem.UpdateAt[SystemType] (Game.SystemUpdatePhase phase) [0x00018] in :0
at ZoningToolkit.Mod.OnLoad (Game.UpdateSystem updateSystem) [0x0007b] in C:\Users\Zeeshan\source\repos\ZoningToolkit\Mod.cs:49
at Game.Modding.ModManager+ModInfo.OnLoad (Game.UpdateSystem updateSystem) [0x00015] in :0
at Game.Modding.ModManager+ModInfo.Load (Game.UpdateSystem updateSystem) [0x00162] in :0

Seeing the same thing
TypeLoadException: Could not resolve type with token 01000058 from typeref (expected class 'Transform' in assembly '')
  at Unity.Entities.ComponentSystemBase.CreateInstance (Unity.Entities.World world) [0x00093] in <7103f72f5ee648b6bd545606dbf2676b>:0
  at Unity.Entities.World.AddSystem_OnCreate_Internal (Unity.Entities.ComponentSystemBase system) [0x00011] in <7103f72f5ee648b6bd545606dbf2676b>:0
  at Unity.Entities.World.CreateSystemInternal (Unity.Entities.SystemTypeIndex type) [0x0000f] in <7103f72f5ee648b6bd545606dbf2676b>:0
  at Unity.Entities.World.GetOrCreateSystemManaged (Unity.Entities.SystemTypeIndex typeIndex) [0x0000b] in <7103f72f5ee648b6bd545606dbf2676b>:0
  at Unity.Entities.World.GetOrCreateSystemManaged[T] () [0x00028] in <7103f72f5ee648b6bd545606dbf2676b>:0
  at Game.UpdateSystem.UpdateAt[SystemType] (Game.SystemUpdatePhase phase) [0x00018] in <c934bebd6b4d4089b546a237b9795ccc>:0
  at ZoningToolkit.Mod.OnLoad (Game.UpdateSystem updateSystem) [0x0007b] in C:\Users\Zeeshan\source\repos\ZoningToolkit\Mod.cs:49
  at Game.Modding.ModManager+ModInfo.OnLoad (Game.UpdateSystem updateSystem) [0x00015] in <c934bebd6b4d4089b546a237b9795ccc>:0
  at Game.Modding.ModManager+ModInfo.Load (Game.UpdateSystem updateSystem) [0x00162] in <c934bebd6b4d4089b546a237b9795ccc>:0

I will take a look myself if I can get my dev env set back up

Yeah that is interesting. Let me recompile and see if it works.

Recompile worked. Published a new revision.