feat(java): enable inlay hints

I apologize if my Lua code is "bad", but I haven't really coded in Lua before, but this will make sure that the consumer can toggle inlay hints for java development by providing the opts:
opts.enableInlayHints = true

EDIT
enabled by default.

So with this PR the user has to explicitly put opts.enableInlayHints = true in his personal configuration to enable the inlay hints?

So with this PR the user has to explicitly put opts.enableInlayHints = true in his personal configuration to enable the inlay hints?

Yes i added it as an option just in case someone doesn't want it - they are free to choose.

I don't think that's right. inlay_hints are enabled by default in LazyVim. So they should be enabled by default for Java as well. And the user can change that in his personal configuration. I also had started implementing a PR about this. And I believe I have solved these problems. I also found a somewhat hackish way to show the inlay hints by default as opposed to my comment in the other Discussion thread.
Please take a look here and try to incorporate it to your own PR.

Even tho i don't agree with forcing consumers to use inlay hints, I've added your changes. Please review again

But the purpose of this PR is to enable inlay hints in Java by default, since they're already enabled by default in LazyVim. Otherwise there's no purpose for this PR and the users can still enable it in their personal configuration if they want.

@dpetka2001  i added your code changes

Sorry missed that. I'm just a regular user like you, so now all that remains is for the maintainer to look into it.

@folke  i guess this PR is good to go.

@idelice It works correctly on your side, right? Because I only tested on a crappy Java code snippet from GPT and I don't do Java as I've already mentioned. It would be even better if other users who actually do Java (unlike me) would share their experience with this. I hope I didn't miss anything.

Yes it worked perfectly fine.

It doens't work right away since jdtls probably doesnt correctly advertise the capability or dynamic capability.
A better way is to force the capability on the client side, since we know it's supported.
I'll try to look into it tomorrow evening.
Either way, thank you for this PR!

After further investigating this, it seems that in LazyVim, we only check for inlay hint support for server capabilities, not later on when the server advertises it through a dynamic capability.
I'll have to work on a fix for this (and this may also fix jdtls)

@folke adding LazyVim.toggle.hints(buffer, true) in here after the lsp.keymaps.on_attach and removing the one from the LspAttach autocmd in this PR also enables the inlay hints on a java file. I'm not familiar with LSP protocol at all, so maybe that's what you meant? I'm just assuming based on something similar I saw on other dotfiles about registering dynamic capabilities for the keymaps.

@dpetka2001 yeah indeed. I'm working on a fix. Almost ready.
There's some other things that also dont work for lsp servers with dynamic capabilities.
Like with tsserver, the document highlights dont work.
I have everything working locally. Will push changed in a bit

I've added an on_supports_method.
Similar to on_attach but also gets called on dynamic advertisemtns of capabilities/
So it will execute exactly once, either due to LspAttach or afterwards once the dynamic capability is ready.

I just fully tested jdtls and fixed inlay hints in the commit above.
All the default inlay hint stuff to enable it works as expected.

I just fully tested jdtls and fixed inlay hints in the commit above. All the default inlay hint stuff to enable it works as expected.

Why is it that the inlay hints are not showing everywhere with the current LazyVim but in the local LazyVim forked? There's litteraly no difference with the forked and the commit you just mentioned.

That line is not needed. the opts are already properly passed to nvim-jdtls.
Can you please remove any of your customizations and try again.
It really does work. There's also no reason why jdtls would be differernt than for other lsp servers, even when it's not managed by lspconfig.
I ran some simple teste myself and it all works as expected for me.

That line is not needed. the opts are already properly passed to nvim-jdtls.
Can you please remove any of your customizations and try again.
It really does work. There's also no reason why jdtls would be differernt than for other lsp servers, even when it's not managed by lspconfig.
I ran some simple teste myself and it all works as expected for me.

Yes it is in order for all inlay hints to trigger.
I copied your commit changes in to my local LazyVim with no extra modifications and it partially shows inlay hints.
Whenever I put that line that I've mentioned in my previous comment, it triggers all inlay hints.

After pulling latest from main, I can confirm that inlay hints are triggered right away, but without the settings = opts.settings - it will only partially show inlay hints.

Yes, that was in the initial commit as well. Otherwise the user would have to do in his personal configuration
java = {
            inlayHints = {
              parameterNames = {
                enabled = "all",
              },
            },
          },

because the default value is literals and the local config inside function attach_jdtls doesn't take settings into consideration, so it uses the default value.

I added the following in my jdtls opts in order to fully show inlay hints without adding that line i mentioned inside lazyvim:
      jdtls = {
        settings = {
          java = {
            inlayHints = { parameterNames = { enabled = "all" } },
          },
        },
      },

LazyVim has the same code which means we have to duplicate the exact same code seen in LazyVim in order to show all inlay hints. I don't really see that as the way to do it.
Why not just pass opts.settings in lazyvim and close this topic? then we wouldn't have to mirror whats inside lazyvim?

@idelice I agree with you. I mentioned that this was part of the initial commit in this PR and that it should also make it to the final version of Java Extra. I just analyzed the reason why this doesn't happen as things are now. Hopefully the maintainer will also agree to this.

Check my commit https://github.com/LazyVim/LazyVim/commit/e5ea8abd38c4b93edccd69c9ef4462377103a9c3
line 123
Before that change you indeed needed to add the settings = opts.settings.
With that change that really should no longer be needed?

I checked your commit. Look at these lines. Here is where the local config gets evaluated. It merges the table
{
          cmd = opts.full_cmd(opts),
          root_dir = opts.root_dir(fname),
          init_options = {
            bundles = bundles,
          },
          -- enable CMP capabilities
          capabilities = LazyVim.has("cmp-nvim-lsp") and require("cmp_nvim_lsp").default_capabilities() or nil,
        }

with opts.jdtls, but those opts.jdtls is a means to be used in the personal configuration from users to override/add whatever they want. This local config as of now doesn't take opts.settings into account. And that local config is passed to require("jdtls").start_or_attach(config) which does the initial setup of the server. I believe settings = opts.settings should be added inside the local config to be taken into account for the initial server setup.

ok, gotcha. I thouhgt it merged with all the opts. Just pushed a fix. Thanks!


mulitiple line space is not equal, influence by paragraphSeparator

just like the screenshot
and the markedown text is:
#"""
        作者：[@jedz](https://www.v2ex.com/u/jedz)，节点：[#程序员](https://www.v2ex.com/go/programmer) ，31回复，发布时间：2021-04-13 18:54:26

        日经问题：笔记软件的选择。。。

        用了好多年 OneNote，不过碍于以下几个问题现在想弃坑了：

        1. 字体问题，下英文字体动不动变成 calibri，很不爽。（用了 [OneFont]( [https://lxf.me/116](https://lxf.me/116)) 基本解决问题）

        2. 对插入代码的支持很差，不支持高亮，而且有时复制出来时会有奇怪的字符，导致粘贴后不能直接运行。

        3. 如果在页面中创建了多个框，则不能自适应宽度，然后移动端上就要拖来拖去才能看。

        4. 无本地文件（ UWP 和 Mac 版）。

        然后最近试用了一周 Notion，总体感觉还不错，目前遇到两个问题比较影响体验（也可能是我不会用，求指点
"""#

I found the static let paragraphSeparator = "\u{2029}" caused this bug, if I set it to empty by static let paragraphSeparator = "", it looks ok
but loose the paragraph's  line height between

🤔 That doesn't make much sense, as paragraphSeparator is used to separate the paragraphs, not the lines inside a paragraph.
I will have a look, nevertheless. Thanks for reporting!

🤔 That doesn't make much sense, as paragraphSeparator is used to separate the paragraphs, not the lines inside a paragraph.
I will have a look, nevertheless. Thanks for reporting!

It's confused，and if only english words, it seems there is no bug.
Thanks

I did a bit of research and it is related to paragraph styles, rather than the paragraph separator. That is, if there are paragraphs in the resulting attributed strings, then you get the weird differences in line spacing. I still have no clue on how to fix this one.

I did a bit of research and it is related to paragraph styles, rather than the paragraph separator. That is, if there are paragraphs in the resulting attributed strings, then you get the weird differences in line spacing. I still have no clue on how to fix this one.

get.
Thanks for your works.

To me, it looks like an iOS-only issue. Here is a screenshot of the Dingus example running in macOS:

I see a consistent line spacing that only differs a little when the line has mixed Latin and Chinese characters, which is expected.

finaly, I found this https://stackoverflow.com/questions/6367681/line-spacing-in-multi-language-layout-with-core-text
looks like it's not a bug, but a typesetting systems problem. and after some research I 'fix' it with some codes below
paragraphStyle.lineSpacing  = 0.25 * font.pointSize
paragraphStyle.maximumLineHeight = font.lineHeight;
paragraphStyle.minimumLineHeight = font.lineHeight;

looks better.

Yeah, that makes sense as a workaround. But the default values in the paragraph style should work properly as well.

Hi @oblank,
I have been testing this with MarkdownUI 1.0.0 (which comes with a new renderer), and I can't reproduce it. It displays the markdown you provided correctly in iOS 14, iOS 14.5, and iOS 15.0.


Include the RISC-V variant in the README?

It would be good to include which RISC-V variant BlackParrot supports in the README. I assume it is something like rv64im?

Thanks for the feedback!
BlackParrot is currently RV64IA + MSU privilege modes + SV39 VM.  Longer term, it will support RV64GC. Will update the README to be more clear.

Closing with #685


KAFKA-10147 MockAdminClient#describeConfigs(Collection<ConfigResource…

MockAdminClient#describeConfigs(Collection<ConfigResource>) has new implementation introduced by https://github.com/apache/kafka/commit/48b56e533b3ff22ae0e2cf7fcc649e7df19f2b06. It is unable to handle broker resource so ReassignPartitionsUnitTest#testModifyBrokerThrottles throws NPE.
https://issues.apache.org/jira/browse/KAFKA-10147
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@rhauch Could you take a look?

Yeah, will look more closely in a few min. If this breaks tests, can you please change the KAFKA issue priority to blocker and fill in the affected versions?

retest this please

retest this please

the failed build is traced by #8857

retest this please

retest this please

StoreUpgradeIntegrationTest#shouldMigratePersistentKeyValueStoreToTimestampedKeyValueStoreUsingPapi is traced by https://issues.apache.org/jira/browse/KAFKA-10151

retest this please

retest this please

@rhauch is this ready to be merged?


Document how to wire boards to box panel (3.5)

This should now be covered by the Electromechanical Subteam.


Audio tracks are parsed in parallel for duration

If a lot files are parsed in parallel, this may cause a seriously slow down the system.
In the code the following comment can be found: (Array.forEach is blocking aka synchronous)
https://github.com/clarkio/ttv-chat-light/blob/bbfecb5725f5be39a95805c3c38215c7db26c1cf/src/server/sound-fx.ts#L101-L102
This is not the case, Array.forEach is not blocking.
A for loop is blocking in combination with await. However a for loop would not directly make a difference neither because the expensive task executed in that loop is mp3Duration , which is an asynchronous (non blocking), not returning a promise.
Using await in combination with a for loop is a way to make it synchronous: PR #98.

We're running this locally on a machine, it only happens once at start up of the bot and we're only dealing with about 100 files so this feels a bit of a preemptive optimization that is not necessary for the purposes of this project.
I tested things out with the original code/library and am happy with the performance of it. Thank you for raising this concern.


Revert "refactor(router): show endpoint id in url"

Reverts portainer/portainer#3966

@pull-dog up


Vertical Position

Hello I am using your library in my project but I have some problems with the position of the buttons inside the easybar. I want to display them vertically and can't find a solution. Any help?

I assume you're seeing behavior that differs from what's shown in the docs?
can you describe the approaches you've already taken to troubleshoot?
If you can share a minimal, running example of your issue, it will go a long ways towards getting you the answers you're looking for.
based on your description, there's not much to offer.  If you share more info, I'll do what I can to help.

Excellent project congrats. It's helping very much.
I have a similar problem and I workaround using a style at the page.
Probably it's because of many css overwrites from  thirdy parts templates.
.easy-button-container { width:34px; }

After looking closely the project don't have the css file.
So when I add everything start to work.

glad to hear it worked out for you @guiuprado.
@EnxhiTopuzi, I'm going to close this issue. If you are still having trouble then you can open a new issue and provide more information so I can better help you.


Replace " with ' when stringifying the manifest

R: @philipwalton
Fixes #2263
I could go down a rabbit hole a bit with either pre-escaping ' characters in the manifest, or throwing an error when there are ' characters there for some reason, but I think it would be sufficiently difficult to end up with a ' organically in your manifest URLs that I'm not sure it's worth it.

Coverage remained the same at 79.409% when pulling c7681084d8c0f17658280b89749fdabc596c2294 on change-quotes-manifest into ac28527b25e301e1330c044a59770af80e8c909a on master.


Changing assets directory

Why forcing devs to put the audio files inside assets folder???… what if I want to put audio files in a different folder like res or resources... I know I can create subfolders inside assets and set it as a prefix but I think it will be better if the developer could choose the entire path from the beginning like res/sounds/audio.mp3 and not force it to assets/sounds/audio.mp3... I think assets could be a default, but should be override by any prefix if set...

That's a pretty generalized standard for flutter itself: https://flutter.dev/docs/development/ui/assets-and-images
We are just respecting that. But surely there could be an optional parameter to change...

Please implement optional param for changing path to assets. If I can change it in pubspec.yaml I should be able to change it in plugin. You have to respect this too. For example my path for assets is /app/assets, and now I should change it in whole app because audioplayers don't support this.

That's a pretty generalized standard for flutter itself: https://flutter.dev/docs/development/ui/assets-and-images
And It's not a standard. On this link you can see that they use /graphics

That's a pretty generalized standard for flutter itself

Not in the sense of hard-coding that part of the path.  For example:
Image.asset('assets/img/foo.png')  # expects the full string

You're essentially breaking from the standard convention here.

Closing in favour of #309.


extends tags should accept context variables

{% extends "template" %} currently only accepts a string as its argument for template. It should accept variables.

A very good solution to your problem is
{% extends "template" %}
{% set foo = 'bar' %}

Now, foo will be available as context variable in your template (as well as in your extending template). As this works, I don't really understand why implementing context variabes in extends would fundamentally change the way template are pre-compiled together.

thanks @jessedvrs this really helped me!


Docs.MS Release Updates for Azure.Storage.Files.DataLake

Update docs metadata and targeting for release of Azure.Storage.Files.DataLake

Docs Build status updates of commit 4006eb7:
:warning: Validation status: warnings

File
Status
Preview URL
Details

api/overview/azure/storage.files.datalake-readme.md
:warning:Warning
View
Details

api/overview/azure/storage.files.datalake-readme.md

Line 222: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/rest/api/storageservices/blob-service-error-codes' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Generic type constraints don't work in some case

For instance, here it is not checked:
declare function foo<A: number>((a: A) => void): void;
declare function cb(a: string): void;
foo(cb);

try it
Meanwhile in the code below (without generic types), it is checked as expected:
declare function foo((a: number) => void): void;
declare function cb(a: string): void;
foo(cb);

try it

Similar to https://github.com/facebook/flow/issues/5903 ?

Now both work


Enable precompilation

This seems reasonable, but we may want more test coverage before merging it to make sure no standard use-cases segfault because of precompilation.

Coverage remained the same at 11.056% when pulling e37f9ca29aef7b371f7475da03e902b977c63ead on alyst:precompile into 4b8871c8695064e4e07247d26d531758b72e4241 on JuliaDiffEq:master.

To my understanding turning on precompilation may break the package run-time initialization if .jl files contain any runtime-dependent variable initialization. These commands have to be moved into __init__(), but AFAIK Sundials doesn't contain such code. Besides that, the compiled code should be the same with/without precompilation, so no additional segfaults.

There are other things that can cause issues with precompilation, such as inlining Bigs of any sort. However, this is definitely something Sundials should have. Likewise, since we just tagged the other version, I would say give it a try and add this to the list of things included in the minor tag. Since that version may have breaking changes anyways, it is probably a good idea to get this working at the same time.
I'll wait for an opinion from @acroy

I don't see a problem with allowing precompilation. It's also easy to reverse if there are any issued related to it ...

Alright then lets give it a try.


How to define the tables/migrations?

Thanks for the library. This is not really an issue with the library but a question that I have. Did not know where to put it - hence made it an issue.
The README provided clear details on how to define the schema. I want to know how to define the migration for the table reminders. What does polymorphic_embded expect? Two fields type and channel_id without referential integrity constraints? Or two fields sms_id and email_id?

This has been added in the readme file:

In your migration file [...]

Is this clear now?

Thanks for the prompt response. Yes, the implementation is very clear now.

Note that it is the same as working with the Ecto embeds. That's why it was not documented.
In your database you'll have a JSONB field.

I agree. On hindsight you are right. But at that moment, I could not fathom it correctly.


git checkout filename too long

Hi guys,
As you know, we can template a directory name and file like {{cookiecutter.dir_name}} and {{cookiecutter.file_name}}.txt.
With that convention, the file name (including the path) C://Templates/{{cookiecutter.dir_name}}/...../{{cookiecutter.file_name}}.txt could easily over 256 characters and git can't checkout a file name that are longer than 256 characters (http://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows)

is there anyway, we can alias cookiecutter to cc so we could use something like {{cc.dir_name}} and {{cc.file_name}}
The other option is turning on core.longpaths so msysgit could support long file name (however, this might lead to some git scripts not reliable)

Any thoughts/suggestions?
Cheers,
Tony

@ttrungvo - This is similar to requests of others to truncate the name of cookiecutter to something smaller such as cc or bake. Unfortunately, other projects have taken those abbreviations. Therefore, the best course of action is to alias the name cookiecutter to something that works on your own system.

@pydanny how do I alias the name cookiecutter to something like cct and have the cookiecutter apply value to those cookie template variables? is there any wiki, example for me to follow?
thank you for your prompt response.
Cheers,
Tony

@pydanny, I looked around the issue and I found these 2 issues that talked about alias: "Add aliases for cookiecutters #246" and "Allow user-defined aliases for cookiecutters #270", but that's the settings that needs to be set in the cookiecutterrc file.
The main problem that I'm facing is that on our build machine, it couldn't checkout the file name like "....{{cookiecutter.dir_name}}/...../{{cookiecutter.file_name}}.txt" because the file name is longer than 256 characters.
So maybe the question I should have asked is that is there any default alias for cookiecutter? or is there anyway to make the template variable {{cookiecutter.product_name}} shorter? (preferably without configure the cookierrc file?)
Cheers,
Tony


Upload files is not supported

Using your bundle I have some problems.
Your Bundle is  not support uploading files.
Method "generateRequestData()" always generate QueryString but when I  need  to upload file I need to put array to CURLOPT_POSTFIELDS. I'm ready to fix this problem.
I'm propose remove method "generateRequestData()". And transform data in method  "makeRequest()".
Variable $requestData use only "Logger". Maybe we not need to log long requests (when post request so big).
Currently I'm solve this problem:
$result = $this->getContainer()->get('api_caller')->call(
          new HttpPost($url, [], false, [
              'POSTFIELDS' => $post
          ])
      );

Why your bundle concat  "CURLOPT_" prefix?? Maybe you need to use class constants???

ping

Hi. I wrote the code and used to work for LeaseWeb, but not anymore. Maybe you should try doing a PR. I am sure somebody from LeaseWeb is willing to merge it.


Text edit mode in mobile

Version
3.7.0
Development Environment
Mobile
Current Behavior
When I finish editing a text, the text does not exit the editing mode when I click outside the text

Expected Behavior
The text should leave the edit mode, it seems an error with the click event
Alternative solution
We must force the 'blur' event of textarea when we detect that we enter the edit mode
imageEditor.on({
      textEditing: () => { this._editing = true; },
      mousedown: (event, originPointer) => {
      if (this._editing) {
        var textarea = document.querySelector('textarea.tui-image-eidtor-textarea');
        this.renderer.invokeElementMethod(textarea, 'blur', []); // force 'blur'
        this._editing = false;
      }
       },
    });

@joseduin  Thank you for reporting. I'll fix this next release.

Hi @junghwan-park!
Any updates?
What the priority of that issue?


Responsive layout wrong griditem is being pushed down

When using the responsive layout the wrong griditem will be pushed down. Instead of the last item on the row, the item before the last item is being pushed instead.

The fix would be to not sort the layout array when compact the array

I have the same problem

There is also issue of difference in Firefox and Chrome, where they are not in the same order.  Firefox shows 0 at top, Chrome shows 5 at the top
https://jbaysolutions.github.io/vue-grid-layout/examples/06-responsive.html
Reported here:
https://github.com/jbaysolutions/vue-grid-layout/pull/228#issuecomment-442403390

I have the same problem too

Facing same issue. Fix would be really appreciated.


[AutoPR cognitiveservices/data-plane/CustomVision/Prediction] Add cognitiveservices\data-plane\CustomVision\Prediction\readme.typescript.md

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4275

(message created by the CI based on PR content)

Codecov Report

Merging #3644 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3644   +/-   ##
=======================================
  Coverage   37.41%   37.41%
=======================================
  Files        9242     9242
  Lines      278199   278199
=======================================
  Hits       104092   104092
  Misses     174107   174107

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ce09935...b790434. Read the comment docs.


Fix RandomHumanoid spawn loadouts

Regression introduced by #18291 due to switch of subscription from ComponentStartup to MapInit. Solution is to create the entity uninitialized, add the RandomHumanoidSettings components, then start it up.
Resolves #18713

@Vordenburg Could it not just check if the entity has already been mapinit'd and apply the loadout on startup if yes.

I think so. I'd like to wait to hear from @metalgearsloth since I assume there's a good reason it was changed from ComponentStartup to MapInit.

I think so. I'd like to wait to hear from @metalgearsloth since I assume there's a good reason it was changed from ComponentStartup to MapInit.

One-time setup code belongs in MapInit. Init and Startup are still run every time an entity is saved and loaded so the loadout would keep getting applied compared to MapInit which is only ran once even after saving and loading.


Internationalization

I have issues when using a non-English (eg. German) Windows.
The following for example fails:
	wmiHost := host.NewWmiLocalHost()
	srv, err := service.GetImageManagementService(wmiHost)

because the query is SELECT * FROM Msvm_ImageManagementService WHERE  Caption = 'Hyper-V Image Management Service'  but the Caption in my system is actually Hyper-V-Imageverwaltungsdienst. Are there any chances to use the ImageManagementService on non-English Systems without basically rebuilding everything manually?

I just saw that this was fixed with one of the alpha releases, so I will close this.


Which version of transformers should be installed

Which version of transformers should be installed

Ideally the latest version. But you are looking for the earliest version, that would be V4.23 when Whisper was added.


SystemJS is loading .ts.js and .css.js instead of .ts and .css

Hi,
I am trying to use a lib ngx-quill via npm. My issue is that Angular-seed is by default loading .js files. And I could not change this setting as it would cause other problems. Which means, instead of loading quill.module.ts SystemJS will require quill.module.ts.js (other issue such as .css.js) and of course will fail.
How do I deal with the lib with .ts files. Should I change the defaultJSExtensions to false? Or I need to let the third party lib to compile all file to .js.

You can't load ts file without transpilation runtime in the browser, which is not good practice for production, neither for development given the seed's setup.
Use the JavaScript bundle instead.

I am using npm to get the ngx-quill and there are only .ts files in the node_modules. Do I need to ask the third party lib to provide the Javascript bundle? (e.g. add tsconfig.json in the ngx-quill project)


feat(chat): add context menu to chat header (Issue #2046)

Description:

add context menu for chat header

Issues:

Issue #2046

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review


Fixes #18

Description
Fixes #18
Changelog

Migrated to TailwindCSS
Update styling

@codemaniac-sahil Hey, can you review the changes?

Excellent work @rajdip-b. It is looking tooo awesome.

Excellent work @rajdip-b. It is looking tooo awesome.

So glad that you liked it <3


chore: bdd-gh-1582929718 to 0.0.1

chore: Promote bdd-gh-1582929718 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Connections Overview Workbook

GridRefresh: This will conditionally refresh below grid.
ComputerNameContains:  Search computers in the workspace.
Hierarchy: Defines how deep the aggregations go.
Example:
No Filter, Hierarchy: Computer -> Process

Filter: local, Hierarchy: Computer -> Process -> IP -> Port

Rolling up Malicious Connections:

"info" does not show useful info for Computer, Process, IP and Port at the moment.
It shows useful info for only malicious Connection. I will fix it another PR.


Add Grid component

Is your feature request related to a problem? Please describe.
rimble doesn't offer a grid component that can hook up to the values in the theme.
Describe the solution you'd like
A Grid component with common styled-system props and access to the theme.
Describe alternatives you've considered
using the native grid element
Additional context
https://styled-system.com/table#grid-layout

I'm happy to tackle this or #303 or really any of the new issues that have been posted here in the past week if you would like an extra hand to turn some of them around faster.

@sublimatedpotato Thanks as always for your help! I just labeled a bunch of issues 'Help Wanted'. Any of these would be great for you to work on if you can. They are:
#302
#304
#305
#311
#313
#319
@gesquinca is offline this week, but @MikeLockz can help with any questions. Thanks again!

Thanks @zkalman . Always happy to help on this project. You guys are tackling some of the much needed UX aspect of Ethereum and I'm glad I can contribute... that's my obligatory "I'm just happy to be here!"
I'll take a closer look at all of those issues you marked and see which I can knock out.

🙏

@MikeLockz just for purely selfish reasons of wanting to build something from ground up I'm going to start on this issue. Quick question:
Looking at accepted Grid css props it looks like there are some flex-box props that could be used, as well (e.g. justify-items, align-items, justify-self, align-self, etc.) Should I expose these possibilities, as well, or should I simply focus on those styled-systems props outlined here: https://styled-system.com/table#grid-layout


New versions of GitHub Actions used by bandit

Discussed in https://github.com/PyCQA/bandit/discussions/889

Originally posted by mportesdev May  2, 2022
Hello everyone, and thanks for this great tool for Python coders.
I noticed that the following GitHub Actions have been upgraded to version 3 recently:
https://github.com/actions/checkout
https://github.com/actions/setup-python
I think it should be considered to use actions/checkout@v3 and actions/setup-python@v3 everywhere in this project's Actions workflows and check if everything works alright.

Fixed with #893


Why you assign the gt boxes to point sets by knn instead of by center?

Nice job. I'm reading the code for more details and I find it is mentioned in the paper that" the projection of this ground-truth object’s center point locate within this feature map bin"  . However in this line, it said that a point set should be attached with a gt box which is its nearest gt box and the point set is in this gt box's k nearest neighbors. Doesn't this mean any prediction around the center point of a gt box and in its k nearest neighbors will be positive?
https://github.com/microsoft/RepPoints/blob/cac17da18b54c800db1565cf39a2723f6755b96c/src/reppoints_assigner/point_assigner.py#L32
Sincerely thanks if you cloud reply to me.

Thanks for your interests! In fact, the situation where k=1 in knn assignment is equivalent to using center point assignment.


Unable to connect to Dialogflow

Hi,
I am getting the below error, i tried through both BotiumBox and "botium-cli emulator" command
Error: Cannot send message to dialogflow container: { Error: 7 PERMISSION_DENIED: IAM permission 'dialogflow.sessions.detectIntent' on 'projects/temperatureconvertersamp-efdbf/agent' denied. at Object.exports.createStatusError (/usr/local/lib/node_modules/botium-box/server/node_modules/grpc/src/common.js:91:15) at Object.onReceiveStatus (/usr/local/lib/node_modules/botium-box/server/node_modules/grpc/src/client_interceptors.js:1204:28) at InterceptingListener._callNext (/usr/local/lib/node_modules/botium-box/server/node_modules/grpc/src/client_interceptors.js:568:42) at InterceptingListener.onReceiveStatus (/usr/local/lib/node_modules/botium-box/server/node_modules/grpc/src/client_interceptors.js:618:8) at callback (/usr/local/lib/node_modules/botium-box/server/node_modules/grpc/src/client_interceptors.js:845:24) code: 7, metadata: Metadata { _internal_repr: { 'grpc-server-stats-bin': [Array] } }, details: 'IAM permission 'dialogflow.sessions.detectIntent' on 'projects/temperatureconvertersamp-efdbf/agent' denied.' }
I have created the dialogflow agent and created the service accounts with the admin role and added the details to the botium.json file
can anyone tell me if i am missing any step?

Did you follow the steps for retrieving the credentials described here https://chatbotsmagazine.com/3-steps-setup-automated-testing-for-google-assistant-and-dialogflow-de42937e57c6 ?

yes. i did follow the steps that link itself.
The only change is that i used the "temperature trivia" bot from the Dialogflow samples from
https://dialogflow.com/docs/samples
And created a service account, agave admin role as described by the link you pointed to and tried connecting.
Is there any missing step?

Hello,
If I dont assign the Dialogflow API Admin role (see in https://chatbotsmagazine.com/3-steps-setup-automated-testing-for-google-assistant-and-dialogflow-de42937e57c6) got this error.
Did you do set it?
I was not able to modify the account, and add later. Had to create a new one.
You can set it on the second page of the wizard.

yes. I have assigned the admin role but still got this issue.

Hmm, dont know what this is.
There is an issue for this problem, but i did not find more info there.

No activity, issue is related to Amazon, not to Botium.


Hot reload does not work on linux Ubuntu 20.04

Hi,

I develop an app that works perfectly fine on Apple Mac Book Pro,  but
when I develop it on Linux I got an issue with "Hot reload":

logs
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             25,8s
Debug service listening on ws://<IP_ADDRESS>:34155/BBHknHd4NzE=/ws

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
Assertion failed:
file:///home/mic/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:626:12
event is! RawKeyDownEvent || _keysPressed.isNotEmpty
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
event being sent doesn't properly set its modifier flags. This was the event:
RawKeyDownEvent#36b4a(logicalKey: LogicalKeyboardKey#d1e15(keyId: \"0x1000700e3\", keyLabel: \"\",
debugName: \"Meta Left\"), physicalKey: PhysicalKeyboardKey#700e3(usbHidUsage: \"0x000700e3\",
debugName: \"Meta Left\")) and its data: RawKeyEventDataWeb(keyLabel: Meta, code: MetaLeft,
metaState: 0, modifiers down: {})"

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49  throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
packages/flutter/src/services/raw_keyboard.dart 626:54                        _handleKeyEvent
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/raw_keyboard.dart 603:34                        [_handleKeyEvent]
packages/flutter/src/services/platform_channel.dart 73:49                     <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/platform_channel.dart 72:58                     <fn>
packages/flutter/src/services/binding.dart 284:33                             handlePlatformMessage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/binding.dart 275:37                             handlePlatformMessage
lib/_engine/engine/platform_dispatcher.dart 943:13                            invoke3
lib/_engine/engine/platform_dispatcher.dart 246:7                             invokeOnPlatformMessage
lib/_engine/engine/keyboard.dart 129:39                                       [_handleHtmlEvent]
lib/_engine/engine/keyboard.dart 39:7                                         <fn>
════════════════════════════════════════════════════════════════════════════════════════════════════

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on Linux, locale fr_FR.UTF-8)
    • Flutter version 2.0.6 at /home/mic/snap/flutter/common/flutter
    • Framework revision 1d9032c7e1 (il y a 33 heures), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/mic/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /usr/lib/jvm/java-1.14.0-openjdk-amd64/bin/java
    • Java version OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 90.0.4430.93

! Doctor found issues in 1 category.

PS: I got Android Studio, but with Snap!
Thanks for fixing it.
Rgds,

Hi @MrMic
Thanks for fling the issue!
I am unable  to run the app on the stable channel on Flutter, running into another issue
Can you please provide a minimal complete reproducible code sample, and flutter run --verbose and hot reload with pressing r from terminal running the minimal code sample?
Thank you

Hi @TahaTesser ,

I have install a basic new flutter project with :
$> flutter create MYAPP

then run inside the project root directory:
$> flutter run -d chrome
and got:
=== 8< -------------------------------------------------------------- >8 ===
`
flutter run -d chrome
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             26,4s
Debug service listening on ws://<IP_ADDRESS>:43033/hOY-vNIZkFg=/ws
Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
Assertion failed:
file:///home/mic/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:626:12
event is! RawKeyDownEvent || _keysPressed.isNotEmpty
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
event being sent doesn't properly set its modifier flags. This was the event:
RawKeyDownEvent#c1434(logicalKey: LogicalKeyboardKey#d1e15(keyId: "0x1000700e3", keyLabel: "",
debugName: "Meta Left"), physicalKey: PhysicalKeyboardKey#700e3(usbHidUsage: "0x000700e3",
debugName: "Meta Left")) and its data: RawKeyEventDataWeb(keyLabel: Meta, code: MetaLeft,
metaState: 0, modifiers down: {})"
When the exception was thrown, this was the stack:
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49  throw
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
packages/flutter/src/services/raw_keyboard.dart 626:54                        _handleKeyEvent
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/raw_keyboard.dart 603:34                        [_handleKeyEvent]
packages/flutter/src/services/platform_channel.dart 73:49
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/platform_channel.dart 72:58
packages/flutter/src/services/binding.dart 284:33                             handlePlatformMessage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/binding.dart 275:37                             handlePlatformMessage
lib/_engine/engine/platform_dispatcher.dart 943:13                            invoke3
lib/_engine/engine/platform_dispatcher.dart 246:7                             invokeOnPlatformMessage
lib/_engine/engine/keyboard.dart 129:39                                       [_handleHtmlEvent]
lib/_engine/engine/keyboard.dart 39:7
════════════════════════════════════════════════════════════════════════════════════════════════════
Performing hot restart...                                          187ms
Restarted application in 189ms.
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
Assertion failed:
file:///home/mic/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:626:12
event is! RawKeyDownEvent || _keysPressed.isNotEmpty
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
event being sent doesn't properly set its modifier flags. This was the event:
RawKeyDownEvent#e9926(logicalKey: LogicalKeyboardKey#d1e15(keyId: "0x1000700e3", keyLabel: "",
debugName: "Meta Left"), physicalKey: PhysicalKeyboardKey#700e3(usbHidUsage: "0x000700e3",
debugName: "Meta Left")) and its data: RawKeyEventDataWeb(keyLabel: Meta, code: MetaLeft,
metaState: 0, modifiers down: {})"
When the exception was thrown, this was the stack:
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 236:49  throw
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3    assertFailed
packages/flutter/src/services/raw_keyboard.dart 626:54                        _handleKeyEvent
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/raw_keyboard.dart 603:34                        [_handleKeyEvent]
packages/flutter/src/services/platform_channel.dart 73:49
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/platform_channel.dart 72:58
packages/flutter/src/services/binding.dart 284:33                             handlePlatformMessage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54            runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5            _async
packages/flutter/src/services/binding.dart 275:37                             handlePlatformMessage
lib/_engine/engine/platform_dispatcher.dart 943:13                            invoke3
lib/_engine/engine/platform_dispatcher.dart 246:7                             invokeOnPlatformMessage
lib/_engine/engine/keyboard.dart 129:39                                       [_handleHtmlEvent]
lib/_engine/engine/keyboard.dart 39:7
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: Assertion failed: file:///home/mic/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:626:12
Another exception was thrown: Assertion failed: file:///home/mic/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:626:12
`
I have install Flutter with snap, on my Ubuntu 20.04.
Should I avoid this?
Thanks for troubleshooting this.
Rgds,

Just try to use flutter 2.0.6 for the tar.xz file, but got the same issue. It is not related to snap release so...

Hi @MrMic
In your logs, I can see the error is thrown before the hot restart, does it throw the error on app launch? Can you please provide output from neofetch?
I just tried on Ubuntu 20.04 on the web and desktop, hot reload doesn't throw in flutter-snap or manual installaton

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.6, on macOS 11.3 20E232 darwin-x64, locale
    en-GB)
    • Flutter version 2.0.6 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 1d9032c7e1 (5 days ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      14.5
    • macOS (desktop)        • macos                     • darwin-x64     •
      macOS 11.3 20E232 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 90.0.4430.93

• No issues found!

Obviously @TahaTesser you are not testing on Ubuntu because you have
XCode in your:
$>  flutter doctor -v !!!!

Forward this issue to someone who does NOT lie and have
the SKILLS you lack.
DAMN!!!

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Support Transferring "Data Studio" In Addition To C

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.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I do not see this in the documentation but I think it may be an important feature request.

GAM automatically supports any transfer app added by Google. See
gam print transferapps
```
and
```
gamd create datatransfer<EMAIL_ADDRESS>"Google Data Studio"<EMAIL_ADDRESS>PRIVACY_LEVEL SHARED,PRIVATE


Add new exercise: book-store

problem specification | description | canonical data
You may find it helpful to follow this checklist from the CONTRIBUTING.md resource.

Go for it!
This will be a practice exercise, if you're following the CONTRIBUTING.md guidelines.

@Kmelow You can find the latest docs on practice exercises here: https://exercism.org/docs/building/tracks/practice-exercises
Among other thigs this explains what to put in the config.json file.


HAWQ-1143. Libhdfs create semantic is not consistent with posix stand…

…ard.
Open a file under posix standard, if o_create flag is set to true and the file exists, no side effect except O_EXCL is also be set true.
Open a file in HDFS with hdfs::create flag will report errors if file exists.
In libhdfs, the o_create flag is interpreted to hdfs::create, which leads to errors if file exists no matter O_EXCL is set or not.

+1


Use golang.org/x/sys/unix for epoll

It turns out that syscall.EpollEvent is incorrect on arm64 due to
missing padding. Work around this by using the newer x/sys/unix
package for epoll definitions.

This adds a new dependency to ebpf, which I think is warranted in this case. Fortunately it only imports the stdlib itself: https://godoc.org/golang.org/x/sys/unix?imports

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@59077d7). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master      #72   +/-   ##
=========================================
  Coverage          ?   61.67%
=========================================
  Files             ?       10
  Lines             ?     1524
  Branches          ?        0
=========================================
  Hits              ?      940
  Misses            ?      443
  Partials          ?      141

Impacted Files
Coverage Δ

perf.go
73.29% <100%> (ø)

syscalls.go
58.2% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 59077d7...5379ea3. Read the comment docs.

LGTM


Feature/#12 support negative intervals

Features

#12: Support negative intervals

Improvements

Added missing information in pom.xml to be able to deploy to Maven Central.

Bugfixes

#12: Fixed JavaDoc

hey @redcatbear,
Other than url difference in pom, all looks good me!


Add support for FACT token

Support for the Cardano Native Token FACT (Orcfax Token).
FACT is the utility token of Orcfax, a decentralized oracle service that publishes data about real world events to the Cardano blockchain.

Thanks.


Experimental Version

There are strange issues that are occuring with the experimental version using SimCopter - not apparent in the stable build.

First is after the video sequence of the game, the style/colors of the hwnd does not show correctly on 8-bit compatability mode (Windows 10 64-bit). This issue does not happen when the game is on 32-bit (no compatability mode). Issue does not happen at all on stable build.

The game running in windowed has the same "color errors" as the original ddraw (from Wow64). See image below of a building have one of its sides completely red (this is not correct). On the stable build, the colors seemed much better - however a lot of the text colors were not correct.

Not sure if any of this helps at all, but I really appreciate seeing someone work on this.

Also, what are the chances of having a game that relies on 8-bit color from DirectDraw natively use 32-bit color?

Thanks for the report, I will look into it (eventually....)
As for your question, since you are on Windows 10, you are already using 32-bit display color depth whether you want to or not. Lower color depths are not supported since Windows 8.1. All the 8 and 16 bit display modes are emulated - normally by Windows, or in this case by DDrawCompat. This means that your monitor uses a 32 bit display mode while the game renders to a hidden 8 or 16 bit surface, and that surface is then converted (copied) to a 32 bit surface before being displayed.
As for the game itself rendering its output in 8 bit, it's not something that can be changed by any wrapper. 8 bit display mode is quite different from the higher color depths, because it relies on a "color palette" and only stores color indices in the image buffer, rather than actual RGB color values. This also makes it possible to change what is displayed by modifying the color palette alone, without changing the image buffer itself (the color indices). This is not possible with higher color depths.
Even for something simpler like 16 -> 32 bit conversion, you'd still have to handle the cases when the application requests direct access to the image buffer, which then has to be provided in the expected format. So this would require an additional step to convert the buffer back to 16 bits, let the application read/modify it, and then convert it back to 32 bits.
In games that don't use Direct3D for rendering, this has no benefits anyway because it won't change the end result, it would just slow things down with unnecessary back and forth conversions. The case where it could have a benefit is for Direct3D rendered games, where higher color depth can improve visual quality (e.g. reduce "color banding", especially since dithering doesn't seem to be widely supported by hardware nowadays). This is something that DDrawCompat could (should) eventually support.
As for the game above, I doubt it uses Direct3D, since I think it never supported 8 bit display modes (or even if it did, it doesn't anymore). It most likely uses its own software renderer, with direct image buffer manipulation. So to change the end result you'd have to modify the game code itself.
The color issues are most likely related to incorrect palette handling in DDrawCompat. I've fixed a couple of related problems already, but it's still not quite perfect...

Correct the game uses 8-bit color. The game's color looks fine in fullscreen, but in windowed mode it has these issues presumably because in fullscreen mode it actually changes the color to 8-bit (so there's no emulation)? The game uses DirectDraw and there are some calls to Create/Realize/Select Palette functions, but it seems like this may only be used during a video sequence in the beginning of the game.
I've been modifying the game a lot, trying to track down a lot of the graphics issues now which is very hard. From what I've read and what I'm guessing, I'm assuming it's an issue where the 8-bit palette is incorrectly (or not finding) the color it needs from the system so its display "red" when it reaches this case.
In your directdraw dll, it fixes the "red pixel" problem but things like text colors and font appear different unfortunately. I know its probably impossible to wave your magic wand and fix all directdraw problems for every game - I'm just happy to see you working on this.

So my initial suspicions I think hold true, it's the palette (I've spent way more time trying to figure this out than I'd like to admit).
Here is the before:

Here is me modifying the palette which I think is "broken" (from what I described above):

Now here is the part of the palette I think is broken (starting at index 246/256):

I made it look better by copying the colors from the palette when the game is in fullscreen mode, then simply plugging the same colors into the palette when its in windowed mode. This fixes a bunch of issues, but there are still some color problems. Mainly the point of this comment was just to confirm that it appears to be a problem with the palette selection.

Why did you close the issue? I thought the palette problems are still there.

Should be fixed in latest experimental release.


Problem in ionic3

I am using this in ionic 2. Here is my code:
import { SMA } from "technicalindicators"; let r = SMA.calculate({ period: p, values: this.y });
Which gives me this error at the very beginning when I run ionic serve
TypeError: t.resolve is not a function     at Object.setNativePromise (http://localhost:8100/build/polyfills.js:3:18280)     at L.configurable.L.set (http://localhost:8100/build/polyfills.js:3:23002)     at module.exports (http://localhost:8100/build/vendor.js:41452:12)     at $export (http://localhost:8100/build/vendor.js:21403:17)     at Object.<anonymous> (http://localhost:8100/build/vendor.js:337500:1)     at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)     at Object.<anonymous> (http://localhost:8100/build/vendor.js:334898:1)     at __webpack_require__ (http://localhost:8100/build/vendor.js:55:30)     at Object.<anonymous> (http://localhost:8100/build/vendor.js:334776:1)     at Object.<anonymous> (http://localhost:8100/build/vendor.js:334785:30)

@ourarash not sure how I can help, Looks like you are using webpack, did you try this from the readme in your webpack config.
module.exports = {
  resolve: {
    mainFields: ["module", "main"]
  }
}

Yes ionic uses webpack. That  didn't seem to work. Thanks for the answer though.

@ourarash can you create a simple app which I can test, you can see if https://github.com/anandanand84/react-technicalindicators helps


Fix unicode keyword names throwing not capitalized warning

Fix #314
Miscellaneous fixes for report printing (added missing new line)

Codecov Report

Merging #322 (244d410) into master (78b8303) will decrease coverage by 1.18%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #322      +/-   ##
==========================================
- Coverage   97.68%   96.49%   -1.19%
==========================================
  Files          23       23
  Lines        1854     1854
==========================================
- Hits         1811     1789      -22
- Misses         43       65      +22

Impacted Files
Coverage Δ

robocop/checkers/naming.py
97.14% <100.00%> (-1.72%)
:arrow_down:

robocop/reports.py
100.00% <100.00%> (ø)

robocop/checkers/misc.py
92.30% <0.00%> (-5.77%)
:arrow_down:

robocop/checkers/comments.py
96.00% <0.00%> (-4.00%)
:arrow_down:

robocop/checkers/documentation.py
96.00% <0.00%> (-4.00%)
:arrow_down:

robocop/checkers/errors.py
94.73% <0.00%> (-2.64%)
:arrow_down:

robocop/utils/utils.py
96.29% <0.00%> (-2.47%)
:arrow_down:

robocop/checkers/__init__.py
90.80% <0.00%> (-2.30%)
:arrow_down:

robocop/checkers/spacing.py
96.92% <0.00%> (-1.54%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 78b8303...244d410. Read the comment docs.


Create SECURITY.md

To let the repository confirm<EMAIL_ADDRESS>as its security contact.

I'm not sure I'm interested in listing myself indefinitely for this repository. I was offering to handle the current report on a one-off basis. If that's not possible, let's wait for others to reply on the issue

Feel free to put my email address on there instead: security-2023 [at] yosh.is


Conflict between scale and drag gesture

The current GestureDetector does not allow the developer to have listeners for both drag gestures (horizontal or vertical) and scale gestures (two fingers). If you try to listen to both a scale gestures and drag gestures, you get an error message:
I/flutter (25289): Incorrect GestureDetector arguments.
I/flutter (25289): Simultaneously having a vertical drag gesture recognizer, a horizontal drag gesture recognizer, and
I/flutter (25289): a scale gesture recognizer will result in the scale gesture recognizer being ignored, since the
I/flutter (25289): other two will catch all drags.
I'm not sure why this happens, since scale is a two finger gesture, and drag is only one finger. Not being able to have both gestures recognized is problematic.

This also applies to having both a PanUpdate and a ScaleUpdate on a GestureDetector. Similar error message. The error claims that scale is a superset of pan, which may explain why scale is giving updates when there is only one pointer.

Pan is basically the combination of horizontal and vertical scrolling (and as such, is meaningful even when only a single touch point is active). Similarly, as the error says, scale is a superset of pan, so you can't usefully have both (one would always win over the other).

That doesn't make sense to me. Why did we build "scale" so that it was active for a single touch point? Scale should require two touch points. If there is some big implementation reason, it is totally not clear from the documentation.
Also, the way it is implemented now, there is a conflict. There is no way to tell if a ScaleUpdate with a scale of 1.0 is a pan (one finger) or a scale (two fingers). Would it really have been difficult to include a field that indicates how many touch points are active (to differentiate between a pan and a scale)?
And while we're at it, include a field in the ScaleUpdate callback that gives a rotation value?

Scale is a superset so that you can put one finger down, pan, then without lifting that finger put a second down and switch to zooming. If it only worked for two fingers, then putting one finger down would trigger the pan, the pan would win the gesture arena, and then the second finger would be ignored (because the pan gesture ignores subsequent fingers, like most gestures).
I don't really understand the difference between a pan or a scale of 1.0 with a shifted focal point. Can you elaborate on that?
I see you filed https://github.com/flutter/flutter/issues/13103 for the rotation issue.

Pan only moves an object. Scale changes its size. They are completely different gestures.
As I said in the original issue, if the user is scaling and scales the scene to (say) 2.0, then lifts up their fingers but one finger comes up before the other (which happens most of the time) then the scale gets reset back to 1.0. This is (needless to say) extremely annoying.

Ah, yeah, that's definitely a bug.

Is this the right issue to track the specific issue of the scale switching back to 1.0 when the user releases all but one touch point, or would you like to track that in a separate issue and leave this one for the conflict between pan and scale?

Doesn't matter to me as long as it gets fixed.
On Mon, Nov 20, 2017 at 4:55 PM, Ian Hickson<EMAIL_ADDRESS>wrote:

Is this the right issue to track the specific issue of the scale switching
back to 1.0 when the user releases all but one touch point, or would you
like to track that in a separate issue and leave this one for the conflict
between pan and scale?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-345880939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADEtfN7lZQVDyKQA-ClPiqgE0vsUrc_ks5s4h-LgaJpZM4QkuV6
.

I think the best solution to this would be twofold:
First of all, stop triggering onScaleUpdate when only one finger is down. Trigger onPanUpdate instead.
Second, return more information in scaleUpdateDetails. It would really help to get the position of both contact points, not just the focal point.

Grandcentrix reports they will be using the scale gesture, so this should be fixed soon.

An eap customer reports they will be using the scale gesture, so this should be fixed soon.

I think the best solution to this would be:
First, stop triggering onScaleUpdate when only one finger is down. Trigger onPanUpdate instead. This would require allowing onPanUpdate and onScaleUpdate to both be specified for a GestureDetector.
Alternatively, return information in scaleUpdateDetails that indicates whether this is a pan or a scale update. I don't like this because it means the onScaleUpdate property is misnamed, since it returns both scale and pan updates.
Second, return more information in scaleUpdateDetails. It would really help to get the position of all contact points, not just the focal point. Or return information for rotation.

@wmleler

Pan only moves an object. Scale changes its size. They are completely different gestures.

For my pinch-to-zoom plugin, pan and scale are treated equivalently so that it feels like you're literally stretching the image out. So there's at least my specific use-case.

As I said in the original issue, if the user is scaling and scales the scene to (say) 2.0, then lifts up their fingers but one finger comes up before the other (which happens most of the time) then the scale gets reset back to 1.0. This is (needless to say) extremely annoying.

I'm storing the scale myself and using ScaleUpdateDetails.scale as a multiplier for a single gesture. So a multiplier of 1.0 (when it resets) does nothing. It'd be more convenient if the scale was persistent and stored by the GestureDetector, but it still works.

Today a scale gesture detector reports onScaleUpdates with a 1.0 scale factor when the user has only one finger down. Somewhat counter-intuitively this allows you to use scale callbacks for panning.
I agree with @wmleler that the best option would be to dissociate the two gestures by e.g. allowing the ScaleGestureRecognizer to trigger both scale and pan updates, such that from the point of view of the caller it looks like the gestures are independent.
@Hixie do you think this is a good approach? I could tackle this issue next.

@wmlerer, could you explain why the Flutter GestureDetector needs to mirror the Android gesture detector?

For the same reason why the Android gesture detector has to do it that way.
On Thu, May 2, 2019 at 12:14 PM Matthew Cliatt<EMAIL_ADDRESS>wrote:

@wmlerer, could you explain why the Flutter GestureDetector needs to
mirror the Android gesture detector?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-488795566,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMJNPFXNQHK7CQPAQLO4DPTM4P3ANCNFSM4EES4V5A
.

Forgive my ignorance, these may be silly questions, but:

Why does the Android gesture detector have to do it that way?
And why couldn't (or shouldn't) Flutter catch both and map the behavior to expose it as it's described above?

Sorry, I'm not allowed to discuss this.
On Sat, May 4, 2019 at 12:18 PM Matthew Cliatt<EMAIL_ADDRESS>wrote:

Forgive my ignorance, these may be silly questions, but:

Why does the Android gesture detector have to do it that way?
And why couldn't (or shouldn't) Flutter catch both and map the
behavior to expose it as it's described above?

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-489357041,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMJNNM2UNOAKB7IF4HG7DPTXOPVANCNFSM4EES4V5A
.

I assume the same would go with anyone familiar with the matter?

I can't say.
On Sat, May 4, 2019 at 1:12 PM Matthew Cliatt<EMAIL_ADDRESS>wrote:

I assume the same would go with anyone familiar with the matter?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-489361812,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMJNL5QH4CNP7XC2BLOMDPTXU4PANCNFSM4EES4V5A
.

My problem with this is: When I use onScale* events I cannot use onPan* events. It took me a while to figure out that I indeed CAN handle drag events in this situation, but only through onScale* events ...
It's quite unintuitive for me. The "scale" is done with two fingers, "drag" with only one, so how in the world can they collide?
So. Ok, you have some reasons for this, and you cannot discuss it with us - but someone please try to look at this with the eyes of a newcomer and make those "your event handlers collide" exceptions more explanatory or something.

If you read my original issue, you know that I agree with you. Sorry!
On Mon, May 6, 2019 at 12:51 AM Tomáš Zvěřina<EMAIL_ADDRESS>wrote:

My problem with this is: When I use onScale* events I cannot use onPan*
events. It took me a while to figure out that I indeed CAN handle drag
events in this situation, but only through onScale* events ...
It's quite unintuitive for me. The "scale" is done with two fingers,
"drag" with only one, so how in the world can they collide?
So. Ok, you have some reasons for this, and you cannot discuss it with us

but someone please try to look at this with the eyes of a newcomer and
make those "your event handlers collide" exceptions more explanatory or
something.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-489535363,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMJNPMFDD4S3Q2IX7QDYDPT7PO7ANCNFSM4EES4V5A
.

I did read it :-/ I'm just suggesting that you should change the error message and explain to the API user that he can handle drag events though scale events. I'm not asking you to change the API. Just the error message - or something like that.

Not my call.
On Tue, May 7, 2019 at 11:28 AM Tomáš Zvěřina<EMAIL_ADDRESS>wrote:

I did read it :-/ I'm just suggesting that you should change the error
message and explain to the API user that he can handle drag events
though scale events. I'm not asking you to change the API. Just the error
message - or something like that.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/13101#issuecomment-490202304,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMJNOUSUJHWMQINOV74ETPUHC6DANCNFSM4EES4V5A
.

I'm not sure why this issue was closed - a bug was identified where scale switches back to 1.0 when the user releases all but one touch point, but there is no fix or workaround identified?

I'm not sure why this issue was closed - a bug was identified where scale switches back to 1.0 when the user releases all but one touch point, but there is no fix or workaround identified?

I'm not sure why this issue was closed - a bug was identified where scale switches back to 1.0 when the user releases all but one touch point, but there is no fix or workaround identified?

You can track your issue at #13102

I'm not sure why this issue was closed - a bug was identified where scale switches back to 1.0 when the user releases all but one touch point, but there is no fix or workaround identified?

You can track your issue at #13102


feature request: export additional features to promote extension/usage

At a minimum, I think it might be useful to just export the BlinkStick class. i.e.
blinkstick.js:
...
module.exports = {
   ...
   BlinkStick: BlinkStick
};
...

The cats meow would be to attach the finding functions as static functions on the class so they travel with any class that might extend your export, and then just export the class.
Just an idea! If I find some free time to implement this, I will submit a PR from my fork. Just have to find time...

Another item which might be useful to export would be the map of color-names to color codes (and the function for converting color codes to rgb data).


Cannot free memory from loaded model unless a builder is created

I found out that calling whisperFactory.Dispose() does not free the memory taken by the loaded whisper model unless the contextLazy.Value is accessed (from Builder).
seems contextLazy is a little too lazy in this case:

Simply switching to if (contextLazy.Value != IntPtr.Zero) does the trick but I'm not sure whether it defeats the purpose of lazy init.
minimal repro:
void Test() { using var whisperFactory = WhisperFactory.FromPath("model.bin"); }

Hello @Lyrcaxis ,
Indeed, it seems there is a problem as we also use "eager initialization". The Lazy<> is used only if delayInitialization is explicit when the factory is created.
Preparing a fix now.

Fix was merged and released as 1.7.2


docker ci

[x] mirror iroh repo via submodule in a gitlab repo
[x] setup "basic" (using quickstart instructions) Docker image build and publish to gitlab container reg
[ ] setup full build from source on each push to main

Pipelines working :tada:
Resulting images in the Container registry

@b5  you mentioned wiring up to ci but @tennox and i also notice there is some serious ci going on already...
the ci build and publish to aws is already working, right?
i think that means the third task on this is already taken care of in github, right?


ScheduleMessage without URI does not work

In this code https://github.com/MassTransit/MassTransit/blob/73cb8ee37b07c7ff2e166f9758f54fb467f4cc39/src/MassTransit.QuartzIntegration.Tests/ScheduleMessage_Specs.cs
If you add this test for the overload that does not need a URI
        [Test]
        public async Task Should_get_both_messages_withoutUri()
        {
            await Bus.ScheduleMessage(DateTime.Now, new FirstMessage());

            await _first;

            await _second;
        }

How is it supposed to work.  My understanding is this will publish the message to Rabbit Url the current bus is using.  However, it actually publish the message to the non-durable queue created by the bus.  That would not be a 'publish', but rather a send.

Note, I think the overload for ScheduleMessage that does not require a URI parameter was really meant to be used from the Context of a consumer??  However, it is of course 'callable' from IBus and no reason it couldn't/shouldn't work from IBus is there?
Could either use the Host address of the IBus or the Uri set by UseMessageScheduler() configuration method?

So, this is a version of ScheduleMessage that just publishes the ScheduleMessage command instead of sending it to the known endpoint address.
Some people don't want to configure the scheduler address, so the message is published instead. If there is no scheduler, it obviously goes into the bit bucket.
There is a separate extension for RabbitMQ users, SchedulePublish, which actually schedules a message to be published using the exchange conventions for message publishing.

Wow...so I need SchedulePublish then...
So, with schedulemessage - it publishes the command...instead of sending it right to the quartz consumer queue.   That is way confusing...sounds like I should add some docs on the site for this.
Not sure if relevant or not, but in my consumer, if I do Context.ScheduleMessage with or without the URI passed, I got an error
MassTransit.RabbitMqTransport.RabbitMqAddressException: The queue name must not be null or empty
at MassTransit.RabbitMqTransport.RabbitMqAddressExtensions.VerifyQueueOrExchangeNameIsLegal(String queueName)
at MassTransit.RabbitMqTransport.RabbitMqAddressExtensions.GetReceiveSettings(Uri address)
at MassTransit.RabbitMqTransport.Configuration.Builders.RabbitMqBusBuilder.CacheDurationProvider(Uri address)
at MassTransit.Transports.SendEndpointCache.GetEndpointCachePolicy(ICacheExpirationSelector selector)
at MassTransit.Util.Caching.LazyMemoryCache2.Get(TKey key)    at MassTransit.Transports.SendEndpointCache.<GetSendEndpoint>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at MassTransit.Serialization.BaseConsumeContext.<GetSendEndpoint>d__53.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at MassTransit.Context.ConsumeMessageSchedulerContext.<ScheduleSend>d__71.MoveNext()

SchedulePublish requires an ISendEndpoint.  It is not available from IBus or ConsumeContext.  So I am confused again...

There are honestly too many overloads here, and none of them are easy to differentiate.
When you're in a message consumer, there should be a consistent set of methods for scheduling sends (or publishes, if you're using RabbitMQ or Service Bus) from the ConsumeContext, and it should leverage the .UseMessageScheduler() extensions that are configured on the bus instead of requiring any configuration or dependencies.
The rest should just flat out be obsoleted.

Really need to merge this with #429

I'm going to release v3.3.0 with all the new scheduler extensions soon, if you could review the develop branch for completeness before the release that would be great.

So all these extensions are done, I'd like to close this as "finished."

We have not upgraded to latest yet, but I say for now call it done and if there is something else, will open another ticket.


chore(master): release 2.0.9

:robot: I have created a release beep boop
2.0.9 (2024-12-10)
Dependencies

deps: update ansible/ansible-lint action to v24.12.0 (#55) (03b94a5)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.0.9
:sunflower:


Update documentation with image

Added image to clearify how PyStageLinQ is used.
Also updated the readthedocs config files.

/fast-forward


GOG Library Extension - Unable to Authenticate

Describe the bug
Playnite alerted me that the GOG extension (Version 2.18) was not authenticated.  When I attempt to view the extension properties and click the Authenticate button nothing happens.
To Reproduce
Have Playnite version 10.32 installed and the GOG library add-on installed and attempt to authenticate.
Screenshots

Diagnostics ID
558cf6e4-2514-4a5a-94cb-85b5126878bd

Looks like it's related to site maintenance.

#361


Add stm32l4+ dmamux bindings

Add dmamux device tree bindings for stm32l4+ soc

@erwango @FRASTM I removed the commit that changes Kconfig stuff and kept only the dts related.
Now it is somewhat dependent on #31163. I think that if the dts stuff are fixed in #28080 before my PR can be merged, than it is better to be merged there to avoid annoying rebasing. Is that ok?

@erwango @FRASTM I removed the commit that changes Kconfig stuff and kept only the dts related.
Now it is somewhat dependent on #31163. I think that if the dts stuff are fixed in #28080 before my PR can be merged, than it is better to be merged there to avoid annoying rebasing. Is that ok?

Ok for me

Ok for me

@lowlander , thanks for the review.
So we'll try go get this one merged first, then merge https://github.com/zephyrproject-rtos/zephyr/pull/28080 and finally https://github.com/zephyrproject-rtos/zephyr/pull/31163

@lowlander , thanks for the review.
So we'll try go get this one merged first, then merge https://github.com/zephyrproject-rtos/zephyr/pull/28080 and finally https://github.com/zephyrproject-rtos/zephyr/pull/31163

@lowlander , thanks for the review.
So we'll try go get this one merged first, then merge #28080 and finally #31163

Sounds like a plan :-)

@lowlander , thanks for the review.
So we'll try go get this one merged first, then merge #28080 and finally #31163

Sounds like a plan :-)


Calculate RiseTransitSet based on timezone

When calculating RiseTransitSet we need to have a base date. Resulting rise, transit, set values are from a time range of (base date ..< base date + 24h).
Currently the base date is calculated like this:
    private lazy var riseTransiteSetTimesDetails: RiseTransitSetTimesDetails = {
        [unowned self] in
        let midnight = self.celestialBody.julianDay.midnight

Let's say we'd like to print moonrise/moonset for year 2017 in Sydney. Even if we pass correct dates (midnights by Sydney timezone) to let moon = Moon(julianDay: JulianDay(date)) we will still get wrong result because we discard local midnight in our code and so we'll return rise/set for 24h window based on GMT.
This code:
    func testPrintMoonriseMoonset() {
        let sydney = GeographicCoordinates(positivelyWestwardLongitude: Degree(.minus, 151, 12, 0), latitude: Degree(.minus, 33, 52, 0), altitude: Meter(0))

        var gregorianCalendar = Calendar(identifier: .gregorian)
        let timeZone = TimeZone(identifier: "Australia/Sydney")!
        gregorianCalendar.timeZone = timeZone
        let dateComponents = DateComponents(timeZone: timeZone, year: 2017, month: 1, day: 1)

        var date = gregorianCalendar.date(from: dateComponents)!

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "d MMM, HH mm ss, z", options: 0, locale: nil)
        dateFormatter.timeZone = timeZone

        for _ in 1...365 {

            let moon = Moon(julianDay: JulianDay(date))

            let riseTransitSetTimes = RiseTransitSetTimes(celestialBody: moon, geographicCoordinates: sydney, riseSetAltitude: 0.125)

            let riseString = riseTransitSetTimes.riseTime != nil ? dateFormatter.string(from: riseTransitSetTimes.riseTime!.date) : "----"
            let setString = riseTransitSetTimes.setTime != nil ? dateFormatter.string(from: riseTransitSetTimes.setTime!.date) : "----"
            print("rise: \(riseString) | set: \(setString)")

            date = gregorianCalendar.date(byAdding: .day, value: 1, to: date)!
        }
    }

Prints:
rise: Jan 1 08:18:48 GMT+11 | set: Dec 31 21:25:11 GMT+11
rise: Jan 2 09:16:49 GMT+11 | set: Jan 1 22:07:07 GMT+11
rise: Jan 3 10:16:11 GMT+11 | set: Jan 2 22:46:33 GMT+11
rise: ---- | set: Jan 3 23:24:09 GMT+11
rise: Jan 4 11:16:39 GMT+11 | set: Jan 5 00:00:51 GMT+11
rise: Jan 5 12:18:14 GMT+11 | set: Jan 6 00:37:43 GMT+11
rise: Jan 6 13:21:14 GMT+11 | set: Jan 7 01:15:56 GMT+11
rise: Jan 7 14:25:51 GMT+11 | set: Jan 8 01:56:48 GMT+11
rise: Jan 8 15:32:00 GMT+11 | set: Jan 9 02:41:35 GMT+11

Notice how rise and set are usually in different dates by Sydney time.
This is how it should look instead.

One option would be to remove:
let midnight = self.celestialBody.julianDay.midnight and just use JulianDate itself, but then we would loose the ability of running code that asks for moonrise/moonset for a local time with hours and minutes, without caring to convert it to local midnight.
Therefore I have opted to use localMidnight(timeZone:) to solve this. Note that although we already have localMidnight(longitude:) it does not fully solve the problem because there are differences between midnight calculated based on longitude vs midnight calculated based on time zone.

BTW I've used moonrise/moonset in the example because those change more rapidly from day to day than sunrise/sunset or dawn/dusk.

This is great again, thanks for checking this in details! Again, once we settle the discussion about midnight in #54, I'll happy to merge that work.

Quick note: this isn't settled yet, but I'm still on it. I have tracked down (and down and down...) the problem of rise transit and set times. And it seems, somehow, I don't get right the equatorial coordinates for the date. I'll be in vacations for some time, but I'll be back!

I found the root cause of our problems. I was computing equatorial coordinates of solar system objects based on ecliptic coordinates. But not "normal" (geocentric) ecliptic coordinates, rather the heliocentric ones! I didn't know those latter coords existed anyway.
I had to change a bit the CelestialBody protocol, and I managed to make all tests pass. However, some of them with an accuracy that is not satisfactory. I can't do more for now, as I am leaving for a few vacations. But I am relieved this important issue is solved.


[DSP] Item/s Option.

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

Most of the game has a default of items per second, there are a few items listed as item per minute.  The math can get fuzzy having to switch between I/M and I/S.

Describe the solution you'd like

Add a dropdown item selection for Items/s

So you can already switch to display rates per second in the settings, are you basically wanting to override the settings based on picking either items/s or items/m in the drop-down?

@norsehealer please let me know if this is still necessary considering you can choose display rate in settings (per second, per minute, or per hour). Otherwise I will close this issue.

So you can already switch to display rates per second in the settings, are you basically wanting to override the settings based on picking either items/s or items/m in the drop-down?

sorry, i'm use to forums that give a notification and easy access to get to the thread (still working on learning github despite being here a while).
i didnt know there was a settings, and i see now there's a rate per second.  i just figured it was at the top where the item/m was.
i apologize about this.

@norsehealer that's ok! I'll consider maybe putting that drop-down in a more obvious place, maybe next to products, just to make it easier to find.

@norsehealer that's ok! I'll consider maybe putting that drop-down in a more obvious place, maybe next to products, just to make it easier to find.

i dont think it would hurt if it could be an option under or above the Item/m you have on the main page. but i'm sure a great design decision will be made.

Reopening this since I am addressing it in a PR, even if it is addressed in a different way than requested.


运行时出现错误

2023-04-19 14:17:53.241788: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable TF_ENABLE_ONEDNN_OPTS=0.
2023-04-19 14:17:53.291639: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-04-19 14:17:54.054049: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
File "replace_anything.py", line 77, in
masks, _, _ = predict_masks_with_sam(
File "/home/Inpaint-Anything/sam_segment.py", line 23, in predict_masks_with_sam
sam = sam_model_registrymodel_type
File "/home/Inpaint-Anything/segment_anything/segment_anything/build_sam.py", line 15, in build_sam_vit_h
return _build_sam(
File "/home/Inpaint-Anything/segment_anything/segment_anything/build_sam.py", line 105, in _build_sam
state_dict = torch.load(f)
File "/opt/miniconda3/envs/Inpainting/lib/python3.8/site-packages/torch/serialization.py", line 809, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "/opt/miniconda3/envs/Inpainting/lib/python3.8/site-packages/torch/serialization.py", line 1172, in _load
result = unpickler.load()
File "/opt/miniconda3/envs/Inpainting/lib/python3.8/site-packages/torch/serialization.py", line 1142, in persistent_load
typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location))
File "/opt/miniconda3/envs/Inpainting/lib/python3.8/site-packages/torch/serialization.py", line 1112, in load_tensor
storage = zip_file.get_storage_from_record(name, numel, torch.UntypedStorage)._typed_storage()._untyped_storage
RuntimeError: PytorchStreamReader failed reading file data/11: invalid header or archive is corrupted
应该如何解决？还有一个问题，那个big-lama是把链接里面两个文件都放在pretrained_models里面吗？

1）可能是你的tensorflow，tensorrt没安装对，如果是在GPU上运行用conda install tensorflow-gpu
2）那里面的models和config都要下下来

I assume the author has fixed the issue and close it.