Skip to content
This repository has been archived by the owner on Dec 31, 2020. It is now read-only.

Email list creates but subscribers are never stored #189

Open
chiefoleka opened this issue Sep 9, 2017 · 21 comments
Open

Email list creates but subscribers are never stored #189

chiefoleka opened this issue Sep 9, 2017 · 21 comments

Comments

@chiefoleka
Copy link

There seems to be a problem with the adding subscribers to the list.
Email list gets created (I can have like 1 million of them), but the subscribers never quite get added to the list. This happens using docker or local setup.

@karuppiah7890
Copy link
Contributor

karuppiah7890 commented Sep 9, 2017

@chiefoleka Can you show a sample of your list including the header row ?

@chiefoleka
Copy link
Author

I tried different combinations

email
email@gmail.com

Then I also tried

email,first name
email@gmail.com, firstname

Then also flipped this

first name, email
firstname, email@gmail.com

So, the thing is that the list comes in, it sees the headers and identifies each field irrespective of the combination I use, but it doesn't store it.

@karuppiah7890
Copy link
Contributor

karuppiah7890 commented Sep 9, 2017

@chiefoleka Okay, I think I know what the issue is. I have encountered it, but I forgot to create an issue for this.

How big is your list ? Try uploading a subset of your list with say 500-1000 emails. And let me know if it works :)

I have encountered issues in uploading when the list was big - anything more than 2000 records (only emails). The upload didn't happen properly. It's some bug regarding uploading.

And the output that you see for the identification (the sample), it's done on the client side I think, and yes, looks like your list is in the right format. It just needs to have at least one column with the name "email". Even "Email" works I guess ? cc @AndrewGHC

@chiefoleka
Copy link
Author

@karuppiah7890
Not necessarily. I tested with a single email because I felt it was the volume, but it still didn't work.
Now, it says upload completed but records 0.
The first time I set it up, I'm not sure, but I think it uploaded just fine, and I was running it in a docker container.
But before trying to use it last night, I sort of rebased my local repo people running docker. This issue started after then

@karuppiah7890
Copy link
Contributor

@chiefoleka Then you could just stop and remove all containers using docker-compose down and try again if you don't have any important data in the DB.

@AndrewGHC I think we need to work on DB backup procedure (DB container) docs for people and provide volume based storage for DB in the upcoming versions so that it's easy to upgrade to the latest version of the application. And if for any reason we change DB schema and containers don't work in a plug and play manner, we can think on the DB upgrading procedures too later.

@chiefoleka
Copy link
Author

@karuppiah7890
I'm not sure that would work because today, I removed all my docker containers since they are not necessarily useful yet.
But let me try and give you feedback

@chiefoleka
Copy link
Author

chiefoleka commented Sep 9, 2017

@karuppiah7890
if it helps, here is the error that comes up every time I drop and recreate a container

app_1       | (node:51) DeprecationWarning: Using the automatically created return value from client.query as an event emitter is deprecated and will be removed in pg@7.0. Please see the upgrade guide at https://node-postgres.com/guides/upgrading
postgres_1  | ERROR:  relation "users" does not exist at character 112
postgres_1  | STATEMENT:  SELECT "id", "googleId", "picture", "token", "email", "name", "sentEmailsCount", "createdAt", "updatedAt" FROM "users" AS "user";

@karuppiah7890
Copy link
Contributor

karuppiah7890 commented Sep 9, 2017

That's just an error when there are no users in the DB and when the App tries to run that statement to check if the users, before logging in. I see that too in a new container. But it will work once you login

@AndrewGHC I think we could handle this error this in a better manner ?

@karuppiah7890
Copy link
Contributor

@chiefoleka If you still run into issues, ping me on gitter @karuppiah7890 and I will remote login to your PC through TeamViewer and see what the issue is :)

@karuppiah7890
Copy link
Contributor

@chiefoleka Any updates on the issue ?

@chiefoleka
Copy link
Author

chiefoleka commented Sep 14, 2017 via email

@karuppiah7890
Copy link
Contributor

"Vern" ?
And have you tried getting rid of the containers and recreating them using the commands I mentioned ?

@karuppiah7890
Copy link
Contributor

@chiefoleka If you are still getting issues, let me check and verify the issue through TeamViewer. Ping me on gitter.im and we can decide on a time to check the issue

@karuppiah7890
Copy link
Contributor

My Gitter username is karuppiah7890 , the same as my GitHub one

@chiefoleka
Copy link
Author

chiefoleka commented Sep 14, 2017 via email

shaikh-shahid added a commit to shaikh-shahid/mail-for-good that referenced this issue Sep 22, 2017
@bmorelli25
Copy link

I think I figured out what the problem is. I too was having 0 emails come through, no matter my list size (tried 0, 100, and 1000 placeholder emails).

The fix, was renaming my email column. The email column must be named exactly email. I had it named Email with a capital E. Once I lowercased everything, my subscribers uploaded for all test sizes (0, 100, and 1000).

@bmorelli25
Copy link

@chiefoleka - make sure your header is titled exactly email. You may have an inadvertent character, capitalization, or space that's causing the issue. I'd delete the whole header row and add a new one just to be sure.

@karuppiah7890
Copy link
Contributor

karuppiah7890 commented Oct 5, 2017

@bmorelli25 Thanks for that 😄 I think I have tried with Email as header. Let me try again. That's probably the issue as @chiefoleka couldn't import a list with even one mail id

@deltagolf
Copy link

As @bmorelli25 has said, I solved this issue by changing the header to "email" instead of "Email".

@deltagolf
Copy link

I've been searching the code and I think changing this line would fix this:

const additionalFields = _.without(JSON.parse(req.body.headers), 'email'); // e.g. name, location, sex, (excluding email header)

@pickleshy
Copy link

I too solved the issue by lowercasing "email" – would be very helpful if the helptext could be explicit about capitalization.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants