Tcomb breaks object type checking

I'm toying with Tcomb last days and did find that it wraps objects in its own structures.
This is a dealbreaker because noone wants another OOP.
There is no reason to go further than just freezing an Object.
function Struct(value, path) {
  // !!! evil
  if (Struct.is(value)) { // makes Struct idempotent
    return value;
  }

  ...

  // !!! evil
  if (!isInstanceOf(this, Struct)) { // makes `new` optional
    return new Struct(value);
  }

  ...

  // this is ok
  if (process.env.NODE_ENV !== 'production') {
    Object.freeze(this);
  }
}

I understand you made it for performance, but see:
import isPlainObject from "is-plain-object";

// declare Robot

console.log(isPlainObject(Robot({
  id: "ebffa860-5660-4561-a373-288f33544b71",
  name: "Alec",
  manufacturer: "USA",
  assemblyDate: new Date(),
}))); // false

Object checking is no longer working, cause Object is wrapped.
This cuts down everything.
I'm skeptical even about that performance gain because it seems most values will be passed through typing system only once. But this is another story.
Object wrapping is OOP and requires from all code to be Tcomb-aware which goes straight against the purpose of the lib.
Something.is can't replace native JS.
It may be supplemental, but all values must stay unwrapped to be compatible with existing ecosystem.
By wrapping natives you gain better performance and fashionable console.log but lose ecosystem compatibility. 100% not worth it.

I see Array.isArray is working. So something in-between going here.
Let's dig. Both console.log have to return true to keep Tcomb compatible.
import isPlainObject from "is-plain-object";
import Tc from "tcomb";

let MyObj = Tc.struct({name: Tc.String});
let MyList = Tc.list(Tc.Number);

let myObj = MyObj({name: "jac"});
let myList = MyList([1, 2, 3]);

console.log(isPlainObject(myObj)); // false
console.log(Array.isArray(myList)); // true

Exactly this check is failing now:
function isPlainObject(o) {
  ...
  // If constructor does not have an Object-specific method
  if (prot.hasOwnProperty('isPrototypeOf') === false) {
    return false;
  }
}

Hi!
all tcomb types are identity functions except the structs which are normal JavaScript constructors:
// instead of...
function Person(value) {
  // manual type checking here...
  this.name = value.name;
  this.surname = value.surname
}

// ...you can write
var Person = t.struct({
  name: t.String,
  surname: t.String
});

isPlainObject strikes back :-D
(I did find problems also with redux, actions must be plain objects)
In general I don't understand the reason of imposing Object as a constructor.

Sorry, I didn't quite understood what are you going to do about this.
We need to get User(x) == x irrelevant to what is User exactly.
Can we make structs identity functions as well?

We need to get User(x) == x irrelevant to what is User.

For the built-in combinators a weaker property holds (https://github.com/gcanti/tcomb/blob/master/GUIDE.md#the-idea):

the type T is idempotent, that is T(T(value)) = T(value)

With the only exception of the struct combinator, for all the remaining combinators your property holds.

Can we make structs identity functions as well?

No, it can't be done without breaking changes.
Morevoer I'm quite happy with the current implementation:

fast is(x) function
a way to attach functions to the prototype

As I stated above I don't understand the reason of imposing Object as a constructor
but I'm open to discussions, maybe I'm missing something.
Anyway you could define your own combinator plain(props, name) such that
T = plain(props, name);
T(value) === value for all values

a way to attach functions to the prototype

Just a remark on that. I tend to see my code as

a bunch of immutable data structures
a bunch of functions acting on them
some mutable classes (ideally just one) holding the state
preference of composition over inheritance (the extend function on structs is just props composition)

1 + 2 together are what I consider the domain model of my application.
Now strictly speaking you don't need prototypes but they comes to handy
const Person = t.struct({
  name: t.String,
  surname: t.String
});

// instead of..
function getFullName(person) {
  return `${person.name} ${person.surname}`;
}

// ...you COULD write
Person.prototype.getFullName = function () {
  return `${this.name} ${this.surname}`;
};

and then be sure the functions related to Person are accessible everytime you are managing a Person instance.

As I stated above I don't understand the reason of imposing Object as a constructor

I don't understand this sentence.

a bunch of immutable data structures
a bunch of functions acting on them

This is cool, but all general purpose functions should work with Tcomb, right?
Now isPlainObject check is broken.

Maybe I should give an additional context because I feel we don't quite understand each other.
See this gist:
https://gist.github.com/ivan-kleshnin/1aac5a88eabb7388a802
This is a Tcomb-based parser which I'm going to use to convert form data to business data.
There is a check isPlainObject which can't be replaced without weird hacky assumptions.
And it does not work now.

// ...you COULD write
Person.prototype.getFullName = function () {
  return `${this.name} ${this.surname}`;
};

and then be sure the functions related to Person are accessible everytime you are managing a Person instance.

This is OOP which I avoid at all costs. I can get the same functionality by just importing standalone function which is easier to test and I'm free of prototype mess.

My options are:

wrap Tcomb, replacing Tcomb.struct with something that is compatible with isPlainObject. It will probably require to disable freeze and fake isPrototypeOf function.
wrap isPlainObject to make it compatible with Tcomb.

First option is way safer.

What do you mean by "imposing Object as a constructor"?

From the README of is-plain-object:

Returns true if an object was created by the Object constructor.

isPlainObject is not "broken", it just returns false for every object obtained from another constructor
// vanilla JavaScript constructor
function Person(name) {
  this.name = name;
}

var myobject = new Person('Giulio');
console.log(isPlainObject(myobject)); // => false, but myobject IS an object

If a library requires objects such that isPlainObject(myobject) === true this means that the library is banning all JavaScript constructors and I don't see a compelling reason to do that. It seems to me an unnecessary constraint. Since you are using isPlainObject could you please tell me the value of such a ban? Maybe you can suggest me a good reason and I can change my mind.

This is OOP which I avoid at all costs

Person.prototype.getFullName = function () {
  return `${this.name} ${this.surname}`;
};

It's just an implementation detail, from a math point of view is just a function.

I prefer to use standalone functions which are easier to test and I'm free of prototype mess

Me too. Using the prototype is just an option.

Seems to me that isPlainObject is generally misused  as a guarantee that a value is serializable (isPlainObject is weaker than, actually has nothing to do with, value <eq> JSON.parse(JSON.stringify(value)))
A "serializabilty check" is in general unfeasible for performance reasons, it should be something all libs can do only when process.env.NODE_ENV === 'development'
@ivan-kleshnin also see https://github.com/rackt/redux/issues/437
@gcanti one single thing it's actually weird about all this is:

console.log(isPlainObject(myStruct)); // false
console.log(Array.isArray(myList)); // true

Using a Symbol (similarly as suggested [here](https://github.com/rackt/redux/issues/437#issuecomment-129374459)) to hold the Struct constructor on POJOs might be a viable solution, still don't think it could be done without breaking changes

Answer should probably (same as issue linked above): it's something can easily be done in user-land (`POJO` combinator)

If a library requires objects such that isPlainObject(myobject) === true this means that the library is banning all JavaScript constructors and I don't see a compelling reason to do that. It seems to me an unnecessary constraint. Since you are using isPlainObject could you please tell me the value of such a ban? Maybe you can suggest me a good reason and I can change my mind.

Let's discuss.
The JavaScript has one quirk, comparing to most other languages.
We use Object in the role of dicts or records. The problem is that Object is a prototype of all other types, including Array, Date, etc. There is a new Map proposal but it's still in draft and it's very inconvenient currently (console.log does not reveal it's structure, it's longer to write, etc...).
So we use {} as dict and need to apply typechecking to differ that "plain" Objects from other objects.
In case of plain objects it's often required to traverse them to leaves while in case of other objects like Date, Error and RegExp and (some?) custom user objects this traversal must not be applied.
The limitation is that we have zero knowledge about uknown (custom) types. JavaScript has no interfaces. No protocols. Not even established conventions of what is "array-like" or "dict-like".
So we basically have only two possible solutions.

Treat all unknown (custom) types like Object. I.e. like traversable trees of atrributes.
Treat all unknown (custom) types like immutable untraversable values.

Option 1. is a disaster. Think of Date wrapped in Moment. Or ReactNode object. If we're trying to traverse them because they are not Array we're screwed.
So it's not a "ban" of JS Constructors. It's one of the two only possible logic treatments of them.

Actually I agree with @gcanti.
is-plain-object is a crappy library. It relies on one external library and use four types of is-object checking with blurry and random semantics. Just insane.
Here's all code I need:
function isPlainObject(o) {
  return toString.call(o) === '[object Object]';
}

console.log(isPlainObject(new Object())); // true
console.log(isPlainObject({})); // true
console.log(isPlainObject((new Tc.struct({name: Tc.String}))({name: "jac"}))); // true

console.log(isPlainObject(new Date())); // false
console.log(isPlainObject(new Error())); // false
console.log(isPlainObject(new RegExp())); // false

Though my above reasoning still applies, my current solution will be to get rid of this library.


Items in "You may also enjoy section overlap" $x-large

I think possible solution would be to increase $x-large breakpoint.
My proposal is to change it from 1280px to 1680px.

I think this is pretty rare... having a string of your length without any spaces. That's what is breaking the layout.
The better option would be to apply some CSS that truncates it with ... for any characters that don't fit in the space.
https://software.intel.com/en-us/html5/hub/blogs/ellipse-my-text/

Titles that overflow the parent are now truncated with an ellipsis to avoid breaking the layout.


test(dtslint): add tap operators dtslint test (#4093)

Description: Add dtslint test for tap operators
Related issue (if exists): #4093

Coverage remained the same at 96.809% when pulling d3adb39ab14120f4462a90d355dde3e783888300 on dkosasih:dtslint-tap into eb07d95519bc9d2ab39ec30a52c0f72231cd6a3c on ReactiveX:master.

@cartant
I did the changes. Could you have a look, please?


How to add custom fields to comments

Hello,
I would like to add an url field to the comment collection, but i don't know where to edit it (can't find it in content-types). Can i add it directly in the sql table?

Hello @SkipTheDragon ,
The Comment collection is an internal one of the plugin. Anyway if you want to extend it you can simply use the Strapi Extensions mechanism.

Go to plugin source: models and copy comment.settings.json
Past the file into your project directory as extensions/comments/models/comment.settings.json

Read more here based on Strapi Content Manager extension: https://strapi.io/documentation/developer-docs/latest/guides/custom-admin.html#update-the-content-manager
Keep in mind that by doing your own extensions, we might be no longer able to support you with issues.

Go to plugin source: models and copy comment.settings.json

Where is this file located?

@Nisthar As you see based on the dates, advice was for v3 compatible version :) current v4 supported by plugin in v2.x got it managed differently.
You should extend the file from content-types/comment.js using Strapi v4 extensions approach.

@cyp3rius when overwriting the content-type, do i have to create the schema for all the fields that were already there or just the new ones?

@Nisthar As that is js file you can import original file and extend proper fields by spread operator. Please follow official Strapi v4 docs for Plugins extensions.

@Nisthar As that is js file you can import original one and extend proper fields by spread operator. Please follow official Strapi v4 docs for Plugins extensions.

Are you saying that i can use a .js file instead of the json format?

Yes, in v4 its allowed and as you check our codebase we also support it.

So i can just paste the comment.js file and add the updates in there?

Ok just tried it, didn't work
pasted comment.js file into ./extensions/strapi-plugin-comments/content-types/comment.js, added some fields and restarted the server. Doesn't seems to work.

Ok tried adding all into schema.json file. it still doesn't return the new fields.

any update?

Let me please back to you on Monday. And also, create separated issue dedicated for v4, do not follow discussion in closed issues.

Let me please back to you on Monday. And also, create separated issue dedicated for v4, do not follow discussion in closed issues.

sure, i think there's no need for that now. The solution was to change the plugins name. 👍


Check with Campbell on space availability for 8/11

For NDoCH:
Event will be 9am - 4pm (set-up at 8, doors open at 8:30, wrap-up at 4pm)

email sent on 7/17

Campbell has a conflict - send email to Leo/Brent to ask Loading Dock


when slim_handler is used MySQLdb cannot be found by Django

this issue is similar to #755
when using the zappa_settings.json configuration to turn on "use_precompiled_packages":true and then turning on "slim_handler": true I get error below:
1491418915817] Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory: ImproperlyConfigured Traceback (most recent call last):   File "/var/task/handler.py", line 508, in lambda_handler   return LambdaHandler.lambda_handler(event, context)   File "/var/task/handler.py", line 239, in lambda_handler   handler = cls()   File "/var/task/handler.py", line 142, in __init__   wsgi_app_function = get_django_wsgi(self.settings.DJANGO_SETTINGS)   File "/var/task/django_zappa_app.py", line 20, in get_django_wsgi   return get_wsgi_application()   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/core/wsgi.py", line 14, in get_wsgi_application   File "/tmp/dailyfantasyser/django/__init__.py", line 18, in setup   apps.populate(settings.INSTALLED_APPS)   File "/tmp/dailyfantasyser/django/apps/registry.py", line 108, in populate   app_config.import_models(all_models)   File "/tmp/dailyfantasyser/django/apps/config.py", line 198, in import_models   self.models_module = import_module(models_module_name)   File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module   __import__(name)   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/contrib/auth/models.py", line 41, in <module>   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/models/base.py", line 139, in __new__   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/models/base.py", line 324, in add_to_class   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/models/options.py", line 250, in contribute_to_class   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/__init__.py", line 36, in __getattr__   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/utils.py", line 240, in __getitem__   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/utils.py", line 111, in load_backend   File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module   __import__(name)   File "/private/var/folders/7c/lt6hvzr97z919lwy5yxyfs7w0000gn/T/pip-build-YiIZfn/django/django/db/backends/mysql/base.py", line 27, in <module> ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory

I am running in virtualenv on macos10.12.3 with python2.7, Django 1.8.5.
Expected Behavior

the error should not occur and the library should be found in the proper location for Django to run properly.
Actual Behavior

the following error: ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory
Possible Fix

Steps to Reproduce

update project to use_precompiled_packages:true and slim_handler:true
deploy large project using zappa update staging
run zappa tail to view the log

Your Environment

Zappa version used: 0.40.0p
Operating System and Python version: macos10.12.3
Link to your project (optional):
Your zappa_settings.py:

{     "staging": {         "aws_region": "us-east-1",         "django_settings": "daily.settings_lambda",         "s3_bucket":  "daily",         "memory_size": 1024,         "timeout_seconds": 120,         "use_precompiled_packages": true,         "slim_handler": true,         "delete_local_zip": false,         "log_level": "DEBUG",     } }

Does this change need any documentation updates? Will Django users' know they need to set some value here in order for their project to work under certain conditions?

It should JustWork^tm, at least for MySQL

The change does not affect anything if you do not use the slim_handler.  If you do and you use Django and MySQLdb, it just works with the change…user doesn’t have to do anything.
TimJ

On Apr 19, 2017, at 2:41 PM, Bryan Marty<EMAIL_ADDRESS>wrote:
Does this change need any documentation updates? Will Django users' know they need to set some value here in order for their project to work under certain conditions?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Miserlou/Zappa/issues/776#issuecomment-295408159, or mute the thread https://github.com/notifications/unsubscribe-auth/ABvUM0nZ7cLCRQK026kn9o09bqld9vkBks5rxmN5gaJpZM4M0swS.

I think this is fixed in 0.42.0

https://github.com/Miserlou/Zappa/blob/master/zappa/handler.py#L110
Why libmysqlclient.so.18 is in default.
I have a project that does not depend upon MySQL client but Postgres. And, it was failing at the runtime with a very less obvious error of Failed to find library...right filename?.

@gagandeep have you tried to use the "include" feature in your zappa_settings file to include the proper Postgres library?  It seems like it might be preferable to have zappa check your Django settings and automatically include the proper library based on the database.  Maybe this is a future enhancement.

@timj98 Yes, I had to change include. My only point is Library of any kind shouldn't assume things whether its MySQL or Postgres doesn't matter.
If someone needs to include mysql with Zappa it should be mentioned in include setting. Zappa shouldn't add libmysqlclient.so.18 as others might be using something else and that will break things.
Django & MySQL with slim handler should be part of the documentation as an example, not the library default.

All good points.  I think that the reason it was included by default was so that it just worked when someone was using Django & MySQL.  It sounds like it should be reworked to check the Django settings and include the default library from there so one doesn't have to manually include anything.

@gagandeep Apologies for the beginner question - would you mind specifying which library you imported in zappa_settings to get Postgres compatibility?

@timj98 let me tell you my fix. I had to mention include=[] in my zappa settings. Which will be non-obvious to many, if they don't follow the code. I let you or @miserlou to decide on this one.

@gagandeep Did you have to specify a specific postgresql library? Did you just have an empty include=[] in your zappa_settings.json?

You must include one for postgresql as this is not automatic.
@gagandeep In the docs it states that you can include the library of your choice in the include statement.
By default it automatically includes the library for MySQL.

On Apr 5, 2018, at 2:13 PM, ijey-lit<EMAIL_ADDRESS>wrote:
@gagandeep Did you have to specify a specific postgresql library? Did you just have an empty include=[] in your zappa_settings.json?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes, I have empty include in my zappa settings. Postgres is working fine with that.

how is it going this issue? I have a same issue on zappa==0.51.0, django==3.0.5, python==3.7

Same here.

I am now having this problem as well. I have an existing Django 3/Zappa 0.51/Postgres 10 project that works fine. I created a new project, copying the old project's zappa_settings.json and tweaking values as appropriate, but it can't deploy at all. I'm now concerned that this problem will crop up on my old project at some point, which is an issue since it's a production critical environment. I have never had an include or exclude in my zappa_settings.json and adding one to the new project doesn't seem to help.

This is actually answered better over in https://github.com/Miserlou/Zappa/issues/1834
I'd guess the "include": [] hack works due to https://github.com/Miserlou/Zappa/blob/ba20c850eeca00edd6ea39fda1ab976cfee193ea/zappa/handler.py#L105
It will knock out the auto-included (with slim handler) mysql lib.
I couldn't find the code responsible for it, but exclude works and seems like a cleaner approach.
        "exclude": ["libmysqlclient"],

Yes, you got it absolutely right. That's why I wrote earlier

Why libmysqlclient.so.18 is in default.

i still have issues tried all these solutions and no luck

I also still have issues. When I add include:[] it does not work and the code still tries to import libmysqlclient.so.18

adding include : [] does not help. How can I add postgres to include?

I'd guess the "include": [] hack works due to
https://github.com/Miserlou/Zappa/blob/ba20c850eeca00edd6ea39fda1ab976cfee193ea/zappa/handler.py#L105

Looks like the "include": [] hack doesn't work for some (including me) due to this:
https://github.com/Miserlou/Zappa/blob/818f7de2aee18fb2f85e074207e034240dc9e242/zappa/cli.py#L2378-L2380
since the INCLUDE= var is not added regardless of whether you omit "include" or you write "include": [] in zappa_settings.json.
I propose using a sentinal value "include": null to signify that you don't want to include the default, error-causing value ['libmysqlclient.so.18']
Something like this:
                include = self.stage_config.get('include', [])
                if include is None:
                    settings_s += 'INCLUDE=[]\n'
                elif len(include) >= 1:
                    settings_s += "INCLUDE=" + str(include) + '\n'

Thoughts?

I remember trying “include”: null. It didn’t work for me either

I remember trying “include”: null. It didn’t work for me either

This doesn't work for me either. It's trying to include a library I don't need which is hardcoded into line 105 of handler.py.
https://github.com/Miserlou/Zappa/blob/ba20c850eeca00edd6ea39fda1ab976cfee193ea/zappa/handler.py#L105
I'm using postgres and as far as I'm aware my project doesn't use this libmysqlclient. Is there a way to remove it since it's not needed?


Working on footer section

I am working on its and make some changes in units.
I want to make it's footer like in this image:

So please merge my pull request.

Why this merging is blocked.

#260 footer is fixed #258

please merge it

Thank for contributing but We discovered a lot changes in places that were not necessary. Sometimes, This is due to the usage of third party code arrange Apps/Plugins or extensions...
Do you use any?


Bosh-deployment AWS

Started validating
Downloading release 'bosh'... Finished (00:00:09)
Validating release 'bosh'... Finished (00:00:03)
Downloading release 'bosh-aws-cpi'... Finished (00:00:01)
Validating release 'bosh-aws-cpi'... Finished (00:00:05)
Validating cpi release... Finished (00:00:00)
Validating deployment manifest... Finished (00:00:00)
Downloading stemcell... Finished (00:00:01)
Validating stemcell... Finished (00:00:00)
Finished validating (00:00:23)
Started installing CPI
Compiling package 'ruby_aws_cpi/5e8696452d4676dd97010e91475e86b23b7e2042'... Failed (00:00:05)
Failed installing CPI (00:00:05)
Installing CPI:
Compiling job package dependencies for installation:
Compiling job package dependencies:
Compiling package:
Running command: 'bash -x packaging', stdout: 'Installing yaml
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
', stderr: '+ set -e -x
++ PATH=/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin
++ openssl version

openssl_version='OpenSSL 1.0.1e-fips 11 Feb 2013'
++ cut -f2 '-d '
++ cut -f1 -d.
++ echo OpenSSL 1.0.1e-fips 11 Feb 2013
openssl_major_version=1
'[' 1 == 0 ']'
echo 'Installing yaml'
tar xzf ruby_aws_cpi/yaml-0.1.5.tar.gz
pushd yaml-0.1.5
CFLAGS=-fPIC
./configure --prefix=/root/.bosh/installations/9e065bd9-474c-4fb0-70ea-c5049d42ff02/packages/ruby_aws_cpi --disable-shared
configure: error: in /root/.bosh/installations/9e065bd9-474c-4fb0-70ea-c5049d42ff02/tmp/bosh-release-pkg138648697/yaml-0.1.5': configure: error: no acceptable C compiler found in $PATH See config.log' for more details
':
exit status 1

Exit code 1
Please help me with this issue

See http://bosh.io/docs/cli-env-deps.html for additional cli dependencies.


Firefox character encoding issue

Version
v2.8.1
Reproduction link
http://not.applicable.com
Steps to reproduce
Create a brand new nuxt application with npx create nuxt-app test
Cd into directory and yarn run dev
Open Firefox at localhost:3000
What is expected ?
A web page should be displayed
What is actually happening?
A blank page is displayed with the following error message in the console:
"The character encoding of the plain text document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the file needs to be declared in the transfer protocol or file needs to use a byte order mark as an encoding signature."
Additional comments?
Works fine on chrome and safari

This bug report is available on Nuxt community (#c9362)

Can't repro :thinking:
FF (dev edition) is my default browser, never experienced an issue like that :thinking:

Looked at it again and it worked after clearing all Storage data (cookies, cache, localStorage, etc).
The data was left by another nuxt app.

I've been getting this issue now for a couple of days and tried the above resolution (clearing storage data) as well as the following:

Switching Firefox profiles
Restarting Firefox
Re-installing Firefox
Rebooting my machine, as a means of clearing temporary files/storage, all to no avail

I'm getting this issue on localhost:3000 for a particular Nuxt app but not for others when I run it on the same port number.
Are there any additional potential solutions to this?


Fix Chrome facingMode polyfill to work with some desktop devices.

Description
Apparently not working w/Surface Pro 4 which defaults to back camera (surprising the old polyfill).
Purpose
Also extended lease.

LGTM


((Viral@Video)) Trisha Kar Madhu Video Viral Kaise leaked video LINK [Telegram LINK]

WATCH— Trisha Kar Madhu Viral Video Online HD
07 minutes ago — [woɹᙠɹǝuɹɐZ] Trisha Kar Madhu Viral New collections of Trisha Kar Madhu Viral is now being a creator on Fanfix uploading adult contents. Social media star Trisha Kar Madhu Viral is been posting short videos and naughty pics on Tiktok platform for a while now.
Trisha Kar Madhu Viral Videos
On Monday (March 18), X, formerly known as Twitter, became abuzz with speculation that a leaked sex tape featuring Trisha Kar Madhu Viral was readily available online. However, instead of the XXX clip, there are dozens of X pages promising to release the video in exchange for interaction with their post.
The video shows Trisha Kar Madhu Viral's Viral Video suddenly facing trouble with their outfit coming undone while casually walking about and running errands. Despite the embarrassment most would feel at having a wardrobe malfunction publicly, viral footage shows Trisha Kar Madhu Viral's Viral Video simply laughing the incident off themselves. It is this down-to-earth reaction that has earned Trisha Kar Madhu Viral's Viral Video such positive responses rather than ridicule after surprised fans rushed online to see the video and share the celebrity blooper seen around the internet.
Trisha Kar Madhu Viral Video: There is a slight possibility that you might already
know about her, as the Bhojpuri actress is a popular household name in some states, but in case the talented Trisha Kar Madhu is new to you, allow us to elaborate on who she is and why is she suddenly trending. Madhu is currently ruling the social media trends as the phrase ‘Trisha Kar Madhu Ka Viral Video’ took over the headlines. For those unfamiliar, something similar happened back in 2021 when the actor fell victim to an MMS leak controversy. However, this time, the reason behind her sudden virality is a bit different.
Trisha Khan, who is more popular by her stage name Trisha Kar Madhu, has been a prominent name in the Bhojpuri cinema for years. The actor, who eventually earned the title of being a bold actress in the Bhojpuri industry, also won the Miss India Beautiful Smile title in 2001. Madhu was already a known name with a huge fanbase, however, the tables took a sharp turn in 2021, when an X-rated video of the actress was leaked online. The controversy majorly divided her fanbase, as some supported her, while the rest chastised her. The video was allegedly of the actor being intimate with an unidentified man.
However, the actress eventually moved on and went back to working. The move surely worked well as Madhu currently has a huge following on her social media platforms, where she also shares her dance videos. She currently has more than a million followers on Instagram. But now the actor is back in the headlines for yet another video, but this time, the viral video has hardly anything to do with the past controversy.
Viral Video: There is a reason why humanity chose to add the term ‘wild’ in front of certain animals- which was majorly them being wild and completely unpredictable. However, a TikToker seemingly had something else in mind about the above-said theory, which soon turned into a lesson. A video of the said woman TikToker, Musiiwa Sikhwari, was shared online, where she ended up getting kicked by a giraffe after she attempted to go closer to the wild animal. What happened next was something that many considered ‘lucky’ for her, as she reportedly received no injuries and was only knocked to the ground with some seemingly ‘harmless force’. The video went viral and pulled all kinds of reactions. Some cracked jokes on the incident while the rest dubbed it a risky encounter that could have gone southwards real quick. The rest pointed out the fact that giraffes are known for their strong kicks, while the rest criticised the woman. The video was shared on YouTube, by the news handle the ‘New York Post’. The post was titled, “Woman gets a little too close to giraffe in South Africa.” The video was shared two days ago and pulled more than 5K views from people

On Monday (March 18), X, formerly known as Twitter, became abuzz with speculation that a leaked sex tape featuring Trisha Kar Madhu Viral was readily available online. However, instead of the XXX clip, there are dozens of X pages promising to release the video in exchange for interaction with their post.
The video shows Trisha Kar Madhu Viral's Viral Video suddenly facing trouble with their outfit coming undone while casually walking about and running errands. Despite the embarrassment most would feel at having a wardrobe malfunction publicly, viral footage shows Trisha Kar Madhu Viral's Viral Video simply laughing the incident off themselves. It is this down-to-earth reaction that has earned Trisha Kar Madhu Viral's Viral Video such positive responses rather than ridicule after surprised fans rushed online to see the video and share the celebrity blooper seen around the internet.
Trisha Kar Madhu Viral Video: There is a slight possibility that you might already
know about her, as the Bhojpuri actress is a popular household name in some states, but in case the talented Trisha Kar Madhu is new to you, allow us to elaborate on who she is and why is she suddenly trending. Madhu is currently ruling the social media trends as the phrase ‘Trisha Kar Madhu Ka Viral Video’ took over the headlines. For those unfamiliar, something similar happened back in 2021 when the actor fell victim to an MMS leak controversy. However, this time, the reason behind her sudden virality is a bit different.
Trisha Khan, who is more popular by her stage name Trisha Kar Madhu, has been a prominent name in the Bhojpuri cinema for years. The actor, who eventually earned the title of being a bold actress in the Bhojpuri industry, also won the Miss India Beautiful Smile title in 2001. Madhu was already a known name with a huge fanbase, however, the tables took a sharp turn in 2021, when an X-rated video of the actress was leaked online. The controversy majorly divided her fanbase, as some supported her, while the rest chastised her. The video was allegedly of the actor being intimate with an unidentified man.
However, the actress eventually moved on and went back to working. The move surely worked well as Madhu currently has a huge following on her social media platforms, where she also shares her dance videos. She currently has more than a million followers on Instagram. But now the actor is back in the headlines for yet another video, but this time, the viral video has hardly anything to do with the past controversy.

On Monday (March 18), X, formerly known as Twitter, became abuzz with speculation that a leaked sex tape featuring Trisha Kar Madhu Viral was readily available online. However, instead of the XXX clip, there are dozens of X pages promising to release the video in exchange for interaction with their post.


refactor[build-yml]: Updated the build yml file to push the e2e images

Signed-off-by: nsathyaseelan<EMAIL_ADDRESS>
Updated the build yml to push the e2e test image into docker hub

Codecov Report

Merging #77 (8e2ef79) into develop (44f029a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #77   +/-   ##
========================================
  Coverage    33.95%   33.95%
========================================
  Files           30       30
  Lines         2521     2521
========================================
  Hits           856      856
  Misses        1621     1621
  Partials        44       44

Continue to review full report at Codecov.

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


Add markewaite as a testcomplete maintainer

Add markewaite as a testcomplete maintainer
Plugin: https://github.com/jenkinsci/testcomplete-plugin/
@rinconedgar and @Igor-Filin are testcomplete plugin maintainers from SmartBear.  @rinconedgar has approved pull request https://github.com/jenkinsci/testcomplete-plugin/pull/12 that modernizes the plugin and resolves an already disclosed vulnerability https://www.jenkins.io/security/advisory/2023-01-24/#SECURITY-2741 .  They would like to merge and release a new version of the plugin with that fix, but @rinconedgar does not have merge permission to the GitHub repository.
Allowing me as a temporary maintainer may also grant merge permission to @rinconedgar.  If it does not, then we'll need someone to investigate why the people listed in the repository permissions updater do not have merge permission to the repository.
https://github.com/jenkinsci/testcomplete-plugin/pull/12 is the pull request that I plan to merge.
@rinconedgar or @Igor-Filin could you reply to this pull request with either your approval of the proposal or your rejection of it?
Submitter checklist for adding or changing permissions
Always

[x] Add link to plugin/component Git repository in description above

When enabling automated releases (cd: true)

[x] Add a link to the pull request, which enables continuous delivery for your plugin or component.
Follow the documentation to ensure, your pull request is set up properly.

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory and Jira at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @Wadeck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

@NotMyFault @MarkEWaite  I accepted the invitation

Merged

Closing as not needed.  Thanks @NotMyFault for your help!


Empty folders / actual movies not showing

Bug report
Your Environment

Netflix add-on version: 0.16.1
Operating system version/name: Android 8.0 / Kodi Leia 18.5
Device model: Nvidia Shield TV 2015

Used Operating system:

[x] Android
[ ] iOS
[ ] Linux
[ ] OSX
[ ] Raspberry-Pi
[ ] Windows

Describe the bug
TLDR; Netflix login successful, but the addon is listing empty directories
I've tried different ESNs, various HDCP / streaming options with no luck.
I'm using Embuary Skin, howerver problem persists even on default Estuary.
Expected behavior
Addon should list movie / episode inside each folder.
Actual behavior
Addon shows empty folders.
Steps to reproduce the behavior

Installed Netflix Addon following these instructions: https://github.com/CastagnaIT/plugin.video.netflix/wiki/How-install-the-addon
Enabled Input Steam Adaptive from addons
Successfully logged in to Netflix
Addon lists shows correctly (titles, descriptions and images next to folder), however after entering folder is empty

Possible fix
Debug log
The debug log can be found from this link: http://bit.ly/2ETmk9f
Additional context or screenshots (if appropriate)
Screenshots: http://bit.ly/3964JJh
Installation

[ ] I'm using other Netflix Repo
[ ] I'm using a different source

Other information

n/a
Screenshots

I see no errors in the log
have you tried reinstalling Kodi from scratch?

After reinstalling KODI movies are displayed properly. However I cannot get 4k display on shield with Pie and 18.5 kodi / 0.16.1 NF. Atmos works.
I've read the whole discussion here on 4k in issues however no matter which setting I choose I cannot get 4k to work - Kodi changes rea/refresh rate and after that stucks switch loading icon. When in auto mode in adaptive streaming videos load only in 1080p with atmos. Tested on the Witcher

instruction for 4k problems is in readme
https://github.com/CastagnaIT/plugin.video.netflix#my-android-device-supports-4k-but-does-not-playback-at-4k

I already did everything from the readme, checked all the configs, checked NF website for settings:
Expert Settings:
HEVC: on
Force HDCP: on
Adaptive:
Override HDCP: on
Min. Bandwith: 18.000.000
Stream Selection: auto
Ignore Display Resolution: read below
Kodi:
Adjust display refresh rate: On start
MediaCodec (Surface): on
MediaCodec: on
Resolution: 3840x2160p
Refresh rate: 30.00
Delay after change of refresh rate: off
Number of buffers used by graphics driver: 3
Basically, I've reinstalled Kodi 18.5, added only Netflix plugin (0.16.1), and got it working with 1080p.
With Stream Selection: auto:

Ignore Display Resolution: off - I'll get only 1080p with atmos
Ignore Display Resolution: on, and Min. Bandwith 18.000.000 - video never loads, instead Kodi shows loading spinner infinitely.

Here's log: https://drive.google.com/open?id=1GUnssW_BPt0XG-thz4rnojC2SwlY7lL0
If I switch to Stream Selection: manual  and Ignore Display Resolution: off same thing happens:
https://drive.google.com/open?id=1iH7My0J-cKi7R_SjrLYyztvJ6_oaOk5Y
My hardware is:
Shield TV 2015
Panasonic 65AX800
Pioneer SC-LX59
Also, 4k movies (when available) in the original NF app work fine.
Side note: when experimenting with different settings I got 4k working with Netflix plugin for a short time, but it was when Sync to Playback was enabled, and then Atmos wasn't working (only PCM).
Thanks for your support! :)

so in the log "Here's log:" the error come from a Kodi library
there's nothing i can do on my part
you have to report the problem to the Kodi team
the last log "If I switch to Stream Selection: manual",
i don't even look at it because, switch to manual, is only for debugging InputStream and is cause of problems with all netflix streams.


Add a Codacy badge to README.md

Pull Request Test Coverage Report for Build 40

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.561%

Totals

Change from base Build 39:
0.0%

Covered Lines:
454

Relevant Lines:
456

💛  - Coveralls


Fix: release alpn string before set for tls_ctx_options

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report
Patch coverage: 33.33% and project coverage change: -0.03% :warning:

Comparison is base (f7bc831) 79.94% compared to head (39e2a21) 79.92%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #588      +/-   ##
==========================================
- Coverage   79.94%   79.92%   -0.03%
==========================================
  Files          27       27
  Lines        5844     5847       +3
==========================================
+ Hits         4672     4673       +1
- Misses       1172     1174       +2

Files Changed
Coverage Δ

source/tls_channel_handler.c
62.44% <33.33%> (-0.37%)
:arrow_down:

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


[CLI] Add Node >= 4 requirement to CLI tools

React Native's packager now relies on modern V8 so it depends on modern Node. The CLI tools actually run with older versions of Node but the version constraint in the CLI's package.json accomplishes two things:

Lets us rely on modern V8 in the CLI so we don't have to think about which JS features we can use
Fails faster up front. So if someone has Node 0.10 for example they will get an error when setting up the CLI tools instead of later on in the process.

:+1:

Thanks!


Assumes day of the month is current day when not given

It doesn't matter for my use, but upon trying to parse a partial date, it isn't able to identify this:
>>> import dateparser
>>> dateparser.parse("March-April 2021")
>>> dateparser.parse("March 2021")
datetime.datetime(2021, 3, 25, 0, 0)
>>> dateparser.parse("1 March 2021")
datetime.datetime(2021, 3, 1, 0, 0)
>>> dateparser.parse("March 2021")
datetime.datetime(2021, 3, 25, 0, 0)
>>> dateparser.parse("January 2021")
datetime.datetime(2021, 1, 25, 0, 0)

Note: today is the 25th, the parser is assuming that I want the same day for the other months I enter.

It would be better to give 0 for the day perhaps, and then it would be clearly a 'null' value (as no month has a 0th day)
(Also found it was not possible to parse date ranges as shown in the first example)

https://dateparser.readthedocs.io/en/latest/settings.html#handling-incomplete-dates


onclose, onend, onerror not working properly?

I'm trying to make this work:
        const config = {
            imap: {
                user: process.env.EMAIL_ACCOUNT,
                password: process.env.EMAIL_PASSWORD,
                host: process.env.HOST,
                port: 993,
                tls: true,
                authTimeout: 3000
            },

            onclose: function(){
                console.log("onclose");
            },

            onend: function(){
                console.log("onend");
            },

            onupdate: function(){
                console.log("update");
                connection.end();
            },
        }

        const connection = await imaps.connect(config);
        connection.openBox('INBOX');

But onclose and onend listeners are not doing anything?
Console prints only "update". Then connection is ended.

I had to use handlers outside of a config.
Everything works fine.

I had to use handlers outside of a config.
Everything works fine.

Hello, can you share how you solved it?
Thank you.


Support iterators?

It would be nice to be able to iterate all positions of 1, or all positions of 0. The assumption is that the implementation can be more efficient than just a for loop that checks each bit.

Unfortunately this is tricky. Anything other than 'loop over all bits' requires custom iterator types depending on the concrete type.
Doing such custom iterators may require generic associated lifetimes (currently not supported in Rust). It may also require having the BitSet trait know about its underlying container (whether it's stored as u8 or u32 etc) which is what I'm trying to avoid.
Perhaps this can be solved with a separate trait (akin to IntoIterator but for bit sets) but that would also introduce a lot more API surface than I was comfortable with when I initially made this crate.
In the end I didn't personally need high performant iteration of set or cleared bits so I left it out.

Feel free to close the issue then. For now, I'm using bit-set in https://github.com/gfx-rs/gfx-extras/pull/35


geocoded_by instance methods latitude and longitude

I have an a database column location which has a latitude and longitude
e.g.
location: {
   latitude: 1.304171,
   longitude: 103.83222
}

and in my model. I have
geocoded_by :location, latitude: latitude, longitude: longitude

def latitude
   location['latitude']
end

def latitude
   location['longitude']
end

I define a instance method latitude and longitude
Expected behavior
Rails console
Poi.near([1.304171, 103.83222], 5, units: :km)

it should return records.
Actual behavior
Rails console
Poi.near([1.304171, 103.83222], 5, units: :km)

it returns []
but when I do it an actual column instead of instance method it returns a record.
Environment info

Geocoder version: 1.5.1
Rails version: 5.2.3
Database (if applicable):
Lookup (if applicable):

What database are you using?

@alexreisner PostgresSQL

When you call near, Geocoder executes an SQL query. The problem is that your latitude and longitude columns cannot be accessed with what you've given in your geocoded_by line. I believe it will work if you pass a string with SQL for accessing each of the latitude and longitude values. You'll probably need to include the table name as well. However, with this configuration, I don't know if it will be able to assign values for lat/lon. The recommended way of doing this is to use two fully separate columns for lat and lon.


Create a mock database with random data

Create a mock database with a bunch of data. Should make this as a template or something that's easy to reproduce. This will help a lot with testing.

We created two databases, SmartCoffeeMachine and CI_SmartCoffeeMachine used for testing and CI environment


fix telemetry is_ci_environment

There might be something I'm not considering but it sounds like the default behavior is that GITHUB_ACTIONS for github or CI for GitLab/CircleCI/etc. is set to true. Github docs  say Always set to true when GitHub Actions is running the workflow. I could check that its value is true but I think the presence of the env var means CI in these cases.

@pnadolny13 - Environment variables can't be booleans, so the code is written to accept TRUE or 1 as a value.
These would all fail the test:
CI=0
CI=false
GITHUB_ACTIONS=0
GITHUB_ACTIONS=false

@pnadolny13 - Did you raise this because you are seeing different behavior from expected?

@aaronsteers yea - https://github.com/meltano/meltano/issues/6038 yields true even when those env vars aren't present, because the string is truncated down to '' and '' is in '1t'.
I think what @pnadolny13 was saying is that if that env var is present its likely an indication of running in CI. You could check that its set to a truthy value, but CI systems could have various patterns for setting that. I think the likely hood of someone running this in prod for example with CI=false is pretty slim. But if yea, if we wanted to be extra safe we could check that its a value in:
True, true, Yes, yes, y, no, No, False, false, On, Off, 0, 1 (or a condensed subset and lower cased version of '1t')

@pnadolny13 - Thanks again for this fix!


Update redis Docker tag to v20.4.0

This PR contains the following updates:

Package
Update
Change

redis (source)
minor
20.3.0 -> 20.4.0

:warning: Warning
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

bitnami/charts (redis)
v20.4.0

[bitnami/redis] add extraPortsEnabled (#30607)

Configuration
:date: Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
:warning: Warning: custom changes will be lost.


[Feature] allow caching map image

It would be nice to cache the image to:

display image faster when already displayed
manage offline conditions

Did you plan to implement this feature or getting access to the image on a callback or from controller ?

Hi @fvisticot!
Its great idea to cache your images as you could get rid of uneccesary google API calls and potentialy pay a little les for it :smiley:!
Basically the main target of this package was to provide simple access to static maps service. So, you are able to generate your map URL in safe and comfortable way (I hope so :smile:). How you will use this generated URL is up to you. Feel free to use already implemented packages to cache your images. For example cached_network_image package, whitch is great for tasks like that. Example usage can be found  [HERE] (https://flutter.dev/docs/cookbook/images/cached-images).
Let me know if it is what you were looking for 😀! If you have any other questions related to this package, I am here for you :smiley:.

Tx, it works perfectly with the controller and the cached_network_image plugin !
You can close the "issue"

Great! :smiley:


Move title tag to App

closes https://github.com/primer/components/issues/351

[x] Moved the title from pages/_document.js to pages/_app.js

Since this is a docs change & which aren't included in the npm package, I'm going to merge this without a release.


Add ability to filter out CAM and TeleSync

Hi thanks for all the great updates.
Would it be possible to add filter options for CAM/TS ?
Thanks

I'm not sure I understand how this would be useful
they are already ranked at the very bottom anyways

If we extend that argument - why have filters for SD or any quality and just leave it to ranking/sorting.
Guess in this case it's really for the case when only results are CAM etc - would prefer if I got no results at all.as not interested

done https://github.com/g0ldyy/comet/commit/fe3ddb6702aac23de8e3ad6b51c56899f3f3ea24, update Comet.


Add new maap_base image

This new image can be used as DPS base image and in the future can also be used as source image for all our workspace base image.
This PR also includes the CI scripts to build the custom images on gitlab ci/cd

This closes https://github.com/MAAP-Project/Community/issues/966


Proposal to simplify API key setup using Python API

When a terminal is closed, the current env variable settings are not preserved.
Because Env variables are only maintained for the current terminal session in use.
OPENAI_API_KEY is set through env variables. So it can be disappear easily.

When we use code with Python API, Why don't we let them write it directly on the code? same as python-twitter
It will reduce the process of setting variables repeated for each new session.
pros

Simplifies the API key setup process for users.
Eliminates the need to reset the API key for each new terminal session.
Improves the user experience and reduces the likelihood of errors due to incorrect API key setup.

For example.
from chatgpt_wrapper import OpenAIAPI

api_key = {YOUR_OPENAI_API_KEY}

bot = OpenAIAPI(key=api_key)
bot.set
success, response, message = bot.ask("Hello, world!")
if success:
    print(response)
else:
    raise RuntimeError(message)

Because the long  term plan for this project is to support LLMs from multiple providers, I'm currently thinking that providing direct mechanisms to set API keys on the class will make the code harder to maintain.
There are already multiple standard mechanisms for managing environment variables in various shell/deployment scenarios, they should be pretty easy to implement.
And if you really want to put it in code, use the standard Python mechanism for doing that.