DamnWidget / anaconda

Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3
http://damnwidget.github.io/anaconda/
GNU General Public License v3.0
2.21k stars 260 forks source link

lost of reference on imports, goto, etc... #568

Closed monobot closed 8 years ago

monobot commented 8 years ago

Lets say you open ST3 + anaconda, and go to a python object using anaconda, then if you close the target file anaconda somehow forgets or lost the reference and stops finding it again

Expected Behaviour

After go to python object, and closing the target file, anaconda should behave the same.

Actual Behaviour

marks as import error and can not go to python object anymore, showing docstring doesnt work either

Steps to Reproduce

Open ST with anaconda, open any python file, go to any python object imported on that file, close the target file. go to the original file and cry

ST3, Anaconda and OS versions

ST3 3126, anaconda , ubuntu 14.04 (elementary freya) has been happening for a long time now, just today I have feed up with it, in fact i have been using ST3 built in goto because anaconda is not reliable at least in my enviroment.

ST3 Console Logs

DPI scale: 1 startup, version: 3126 linux x32 channel: stable executable: /opt/sublime_text/sublime_text working dir: /home/monobot packages path: /home/monobot/.config/sublime-text-3/Packages state path: /home/monobot/.config/sublime-text-3/Local zip path: /opt/sublime_text/Packages zip path: /home/monobot/.config/sublime-text-3/Installed Packages ignored_packages: ["Vintage"] pre session restore time: 0.268151 warning: mnemonic t not found in menu caption Tools startup time: 0.455811 first paint time: 0.494152 first paint time: 0.504575 reloading plugin Default.auto_indent_tag reloading plugin Default.block reloading plugin Default.comment reloading plugin Default.convert_syntax reloading plugin Default.copy_path reloading plugin Default.delete_word reloading plugin Default.detect_indentation reloading plugin Default.duplicate_line reloading plugin Default.echo reloading plugin Default.exec reloading plugin Default.fold reloading plugin Default.font reloading plugin Default.goto_line reloading plugin Default.history_list reloading plugin Default.indentation reloading plugin Default.install_package_control reloading plugin Default.kill_ring reloading plugin Default.mark reloading plugin Default.new_templates reloading plugin Default.open_context_url reloading plugin Default.open_in_browser reloading plugin Default.pane reloading plugin Default.paragraph reloading plugin Default.paste_from_history reloading plugin Default.profile reloading plugin Default.quick_panel reloading plugin Default.run_syntax_tests reloading plugin Default.save_on_focus_lost reloading plugin Default.scroll reloading plugin Default.set_unsaved_view_name reloading plugin Default.settings reloading plugin Default.show_scope_name reloading plugin Default.side_bar reloading plugin Default.sort reloading plugin Default.swap_line reloading plugin Default.switch_file reloading plugin Default.symbol reloading plugin Default.transform reloading plugin Default.transpose reloading plugin Default.trim_trailing_white_space reloading plugin CSS.css_completions reloading plugin Diff.diff reloading plugin HTML.encode_html_entities reloading plugin HTML.html_completions reloading plugin 0_package_control_loader.00-package_control reloading plugin 0_package_control_loader.01-pygments reloading plugin 0_package_control_loader.50-backrefs reloading plugin 0_package_control_loader.50-markupsafe reloading plugin 0_package_control_loader.50-python-markdown reloading plugin 0_package_control_loader.50-pyyaml reloading plugin 0_package_control_loader.50-requests reloading plugin 0_package_control_loader.51-python-jinja2 reloading plugin 0_package_control_loader.55-mdpopups reloading plugin BracketHighlighter.bh_core reloading plugin BracketHighlighter.bh_logging reloading plugin BracketHighlighter.bh_plugin reloading plugin BracketHighlighter.bh_regions reloading plugin BracketHighlighter.bh_remove reloading plugin BracketHighlighter.bh_rules reloading plugin BracketHighlighter.bh_search reloading plugin BracketHighlighter.bh_swapping reloading plugin BracketHighlighter.bh_wrapping reloading plugin BracketHighlighter.changes reloading plugin BracketHighlighter.support reloading plugin Compare Side-By-Side.sbs_compare reloading plugin DocBlockr.jsdocs reloading plugin DocBlockr_Python.DocblockrPython reloading plugin DocBlockr_Python.commands reloading plugin Emmet.emmet-plugin reloading plugin Git.git_commands reloading plugin GitGutter.git_gutter reloading plugin GitGutter.git_gutter_change reloading plugin GitGutter.git_gutter_compare reloading plugin GitGutter.git_gutter_events reloading plugin GitGutter.git_gutter_handler reloading plugin GitGutter.git_gutter_popup reloading plugin GitGutter.git_helper reloading plugin GitGutter.view_collection reloading plugin HaoGist.event reloading plugin HaoGist.main reloading plugin JsFormat.js_formatter reloading plugin Markdown Preview.MarkdownPreview reloading plugin Markdown Preview.helper reloading plugin Markdown Preview.markdown_settings reloading plugin Markdown Preview.markdown_wrapper reloading plugin Minifier.Minify reloading plugin Package Control.1_reloader reloading plugin Package Control.2_bootstrap reloading plugin Package Control.Package Control reloading plugin PackageResourceViewer.package_resource_viewer reloading plugin PackageResourceViewer.package_resources reloading plugin Anaconda.anaconda reloading plugin Anaconda.setup reloading plugin Anaconda.version reloading plugin Babel.Babel reloading plugin ColorPicker.sublimecp reloading plugin JSHint.JSHint reloading plugin PlainTasks.PlainTasks reloading plugin PlainTasks.PlainTasksDates reloading plugin PlainTasks.PlainTasksToHTML reloading plugin PlainTasks.plist_parser reloading plugin SublimeREPL.init reloading plugin SublimeREPL.completions reloading plugin SublimeREPL.lang_integration reloading plugin SublimeREPL.run_existing_command reloading plugin SublimeREPL.sublimerepl Unable to find cancel_build command: exec Unable to find cancel_build command: exec reloading plugin SublimeREPL.sublimerepl_build_system_hack reloading plugin SublimeREPL.text_transfer reloading plugin User.close_others plugins loaded Emmet: No need to update PyV8 Package Control: Skipping automatic upgrade, last run at 2016-10-20 12:41:49, next run at 2016-10-20 13:41:49 or after ERROR:root:Unhandled exception in poll, restarting the poll request ERROR:root:[Errno 9] Bad file descriptor ERROR:root:Traceback (most recent call last): ERROR:root: File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/ioloop.py", line 298, in inner_loop ERROR:root: poll() ERROR:root: File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/ioloop.py", line 275, in poll ERROR:root: handler.send() ERROR:root: File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/ioloop.py", line 132, in send ERROR:root: sent = self.sock.send(self.outbuffer) ERROR:root:OSError: [Errno 9] Bad file descriptor

Anaconda's JsonServer Logs

2016-10-20 12:54:14,929: DEBUG : bind: address=/home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock 2016-10-20 12:54:14,930: DEBUG : listen: backlog=5 2016-10-20 12:54:14,930: INFO : Anaconda Server started in /home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock for PID 6370 with cache dir /home/monobot/.cache/jedi/cabaana and extra paths /home/monobot/sync/cabaana 2016-10-20 12:54:33,387: INFO : Incomming connection from '' 2016-10-20 12:54:33,388: INFO : Incomming connection from '' 2016-10-20 12:54:33,396: INFO : client requests: lint 2016-10-20 12:54:33,892: DEBUG : bind: address=/home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock 2016-10-20 12:54:33,892: DEBUG : listen: backlog=5 2016-10-20 12:54:33,893: INFO : Anaconda Server started in /home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock for PID 6370 with cache dir /home/monobot/.cache/jedi/cabaana and extra paths /home/monobot/sync/cabaana 2016-10-20 12:54:38,670: INFO : About push back to ST3: {"vid": 17, "errors": [], "uid": "adda7d77a4c449fa9bdaceedf69c442e", "success": true}

2016-10-20 12:54:38,671: INFO : client requests: goto 2016-10-20 12:54:39,150: INFO : About push back to ST3: {"result": [["helpers.datetimeToTimestamp", "/home/monobot/sync/cabaana/cabaana/helpers.py", 46, 5]], "success": true, "uid": "3280d0453438455f8c9ed3b54a4e8887"}

2016-10-20 12:54:39,199: INFO : client requests: lint 2016-10-20 12:54:39,329: ERROR : 'bool' object is not iterable 2016-10-20 12:54:39,330: DEBUG : ['Traceback (most recent call last):', ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_server/commands/import_validator.py", line 30, in run', " 'errors': [] if v.is_valid() else self._convert(v),", ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/import_validator.py", line 30, in is_valid', ' error, valid = self._validate_import(line)', "TypeError: 'bool' object is not iterable"] 2016-10-20 12:54:39,352: INFO : About push back to ST3: {"vid": 18, "errors": "'bool' object is not iterable", "uid": "db9d05c5113846a39e46edf56d92b649", "success": false}

2016-10-20 12:54:39,353: INFO : client requests: lint 2016-10-20 12:54:39,369: ERROR : 'bool' object is not iterable 2016-10-20 12:54:39,370: DEBUG : ['Traceback (most recent call last):', ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_server/commands/import_validator.py", line 30, in run', " 'errors': [] if v.is_valid() else self._convert(v),", ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/import_validator.py", line 30, in is_valid', ' error, valid = self._validate_import(line)', "TypeError: 'bool' object is not iterable"] 2016-10-20 12:54:39,393: INFO : About push back to ST3: {"vid": 18, "errors": "'bool' object is not iterable", "uid": "b9439a9bc5dd4bd2b777bfcb8fb6aaef", "success": false}

2016-10-20 12:54:44,261: INFO : client requests: lint 2016-10-20 12:54:44,724: INFO : About push back to ST3: {"vid": 17, "errors": [{"code": 801, "level": "E", "raw_error": "[E] ImportValidator (801): can't import datetimeToTimestamp", "lineno": 18, "offset": 0, "message": "[E] ImportValidator (%s): %s", "underline_range": true}], "uid": "985aa7e8303d4420a391088cd9e50a19", "success": true}

DamnWidget commented 8 years ago

Hi, two things

1) Can you try disabling the imports validation? 2) Do you always get the Bad File Descriptor error?

monobot commented 8 years ago

Hello, thanks for fast answer.

anaconda import_validation defaults to false and i dont change it I have anyway included that on my user config and rerun with the next results:

No Bad File Descriptor in this occasion

anaconda user config

{ "python_interpreter": "/django/.envs/monobotsoft/bin/python", "pep8_ignore" : [ "E123", "E127", "E128", "E124", "E126", "E502", ], "anaconda_gutter_marks": true, "validate_imports": false, "complete_parameters": true, "display_signatures": true, "enable_signatures_tooltip": true, "merge_signatures_and_doc": true }

anaconda log

2016-10-20 14:34:50,896: DEBUG : bind: address=/home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock 2016-10-20 14:34:50,897: DEBUG : listen: backlog=5 2016-10-20 14:34:50,897: INFO : Anaconda Server started in /home/monobot/.local/share/anaconda/run/cabaana/anaconda.sock for PID 7624 with cache dir /home/monobot/.cache/jedi/cabaana and extra paths /home/monobot/sync/cabaana 2016-10-20 14:34:50,930: INFO : Incomming connection from '' 2016-10-20 14:34:50,931: INFO : Incomming connection from '' 2016-10-20 14:34:50,939: INFO : client requests: lint 2016-10-20 14:34:51,050: ERROR : 'bool' object is not iterable 2016-10-20 14:34:51,050: DEBUG : ['Traceback (most recent call last):', ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_server/commands/import_validator.py", line 30, in run', " 'errors': [] if v.is_valid() else self._convert(v),", ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/import_validator.py", line 30, in is_valid', ' error, valid = self._validate_import(line)', "TypeError: 'bool' object is not iterable"] 2016-10-20 14:34:51,103: INFO : About push back to ST3: {"vid": 16, "errors": [{"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 12, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 17, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 39, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 44, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 49, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 54, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 59, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 64, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 69, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}, {"level": "W", "raw_error": "[W] PEP 8 (E305): expected 2 blank lines after class or function definition, found 0", "lineno": 74, "offset": 0, "message": "[w] pep 8 (%s): %s", "underline_range": true}], "uid": "7658fb28d85b403097b27ff38d17749f", "success": true}

2016-10-20 14:34:51,168: INFO : client requests: lint 2016-10-20 14:34:56,257: INFO : About push back to ST3: {"vid": 17, "errors": [], "uid": "f810cb15e1634a9fbe3d1cdff67f8f5f", "success": true}

2016-10-20 14:34:56,259: INFO : client requests: lint 2016-10-20 14:34:56,675: INFO : About push back to ST3: {"vid": 17, "errors": [], "uid": "99dc3bfda3894174bde815fb6b0cf3cd", "success": true}

2016-10-20 14:34:56,676: INFO : client requests: lint 2016-10-20 14:34:57,202: INFO : About push back to ST3: {"vid": 17, "errors": [], "uid": "3359028a46424a929a39c0fe389264a0", "success": true}

2016-10-20 14:34:57,203: INFO : client requests: goto 2016-10-20 14:34:57,570: INFO : About push back to ST3: {"result": [["helpers.datetimeToTimestamp", "/home/monobot/sync/cabaana/cabaana/helpers.py", 46, 5]], "success": true, "uid": "8b8d6e14a2194e5b82dda5de38cbecff"}

2016-10-20 14:34:57,572: INFO : client requests: goto 2016-10-20 14:34:57,588: INFO : About push back to ST3: {"result": [["helpers.datetimeToTimestamp", "/home/monobot/sync/cabaana/cabaana/helpers.py", 46, 5]], "success": true, "uid": "bcc1c5e54a8646bfbf0a37f1cdd50d0e"}

2016-10-20 14:34:57,682: INFO : client requests: lint 2016-10-20 14:34:57,769: ERROR : 'bool' object is not iterable 2016-10-20 14:34:57,770: DEBUG : ['Traceback (most recent call last):', ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_server/commands/import_validator.py", line 30, in run', " 'errors': [] if v.is_valid() else self._convert(v),", ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/import_validator.py", line 30, in is_valid', ' error, valid = self._validate_import(line)', "TypeError: 'bool' object is not iterable"] 2016-10-20 14:34:57,792: INFO : About push back to ST3: {"vid": 18, "errors": "'bool' object is not iterable", "uid": "e5d438870ca347fdbf3b883d269a1d43", "success": false}

2016-10-20 14:34:57,792: INFO : client requests: lint 2016-10-20 14:34:57,812: ERROR : 'bool' object is not iterable 2016-10-20 14:34:57,812: DEBUG : ['Traceback (most recent call last):', ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_server/commands/import_validator.py", line 30, in run', " 'errors': [] if v.is_valid() else self._convert(v),", ' File "/home/monobot/.config/sublime-text-3/Packages/Anaconda/anaconda_lib/import_validator.py", line 30, in is_valid', ' error, valid = self._validate_import(line)', "TypeError: 'bool' object is not iterable"] 2016-10-20 14:34:57,835: INFO : About push back to ST3: {"vid": 18, "errors": "'bool' object is not iterable", "uid": "1272e724a5614e7cbb95b981d7d7fb99", "success": false}

2016-10-20 14:35:01,396: INFO : client requests: lint 2016-10-20 14:35:01,849: INFO : About push back to ST3: {"vid": 17, "errors": [{"code": 801, "level": "E", "raw_error": "[E] ImportValidator (801): can't import datetimeToTimestamp", "lineno": 18, "offset": 0, "message": "[E] ImportValidator (%s): %s", "underline_range": true}], "uid": "387092d9ee7b40f097c2452146f2bf69", "success": true}

2016-10-20 14:35:05,821: INFO : client requests: goto 2016-10-20 14:35:06,229: INFO : About push back to ST3: {"result": [], "success": true, "uid": "73bb3d2802de49c19635478f3cb6474f"}

ST log

DPI scale: 1 startup, version: 3126 linux x32 channel: stable executable: /opt/sublime_text/sublime_text working dir: /home/monobot packages path: /home/monobot/.config/sublime-text-3/Packages state path: /home/monobot/.config/sublime-text-3/Local zip path: /opt/sublime_text/Packages zip path: /home/monobot/.config/sublime-text-3/Installed Packages ignored_packages: ["Vintage"] pre session restore time: 0.246379 warning: mnemonic t not found in menu caption Tools startup time: 0.432431 first paint time: 0.454434 first paint time: 0.49575 Unable to fetch update url contents reloading plugin Default.auto_indent_tag reloading plugin Default.block reloading plugin Default.comment reloading plugin Default.convert_syntax reloading plugin Default.copy_path reloading plugin Default.delete_word reloading plugin Default.detect_indentation reloading plugin Default.duplicate_line reloading plugin Default.echo reloading plugin Default.exec reloading plugin Default.fold reloading plugin Default.font reloading plugin Default.goto_line reloading plugin Default.history_list reloading plugin Default.indentation reloading plugin Default.install_package_control reloading plugin Default.kill_ring reloading plugin Default.mark reloading plugin Default.new_templates reloading plugin Default.open_context_url reloading plugin Default.open_in_browser reloading plugin Default.pane reloading plugin Default.paragraph reloading plugin Default.paste_from_history reloading plugin Default.profile reloading plugin Default.quick_panel reloading plugin Default.run_syntax_tests reloading plugin Default.save_on_focus_lost reloading plugin Default.scroll reloading plugin Default.set_unsaved_view_name reloading plugin Default.settings reloading plugin Default.show_scope_name reloading plugin Default.side_bar reloading plugin Default.sort reloading plugin Default.swap_line reloading plugin Default.switch_file reloading plugin Default.symbol reloading plugin Default.transform reloading plugin Default.transpose reloading plugin Default.trim_trailing_white_space reloading plugin CSS.css_completions reloading plugin Diff.diff reloading plugin HTML.encode_html_entities reloading plugin HTML.html_completions reloading plugin 0_package_control_loader.00-package_control reloading plugin 0_package_control_loader.01-pygments reloading plugin 0_package_control_loader.50-backrefs reloading plugin 0_package_control_loader.50-markupsafe reloading plugin 0_package_control_loader.50-python-markdown reloading plugin 0_package_control_loader.50-pyyaml reloading plugin 0_package_control_loader.50-requests reloading plugin 0_package_control_loader.51-python-jinja2 reloading plugin 0_package_control_loader.55-mdpopups reloading plugin BracketHighlighter.bh_core reloading plugin BracketHighlighter.bh_logging reloading plugin BracketHighlighter.bh_plugin reloading plugin BracketHighlighter.bh_regions reloading plugin BracketHighlighter.bh_remove reloading plugin BracketHighlighter.bh_rules reloading plugin BracketHighlighter.bh_search reloading plugin BracketHighlighter.bh_swapping reloading plugin BracketHighlighter.bh_wrapping reloading plugin BracketHighlighter.changes reloading plugin BracketHighlighter.support reloading plugin Compare Side-By-Side.sbs_compare reloading plugin DocBlockr.jsdocs reloading plugin DocBlockr_Python.DocblockrPython reloading plugin DocBlockr_Python.commands reloading plugin Emmet.emmet-plugin reloading plugin Git.git_commands reloading plugin GitGutter.git_gutter reloading plugin GitGutter.git_gutter_change reloading plugin GitGutter.git_gutter_compare reloading plugin GitGutter.git_gutter_events reloading plugin GitGutter.git_gutter_handler reloading plugin GitGutter.git_gutter_popup reloading plugin GitGutter.git_helper reloading plugin GitGutter.view_collection reloading plugin HaoGist.event reloading plugin HaoGist.main reloading plugin JsFormat.js_formatter reloading plugin Markdown Preview.MarkdownPreview reloading plugin Markdown Preview.helper reloading plugin Markdown Preview.markdown_settings reloading plugin Markdown Preview.markdown_wrapper reloading plugin Minifier.Minify reloading plugin Package Control.1_reloader reloading plugin Package Control.2_bootstrap reloading plugin Package Control.Package Control reloading plugin PackageResourceViewer.package_resource_viewer reloading plugin PackageResourceViewer.package_resources reloading plugin Anaconda.anaconda reloading plugin Anaconda.setup reloading plugin Anaconda.version reloading plugin Babel.Babel reloading plugin ColorPicker.sublimecp reloading plugin JSHint.JSHint reloading plugin PlainTasks.PlainTasks reloading plugin PlainTasks.PlainTasksDates reloading plugin PlainTasks.PlainTasksToHTML reloading plugin PlainTasks.plist_parser reloading plugin SublimeREPL.init reloading plugin SublimeREPL.completions reloading plugin SublimeREPL.lang_integration reloading plugin SublimeREPL.run_existing_command reloading plugin SublimeREPL.sublimerepl reloading plugin SublimeREPL.sublimerepl_build_system_hack reloading plugin SublimeREPL.text_transfer reloading plugin User.close_others plugins loaded Emmet: No need to update PyV8 Package Control: Skipping automatic upgrade, last run at 2016-10-20 14:30:53, next run at 2016-10-20 15:30:53 or after

DamnWidget commented 8 years ago

The imports validator is being fired despite what you have in your configuration, make sure you are not overriding the configuration in your project settings. I will try to reproduce the goto problem later in my Linux box.

monobot commented 8 years ago

That was it!!!!

I was overwriting that on the project config,now works as expected, we have now isolated the problem.

So I think we can close the issue, althought the problem with the imports validated is still there.

Muchas gracias Óscar

DamnWidget commented 8 years ago

I already fixed the problem in the imports validator, it will be live on next release.

De nada.