Skip to content
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

Files with punctuation marks can't be accessed #81

Closed
ane-gabriela opened this issue Oct 18, 2023 · 4 comments
Closed

Files with punctuation marks can't be accessed #81

ane-gabriela opened this issue Oct 18, 2023 · 4 comments

Comments

@ane-gabriela
Copy link

Issue maybe related to The PDF file isn't shown when it contains a comma in the title

Steps to reproduce:

  1. Click on File Manager
  2. Upload the following file
    Te$t with #special + ch@rs - test. It's ^a test! Test ~1 = and (2) & {3}, [4]. 100% a test 1; 2` 3; 5. and 10 spaces..pdf
  3. Access the uploaded file
    FirstAccess
  4. Click on Attachments
    ErrrosPDF

Expected results: The document uploaded is shown in the wiki page and in the attachments section.

Actual results: Because of the comma , the title of the attachment is separated in 2 separate tabs which results in an error "Error: The document [xwiki:FileManager.Te$t with #special + ch] does not exists or you have no access to that document." The file isn't shown.

In the wiki console:

2023-10-18 17:59:45,217 [qtp382750013-174 - http://localhost:8080/xwiki/bin/view/FileManager/Te%24t%20with%20%23special%20%2B%20ch%40rs%20-%20test.%20It's%20%5Ea%20test!%20Test%20~1%20%3D%20and%20(2)%20%26%20%7B3%7D%2C%20%5B4%5D.%20100%25%20a%20test%201%3B%202%60%203%3B%205.%20%20%20%20%20%20%20%20%20%20and%2010%20spaces..pdf] ERROR o.a.v.rendering - Left side ($paths.length) of comparison operation has null value at xwiki:FileManagerCode.RecentFilesPanel[line 5, column 21] Oct 18, 2023 5:59:49 PM org.restlet.engine.application.StatusFilter doHandle WARNING: Exception or error caught by status service java.lang.IllegalArgumentException: The value given array contains not enough elements (contains 0, but need at least 1) at org.restlet.ext.jaxrs.AbstractUriBuilder$ArrayVariableResolver.resolve(AbstractUriBuilder.java:84) at org.restlet.ext.jaxrs.AbstractUriBuilder$ArrayVariableResolver.resolve(AbstractUriBuilder.java:65) at org.restlet.routing.Template.format(Template.java:392) at org.restlet.ext.jaxrs.AbstractUriBuilder.build(AbstractUriBuilder.java:201) at org.xwiki.livedata.internal.rest.AbstractLiveDataResource.withNamespaceAndSourceParams(AbstractLiveDataResource.java:160) at org.xwiki.livedata.internal.rest.AbstractLiveDataResource.withNamespaceAndSourceParams(AbstractLiveDataResource.java:138) at org.xwiki.livedata.internal.rest.DefaultLiveDataEntriesResource.createEntries(DefaultLiveDataEntriesResource.java:172) at org.xwiki.livedata.internal.rest.DefaultLiveDataEntriesResource.getEntries(DefaultLiveDataEntriesResource.java:200) at org.xwiki.livedata.internal.rest.DefaultLiveDataEntriesResource.getEntries(DefaultLiveDataEntriesResource.java:79) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.restlet.ext.jaxrs.internal.wrappers.AbstractMethodWrapper.internalInvoke(AbstractMethodWrapper.java:162) at org.restlet.ext.jaxrs.internal.wrappers.ResourceMethod.invoke(ResourceMethod.java:281) at org.restlet.ext.jaxrs.JaxRsRestlet.invokeMethod(JaxRsRestlet.java:997) at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:746) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202) at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:77) at org.restlet.Application.handle(Application.java:385) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.routing.Router.doHandle(Router.java:422) at org.restlet.routing.Router.handle(Router.java:641) at org.restlet.routing.Filter.doHandle(Filter.java:150) at org.restlet.routing.Filter.handle(Filter.java:197) at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202) at org.restlet.Component.handle(Component.java:408) at org.restlet.Server.handle(Server.java:507) at org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63) at org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143) at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1419) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1624) at com.xpn.xwiki.web.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1594) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:506) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) at org.eclipse.jetty.server.Server.handle(Server.java:562) at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:418) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:675) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:410) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038) at java.base/java.lang.Thread.run(Thread.java:834)

Same issue for
Te$t with #special + ch@rs - test. It's ^a test! Test ~1 = and (2) & {3}, [4]. 100% a test 1; 2` 3; 5. and 10 spaces..docx

Docx

For https://github.com/xwikisas/application-filemanager/assets/40691112/ef3a2c6b-51e6-45ac-b564-40397a600d42 the video is shown but an error appears when accessing the attachments section, the same error as above appears in the wiki console.

mp4

Environment: Windows 11, XWiki 14.10.18 with MySQL 8.1, Chrome 118, File Manager Application (Pro) 2.6

@petrenkonikita112263
Copy link

petrenkonikita112263 commented Nov 1, 2023

@ane-gabriela have you checked the version of dependency on File Manager (Pro) - what is the version of PDF Viewever on your side? I assume it's 2.3.3 which is the default for clean install latest version of File Manager (Pro). You need to execute Updater in EM and update this dependency.

I couldn't reproduce issue on 13.10 XWiki with File Manager (Pro) latest 2.6 and dependency version 2.5.2
image

For me, what can be done - update version of PDF Viewer (Pro) as dependency to the latest in File Manager (Pro), which allows on first installation to have latest version it. And from what I see, I guess it'll be included in release 2.6.1 - commit a149c3b.

Other formats based on your examples

image
image

@petrenkonikita112263
Copy link

petrenkonikita112263 commented Nov 20, 2023

I'm adding label "Cannot reproduce" because the issue doesn't raise on latest version FM (Pro) 2.6.1. @snazare you can close it later.

Cannot reproduce on XWiki 14.10.18 with latest version of FM (Pro)
msedge_z3bx7hdcuY
image

True - issue isn't reproducible on XWiki 15.9 with FM 2.6.1.

@snazare
Copy link

snazare commented Nov 21, 2023

solved by xwikisas/macro-pdfviewer#48

@ane-gabriela
Copy link
Author

@petrenkonikita112263 I've retested with XWiki 14.10.18, File Manager Application (Pro) 2.6.1, Chrome 119, Windows 11 and the issue seems fixed but only the PDF files with special chars issue.
The office files with special chars and the attachments section of videos and mp3 remain with issues - see #93

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

3 participants