Migrating from intellij-lsp to lsp4intellij

Hello!
I would like to migrate from scala intellij-lsp to your fork (and give some feedback, as you requested it in README :) ).
Do you support all basic capabilities of old intellij-lsp? At least i need a diagnostics, completion, hover and formatting capabilities.
Do i need to include something more than gradle/mvn dependency from jitpack (e.g.)?
https://jitpack.io/#NipunaRanasinghe/lsp4intellij
As i can see there is similar to intellij-lsp registration process - via preloading task and server definition. No more surprises?
P.S. Big THANK YOU for your work. fork at intellij-community didn't shoot (and i haven't enough free time for this). but i reeaaaly would like to switch to your fork.

Hi @nixel2007! First of all, thank you for your interest. It would be a great help if you could test this with your language server and provide some feedback as I requested.
I'm planning to implement all the existing features of the scala plugin. As I mentioned in the README, I've implemented code completion support so far and still working on the other features(currently working on diagnostics in the develop branch).

As i can see there is similar to intellij-lsp registration process - via preloading task and server definition. No more surprises?

Yes of course! The current implementation is almost same as the Scala plugin ( A big thank goes to @gtache for his awesome work! ). I've used raw command server definition in the lsp4intellij-plugin example, but other options should work as well.

Do i need to include something more than gradle/mvn dependency from jitpack (e.g.)?
https://jitpack.io/#NipunaRanasinghe/lsp4intellij

I tried but unfortunately jitpack didn't work for me :( I'll let you know once that issue is sorted. I'm currently using the local jar file.

Looks like you've faced with the same issue - https://github.com/jitpack/jitpack.io/issues/3737

Ok, thank you! i'll try to migrate in a few days.
If you randomly choose features to implement - please, implement range and document formatting next :D

Sure I can work on formatting support after completing diagnostics :D

No luck this time.
WARN: Lsp4IntelliJ not loaded: until build 173.SNAPSHOT < IC-183.4284.85

I'm using IDEA IC 2018.3.4. Plugin is targeted to >= 183.4284.85
Commit with migrating - https://github.com/1c-syntax/intellij-language-1c-bsl/commit/6b65197020bb50448e786b5ce19830aa6f2853d4

@nixel2007 Could you please try after changing the build number range in your plugin.xml? :) This might help https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html
And please note that I've tested the library only for 173+ . Will add the compatibility information soon.

I've seen your fixes about plugin.xml and untilBuild in gradle. I'll check it asap

I've also updated the README. Hope it'll help :)

Could you provide some info about LSPExtensionManager? https://github.com/NipunaRanasinghe/lsp4intellij/blob/de60747f47e0240f7298f1266614f89d6c41230a/src/main/java/com/github/lsp4intellij/extensions/LSPExtensionManager.java
what is designed for? i don't implement it (cause it was not needed in intellij-lsp) and (to be honest) not sure should i implement it and how.

@nixel2007 You don't have to implement it at all, If don't have any language server protocol extensions (custom capabilities in addition to the Language server Specification) in your language server :)
That capability is designed to support custom request/response and notifications, which are not in the language server protocol specification. Anyway I'll add a detailed description later, since it is still an experimental component.
Until then all you need to do is,

Add lsp4intellij as dependency via jitpack
Update your plugin.xml by registering the capabilities (Refer https://github.com/NipunaRanasinghe/lsp4intellij-plugin/blob/master/src/main/resources/META-INF/plugin.xml)
Add a preloading activity to register your language server definition.

and thats all! :)

I did all this steps but don't see any diagnostics from my language server. I'll setup a lsp launcher tracer to get some logs and figure out if my lang server even starts.

@nixel2007 That would be great if you can verify that. I guess you are also using the RawCommandServer Definition option?

@NipunaRanasinghe nope. ExeLanguageServerDefinition - https://github.com/1c-syntax/intellij-language-1c-bsl/blob/feature/lsp4intellij/src/main/java/org/github/_1c_syntax/intellij/bsl/BSLPreloadingActivity.java#L89

@nixel2007 could you please try for only one file extension instead of two, since I've still not implemented support for multiple file extensions? :/
i.e. String extensions = BSLFileType.INSTANCE.getDefaultExtension();

One more thing, did you add the IntelliJLanguageClient as the application component as follows?
https://github.com/NipunaRanasinghe/lsp4intellij-plugin/blob/95ecedb19364408acf74c62ac26d59efa2466789/src/main/resources/META-INF/plugin.xml#L30

One more thing, you must add the IntelliJLanguageClient as a application component as follows, since it is the main class.

oh. i missed it. ok, i'll try it.

could you please try for only one file extension instead of two, since I've still not implemented support for multiple file extensions? :/

sure. may i create an issue for it to be notified, when it'll be done?

sure. may i create an issue for it to be notified, when it'll be done?

Sure, please do :) Probably I can fix that within next 2, 3 days I guess

Okay, adding missed component to plugin.xml and one extension did the trick. but... I have exeptions in idea.log (and server shutdown).
idea.log:
2019-02-25 20:29:39,515 [   9691]   INFO - ntellij.IntellijLanguageClient - Added definition for command : path java args : -jar D:\git\1c-syntax\bsl-language-server\build\libs\bsl-language-server-0.4.0-dev+25.dev.jar --diagnosticLanguage ru
2019-02-25 20:29:39,516 [   9692]   INFO - .openapi.application.Preloader - org.github._1c_syntax.intellij.bsl.BSLPreloadingActivity took 7 ms
2019-02-25 20:29:39,525 [   9701]   INFO - penapi.project.DumbServiceImpl - Running dumb mode task: com.intellij.util.indexing.UnindexedFilesUpdater@66a1e4a6
2019-02-25 20:29:39,535 [   9711]   INFO - ntellij.internal.IconsLoadTime - IMG load time: ide_startup=10,43ms, average=0,58ms, median=0,83ms; number of icons: 18
2019-02-25 20:29:39,535 [   9711]   INFO - ntellij.internal.IconsLoadTime - SVG load time: ide_startup=151,86ms, average=4,22ms, median=6,04ms; number of icons: 36
2019-02-25 20:29:39,601 [   9777]   INFO - .diagnostic.PerformanceWatcher - Pushing properties took 74ms; general responsiveness: ok; EDT responsiveness: ok
2019-02-25 20:29:40,010 [  10186]   INFO - ntellij.IntellijLanguageClient - Added serverDefinitions [command : path java args : -jar D:\git\1c-syntax\bsl-language-server\build\libs\bsl-language-server-0.4.0-dev+25.dev.jar --diagnosticLanguage ru] from plugins
2019-02-25 20:29:40,013 [  10189]   INFO - ntellij.IntellijLanguageClient - Opened РаботаСКоннекторами.os
2019-02-25 20:29:40,014 [  10190]   INFO - ntellij.IntellijLanguageClient - Instantiating wrapper for os : file:///D:D:
2019-02-25 20:29:40,021 [  10197]   INFO - ntellij.IntellijLanguageClient - Adding file РаботаСКоннекторами.os
2019-02-25 20:29:40,022 [  10198]  ERROR - plication.impl.ApplicationImpl - String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1967)
	at com.github.lsp4intellij.utils.FileUtils.sanitizeURI(FileUtils.java:135)
	at com.github.lsp4intellij.utils.FileUtils.editorToURIString(FileUtils.java:94)
	at com.github.lsp4intellij.client.languageserver.wrapper.LanguageServerWrapper.connect(LanguageServerWrapper.java:257)
	at com.github.lsp4intellij.IntellijLanguageClient.lambda$editorOpened$0(IntellijLanguageClient.java:149)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
2019-02-25 20:29:40,026 [  10202]  ERROR - plication.impl.ApplicationImpl - IntelliJ IDEA 2018.3  Build #IC-183.4284.85
2019-02-25 20:29:40,026 [  10202]  ERROR - plication.impl.ApplicationImpl - JDK: 1.8.0_152-release; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-02-25 20:29:40,026 [  10202]  ERROR - plication.impl.ApplicationImpl - OS: Windows 10
2019-02-25 20:29:40,031 [  10207]  ERROR - plication.impl.ApplicationImpl - Plugin to blame: Language 1C (BSL) version: 0.2.0
2019-02-25 20:29:40,031 [  10207]  ERROR - plication.impl.ApplicationImpl - Last Action:

after this opening new file throws more errors like this:
2019-02-25 20:30:10,238 [  40414]   INFO - ntellij.IntellijLanguageClient - Opened fake-entrypoint.os
2019-02-25 20:30:10,240 [  40416]   INFO - ntellij.IntellijLanguageClient - Wrapper already existing for os , file:///D:D:
2019-02-25 20:30:10,240 [  40416]   INFO - ntellij.IntellijLanguageClient - Adding file fake-entrypoint.os
2019-02-25 20:30:10,241 [  40417]  ERROR - plication.impl.ApplicationImpl - String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(String.java:1967)
	at com.github.lsp4intellij.utils.FileUtils.sanitizeURI(FileUtils.java:135)
	at com.github.lsp4intellij.utils.FileUtils.editorToURIString(FileUtils.java:94)
	at com.github.lsp4intellij.client.languageserver.wrapper.LanguageServerWrapper.connect(LanguageServerWrapper.java:257)
	at com.github.lsp4intellij.IntellijLanguageClient.lambda$editorOpened$0(IntellijLanguageClient.java:149)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
2019-02-25 20:30:10,241 [  40417]  ERROR - plication.impl.ApplicationImpl - IntelliJ IDEA 2018.3  Build #IC-183.4284.85
2019-02-25 20:30:10,241 [  40417]  ERROR - plication.impl.ApplicationImpl - JDK: 1.8.0_152-release; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-02-25 20:30:10,241 [  40417]  ERROR - plication.impl.ApplicationImpl - OS: Windows 10
2019-02-25 20:30:10,242 [  40418]  ERROR - plication.impl.ApplicationImpl - Plugin to blame: Language 1C (BSL) version: 0.2.0
2019-02-25 20:30:10,242 [  40418]  ERROR - plication.impl.ApplicationImpl - Last Action:
2019-02-25 20:30:10,242 [  40418]  ERROR - plication.impl.ApplicationImpl - Current Command:

after some moment language server revieves shutdown and exit events. lsp-trace.log (sorry for long read):
{
  "jsonrpc": "2.0",
  "id": 0,
  "method": "initialize",
  "params": {
    "processId": 28364,
    "rootPath": "d:\\git\\nixel2007\\entity",
    "rootUri": "file:///d%3A/git/nixel2007/entity",
    "capabilities": {
      "workspace": {
        "applyEdit": true,
        "workspaceEdit": {
          "documentChanges": true,
          "resourceOperations": [
            "create",
            "rename",
            "delete"
          ],
          "failureHandling": "textOnlyTransactional"
        },
        "didChangeConfiguration": {
          "dynamicRegistration": true
        },
        "didChangeWatchedFiles": {
          "dynamicRegistration": true
        },
        "symbol": {
          "symbolKind": {
            "valueSet": [
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25,
              26
            ]
          },
          "dynamicRegistration": true
        },
        "executeCommand": {
          "dynamicRegistration": true
        },
        "workspaceFolders": true,
        "configuration": true
      },
      "textDocument": {
        "synchronization": {
          "willSave": true,
          "willSaveWaitUntil": true,
          "didSave": true,
          "dynamicRegistration": true
        },
        "completion": {
          "completionItem": {
            "snippetSupport": true,
            "commitCharactersSupport": true,
            "documentationFormat": [
              "markdown",
              "plaintext"
            ],
            "deprecatedSupport": true,
            "preselectSupport": true
          },
          "completionItemKind": {
            "valueSet": [
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25
            ]
          },
          "contextSupport": true,
          "dynamicRegistration": true
        },
        "hover": {
          "contentFormat": [
            "markdown",
            "plaintext"
          ],
          "dynamicRegistration": true
        },
        "signatureHelp": {
          "signatureInformation": {
            "documentationFormat": [
              "markdown",
              "plaintext"
            ]
          },
          "dynamicRegistration": true
        },
        "references": {
          "dynamicRegistration": true
        },
        "documentHighlight": {
          "dynamicRegistration": true
        },
        "documentSymbol": {
          "symbolKind": {
            "valueSet": [
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25,
              26
            ]
          },
          "hierarchicalDocumentSymbolSupport": true,
          "dynamicRegistration": true
        },
        "formatting": {
          "dynamicRegistration": true
        },
        "rangeFormatting": {
          "dynamicRegistration": true
        },
        "onTypeFormatting": {
          "dynamicRegistration": true
        },
        "definition": {
          "dynamicRegistration": true
        },
        "typeDefinition": {
          "dynamicRegistration": true
        },
        "implementation": {
          "dynamicRegistration": true
        },
        "codeAction": {
          "codeActionLiteralSupport": {
            "codeActionKind": {
              "valueSet": [
                "",
                "quickfix",
                "refactor",
                "refactor.extract",
                "refactor.inline",
                "refactor.rewrite",
                "source",
                "source.organizeImports"
              ]
            }
          },
          "dynamicRegistration": true
        },
        "codeLens": {
          "dynamicRegistration": true
        },
        "documentLink": {
          "dynamicRegistration": true
        },
        "colorProvider": {
          "dynamicRegistration": true
        },
        "rename": {
          "prepareSupport": true,
          "dynamicRegistration": true
        },
        "publishDiagnostics": {
          "relatedInformation": true
        },
        "foldingRange": {
          "rangeLimit": 5000,
          "lineFoldingOnly": true,
          "dynamicRegistration": true
        }
      }
    },
    "trace": "off",
    "workspaceFolders": [
      {
        "uri": "file:///d%3A/git/nixel2007/entity",
        "name": "entity"
      }
    ]
  }
}
{
  "jsonrpc": "2.0",
  "id": 0,
  "result": {
    "capabilities": {
      "textDocumentSync": 1,
      "documentFormattingProvider": true,
      "documentRangeFormattingProvider": true
    }
  }
}
{
  "jsonrpc": "2.0",
  "method": "initialized",
  "params": {}
}
{
  "jsonrpc": "2.0",
  "method": "textDocument/didOpen",
  "params": {
    "textDocument": {
      "uri": "file:///d%3A/git/nixel2007/entity/tasks/coverage.os",
      "languageId": "bsl",
      "version": 1,
      "text": "some file content"
    }
  }
}
{
  "jsonrpc": "2.0",
  "method": "textDocument/publishDiagnostics",
  "params": {
    "uri": "file:///d%3A/git/nixel2007/entity/tasks/coverage.os",
    "diagnostics": []
  }
}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "shutdown",
  "params": null
}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}
{
  "jsonrpc": "2.0",
  "method": "exit",
  "params": null
}

@nixel2007 Glad it worked :D Seems there is an issue in a uri sensitization util method, and thats why the connection gets crashed.
Could you please let me know,

your OS details and
absolute file path of the file that you were trying to open
to reproduce the issue?

Microsoft Windows [Version 10.0.18343.1] (PRO x64, RU locale)
d:/git/nixel2007/entity/tasks/coverage.os (from https://github.com/nixel2007/entity/blob/develop/tasks/coverage.os)

Oh that must be a windows specific issue, since I haven't had a time to test it on windows so far. Will fix it ASAP. Again, really your contribution and effort towards this :)

@nixel2007 I'm having thoughts of transferring the ownership of this repository to IntelliJ LSP Community. For that

I may need to slightly change the org name ( from intellij-lsp to intellijcom? ) since I'll have to request a new maven group id with the org name
Copyrights of this repository will remain same until I get the approval from my organization

Are you okay with the above concerns? :) Can we proceed??

Good thoughts :)

I think we could have trademark problem with intellijcom. It is so close to intellij.com and so on. If the maven group id is the main problem, you could request 'org github.intellij-lsp' or something similar? Also we could rename org to lsp4intellij.
for me copyright ownership is not a problem at all. But GPL have some strong states about considering transpiling to another language as "rework", that should be licensed with the same copyrights ownership (not "author" of concrete files). Is Apache license gives you a permission to put wso2 ownership marks? Or may be there is so much code rewriting and reimplementing that it can not be considering as "rework" in terms of gpl?

Thanks for your feedback!

We can surely use com. github.intellij-lsp as a valid group id but since scala plugin is already using that as its name, using another name might be better I guess. Therefore I'm +1 for lsp4intellij or any other suggestion you got ;)
You seem to be having a valid point :) I'll update you with the final conclusion after having some further discussions

Org was renamed - https://github.com/lsp4intellij
Feel free to transfer ownership when you are ready.

Sure will do after sorting out the copyright issue. Thanks for your help towards the process.

offtopic.
it is so inspiring for me as Russian programmer to work with Sri Lanka's (Sri Lankan? Sri Lankian? 😄) programmer on opensource project, that can be usefull all over the world.

It should be "Sri Lankan" ;) :D We also are so glad to have such a valuable and contributor like you! Let's work together and see how this lsp4intellij thing rolls out!

@nixel2007 Sorry for the late response since We were having several internal discussions regarding the copyrights and the maven publish thing. In brief, we considered the following factors

We have done internal design and architectural reviews and changed the design accordingly (might have to do more in the future). Therefore it is decided that it's reasonable to proceed with the wso2 copyrights.

Since we'll be using the company copyrights, its better to maintain it as a wso2-driven opensource project (There are many open source projects that are currently being developed and maintained by wso2). Then it'll also be easier for the maven publishing process as well.

WDYT?? :)

Sounds reasonable :) I don't see any cons to this.
So repo will be transfered to wso2 org?

Yeah I hope so. I think by this way we'll get more community attraction since the wso2 org (https://github.com/wso2) already has a fairly large number of contributors with 300+ opensource projects. :)

@NipunaRanasinghe so if i understand correctly this work will go into wso2 github org instead of lsp4intellij org repo right ?
I also have some changed i done on original work of this. I think we can add them here as well. I will come up with PRs and improvements for them. I would also like to see this going fwd since intellij have no lsp support plans.

@NipunaRanasinghe I'm a bit surprised by the new repo owner, but it's ok :)

Me too 😮

Hey guys, Sorry for the surprise! We thought of add this repo under the ballerina org since this was initiated  as a requirement of the ballerina IntelliJ plugin. On the other hand, ballerina organization is 100% opensource :) So think this might be fine for you guys, forgive me again if you guys experienced any issues due to the migration.

One more thing, I did a new release today, which is stable in jitpack :) So feel free to try out and contribute!

@NipunaRanasinghe It looks like all core features i need for bsl plugin is implemented here, so after updating deps I'll merge lspintellij-migration branch to master, and we can close this issue :)

@NipunaRanasinghe ah, i am still waiting for info/hints diagnostics.

@NipunaRanasinghe Do we really need to fill all the stuff in the PR template ? Seems like bit de-motivational for contributions if we really need to go through the whole process of submitting different documentation to wso2 :)

@nixel2007 Forgive me since I'm bit stuck with another work :/ Will try to fix that by the next week for sure :)
@gayanper No you don't :) Its totally okay to fill the purpose and remove the other sections if you got nothing to fill there. Its just the standard template for the wso2 open source projects.

@nixel2007 Could you please try with 'com.github.ballerina-platform:lsp4intellij:improved-inspections-SNAPSHOT' jitpack build? Let me know whether diagnostics are fixed

@NipunaRanasinghe something goes wrong ;(
2019-03-30 16:13:19,116 [  10057]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 11
  character = 123
] line : 	КлючХранилища = ПолучитьКлючХранилища(ОбъектМодели.ТипСущности(), ТипЗнч(Коннектор), СвойстваКоннектора.СтрокаСоединения); column : 126 offset : 340
2019-03-30 16:13:19,253 [  10194]  ERROR - emon.impl.LocalInspectionsPass - Tool #LSP registers INFORMATION level problem in batch mode on BSL File. INFORMATION level 'warnings' are invisible in the editor and should not become visible in batch mode. Moreover, cause INFORMATION level fixes act more like intention actions, they could e.g. change semantics and thus should not be suggested for batch transformations
java.lang.Throwable: Tool #LSP registers INFORMATION level problem in batch mode on BSL File. INFORMATION level 'warnings' are invisible in the editor and should not become visible in batch mode. Moreover, cause INFORMATION level fixes act more like intention actions, they could e.g. change semantics and thus should not be suggested for batch transformations
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:134)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.doInspectInBatch(LocalInspectionsPass.java:141)
	at org.wso2.lsp4intellij.editor.EditorEventManager.lambda$null$8(EditorEventManager.java:520)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
	at org.wso2.lsp4intellij.editor.EditorEventManager.lambda$runInspection$9(EditorEventManager.java:518)
	at com.intellij.openapi.project.DumbServiceImpl.lambda$smartInvokeLater$7(DumbServiceImpl.java:435)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:435)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:419)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:403)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:719)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:668)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:363)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
2019-03-30 16:13:19,256 [  10197]  ERROR - emon.impl.LocalInspectionsPass - IntelliJ IDEA 2018.3  Build #IC-183.4284.148
2019-03-30 16:13:19,257 [  10198]  ERROR - emon.impl.LocalInspectionsPass - JDK: 1.8.0_152-release; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-03-30 16:13:19,257 [  10198]  ERROR - emon.impl.LocalInspectionsPass - OS: Windows 10
2019-03-30 16:13:19,261 [  10202]  ERROR - emon.impl.LocalInspectionsPass - Plugin to blame: Language 1C (BSL) version: 0.2.0
2019-03-30 16:13:19,261 [  10202]  ERROR - emon.impl.LocalInspectionsPass - Last Action:
2019-03-30 16:13:19,382 [  10323]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 73
  character = 37
] line : 	ИначеЕсли Отбор = Неопределено Тогда column : 40 offset : 2750
2019-03-30 16:13:19,383 [  10324]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 62
  character = 123
] line : 			ПередаваемыйОтбор.Добавить(Новый ЭлементОтбора(Колонка.ИмяКолонки, ЭлементОтбора.ВидСравнения, ЭлементОтбора.Значение)); column : 132 offset : 2278
2019-03-30 16:13:19,383 [  10324]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 72
  character = 122
] line : 		ПередаваемыйОтбор.Добавить(Новый ЭлементОтбора(Колонка.ИмяКолонки, ЭлементОтбора.ВидСравнения, ЭлементОтбора.Значение)); column : 128 offset : 2712
2019-03-30 16:13:19,804 [  10745]   WARN - p4intellij.utils.DocumentUtils - LSPPOS outofbounds : Position [
  line = 264
  character = 135
] line : 		СтрокаУсловий = СтрокаУсловий + СтрШаблон("%1 %2 @%3", ЭлементОтбора.ПутьКДанным, ЭлементОтбора.ВидСравнения, ПредставлениеСчетчика); column : 141 offset : 8546

Part of lsp-trace.log after getting diagnostics:
{
  "jsonrpc": "2.0",
  "method": "textDocument/publishDiagnostics",
  "params": {
    "uri": "file:///D:/git/nixel2007/entity/src/Классы/КоннекторSQLite.os",
    "diagnostics": [
      {
        "range": {
          "start": {
            "line": 264,
            "character": 0
          },
          "end": {
            "line": 264,
            "character": 135
          }
        },
        "severity": 3,
        "code": "LineLength",
        "source": "bsl-language-server",
        "message": "String length exceeded"
      }
    ]
  }
}
{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "shutdown",
  "params": null
}
{
  "jsonrpc": "2.0",
  "id": "2",
  "result": true
}

@NipunaRanasinghe registering the LSP contributors and app component on each plugin which uses this library going to be a problem right ? I mean even if i have two instance registration of autocomplete contributor with two different ids, if i have multiple lang servers for same file ext, the same content gonna be contributed by the two contributors right ? Or am i missing something ?

@NipunaRanasinghe @nixel2007 How should i try to send configuration to language server as done at
https://github.com/spring-projects/sts4/blob/master/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java#L123
Seems like the code related to this in intellij plugin is in LanguageServerWrapper. How should we try to approach this, i'm kind of out of idea right now :( ?

@gayanper i haven't digged into it yet. but i need configuration send method also :)

@gayanper @nixel2007 We need to add this capability as discussed with @nixel2007 earlier. We need to expose this API through IntelliJLanguageClient same as the other APIs which we have now.

@NipunaRanasinghe we still need a life cycle notification to trigger this method right ?. Or we should provide a hook which we can hook our post initialization so that the consumer can call the config method in that.

@NipunaRanasinghe @rasika I have created a gitter channel for this plugin to collaborate at https://gitter.im/ballerina-platform-lsp4intellij/community
I have already invited you into it. I hope with that we can avoid this kind of [question] issues. If a [question] is reoccurring that we can move to a FAQ in the wiki. What do you think ?

@gayanper You just made our life easier! :D I'm so +1 for this.

I guess we can close this issue after someone added the gitter channel to the readme?

Closing as the migration is completed and, gitter chanel is updated in the README to collaborate for the similar discussions in the future


Update tpi validator

Update the test plan item validator

I ran the build and pushed the JS as the actions directly clone and run the repo without any build to speed up jobs, other than that 👍


Image and icon elements contain accessible alt attributes

User Story
AS A marketing agency
I WANT a codebase that follows accessibility standards
SO THAT our own site is optimized for search engines.
Acceptance Criteria
The website must meet accessibility standards.
Image and icon elements contain accessible alt attributes

done


Add token revocation endpoint to OpenID Provider Configuration endpoint

fix #687
Revocation endpoint filter is already implemented
So only add revocation token endpoint at OpenId Provider Configuration endpoint

Thanks for the PR @appchemist ! This is now in main.


Loading entities without OrderBy and Skip/Take

Loading collection using DbContext.Entry().Load() where query cotains Skip/Take and OrderBy.
Steps to reproduce
EFCoreLoadTakeOrderBy.zip
Further technical details
EF Core version: 2.1.2
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system:
IDE: Visual Studio 2017 15.5.x
Windows 10

@joacar When I run this I get an exception that says I'm using Take without ordering. Query is:
ctx.Entry(instagram)
                   .Collection(_ => _.Posts)
                   .Query()
                   .Take(1)
                   .OrderBy(_ => _.CreatedDateTime)
                   .Load();

Since Take is before OrderBy the exception makes sense to me. Ordering and then Taking doesn't throw the exception:
ctx.Entry(instagram)
                   .Collection(_ => _.Posts)
                   .Query()
                   .OrderBy(_ => _.CreatedDateTime)
                   .Take(1)
                   .Load();

Again, as expected.
So what is the bug/question here?

Hi @ajcvickers
My apologizes for beeing a bit trigger-happy and not providing more details. I was pretty sure that I tested the other way around last night, but apparently not! I guess I'm thinking SQL-ordering select **top** .. **order by** and not LINQ-ordering.
Just seeing the generated SQL made me think it was incorrect since it doesn't make sense to put the order by on the outer statement when it belongs to the inner, which should be unambiguous  for the above statement.
Unrelated question: Is there any way to configure EF as "TreatWarningsAsError"? I.e. it should throw an exception for every warning. Example code ConfigureWarnings(config => config.Throw(ThreatWarningsAsErrors).
Closing this

@joacar There isn't currently a way to to configure all warnings as errors.


upload_to_lookaside_cache() improve misleading exception message

https://github.com/packit-service/packit/pull/534#issuecomment-537469894

There was an error while creating a SRPM.

packit 0.6.1 in prod (according to stable branch) seems to be broken:
$ dnf install packit
Installed:
  packit-0.6.1-1.fc30.noarch
$ packit srpm
...
DEBUG  new %autosetup line:
%autosetup -n None-0.6.2.dev26+g74bda49
...
packit.exceptions.FailedCreateSRPM: Failed to create SRPM.

@TomasTomecek do we know which commit/PR fixes it? (so that I could cherry-pick it into stable & rebuild images & redeploy prod)

I tried it again with packit from RPM built from current master and it looks OK, so I'll consider this fixed in master and hopefully, new packit release (0.7.0) will fix this in prod.

AFAIK this is the problem: f2e34ba63a117ccb69b337b6cdaae1f1265ccd70

This could be the fix: https://github.com/packit-service/packit/pull/549


To add working steps in calculator for calculating Biggest Reuleaux Triangle inscirbed within a square inscribed in a semicircle

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

Hi, I want to work on this issue I will start working on it as soon as I get assigned!! I am a part of GSSoC'21.
Kindly assign this issue to me!
Discord Username : Abhijeet Sinha(P)
Discord Tag: #4018


open editors pane blurry

Issue Type: Bug
Open editors pane has blurry text, other panes are ok
VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:34:20.517Z)
OS version: Linux x64 4.17.17-200.fc28.x86_64

Duplicate of https://github.com/Microsoft/vscode/issues/24957


The method objInst.getSkyWalkingDynamicField()  alwayls  get null if objInst instanceof T4CStatement  in oracle plugin, is that right?

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ √] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

skywalking5.0.0-GA

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

The method objInst.getSkyWalkingDynamicField()  alwayls  get null if objInst instanceof T4CStatement  in oracle plugin, is that right?

Oracle plugin doesn't belong to Apache. Please move this issue to openskywalking.


how to show custom icon in view of yup/nope

i am trying to show my custom icon while yup/nope but its not working. can help me on this send me code or something please,

You should override the action view. Just read the docs please.

You should override the action view. Just read the docs please. https://github.com/swaplet/react-native-swipe-cards-deck#interfaces--v03

thanks
there is one more question how can i change the position of those buttons ?


fix installation command"

Description
I found this issue:  Documentation: update installation command in destination docs #1408
And I think I've fixed all the installation commands in the docs folder so they use quotes.

@novica thanks for adding this!


Feature/pending datasets

This PR adds the CLI command to init the pending_datasets table and CRUD API endpoints. Note: if you rebuild the dev environment, the table should get initialized via init-extensions.sh.
Here's the relevant section from the updated README:
Pending Dataset Table
The pending_datasets table has the following columns:

package_id
package_data
last_modified

text (PK)
jsonb
timestamp

The package_id column is the UUID of the dataset (and it's the primary key). The package_data column contains the dataset metadata as a JSONB object. The last_modified column is a timestamp that is automatically generated whenever package_data is updated.
Initializing the Pending Dataset Table
You can initialize the pending dataset table by running the following command:
ckan -c <path-to-ini-file> pendingdatasetsdb

API Endpoints
POST /api/action/pending_dataset_create
Parameters:

package_id (string) – The UUID of the dataset (required).
package_data (JSON object) – The dataset metadata (required).

Creates a new pending dataset and returns the newly created pending dataset.
POST /api/action/pending_dataset_update
Parameters:

package_id (string) – The UUID of the dataset (required).
package_data (JSON object) – The dataset metadata (required).

Updates an existing pending dataset and returns the updated pending dataset.
POST /api/action/pending_dataset_delete
Parameters:

package_id (string) – The UUID of the dataset (required).

Deletes an existing pending dataset.
GET /api/action/pending_dataset_show
Parameters:

package_id (string) – The UUID of the dataset (required).

Returns the pending dataset for the given package_id.
GET /api/action/pending_diff_show
Parameters:

package_id (string) – The UUID of the dataset (required).

Returns the diff between the pending dataset and the existing dataset for the given package_id.
Here's an example:
{
    "help": "http://ckan-dev:5000/api/3/action/help_show?name=pending_diff_show",
    "success": true,
    "result": {
        "title": {
            "old_value": "My dataset title",
            "new_value": "My better dataset title"
        },
        "application": {
            "old_value": "",
            "new_value": "wri"
        },
        "resources[0].description": {
            "old_value": "My resource description",
            "new_value": "My better resource description"
        },
        "resources[0].format": {
            "old_value": "CSV",
            "new_value": "HTML"
        },
        "resources[1].title": {
            "old_value": "My resource title",
            "new_value": "My better resource title"        },
        "wri_data": {
            "old_value": false,
            "new_value": true
        },
        "cautions": {
            "old_value": "",
            "new_value": "This is a caution"
        },
        "languages": {
            "old_value": [
                "fr"
            ],
            "new_value": [
                "en"
            ]
        },
        "function": {
            "old_value": "The function of this dataset is to x...",
            "new_value": "The function of this dataset is to y..."
        },
    },
}

@steveoni I'm not sure I can get the tests to pass on the branch because the tables need to be initialized before the tests will pass, but the code to initialize them exists only in this branch. I updated the github actions files to initialize before tests, but those won't apply until the branch is merged.
@MuhammadIsmailShahzad Do you have any ideas?


Question: Is there a way to disable line wrapping?

In case there is much to dump on a single line I saw values being continued in next line. It would be good to be able to allow that all stuff is rendered to one line only. Below image shows the issue

Hi @hub-stuff, thanks for the suggestion.
I have a follow up question: Does this happen when the rendered table-width is almost equals to your terminal's width?

This happens when object has more parameters nested - I guess.
It can get even more wrapped see below (names are a bit altered but number of chars are the same).
I am using value.DumpText(members: new MembersConfig { IncludeNonPublicMembers = true });

Oh, I see, you are correct- when using DumpText the rendered table's width should not be limited and the lines should not be wrapped by default.
I will take a look into this and update. Thanks @hub-stuff

Reopening the issue due to a bug

Unfortunately, this change alone is not enough. https://github.com/MoaidHathot/Dumpify/issues/3 isn't fully resolved, and in some cases this change can produce a new bug when NoWrapping is enabled but there is not enough place to output the Table, therefore ... is outputted instead.
In order for https://github.com/MoaidHathot/Dumpify/issues/3 to be resolved, we should use a custom IAnsiConsoleOutput and specify big enough Width/Height values, since the defaults are DefaultTerminalWidth which are very small (80 pixels).

This seems to be more of a Spectre.Console problem, look at this issue:
https://github.com/spectreconsole/spectre.console/issues/1185

That might be the Root cause, and we should monitor the issue in Specture.Console regarding the wrapping. In the meanwhile, the workaround I suggested with the custom IAnsiConsoleOutput works and is very simple to implement. We just need to think of a proper way to determine when to change the default IAnsiConsoleOutput and use the custom one instead.
Something like
internal class LargeConsoleSizeOutput : IAnsiConsoleOutput
{
    public LargeConsoleSizeOutput(TextWriter writer)
        => Writer = writer;

    public void SetEncoding(Encoding encoding)
        => System.Console.OutputEncoding = encoding;

    public TextWriter Writer { get; }
    public bool IsTerminal => false;
    public int Width => 1000;
    public int Height => 1000;
}

Then in SpectreConsoleRenderedObject use
 public void Output(IDumpOutput output)
    {
        var console = AnsiConsole.Create(new AnsiConsoleSettings
        {
            Ansi = AnsiSupport.No,
            ColorSystem = ColorSystemSupport.Detect,
            //Out = new AnsiConsoleOutput(output.TextWriter),
            Out = new LargeConsoleSizeOutput(output.TextWriter),
        });

        console.Write(_renderable);
        console.WriteLine();
    }

That might be the Root cause, and we should monitor the issue in Specture.Console regarding the wrapping. In the meanwhile, the workaround I suggested with the custom IAnsiConsoleOutput works and is very simple to implement. We just need to think of a proper way to determine when to change the default IAnsiConsoleOutput and use the custom one instead.
Something like
internal class LargeConsoleSizeOutput : IAnsiConsoleOutput
{
    public LargeConsoleSizeOutput(TextWriter writer)
        => Writer = writer;

    public void SetEncoding(Encoding encoding)
        => System.Console.OutputEncoding = encoding;

    public TextWriter Writer { get; }
    public bool IsTerminal => false;
    public int Width => 1000;
    public int Height => 1000;
}

Then in SpectreConsoleRenderedObject use
 public void Output(IDumpOutput output)
    {
        var console = AnsiConsole.Create(new AnsiConsoleSettings
        {
            Ansi = AnsiSupport.No,
            ColorSystem = ColorSystemSupport.Detect,
            //Out = new AnsiConsoleOutput(output.TextWriter),
            Out = new LargeConsoleSizeOutput(output.TextWriter),
        });

        console.Write(_renderable);
        console.WriteLine();
    }

I suppose the best way would be to always use a custom IAnsiConsoleOutput and let the user define if he wants to tweak the Width and Height through the RendererConfig.

@tcortega, we can grant the user this flexibility, but for some APIs, like DumpText, we should use larger width/height by default.

@tcortega, we can grant the user this flexibility, but for some APIs, like DumpText, we should use larger width/height by default. Which is simple to do, we just need to auto-adjust the RendererConfig when DumpText is called, if the user did not provide a width/height explicitly.

Regarding to the terminal size, I think that if we're going to have a default terminal size that is too large, it might not be worth keep giving an user the option to print the table as expanded.
It's probably best if we leave things the way they currently work, where Spectre.Console figures out the size of the terminal, but still give an user the choice to override the width whenever he needs it.
Also, I was debugging the problem reported on the issue I linked above, and it seems to be non-related at all to what we're facing. It is specific to the fact that the guy is using a Tree in his tables.

@tcortega, we won't change how Spectre.Console determines the size of the Terminal, but in DumpText there is Terminal, so it makes since IMO to use a large default, since spectre.Console uses the smallest size when it can't detect Terminal Rendering, leading to this Issue.
I'm hesitant in keeping Expanded and NoWrap since they may lead to the issue I was describing before, which is when Spectre.Console decide not to render a component because there is not enough space, at least until we have a workaround for that, maybe by rendering a warning instead of the ... that Spectre.Console put there.

@tcortega, we won't change how Spectre.Console determines the size of the Terminal, but in DumpText there is no Terminal, so it makes since IMO to use a large default, since spectre.Console uses the smallest size when it can't detect Terminal Rendering, leading to this Issue. I'm hesitant in keeping Expanded and NoWrap since they may lead to the issue I was describing before, which is when Spectre.Console decide not to render a component because there is not enough space, at least until we have a workaround for that, maybe by rendering a warning instead of the ... that Spectre.Console put there.

This issue is fixed with the following commit by doing the following:

The dimensions of the rendered area (width/height) is now configurable
DumpText set a large default for the rendered area's dimensions (users can change it)
The rendered area dimensions' can be overridden by the user via OutputConfig

@hub-stuff, this is now has been released in v0.6.0.
Thanks @tcortega

Could you please sign dumpify?
One odmy projects requiee this.
wt., 18 lip 2023, 02:08 użytkownik Moaid Hathot @.***>
napisał:

@hub-stuff https://github.com/hub-stuff, this is now has been released
in v0.6.0 https://github.com/MoaidHathot/Dumpify/releases/tag/0.6.0.
Thanks @tcortega https://github.com/tcortega
—
Reply to this email directly, view it on GitHub
https://github.com/MoaidHathot/Dumpify/issues/3#issuecomment-1639061125,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAHDQ37SMXHDPXDREIC42F3XQXHY3ANCNFSM6AAAAAAYVWG7IU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@hub-stuff, sure. I've opened issue #15 to track it. I will look into it, planning to release it this month.


XGBoost serialization Deprecation Warning

We're getting the following deprecation warning on the XGBoost model serialization
[12:13:59] WARNING: /Users/runner/work/xgboost/xgboost/src/gbm/../common/error_msg.h:80: If you are loading a serialized model (like pickle in Python, RDS in R) or
configuration generated by an older version of XGBoost, please export the model by calling
`Booster.save_model` from that version first, then load it back in current version. See:

    https://xgboost.readthedocs.io/en/stable/tutorials/saving_model.html

for more details about differences between saving model and serializing.

/var/folders/hl/bw13snw160vfkj1kslh785gm0000gn/T/tmp237orp1a/xgb_model.joblib is a model object.
[12:13:59] WARNING: /Users/runner/work/xgboost/xgboost/src/c_api/c_api.cc:1240: Saving into deprecated binary model format, please consider using `json` or `ubj`. Model format will default to JSON in XGBoost 2.2 if not specified.

Okay, this is all fixed, thx @ScottKolmarWFI


Update control_dsf_examples to provide unique display name

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Changes display name to be unique (not same as DSF LabVIEW support package)
Why should this Pull Request be merged?
Packages should have unique display names to let users know exactly what is being installed. Fixes Issue #41
What testing has been done?

[ ] verify built package

FYI @dbendele, if you include "Fixes #41" in your PR description, GitHub will automatically link the issue to the PR and close the issue when the PR is submitted. I typically include it in the "Why?" section.


Update arrsync to 0.4.1

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Thank you for the contribution. It was merged directly as c6dc7a990f24285424d9d53187711826dfb3c81f to keep commit history cleaner. Your contribution is still credited to you.


InfluxDB ignores when configuration failed

Sometimes the configuration of the influxdb server may fail. The error is ignored and the server is normally started, leaving it in an undesired state.
Instead, the container should fail, the orchestration will make sure a new container starts with the proper configuration.
[run] 2016/10/11 16:47:04 Go version go1.6.3, GOMAXPROCS set to 6
[run] 2016/10/11 16:47:04 Using configuration at: /etc/influxdb/config.toml.preconf
[store] 2016/10/11 16:47:04 Using data dir: /data/db
[subscriber] 2016/10/11 16:47:04 opened service
[monitor] 2016/10/11 16:47:04 Starting monitor system
[monitor] 2016/10/11 16:47:04 'build' registered for diagnostics monitoring
[monitor] 2016/10/11 16:47:04 'runtime' registered for diagnostics monitoring
[monitor] 2016/10/11 16:47:04 'network' registered for diagnostics monitoring
[monitor] 2016/10/11 16:47:04 'system' registered for diagnostics monitoring
[shard-precreation] 2016/10/11 16:47:04 Starting precreation service with check interval of 10m0s, advance period of 30m0s
[snapshot] 2016/10/11 16:47:04 Starting snapshot service
[admin] 2016/10/11 16:47:04 Starting admin service
[admin] 2016/10/11 16:47:04 Listening on HTTP: [::]:8183
[continuous_querier] 2016/10/11 16:47:04 Starting continuous query service
[httpd] 2016/10/11 16:47:04 Starting HTTP service
[httpd] 2016/10/11 16:47:04 Authentication enabled: false
[httpd] 2016/10/11 16:47:04 Listening on HTTP: [::]:8186
[retention] 2016/10/11 16:47:04 Starting retention policy enforcement service with check interval of 30m0s
[run] 2016/10/11 16:47:04 Listening for signals
[monitor] 2016/10/11 16:47:04 Storing statistics in database '_internal' retention policy 'monitor', at interval 10s
[httpd] ::1 - - [11/Oct/2016:16:47:07 +0000] "GET /ping HTTP/1.1" 204 0 "-" "curl/7.50.3" 58b6ab5a-8fd2-11e6-8001-000000000000 47
Failed to connect to http://localhost:8186
Please check your connection settings and ensure 'influxd' is running.
Failed to connect to http://localhost:8186
Please check your connection settings and ensure 'influxd' is running.
[run] 2016/10/11 16:47:08 Signal received, initializing clean shutdown...
[run] 2016/10/11 16:47:08 Waiting for clean shutdown...
[snapshot] 2016/10/11 16:47:08 snapshot listener closed
[monitor] 2016/10/11 16:47:08 shutting down monitor system

fixed in ed9cca3d973c1ca3fae1e033727093e8104e733c
localhost was resolved to a non local ip (10.X.X.X), and the tcp connection failed.
replaced localhost by <IP_ADDRESS> and now it is working fine.


Show / hide InlinePanel arrow buttons correctly on non-default tabs

Base the show/hide logic on the 'deleted' class, rather than visibility, because elements on non-default tabs are considered invisible. Fixes #3667

Merged as 29360a4f70691792e441de55c295aeb0707d1730.


Autocomplete does not place cursor in the parenthesis

Environment data
Version: 1.56.0-insider (user setup)
Commit: 5080d21c0b538b996c83fb7b14a746f656eaef15
Date: 2021-04-26T17:23:39.588Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17134

Steps to reproduce:

Set "python.autocomplete.addBrackets" = true in workspace settings
Add "import os" to python file

Expected behaviour

Write "os.getc", you'll see autocomplete for os.getcwd, selecting it, ensure:
a. Auto-complete adds os.getcwd() to the source code and place the cursor inside the parentheses
If this setting is false, only os.getcwd is added to the file

Actual behaviour
actual1 setting:

Write "os.getc", Auto-complete adds os.getcwd() to the source code, but the cursor does not place inside the parentheses, the cursor place after the parentheses.

actual2 setting:

2. When setting "python.autocomplete.addBrackets" = false, os.getcwd() is added to the file not os.getcwd.

python.autocomplete.addBracket is an old setting that Pylance doesn't respect; we should have automatically migrated your setting to python.analysis.completeFunctionParens; can you check using that setting instead?

@jakebailey thanks, it works now.


[release-1.16] validate: improve ValidateHTTPHeaderValue

This is an automated cherry-pick of #42778

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_release-1.16
de395e77490bd130673c264f2116169e08aae2d5
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test lint


Wrong result on collision check

Hello, I am testing python-fcl for using in collision detection.
I 'm getting wrong results from library using this code example:
import numpy as np
import fcl

# Cylinder geometry displaced
geom1 = fcl.Cylinder(1.0, 4.0)
obj1 = fcl.CollisionObject(geom1)
obj1.setTranslation(np.array([0.5, 2, 1.0]))

# Same cylinder geometry rotated around x axis 90 degrees and displaced
geom2 = fcl.Cylinder(1.0, 4)
obj2 = fcl.CollisionObject(geom2)
obj2.setRotation(np.array([[ 1.,0. ,0.],[ 0., 0., 1.],[ 0., -1., 0.]]))
obj2.setTranslation(np.array([0.5, -1.1, 2]))

# Check collision
request = fcl.CollisionRequest(num_max_contacts=1, enable_contact=True)
result = fcl.CollisionResult()
cdata = fcl.CollisionData(request, result)
ret = fcl.collide(obj1, obj2, request, result)

# Print results
print('Collision?: ','No' if ret==0 else 'Yes')
print([x.pos for x in cdata.result.contacts])

Here I show the objects drawn in FreeCAD:

However python-fcl indicates that there is no collision. ¿could it my mistake with code values?
Thank you for your awesome piece of code,
Dani.

Sorry, It was my error. I made a mistake when moving objects in FreeCAD.


Randomness of GATConv after initialization.

❓ Questions & Help

I am trying to reproduce GATConv for some other usage, but I found there are some extra randomness on att_l and att_r (for 1.6.3, if it is 1.6.1, even lin_l and lin_r have unknown randomness) after initialization even if I directly copy the GATConv code from PyTorch Geometric repo.
Below is my code, I work on CPU, use constant weight parameters, use PyTorch 1.7 set_deterministic to control scatter_add (in softmax part), but it still has a slight difference on gradients of att_l and att_r.
P.S. Also, before update to latest 1.6.3, att_r will not get any gradient although it is invovled in forward computation, but after update to 1.6.3, it will receive gradient.
from typing import Union, Tuple, Optional
from torch_geometric.typing import (OptPairTensor, Adj, Size, NoneType,
                                    OptTensor)

import torch
import torch_geometric
from torch import Tensor
import torch.nn.functional as F
from torch.nn import Parameter, Linear
from torch_sparse import SparseTensor, set_diag
from torch_geometric.nn.conv import MessagePassing
from torch_geometric.utils import remove_self_loops, add_self_loops, softmax

from torch_geometric.nn.inits import glorot, zeros

class GATConv(MessagePassing):
    r"""The graph attentional operator from the `"Graph Attention Networks"
    <https://arxiv.org/abs/1710.10903>`_ paper
    .. math::
        \mathbf{x}^{\prime}_i = \alpha_{i,i}\mathbf{\Theta}\mathbf{x}_{i} +
        \sum_{j \in \mathcal{N}(i)} \alpha_{i,j}\mathbf{\Theta}\mathbf{x}_{j},
    where the attention coefficients :math:`\alpha_{i,j}` are computed as
    .. math::
        \alpha_{i,j} =
        \frac{
        \exp\left(\mathrm{LeakyReLU}\left(\mathbf{a}^{\top}
        [\mathbf{\Theta}\mathbf{x}_i \, \Vert \, \mathbf{\Theta}\mathbf{x}_j]
        \right)\right)}
        {\sum_{k \in \mathcal{N}(i) \cup \{ i \}}
        \exp\left(\mathrm{LeakyReLU}\left(\mathbf{a}^{\top}
        [\mathbf{\Theta}\mathbf{x}_i \, \Vert \, \mathbf{\Theta}\mathbf{x}_k]
        \right)\right)}.
    Args:
        in_channels (int or tuple): Size of each input sample. A tuple
            corresponds to the sizes of source and target dimensionalities.
        out_channels (int): Size of each output sample.
        heads (int, optional): Number of multi-head-attentions.
            (default: :obj:`1`)
        concat (bool, optional): If set to :obj:`False`, the multi-head
            attentions are averaged instead of concatenated.
            (default: :obj:`True`)
        negative_slope (float, optional): LeakyReLU angle of the negative
            slope. (default: :obj:`0.2`)
        dropout (float, optional): Dropout probability of the normalized
            attention coefficients which exposes each node to a stochastically
            sampled neighborhood during training. (default: :obj:`0`)
        add_self_loops (bool, optional): If set to :obj:`False`, will not add
            self-loops to the input graph. (default: :obj:`True`)
        bias (bool, optional): If set to :obj:`False`, the layer will not learn
            an additive bias. (default: :obj:`True`)
        **kwargs (optional): Additional arguments of
            :class:`torch_geometric.nn.conv.MessagePassing`.
    """
    _alpha: OptTensor

    def __init__(self, in_channels: Union[int, Tuple[int, int]],
                 out_channels: int, heads: int = 1, concat: bool = True,
                 negative_slope: float = 0.2, dropout: float = 0.,
                 add_self_loops: bool = True, bias: bool = True, **kwargs):
        kwargs.setdefault('aggr', 'add')
        super(GATConv, self).__init__(node_dim=0, **kwargs)

        self.in_channels = in_channels
        self.out_channels = out_channels
        self.heads = heads
        self.concat = concat
        self.negative_slope = negative_slope
        self.dropout = dropout
        self.add_self_loops = add_self_loops

        if isinstance(in_channels, int):
            self.lin_l = Linear(in_channels, heads * out_channels, bias=False)
            self.lin_r = self.lin_l
        else:
            self.lin_l = Linear(in_channels[0], heads * out_channels, False)
            self.lin_r = Linear(in_channels[1], heads * out_channels, False)

        self.att_l = Parameter(torch.Tensor(1, heads, out_channels))
        self.att_r = Parameter(torch.Tensor(1, heads, out_channels))

        if bias and concat:
            self.bias = Parameter(torch.Tensor(heads * out_channels))
        elif bias and not concat:
            self.bias = Parameter(torch.Tensor(out_channels))
        else:
            self.register_parameter('bias', None)

        self._alpha = None

        self.reset_parameters()

    def reset_parameters(self):
        glorot(self.lin_l.weight)
        glorot(self.lin_r.weight)
        glorot(self.att_l)
        glorot(self.att_r)
        zeros(self.bias)

    def forward(self, x: Union[Tensor, OptPairTensor], edge_index: Adj,
                size: Size = None, return_attention_weights=None):
        # type: (Union[Tensor, OptPairTensor], Tensor, Size, NoneType) -> Tensor  # noqa
        # type: (Union[Tensor, OptPairTensor], SparseTensor, Size, NoneType) -> Tensor  # noqa
        # type: (Union[Tensor, OptPairTensor], Tensor, Size, bool) -> Tuple[Tensor, Tuple[Tensor, Tensor]]  # noqa
        # type: (Union[Tensor, OptPairTensor], SparseTensor, Size, bool) -> Tuple[Tensor, SparseTensor]  # noqa
        r"""
        Args:
            return_attention_weights (bool, optional): If set to :obj:`True`,
                will additionally return the tuple
                :obj:`(edge_index, attention_weights)`, holding the computed
                attention weights for each edge. (default: :obj:`None`)
        """
        H, C = self.heads, self.out_channels

        x_l: OptTensor = None
        x_r: OptTensor = None
        alpha_l: OptTensor = None
        alpha_r: OptTensor = None
        if isinstance(x, Tensor):
            assert x.dim() == 2, 'Static graphs not supported in `GATConv`.'
            x_l = x_r = self.lin_l(x).view(-1, H, C)
            alpha_l = (x_l * self.att_l).sum(dim=-1)
            alpha_r = (x_r * self.att_r).sum(dim=-1)
        else:
            x_l, x_r = x[0], x[1]
            assert x[0].dim() == 2, 'Static graphs not supported in `GATConv`.'
            x_l = self.lin_l(x_l).view(-1, H, C)
            alpha_l = (x_l * self.att_l).sum(dim=-1)
            if x_r is not None:
                x_r = self.lin_r(x_r).view(-1, H, C)
                alpha_r = (x_r * self.att_r).sum(dim=-1)

        assert x_l is not None
        assert alpha_l is not None

        if self.add_self_loops:
            if isinstance(edge_index, Tensor):
                num_nodes = x_l.size(0)
                if x_r is not None:
                    num_nodes = min(num_nodes, x_r.size(0))
                if size is not None:
                    num_nodes = min(size[0], size[1])
                edge_index, _ = remove_self_loops(edge_index)
                edge_index, _ = add_self_loops(edge_index, num_nodes=num_nodes)
            elif isinstance(edge_index, SparseTensor):
                edge_index = set_diag(edge_index)

        # propagate_type: (x: OptPairTensor, alpha: OptPairTensor)
        out = self.propagate(edge_index, x=(x_l, x_r),
                             alpha=(alpha_l, alpha_r), size=size)

        alpha = self._alpha
        self._alpha = None

        if self.concat:
            out = out.view(-1, self.heads * self.out_channels)
        else:
            out = out.mean(dim=1)

        if self.bias is not None:
            out += self.bias

        if isinstance(return_attention_weights, bool):
            assert alpha is not None
            if isinstance(edge_index, Tensor):
                return out, (edge_index, alpha)
            elif isinstance(edge_index, SparseTensor):
                return out, edge_index.set_value(alpha, layout='coo')
        else:
            return out

    def message(self, x_j: Tensor, alpha_j: Tensor, alpha_i: OptTensor,
                index: Tensor, ptr: OptTensor,
                size_i: Optional[int]) -> Tensor:
        alpha = alpha_j if alpha_i is None else alpha_j + alpha_i
        alpha = F.leaky_relu(alpha, self.negative_slope)
        alpha = softmax(alpha, index, ptr, size_i)
        self._alpha = alpha
        alpha = F.dropout(alpha, p=self.dropout, training=self.training)
        return x_j * alpha.unsqueeze(-1)

    def __repr__(self):
        return '{}({}, {}, heads={})'.format(self.__class__.__name__,
                                             self.in_channels,
                                             self.out_channels, self.heads)

# Data stage randomness.
# There are CUDA randomness that is hard to control.
# They should be adjusted by environment variables.
# Current PyTorch deterministic setup is in beta.
torch.set_deterministic(True)

num_inputs = 7
num_outputs = 5

rng = torch.Generator("cpu")
rng.manual_seed(47)

node_input = torch.zeros(4, num_inputs)
node_input.uniform_(-1, 1, generator=rng)
adj_input = torch.LongTensor([
    [0, 1], [1, 2], [2, 3], [3, 0], [0, 2], [1, 3],
    [1, 0], [2, 1], [3, 2], [0, 3], [2, 0], [3, 1],
]).t()
edge_input = torch.zeros(adj_input.size(1), num_inputs)
edge_input.uniform_(-1, 1, generator=rng)
node_target = torch.zeros(4, num_outputs)
node_target.uniform_(-1, 1, generator=rng)

num_attn_heads = 1
rep = GATConv(
    in_channels=num_inputs, out_channels=num_outputs,
    heads=num_attn_heads,
    concat=True, negative_slope=0.2, dropout=0, add_self_loops=True,
    bias=True,
)
tar = torch_geometric.nn.GATConv(
    in_channels=num_inputs, out_channels=num_outputs,
    heads=num_attn_heads,
    concat=True, negative_slope=0.2, dropout=0, add_self_loops=True,
    bias=True,
)

rep.lin_l.weight.data.fill_(0.5)
rep.lin_r.weight.data.fill_(0.5)
rep.att_l.data.fill_(0.5)
rep.att_r.data.fill_(0.5)
rep.bias.data.fill_(0.5)
tar.lin_l.weight.data.fill_(0.5)
tar.lin_r.weight.data.fill_(0.5)
tar.att_l.data.fill_(0.5)
tar.att_r.data.fill_(0.5)
tar.bias.data.fill_(0.5)

rep_node_output = rep.forward(
    node_input.clone(), adj_input.clone(),
)
tar_node_output = tar.forward(
    node_input.clone(), adj_input.clone(),
)
print(rep_node_output)
print(tar_node_output)
print()

rep_node_output.sum().backward()
tar_node_output.sum().backward()

for name, (rep_grad, tar_grad) in [
    ("weight_l", (
        rep.lin_l.weight.grad, tar.lin_l.weight.grad,
    )),
    ("weight_r", (
        rep.lin_r.weight.grad, tar.lin_r.weight.grad,
    )),
    ("a_l", (
        rep.att_l.grad, tar.att_l.grad,
    )),
    ("a_r", (
        rep.att_r.grad, tar.att_r.grad,
    )),
    ("bias", (
        rep.bias.grad, tar.bias.grad,
    )),
]:
    error = (rep_grad - tar_grad).abs().max().item()
    print(name, error)

Nice findings :) I can't explain why, but those inconsistencies are injected by the @torch.jit.script annotation of torch_geometric.utils.softmax. After removing this annotation, gradients are exactly equal. I removed it in master for now.

To expand on this, I have found a related (but maybe worthy of its own issue) bug where training a model that uses GATConv with PyG v1.6.1, saving the weights and then loading them with PyG v1.6.3 yields vastly different outputs. The model I am working on is reasonably complex, but the outputs are different enough that my model that originally achieved 90% accuracy in v1.6.1 gives outputs that equate to approx. 39% accuracy on v1.6.3. I suspect this is due to the GATConv bugfixes in the 1.6.2 release.
I am very short on time at the moment so am not able to provide some minimal code to reproduce the error, but maybe some others are finding similar issues.

Yes, this is related to the bugfix. If you want to restore the old „bugged“ behavior, you can do conv.att_r = conv.att_l.

Cheers Matthias, I ended up just reinstalling PyG 1.6.1 for evaluation, just wanted to mention it on this thread in case others are having similar issues to hopefully save them some time!


Allow running in strict mode

arguments can't be assigned in strict mode.
Fixes #16531

@t-mrt,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

thanks @t-mrt. wanna add --alwaysStrict to the build script to avoid this happening again?

@mhegazy Thank you for your trouble. I made PR. https://github.com/Microsoft/TypeScript/pull/16562


Cell alignment does not work with XY Grid

This may be a known issue, or wasn't intended to be implemented as it doesn't appear to be mentioned in the XY Grid docs. However, in looking at the Codepen linked below, it looks like cell alignment did work with XY Grid at one point...but prior to XY Grid being released I guess.
How to reproduce this bug:

Visit this Codepen and observe that cell-alignment is working and the name of the pen is XY Grid Helper Classes - Horizontal Alignment | Foundation 6.4+
Notice that the CSS/Javascript for the Codepen mentioned in Step 1 are linked to this Codepen: 6.4.0-rc1 Default Build
Replace the CSS link in the first Codepen with https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/css/foundation.min.css & the JS link with https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.1/js/foundation.min.js
Observe that cell alignment no longer works.

What should happen:
Cell alignment should work with XY Grid?
What happened instead:
Cell alignment does not work.
Browser(s) and Device(s) tested on:
Chrome 59.0.3071.115 on OSX 10.12.5
Foundation Version(s) you are using:
6.4.1
Test case link:

Original: XY Grid Helper Classes - Horizontal Alignment | Foundation 6.4+
Nonworking 6.4.1: XY Grid Helper Classes - Horizontal Alignment Not Working | Foundation 6.4.1

My mistake, I forgot to update the syntax in the HTML from grid to grid-x


[cherry-pick]Remove TracerType from o11yphant

This is a cherry-pick from https://github.com/Commonjava/indy/pull/2323

This is a cherry-pick so merged directly


Why dont exist support for NZXT led strip HUE? Edit: RGB & Fan Controller

There would be the possibility of supporting the LED strips of NZXT HUE.
I have searched for information, but have not found anything.
Some source from years ago, but nothing else.
My case is NZXT 710i with HUE, but dont work with aurora.
thanks

I just realized that my 710 box doesn't bring HUE, it brings this:
https://www.nzxt.com/products/rgb-fan-controller
Can't give it compatibility?

Also hoping to find support for this controller, but haven't been sure where to find an SDK


Audit log connector comments PR #2319

The README.md in audit-log-log4j-connector has been copied from the console connector - the title needs correcting, and description of function - since it does not log to stdout.

The connector needs renaming. It is not a log4J connector, but rather an slf4j connector (which itself can be configured to use log4J). ie it is not using log4j APIs. Itself it is dependent on slf4j-api only (quite correctly) and needs to be bound to an implementation at runtime, which could be via logback, slf4j-simple, or a variety of other options.

initially observed in #2319

Hopefully fixed - thanks for point this out ...


Rejecting scheduled request

Using Oracle we can call scheduled functions. But is it possible to cancel scheduled function? I mean, for example, if I scheduled an function that updates something in my contract in 10 minutes but in 5 minutes I changed my mind, I don't need update something. In this case, can I cancel scheduled function?

That is currently not possible, and would seem potentially counter-productive, as by way of the standard payment model, you are pre-paying for the callback. This is the first time we have seen this feature request.
If for whatever reason you do wish to reject the results of a subsequent or specific query, you are able to do so via your contract currently, by having a rejectQuery or the like function.
Could you specify any more specific use-case where this may be handy?

@D-Nice thanks for your answer!
In my case, I would like to update price either by request or once per hour. So if I already have an updating request in query and the price updated, I have to reject  the first request and create new in 1hour.
But I agree that with standard payment model, it's counter-productive. Thanks.

That appears to be an interesting use-case, we'll keep an eye out if there's any others with similar requests to see if it's something for our roadmap.


error when selecting MapQuestOpen.OSM basemap

same error when selecting MapQuestionOpen.OSM or MapQuestOpen.Aerial
uncaught exception: No such provider (MapQuestOpen)

I can fix this by re-entering selected maps in Google Sheet cell validation.


ci: Add formatting pre-submit check

Summary
Adds a formatting pre-submit check that runs make format and checks for file differences. The results of running make format are not included in this PR for readability. So the pre-submit will depend on #3655 and probably some more formatting before the check will pass.
Added a make shfmt formatting check for bash scripts.
autogen (for adding license headers) is now vendored in the third_party directory for convenience sake.
markdown-toc and autogen are now run by make format. The formatting pre-submit now runs these as well so they don't have separate pre-submit jobs. We will need to adjust the required checks on branch protection to remove "markdown-toc" and "autogen" jobs, and also add the "formatting" job.
CONTRIBUTING.md was updated to include some more information about coding style and conventions.
Testing Process

Run make format
Verify the formatting results

Checklist

[x] Review the contributing guidelines
[x] Add a reference to related issues in the PR description.
[x] Update documentation if applicable.
[x] Add unit tests if applicable.
[x] Add changes to the CHANGELOG if applicable.

Branch protections updated.


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

good bot


flyway info cmd throws "Error initializing column metadata" while connecting to BigQuery emulator

Which version and edition of Flyway are you using?
latest(9.22.3)
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line
Which database are you using? (Type & version)
BigQuery
Which operating system are you using?
Docker via MacOS
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
I try to integrate flyway with a BigQuery emulator tool
I understand that flyway does not officially support BigQ emulator yet. However I have sorted out how to use flyway to connect to this BigQuery emulator locally via docker.
When I run, flyway info, I was given some Simba error message
Oct 21, 2023 2:21:23 PM org.flywaydb.commandline.Main error
SEVERE: Unable to check whether schema `test-dataset` exists
----------------------------------------------------
SQL State  : HY000
Error Code : 100078
Message    : [Simba][BigQueryJDBCDriver](100078) Error initializing column metadata: Could not retrieve table schema information.

Caused by: java.sql.SQLException: [Simba][BigQueryJDBCDriver](100078) Error initializing column metadata: Could not retrieve table schema information.
Caused by: com.simba.googlebigquery.support.exceptions.GeneralException: [Simba][BigQueryJDBCDriver](100078) Error initializing column metadata: Could not retrieve table schema information.
Oct 21, 2023 2:21:23 PM org.flywaydb.commandline.Main info
INFO: Flyway is performing some final checks. Thank you for your patience.

and I can see in the emulator log that flyway is querying the database for some base verification
2023-10-21T14:17:12.548Z	INFO	server/middleware.go:63	POST /bigquery/v2/projects/test-project/jobs	{"query": ""}
2023-10-21T14:17:12.601Z	INFO	contentdata/repository.go:167		{"query": "select 1", "values": []}
2023-10-21T14:17:12.607Z	DEBUG	contentdata/repository.go:242	query result	{"rows": [[1]]}
2023-10-21T14:17:21.681Z	INFO	server/middleware.go:63	POST /bigquery/v2/projects/test-project/jobs	{"query": ""}
2023-10-21T14:17:21.741Z	INFO	contentdata/repository.go:167		{"query": "select 1", "values": []}
2023-10-21T14:17:21.742Z	DEBUG	contentdata/repository.go:242	query result	{"rows": [[1]]}
2023-10-21T14:17:24.918Z	INFO	server/middleware.go:63	POST /bigquery/v2/projects/test-project/jobs	{"query": ""}
2023-10-21T14:17:24.943Z	INFO	contentdata/repository.go:167		{"query": "select 1", "values": []}
2023-10-21T14:17:24.944Z	DEBUG	contentdata/repository.go:242	query result	{"rows": [[1]]}
2023-10-21T14:17:25.140Z	INFO	server/middleware.go:63	POST /bigquery/v2/projects/test-project/jobs	{"query": ""}
2023-10-21T14:17:25.164Z	INFO	contentdata/repository.go:167		{"query": "SELECT SESSION_USER() as user;", "values": []}
2023-10-21T14:17:25.168Z	DEBUG	contentdata/repository.go:242	query result	{"rows": [["dummy"]]}
2023-10-21T14:17:25.316Z	INFO	server/middleware.go:63	GET /bigquery/v2/projects	{"query": "maxResults=10000"}
2023-10-21T14:17:25.646Z	INFO	server/middleware.go:63	POST /bigquery/v2/projects/test-project/jobs	{"query": ""}
2023-10-21T14:17:25.671Z	INFO	contentdata/repository.go:167		{"query": "SELECT COUNT(table_name) FROM `test-dataset`.INFORMATION_SCHEMA.TABLES", "values": []}
2023-10-21T14:17:25.683Z	DEBUG	contentdata/repository.go:242	query result	{"rows": [[1]]}

May I know what flyway is trying to check from the database side so I can maybe manually create the missing piece in the BigQuery emulator side???
What did you expect to see?
flyway info shows some database related info
What did you see instead?
some Simba error message

Hi @kankaiz ,
From the log, we can see the Exception comes from GeneralException: [Simba][BigQueryJDBCDriver]
Therefore, there might be little Flyway can help here.


where are theme assets exported?

if I put custom theme files in [mytheme]/assets, do they get exported by Meteor? to what path??
http://localhost:3000/`dist`//themes/blackship/assets/test.png ?
http://localhost:3000/`site`//themes/blackship/assets/test.png ?
can't see to find them
what's the base path for the dist?

OK I found it
http://localhost:3000/themes/blackship/assets/test.png
but I don't think I can use things like font files from this path. Maybe best to export assets to public?


display working hours on profile page, add working hour request form

close #153 close #154

Coverage decreased (-0.3%) to 72.828% when pulling 19774ed274379f48b075c262c35eaa08540844ef on feature/workhours-on-profile into 4be9a8dd40f0dc2e0276e318d3482369e0f98a04 on main.

Coverage decreased (-0.3%) to 72.828% when pulling 19774ed274379f48b075c262c35eaa08540844ef on feature/workhours-on-profile into 4be9a8dd40f0dc2e0276e318d3482369e0f98a04 on main.

No, I'm working on the permissions. That's why I didn't request a review ;)

No, I'm working on the permissions. That's why I didn't request a review ;)


Node server caching

Use decorators over handler and response interfaces to achieve caching. Includes some unit tests (could probably use more for caching non-200s, requests that throw underneath decorator, etc.). An end-to-end test with a server would be nice too.

Note: Current diffbase is node-server branch. Will keep merging against it until it lands, then merge master and change diffbase.

LGTM


HDDS-6370. Document connecting IDE to Ozone on Kubernetes

What changes were proposed in this pull request?
Updating CONTRIBUTING.md about starting Ozone in Kubernetes and using IntelliJ IDE for debugging. Should this be in the wiki page, in the section about deploying Ozone to Kubernetes, instead of CONTRIBUTING.md file?
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6370
How was this patch tested?
This patch was tested in Ubuntu 20.04, using k3s as Kubernetes server, kubectl and IntelliJ as IDE for debugging.

@adoroszlai Thank you for your comment. Do you want me to update the README.md in hadoop-ozone/dist/README.md or create a README.md in hadoop-ozone/dist/src/main/k8s/?

@adoroszlai Thank you for your comment. Do you want me to update the README.md in hadoop-ozone/dist/README.md or create a README.md in hadoop-ozone/dist/src/main/k8s/?

update the README.md in hadoop-ozone/dist/README.md or create a README.md in hadoop-ozone/dist/src/main/k8s/?

Creating a README.md in k8s would make most sense to me.

I made the changes. Since I moved the section to a new file, let me know if I need to add more information

Thanks @xBis7.  Apache projects require license information in (almost) all files.  Can you please add this header to the new README?
<!---
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

See https://raw.githubusercontent.com/apache/ozone/master/hadoop-ozone/dist/src/main/compose/README.md or https://raw.githubusercontent.com/apache/ozone/master/hadoop-ozone/dist/src/main/smoketest/README.md for example.

@adoroszlai Thank you for the clarification. I added the license information.

@adoroszlai   I've reviewed this document and confirmed intellij connection to ozone/k8s after following it.
(FYI Christos works with me at GR.)

I've reviewed this document and confirmed intellij connection to ozone/k8s after following it.
(FYI Christos works with me at GR.)

Thanks you @GeorgeJahad for the review and the info.  +1 from me based on that.

Thanks @adoroszlai !

@adoroszlai thank you!


New Zen Browser Icon

Changed original zen browser icons to new ones.
#22

Hi @dom1torii
Sorry for the delay, I was in the closing season of the University and did not have much time left.
Thanks for your contribution! You did an excellent job 🥇


[Bug]: resize background does not work

What happened?
background image in profile and organization should resize to 1488x480px, but it's twice as big.
app/routes/profile/$username/index.tsx Line 76

And if you are already fixing this... would be nice to have different image sizes for different breakpoints.
width 992px for tablet
1232px for small desktop


Implement RFC 8914 Extended DNS Errors

https://www.rfc-editor.org/rfc/rfc8914.html
RFC 8914 defines an extensible method to return additional information about the cause of DNS errors.
This is useful for cases, where we might want to indicate for example that we are not autohiritative for a request by adding an EDE code Not Authoritative in the response, alongside the normal REFUSED, which provides the user with some more insight.

Added in efa760b

@deathowl i see you set SetEdns0(4096, true).
4096 is probably not right. I believe a PR recently made sure this value would be minimal. Should it align with it?

Ok. What I am referring to is internal diff D48613667 . TL;DR is that we use the CoreDNS bufsize plugin https://github.com/coredns/coredns/blob/master/plugin/bufsize/bufsize.go to clamp it down.

@chantra  if i set -max-udp-size 2048 SetEdns0 honors that setting thanks to bufsize plugin
see
 death0wl@death0wl-fedora-PF20THNE  ~  dig testnotauth.com @<IP_ADDRESS> -p 8053

; <<>> DiG 9.16.40-RH <<>> testnotauth.com @<IP_ADDRESS> -p 8053
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 46626
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 2048
; EDE: 20 (Not Authoritative)
;; QUESTION SECTION:
;testnotauth.com.		IN	A

;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#8053(<IP_ADDRESS>)
;; WHEN: Wed Sep 13 13:15:59 IST 2023
;; MSG SIZE  rcvd: 50


Proper CSS styling

Removing enwiki common.css and vector.css since we load it per-wiki
Moving css styles of wiki to end of styles (gadget) so it can override default styles

I tested it and it works just fine and also fixes some issues we had for Persian Wikipedia.


Allow FSEvent.watch calls to be chained

Hi,
This means I can rewrite this
FSEvent.new.tap {|fsevent|
  fsevent.watch('.git', &block)
  fsevent.run
}

Like this
FSEvent.new.watch('.git', &block).run

What do you think?

It's nice if you want to follow watch calls with run, but not if you expect chained calls to watch itself to work. That could end up being confusing. It's not yet possible to have differing options for each path, so a call to watch outright replaces the list of paths and options instead of appending new paths.

...and writing a command-line parser in fsevent_watch to support multiple paths with completely different options where the path remains the unqualified parameter (no --path path, just path or path path path) would be more painful than it's worth. parsing json/yaml/tnetstrings on stdin would be easier. still, that would need to be in place in the fsevent_watch binary first, with support added to the ruby side, before the ability to chain watch is completely intuitive.
Perhaps, instead, a syntax where you can pass the parameters for watch to new and if present it calls watch for you? new always returns the object, so FSEvent.new('.git', &block).run would make intuitive sense without the additional confusion of suddenly being able to chain watch without it working.

Ahh, right. I didn't realise that, I just assumed the calls to watch would stack. I agree, that would be surprising.
I'll spec up an alternate patch when I get a chance later on.


fix issue 253

I'm getting the correct chart but no arrows are shown.
load('wind','x','y','u','v')
X = x(11:22,11:22,1);
Y = y(11:22,11:22,1);
U = u(11:22,11:22,1);
V = v(11:22,11:22,1);
quiver(X,Y,U,V)

fig2plotly(gcf, 'offline', false);

I see. You seed to have installed affine2d function on yuor matlab

please run

help affine2d

on your matlab command windows

great!


Closes: #1

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Thx! was fun :)


glib: fix missing xsltproc when cross compiling

Description of changes
The commit 0b5be61ca10651c60fb762e4332d9725a5cc4624 made these dependencies available only when building documentation but they are required for manual pages as well.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Does #200760 (currently in staging branch) fix the issue for you?


[xibcolor] Alpha support

Hello,
Had to manage change from a ARGB color to another ARGB one, but the script only manage RGB :
<color key="backgroundColor" red="0.32148650288581848" green="0.045969739556312561" blue="0.072000645101070404" alpha="0.73333334922790527" colorSpace="calibratedRGB"/>

But no alpha management yet in the script (and I'm not knowing python enought to make a PR).

Can you check if every color in your XML has alpha component? It would be just a case of adding this component standard.

In fact, I don't want to change the alpha this time.
As you keep the key="", I think the script is OK for this usage.
I think alpha is always here :
$ find . -name *.xib -exec grep "<color" {} \; |wc -l
 250

$ find . -name *.xib -exec grep "<color" {} ; | grep -v alpha | wc -l
0

On a little more projects :
~/source-cache $ find . -name *.xib -exec grep "<color" {} \; | grep calibrated | grep alpha | wc -l
4752
~/source-cache $ find . -name *.xib -exec grep "<color" {} \; | grep calibrated | wc -l
4752

I have pushed a quick-and-dirty modification, supporting #rrggbbaa format for alpha. Can you give it a try?

Look good, but I prefer having AARRGGBB codes. As you have done it in NSColor+Hexadecimal :
  case 8: // #AARRGGBB
    alpha = [self colorComponentFrom:colorString start:0 length:2];
    red = [self colorComponentFrom:colorString start:2 length:2];
    green = [self colorComponentFrom:colorString start:4 length:2];
    blue = [self colorComponentFrom:colorString start:6 length:2];
    break;

So I can copy paste from diff of the colors.txt file we have in version control.

Yup, ARGB seems to be more "standard".
I've pushed another change to use ARGB. Please test it.

I think there is round issues :
$ ./xibcolor some.xib -l
#ba510c12
#ff510b13

$ ./xibcolor /Users/kenji/source-cache/somfy-trunk/src/iphone/Alarme/DOAMenuTableViewCell.xib "#ba510c12" "#BB51FF12"
From: #ba510c12 to: #BB51FF12
$ ./xibcolor out.storyboard -l
#ba51ff11
#ff510b13

ba51ff11 ~ bb51ff12

That might be... xibs store floating point values, and obviously #ARGB values are limited in resolution.
Perceptually there should be not much difference, but maybe we should use a "fuzz-factor" when comparing, as it might miss some replacements.
So much for an afternoon hack...

Found it :
$ ./xibcolor some.xib -l
0.73
1.0
#ba510c12
#ff510b13

$ ./xibcolor out.storyboard -l
0.733333333333
1.0
By adding a ugly print float(alpha) in listcolors

better with :
print "%.8f" % float(alpha)

gives :
./xibcolor some.xib -l
0.730000000000

forgot to show the color in some.xib :
grep color some.xib
   <color key="textColor" red="0.32156862745098036" green="0.047058823529411764" blue="0.070588235294117646" alpha="0.72999999999999998" colorSpace="calibratedRGB"/>

hmmm... not yet.
0.73*255.0 => 186 => BA as 0.7299999 * 255 does

\o/
>>> fs="0.733333333333"
>>> f=float(fs)
>>> print "%.12f" % f
0.733333333333
>>> print "%02x" % round(f*255.0)
bb
>>> print "%02x" % (f*255.0)
ba

Now it's seems to be ok :
./xibcolor some.xib -l
#ff520c13
#ba520c12
$ ./xibcolor some.xib "#ba520c12" "#BB51FF12"
From: #ba520c12 to: #BB51FF12
$ ./xibcolor out.storyboard -l
#ff520c13
#bb51ff12

The patch :
def clamp(x):
  return max(0, min(int(round(x)), 255))

Apple multiplies the hex value by 255.9999f... o_O
https://developer.apple.com/library/mac/qa/qa1576/_index.html

Great.... :neutral_face:
Can you create a pull request with your changes?

Sure

PR sent.
I think it would be interesting to add some unit test for these value rounding issue.

Patched.
About UTs, I can't really be bothered. :grin:

Here is the idea behind "coucou" ;-) :
$ find . -name *.xib -exec xibcolor {} from_to.txt \;
No colors were replaced in Project/Base.lproj/LaunchScreen.xib
No colors were replaced in Project/XYZSettingsViewController.xib

new PR done :-)

Merged


[Feature Request] Timestamp support

Is your feature request related to a problem? Please describe.
For certain protocols and applications its good to know, when a packet arrived in a device. (like PTP) MACs and Phys have HW support to track the time up to a nanosecond level. Software timestamping based on a system timer is also possible. Using HW timestamps allows devices to sync up there time up to nanosecond accuracy, but stack support is needed in order to implement the protocol to pass the timestamps from the MAC/Phy to the requesting socket.
Describe the solution you'd like
Everything is an opt-in solution. The NetworkBuffer would be extended with a timestamp field to allow the HW or SW timestamp to be passed from the MAC to the socket. For RX the timestamp would be passed with the received packet. For TX the timestamp would be passed back with the transmitted packet. A way to receive the timestamp from the socket would be needed. I would go for the linux way and implement a recvmsg handler, which would allow to receive packets with the timestamp attached.
Describe alternatives you've considered
None
Additional context
This is part of a series of extensions, I created for FreeRTOS-TCP-Plus to enhance time sensitive networking support. A working prototype is on the way. The last enhancement I would like to add I VLAN support. But this is way more difficult, then time stamping or priority queues.

Hi @go2sh,
I will let the team know of your request.
Best,
Jason Carroll

The last enhancement I would like to add I VLAN support. But this is way more difficult, then time stamping or priority queues.

Yes I think so too.
In the beginning ( 10 years ago ), FreeRTOS+TCP had a simple support for time-stamps. But as we made the source code safer, and as time-stamps were rarely used, we decided to remove the support.
Also: none of the platforms that I used had hardware support for timestamps at that time. I could not find two CPU's with a clock / osc that would agree about the time, the differences were too big.
Now that FreeRTOS+TCP dev/IPv6_integration is getting in a stable state, it is good to think about this extension.

Everything is an opt-in solution.

Very good. The option should not change the existing behaviour, or the size of code when the option is not selected.
@jasonpcarroll wrote:

I will let the team know of your request.

Let's wait for that. I am enthusiastic and looking forward to the new options.
PS. One of my specialties (beside +TCP) is audio distribution and audio limiting. That is also why I looked at timestamping.

Nowadays there are plenty of MCUs that provide timestamps one way or another and since we are working with Realtime OS, I think it makes sense to support them. 1588 has been around for decades, TSN ( as in time sensitive networking )  is on the horizon ( which I'm not very familiar with ), IIOT is pushing deeper and deeper into the low level stuff like sensors and actuators. In my humble opinion, all these factors will continue to increase the need for timestamp support.
What I am very unclear about is how can we tackle this because it's not as easy as it may sound.
Perhaps we need to look into how different targets implement hardware timestamps so that we can make a smart decision on how they can be incorporated further up the stack. For example, the target I work with ( SAME70 ) can store the nanosecond value of the hardware timer in place of the FCS for every received frame. It can also trigger interrupts for 1588 frames where within the IRQ, one can read registers that hold the entire checksum. Both of these approaches are clunky for reasons I don't want to get into.
I have read here that other targets can maybe append the timestamps of frames to the end of the frame and things like that.
My point is that different targets will do things differently and when design decisions are made for +TCP it would be great to know how different targets work.
I suggest we use this discussing to collect data on from people with different hardware that can chime in how their hardware provides the timestamps. This will provide information that can help figure out at least the following question: Is it JUST the network driver that is responsible for collecting timestamps from hardware and putting them in NetworkInterface_t or maybe the TCP task needs to do some of the work as well.
Just my 2 cents... Great discussion