-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable File Upload for CSV transaction imports #799
Comments
Related: when importing a CSV it seems there's no option to skip category / tags, i.e. select "no" field to map those to. |
@joehoyle yeah I had run into this with a few of my own imports too. Created an issue here that we can cover this in: https://github.com/orgs/maybe-finance/projects/14/views/1?pane=issue&itemId=65794196 |
Just another note: I tried to import CSV of about 6k lines. I was able to paste it into the field and import, but that basically hung the docker container for over an hour, and the import never completed, so it seems maybe the CSV imported has performance issues. |
@joehoyle any chance you have some logs you could share? The import happens in a background job, so can you check to make sure you have |
@zachgoll I took a further look into this, it's actually getting stuck on rendering <%= form.fields_for :csv_update do |ff| %>
<%= ff.hidden_field :row_idx, value: row_index %>
<%= ff.hidden_field :col_idx, value: col_index %>
<%= ff.text_field :value, value: value,
id: "cell-#{row_index}-#{col_index}",
class: "#{@import.csv.cell_valid?(row_index, col_index) ? "focus:border-transparent border-transparent" : "border-red-500"} border px-4 py-3.5 text-sm w-full bg-transparent focus:ring-gray-900 focus:ring-2 focus-visible:outline-none #{table_corner_class(row_index, col_index, @import.csv.table, row.fields)}",
data: { "auto-submit-form-target" => "auto" } %>
<% end %> Even without the above fields, it takes 30 seconds and is 16MB of HTML for the I wonder if there's more than 200 rows, it should just cut it off by 200 and say "...X more". I can't imagine anyone would want to manually correct more rows than that, and it would be enough to scan that the import looks correct. Either that, of vastly improve the efficiency of the |
FYI the |
Feature Overview
This is a follow up feature to the CSV imports that were already implemented in #708
In the original feature, only "copy/paste" was enabled. This issue's purpose is to add the ability for a user to directly upload a File.
Requirements
If there is a missing / incorrect requirement, please leave a comment before starting work on this.
Import
modelImplementation Suggestions
Below are some ideas for implementation to get you started. Use your best judgment here—if there's a better way to do things, go for it!
raw_csv_str
column onImport
Designs
Below are the designs you should follow while implementing this:
https://www.figma.com/design/lonJmVk3HYkwZoIO7xYP2w/Maybe-App-(Community)?node-id=3656-18086&t=t84SVrxXV2CSiCM7-0
Reminders
The text was updated successfully, but these errors were encountered: