Consider exposing OS specific event

In #983 I initially gave the user read only access to the OS event, that is kevent/epoll_event, etc. This is an issue to gather feedback whether or not this should be exposed or not.

This can be delayed until after v0.7, as it will be additional API and likely not breaking API.

After pr #1430, we're not doing this. However do want a way to expose the additional information.

After pr #1430, we're not doing this. However do want a way to expose the additional information.

Not doing this for now. I still think it would be useful, but it would require a libc v1, which seems far off at the moment.


"requested tags are invalid or not permitted" with scoped OAuth Clients and 2 or more tags approved for this client

Describe the bug
When you're trying to create resource tailscale_tailnet_key using scoped OAuth Client, with more than 1 allowed tag, but you create tailscale_tailnet_key only for 1 tag, you receive error requested tags are invalid or not permitted
When you use API access tokens or OAuth Client with only 1 allowed tag tag:test_tag, you get no errors.
To Reproduce
Steps to reproduce the behaviour:

Create OAuth Client with Devices read\write permissions with allowed two tags tag:test_tag, tag:test_tag_2
Export TAILSCALE_OAUTH_CLIENT_ID and TAILSCALE_OAUTH_CLIENT_SECRET to env
Use this terraform code to create tailscale_tailnet_key resource

provider "tailscale" {
     tailnet = "yours-tailnet"
     scopes  = ["devices"]
}

resource "tailscale_tailnet_key" "this" {
     reusable      = true
     ephemeral     = true
     preauthorized = true

     recreate_if_invalid = "always"

     tags = [
       "tag:test_tag"
     ]
}

Try to apply this code
Get an err requested tags [tag:test_tag] are invalid or not permitted

Expected behaviour
tailscale_tailnet_key created
Desktop (please complete the following information):

OS: Linux
Terraform Version: 1.3.4
Provider Version: Tested and reproduced on both 0.16.2 and 0.17.1

Hey @artmakh !
Clarification on this behaviour from our knowledge base:

When you create an OAuth client with the scope devices, you must select one or more tags, which can be any tag or set of tags in your tailnet. Auth keys created with this client must have those exact tags, or tags owned by the client's tags. Additionally, these tags need to be specified in the API call.

This means that if you have something like the following in the policy file:
"tagOwners": {
  "tag:test-tag": ["autogroup:admin", "autogroup:owner"],
  "tag:test-tag-2": ["autogroup:admin", "autogroup:owner"],
}

and both test-tag and test-tag-2 were added to the OAuth client when it was created, then the tags section on tailscale_tailnet_key must include both test-tag and test-tag-2.
What you might want to be doing here instead if you want to be able to specify either test-tag or  test-tag-2 in the tags for tailscale_tailnet_key is have something like the following in the policy file:
"tagOwners": {
  "tag:main":  ["autogroup:admin", "autogroup:owner"],
  "tag:test-tag": ["autogroup:admin", "autogroup:owner", "tag:main"],
  "tag:test-tag-2": ["autogroup:admin", "autogroup:owner", "tag:main"],
}

and then add tag:main to the OAuth client you are using. This scenario is allowed as both test-tag and test-tag-2 are owned by tag:main.
With all that being said: the error message here is definitely confusing. Will take a look into this on our end.


Error in extract_vision_keys

Thanks for your awesome work, but there is something wrong when I run the extract_vision_keys.py:
in line 139:
dset = h5_file.create_dataset("keys", (len(saved_img_paths), last_dim)) in extract_vision_keys.py, it reports
OverflowError: can't convert negative value to hsize_t.
Do you have any idea about solving this error? I would be quite appreciated for your early reply.

I didn't use all the datasets so there are some empty folders.


[Bug] The cursor will jump to other paragraph when type spreadsheet title

repo step

add paragraph, typing anything
add spreadsheet
typing spreadsheet title and click next paragraph quickly
the cursor will jump to the end of the first paragraph

repo video: https://www.loom.com/share/dc01f3d13022466a888c2b2332b7ae2a

@aligo Does that still happen after https://github.com/mashcard/mashcard/pull/45?


New Contributor

Added Chibuzor Eze-nwosu in Team of Marketing as Blog Writer.

Closing this as the member has been already added by another PR.

Closing this as the member has been already added by another PR.


GH-39489: [C++][Parquet] Revert #39491 and add timestamp behavior to doc

Rationale for this change

This patch revert change in https://github.com/apache/arrow/commit/c752bdb08b1efae467b81a026b06a92cc571497f , and update the document for timestamp casting
What changes are included in this PR?

Revert https://github.com/apache/arrow/commit/c752bdb08b1efae467b81a026b06a92cc571497f
Update the timestamp document

In (1), the comment updated is not reverted.
Are these changes tested?

Already
Are there any user-facing changes?
no

Closes: #39489

I'm also ok to adding flags here

Let's keep the discussion in one place? And try to first resolve the question of whether this revert or option is needed there -> https://github.com/apache/arrow/issues/39489

Close this patch first, would repick if required


radar and  Stacked Bar Charts

Hi,
How can I create radar and stacked bar charts using this plugin?

Check out CanvasJS official documentation for list of supported chart-types & customization options available in the library. As of now, radar chart is not supported by CanvasJS, as per documentation.
Closing the issue as this is not an issue in the plugin.

[canvasjschart options="{title:{text: 'CanvasJS Column Chart'}, data: new Array({type: 'stackedBar',dataPoints: new Array({ label: 'apple', y: 10 },{ label: 'orange', y: 15 },{ label: 'banana', y: 25 },{ label: 'mango', y: 30 },{ label: 'grape', y: 28 })},{type: 'stackedBar',dataPoints: new Array({ label: 'apple', y: 10 },{ label: 'orange', y: 15 },{ label: 'banana', y: 25 },{ label: 'mango', y: 30 },{ label: 'grape', y: 28 })})}" style="width:100%;height:360px"]
Checkout https://github.com/vishwas-r/WP-CanvasJS/wiki/Chart-Types#5-stacked-bar-chart


List of sensor names for different destinations

Fully document the sensor names used when upload data to different destinations.

Also include details of the unit of measure for each sensor and perhaps some simple conversion equations to allow users to convert them into different unit.


FRQ1 Week 13 Review Ticket

Score: /3
Complete/Enhance and Methods in APCalendar
Enhance APIs and @RESTController - Work With all POJOs and Methods in APCalendar
Testing API Using Curl

Testing API Using Browser
Testing API Using Postman

2.7


Execute complex request hierarchies

With this commit we add the ability to Rally to execute arbitrarily complex
request hierarchies in benchmarks. This is implemented with a new composite
operation type. It allows to nest multiple so-called streams which are executed
concurrently. At the moment, the request hierarchy needs to be specified inline
in the track. It is recommended to store more complex request hierarchies in a
separate file and include it with Jinja's include directive.
Apart from this change, we also align the internal mapping of operation-type
names to OperationType enumeration constants. This is mainly done to simplify
usage and implementation of the Composite runner as it can directly use the
operation-types that are specified in the track rather than converting them
internally.

Note to reviewers: I have added the following snippet to test a more complex operation in the geonames track:
{
          "name": "load-geonames-search-page",
          "warmup-iterations": 200,
          "iterations": 100,
          "operation": {
            "operation-type": "composite",
            "requests": [
              {
                "stream": [
                  {
                    "operation-type": "raw-request",
                    "path": "/geonames/_search",
                    "body": {
                      "query": {
                        "bool": {
                          "must": {
                            "query_string": {
                              "query": "Java Performance"
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "operation-type": "sleep",
                    "duration": 2
                  }
                ]
              },
              {
                "stream": [
                  {
                    "operation-type": "raw-request",
                    "path": "/geonames/_search",
                    "body": {
                      "query": {
                        "term": {
                          "country_code.raw": "AT"
                        }
                      }
                    }
                  }
                ]
              }
            ]
          }
        }


Updated *Ir Yût names in itemDefs, and damage type display

Updated * Ir Yût weapon names in itemDef.json, and the damage type listing.

i need to update my itemdefs exporter
i'll copy in the var dmgName = ['na','kinetic','arc','solar','void'][item.damageType]; change though, thanks


Updating readme from example branch

Update
I updated the readme file. Please review and accept.

Thoughts
I probably shouldnt, but okay. 👍


Move config/commands.js to chat-plugins

config/commands.js moved to chat-plugins/info.js.
/help and /a moved to commands.js.
/lobbychat removed entirely.
/help refactored so that command help information can be written next to the commands themselves. This means that commands.js will not have to be modified at all for adding custom commands and can remain for core functionality online.
API documentation moved to chat-plugins/COMMANDS.md.

Why? This is almost core functionality for PS.

@codelegend and Zarel both felt that the data searching commands were taking up a tremendous amount of space (almost half now) of the config/commands file. The commands remaining in the file are for fundamentally different purposes so this could help with organization. I only put them in chat-plugins/ because that is the easiest solution (doesn't require changing the command-parser).

I'd rather move avatars, bofrocket, showtan, cpgtan, roll and pickrandom...
Furthermore, if we deem data et al. as plugin commands, it would be only logical to remove their help entries from config/commands.js

config/commands.js is sort of an awkward file.
It used to make more sense, but nowadays we have three places for commands: commands.js, config/commands.js, and chat-plugins/. We might want to remove config/commands.js entirely; move /help into commands.js and everything else into chat-plugins/info.js or something

There are a few commands besides /help that I think would make sense in commands.js such as /spammode, /register, /lobbychat, and /a.

We still have a /lobbychat command? We can probably remove it at this point, I only left it in for backwards compatibility and I don't think anyone uses it anymore.

/spammode does literally nothing without specialized config.js changes, which are documented in comments near its implementation, so I think it makes more sense as a plugin.

/register is just a link to the register page; I'd classify it the same way as any other informational command.
That leaves /a, which I guess we can put in commands.js.

I don't know if you actually want to use this pullreq as the way to reorganize the files, but I figured I'd rebase to your description to at least have some visual point for discussion.
/a and /help moved to commands.js
/lobbychat removed entirely
All other commands in config/commands.js moved to chat-plugins/info.js

why cant help go into chat-plugins/info.js?
It makes more sense there, coz it gives info. And commands.js is mostly only for commands of core functionality to the server?

We still have a /lobbychat command? We can probably remove it at this point, I only left it in for backwards compatibility and I don't think anyone uses it anymore.

Speaking of unused commands, is there a reason to keep /savelearnsets?

why cant help go into chat-plugins/info.js?

Mostly because everything in chat-plugins is essentially "optional", but /help feels like a core command to me.

Speaking of unused commands, is there a reason to keep /savelearnsets?

Probably not. Although feel free to use it, it's often easier to update learnsets with console commands.

We might even want to refactor /help so command documentation can be written next to the command. Might make it easier to add commands in the future.

I agree with Zarel here, right now config/commands.js makes little sense and we should have all core commands in commands.js and the plug-in commands in the plug-in folder.
@Zarel maybe we could make a command to have an entry for its function and an informative entry that is accessed by help?

@Zarel maybe we could make a command to have an entry for its function and an informative entry that is accessed by help?

Yeah, that's what I was thinking. The informative entry might just be named <command>help, like banhelp or roomintrohelp.

So /help roomintro would run this.parse('/' + target + 'help') ?

I went ahead and implemented a /help refactor. If you want that as a separate pullreq / commit, I have backups of these files saved so I can easily revert to the previous help command.

Awesome! (And double awesome because you actually have backups of the previous state).
I'd would be better if the /help's refactor were a separate commit within this PR. Its being the first commit would be ideal, so that the commands migrated become self-contained.

With this, plugin commands are reasonably self-contained, so I no longer (futily) oppose.
Still, there are some nits if we want to be strict about their plugin character.

Tools#levenshtein is now no longer called in PS core, so it should be removed from tools.js and an equivalent added to info.js.
/data is still having the benefit of an specific client-side parsing for it.

While I can understand considering /data core functionality, I think it would be more confusing to move it away from the other data-searching commands.
Sense Tools#levenshtein is only used in trivia.js would it not be more appropriate there?

Should all the cases that automatically return help just run their help commands directly?
For example rather than use if (!target) return this.parse('/help weakness'); it could run this.parse('/weaknesshelp'); instead. It probably doesn't make enough difference functionally to matter, but I'm not sure which one has better readability in the code.

Well, Tools#levenshtein is indirectly called in /data, via Tools#dataSearch.
(Updated my list above to add this method as well)

Should all the cases that automatically return help just run their help commands directly?
For example rather than use if (!target) return this.parse('/help weakness'); it could run this.parse('/weaknesshelp'); instead.

No, keep it as /help <blah>, we can handle it.

Well, Tools#levenshtein is indirectly called in /data, via Tools#dataSearch.

Good reason to keep it in Tools imo.

Man, all you guys using <code> and ```... Why not just use `? It's rare for that to be insufficient.

Pressing more keys makes me feel like I'm working harder.

I'm not sure I like /<command>help being entire commands. Is there any reason they can't just map to strings?

I'm not sure how we would distinguish commands like /dt the way I have it set up now.
I suppose if it finds that you used an alias it can check if a help command exists for that alias first, and if it fails to find one, then change to the primary function name and search for the help for that.

I wasn't aware that I could use `

How do I fix the extra commits being added without using git reset and just making new commits?

Should I move /showtan, /bofrocket, and /cpgtan to their own file? They don't really make sense in info.js because it's no longer just a miscellaneous commands file.

I suppose if it finds that you used an alias it can check if a help command exists for that alias first, and if it fails to find one, then change to the primary function name and search for the help for that.

Yes, that's the idea.

Should I move /showtan, /bofrocket, and /cpgtan to their own file? They don't really make sense in info.js because it's no longer just a miscellaneous commands file.

Actually, just remove them and hastebin me a file, I'll put it on the main server unversioned.

file for /showtan, /bofrocket, and /cpgtan: http://hastebin.com/iredehoxoh

Replaced use of " + "\n with \n

Okay, I think everything should be good now?

One doubt. Won't adding more keys slow down access?
Isn't the if-else structure of help faster?

I don't think the difference in speed this will cause will be very substantial and the benefit of having documentation of all the commands easily accessible outweighs the cost as far as I'm concerned.

Seems good so far. Anyone else have comments?
@Slayer95? @Joimer? @TheImmortal?

The handling of /blahhelp when commmands[blahhelp] is a string seems to be missing. In general, this is the issue of invalid/recursive aliases. Replying to the invalid alias with the mis-aliased command seems reasonable and coincides with help display.

:+1: for the help refactor
One thing I'm interested in is how it interacts with command namespaces though. It doesn't look like it handles them.

@Slayer95 I'm not sure what you're saying is causing a crash, from everything I've tried I can't find a problem. Can you provide an example?
@kotarou3 It can handle a help command for the base namespace entry, but any of the internal functions. I'm not sure what targeting syntax we'd want to give it to accommodate providing more help entries. Perhaps, to use the example listed in the API documentation, /help game play could return game.playhelp.

Oh, // To guard against command typos, we now emit an error message.
I am talking about this
< The command '/datahelp' was unrecognized. To send a message starting with '/datahelp', type '//datahelp'.```

It should instead display the actual help:

/datahelp
< /data [pokemon/item/move/ability] - Get details on this pokemon/item/move/ability/nature.
!data [pokemon/item/move/ability] - Show everyone these details. Requires: + % @ & ~

That's an easy fix, but it might be advantageous to not have the help commands return anything. Because each command does not have any help aliases it would make /<blah>help an alternative, but less functional syntax for finding help. Therefore only allowing the most functional syntax for finding help might be better.

Added support for help within namespace commands, even though that's not being used anywhere.

I'm fine with SolarisFox's approach, although we may want to use arrays to make it easier to distinguish an alias from a help line. Or we can change the key to be something invalid in a command, like idk "help data"

If they were arrays each line could be an element of the array and then .join('\n') could be used instead of actually having the \n characters in the strings themselves.

I like arrays

how about this format:
consider the command data: data: {command: function (...) {...}, help: '...', aliases: [...]}
So, to execute the command, its something like commands['data'].command
For a help command, if (command.substr(-4) === 'help') send(commands[command.substr(0, len - 4)].help

@codelegend, that format is too complex and I don't think V8 represents data efficiently enough for that to be preferable.

Switched over to arrays. I actually like how it looks for multi-line entries now.

With this we can now support /<blah>help and /<blah_alias>help :3

Alright I think this is almost done.

I'm not sure what you want me to do with the commits because there's so much being changed in here.
I tried to use roughly the same formatting as Protocol-doc.md

It seems that Travis CI doesn't want to work for this pullreq anymore. Anybody know how to fix?

Let's try temporarily removing COMMANDS.md (keep it backed up somewhere) and see if that changes anything?

Doesn't look like it? I'll try again but revert the commits instead of just removing it as a commit.

No it still fails. It started having problems with f9ee71c. All I did on that rebase was re-word a few things in the API while it was still in commands.js So I'm not really sure what would have broken it there?

I'll try manually merging and seeing if that helps.

Want me to add COMMANDS.md back in then?

Yeah,.

Okay done.

why can't we name COMMANDS.md just readme.md??

Slayer fixed Travis! :D

What was the problem?

why can't we name COMMANDS.md just readme.md??

I like to be specific about exactly what the file is documenting.

I'll try to paraphrase him:
"I'm not quite sure what was wrong, I just cleared the cache twice. At some point the gulp file for master got corrupted and then it corrupted your branch when you pulled it to rebase. To fix the problem I re-installed gulp on master, and then re-installed gulp on your branch."

Okay, well, rebase time!

I'll rebase when I get home in about 4 hours.

I don't quite like that paraphrasis though... For future reference:
[01:42] &Slayer95: I just cleared cache
[01:42] &Slayer95: twice
[01:42] +SolarisFox: Lol.
[01:42] +SolarisFox: "If hitting it doesn't work, hit it harder."
[01:45] &Slayer95: yea I think master's cache corrupted yesterday, and it also corrupted your PR
[01:45] &Slayer95: so I cleared your PR cache and restarted the build last night, but that didn't fix it
[01:45] &Slayer95: afterwards I cleared master's cache and that didn't fix it either... probably because another corrupted cache had already been created
[01:46] &Slayer95: so now I cleared the last corrupted strain and it's finally clean

Sorry Slayer, I was half asleep when you said that and wasn't able to access showdown when I tried to recall. :'3
Anyways, updated and good to go.

Done in f12931e9fd2.

Okay I think I managed to resolve the conflicts correctly.

Okay various things fixed.


A lot of 410 Gone responses from outlook.office.com

I'm developing one of the most popular Teams integrations, and constantly seeing A LOT (thousands) of 410 Gone responses from https://outlook.office.com/webhook  on production. Retries do not help, seems like an unrecoverable error on Office365 side. Recreating connector in Teams sometimes help, but does not look a good workaround in general. Can we gather together and troubleshoot this problem somehow? I'll provide all needed details.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c0fd8e4d-f110-36f8-5bd3-db3325b14c01
Version Independent ID: 717ea854-1d3a-2c15-e495-b6f170fe7aff
Content: Using Office 365 Connectors - Teams
Content Source: msteams-platform/concepts/connectors/connectors-using.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

@crow-ua - Are those connectors still configured? If user removes the configuration, you get 410.

@Wajeed-msft The customer claims that is true, and I myself hit this problem few times too. I will follow-up with them once more to ensure we are not dealing with removed connector.
p.s. Is there any easy way to verify the connector url is still valid other than posting card to it? GET is obviously not implemented and returns 404.

Currently, only other option would be to post card, check for 410 and cleanup.
We can handle microsoftTeams.settings.registerOnRemoveHandler() and perform cleanup operations such as removing entries from a database.

@Wajeed-msft We are doing some processing that can be skipped if webhook is dead, but I guess we want to much. Any chance to add GET capability to webhook endpoints that would return 404/410 if the configuration has been removed? registerOnRemoveHandler won't help since our integration is stateless and we don't store configurations on our side.
As for originating issue, customer recreated all configurations and I can post cards to his channel just fine. Does not work for him still though.


Pylance crash when using Cursor.sh

-25 17:19:11.889 [info] [Info  - 5:19:11 PM] (3236) Pylance language server 2023.12.1 (pyright a78e2b10) starting
2024-01-25 17:19:11.891 [info] [Info  - 5:19:11 PM] (3236) Server root directory: C:\Users\pierr.cursor\extensions\ms-python.vscode-pylance-2023.12.1\dist
2024-01-25 17:19:11.892 [info] [Error - 5:19:11 PM] Server initialization failed.
2024-01-25 17:19:11.892 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:11.892 [info] [Error - 5:19:11 PM] Pylance client: couldn't create connection to server.
2024-01-25 17:19:11.892 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:14.054 [info] [Info  - 5:19:14 PM] Connection to server got closed. Server will restart.
2024-01-25 17:19:14.054 [info] true
2024-01-25 17:19:14.479 [info] [Info  - 5:19:14 PM] (16688) Pylance language server 2023.12.1 (pyright a78e2b10) starting
2024-01-25 17:19:14.479 [info] [Info  - 5:19:14 PM] (16688) Server root directory: C:\Users\pierr.cursor\extensions\ms-python.vscode-pylance-2023.12.1\dist
2024-01-25 17:19:14.484 [info] [Error - 5:19:14 PM] Server initialization failed.
2024-01-25 17:19:14.484 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:14.484 [info] [Error - 5:19:14 PM] Pylance client: couldn't create connection to server.
2024-01-25 17:19:14.484 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:14.484 [info] [Error - 5:19:14 PM] Restarting server failed
2024-01-25 17:19:14.485 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:16.643 [info] [Info  - 5:19:16 PM] Connection to server got closed. Server will restart.
2024-01-25 17:19:16.643 [info] true
2024-01-25 17:19:17.077 [info] [Info  - 5:19:17 PM] (35232) Pylance language server 2023.12.1 (pyright a78e2b10) starting
2024-01-25 17:19:17.077 [info] [Info  - 5:19:17 PM] (35232) Server root directory: C:\Users\pierr.cursor\extensions\ms-python.vscode-pylance-2023.12.1\dist
2024-01-25 17:19:17.082 [info] [Error - 5:19:17 PM] Server initialization failed.
2024-01-25 17:19:17.082 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:17.082 [info] [Error - 5:19:17 PM] Pylance client: couldn't create connection to server.
2024-01-25 17:19:17.083 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:17.083 [info] [Error - 5:19:17 PM] Restarting server failed
2024-01-25 17:19:17.083 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:19.271 [info] [Info  - 5:19:19 PM] Connection to server got closed. Server will restart.
2024-01-25 17:19:19.271 [info] true
2024-01-25 17:19:19.718 [info] [Info  - 5:19:19 PM] (5892) Pylance language server 2023.12.1 (pyright a78e2b10) starting
2024-01-25 17:19:19.718 [info] [Info  - 5:19:19 PM] (5892) Server root directory: C:\Users\pierr.cursor\extensions\ms-python.vscode-pylance-2023.12.1\dist
2024-01-25 17:19:19.723 [info] [Error - 5:19:19 PM] Server initialization failed.
2024-01-25 17:19:19.723 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:19.723 [info] [Error - 5:19:19 PM] Pylance client: couldn't create connection to server.
2024-01-25 17:19:19.723 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:19.723 [info] [Error - 5:19:19 PM] Restarting server failed
2024-01-25 17:19:19.723 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:21.886 [info] [Info  - 5:19:21 PM] Connection to server got closed. Server will restart.
2024-01-25 17:19:21.886 [info] true
2024-01-25 17:19:22.320 [info] [Info  - 5:19:22 PM] (15612) Pylance language server 2023.12.1 (pyright a78e2b10) starting
2024-01-25 17:19:22.320 [info] [Info  - 5:19:22 PM] (15612) Server root directory: C:\Users\pierr.cursor\extensions\ms-python.vscode-pylance-2023.12.1\dist
2024-01-25 17:19:22.325 [info] [Error - 5:19:22 PM] Server initialization failed.
2024-01-25 17:19:22.325 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:22.325 [info] [Error - 5:19:22 PM] Pylance client: couldn't create connection to server.
2024-01-25 17:19:22.325 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:22.325 [info] [Error - 5:19:22 PM] Restarting server failed
2024-01-25 17:19:22.325 [info]   Message: Request initialize failed with message: You may install and use any number of copies of the software only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services (collectively, the “Visual Studio Products and Services”) to develop and test your applications. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. You may not: work around any technical limitations in the software that only allow you to use it in certain ways; reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; use the software in any way that is against the law or to create or propagate malware; or share, publish, distribute, or lease the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.
Code: -32603
2024-01-25 17:19:24.485 [info] [Error - 5:19:24 PM] The Pylance server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information.

Thanks for the issue but this may be by design. Are you running Pylance in something other than the marketplace VS code? Pylance's license doesn't allow it to run in say VS codium. The error you're seeing is what happens when this is attempted.

Okay thx


python3Packages.tidalapi: fix build error; python3Packages.mpegdash: init at 0.4.0

ZHF: #309482
Description of changes
fixed tidalapi by adding missing dependecies
mpegdash was a requirement for tidalapi, so I figured we should add it to nixpkgs
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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

[x] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Oops. Didn't saw you were not a maintainer anymore. Sorry :/

Result of nixpkgs-review pr 310439 run on x86_64-linux 1

10 packages built:

mopidy-tidal
mopidy-tidal.dist
python311Packages.mpegdash
python311Packages.mpegdash.dist
python311Packages.tidalapi
python311Packages.tidalapi.dist
python312Packages.mpegdash
python312Packages.mpegdash.dist
python312Packages.tidalapi
python312Packages.tidalapi.dist


Upgrade CVAT

Hi,
I want to konw will onepanel have plan to upgrade CVAT to the latest version?
thanks!


docs: Use backticks when referencing custom command annotations, fixes #5820

The Issue
Most annotations are references using quotes, except the newest one where I was told to use backticks.
They should all use backticks - it looks silly with one being rendered differently.
How This PR Solves The Issue
Use backticks when referencing annotations for custom commands in the docs.
Remove annotations from the spelling words list, since anything in backticks is ignored for spelling checks.
Manual Testing Instructions
Take a look at custom commands page in the docs.
Automated Testing Overview

N/A
Related Issue Link(s)

https://github.com/ddev/ddev/issues/5820

Release/Deployment Notes

N/A

I'm surprised the buildkite CI is running on this - is there a way to tell buildkite to ignore PRs with a docs: prefix?

Looks like we could avoid running buildkite on docs PRs using the "Filter builds using a conditional" setting. I'd be happy to set that up if you like, looks like I have enough permissions to set that.

Thanks for this! Improvement in how the buildkite run works would be welcome. You'll see they already shortcut the tests (but have to wait to run to do it).


Migrate to Dependabot

Which area this feature is related to?
/area ci
Issue details
This issue is part of alizer#160. As mentioned inside, we have to separate the gosec and dependabot. The latter will be added in alizer after the onboarding to devfile team.
Related Issues
https://github.com/redhat-developer/alizer/issues/119
https://github.com/redhat-developer/alizer/issues/160

closing in favor of https://github.com/devfile/api/issues/1163


Do not raise error getting a non-exist tower job from a service

It is normal for example that there is no retirement playbook
cc @h-kataria

@miq-bot add_label bug
@miq-bot assign @gmcculloug
@miq-bot add_label service
@miq-bot add_label providers/ansible_tower


feat: added delayConnection and delayBody support

:tada: This PR is included in version 3.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Constraint that requires string values to be trimmed

Add a new string validation type constraint that rejects values that begin and/or end with whitespace (e.g. mustBeTrimmed). In other words, values for properties/elements with this constraint enabled must be trimmed before saving to the database. Should default to a value of false.

Addressed by #213

In fact, #213 addresses a different issue (#212)

actually addressed by #211


Run client.py on english_test.raw, empty string returned

Following the instructions, I ran the client.py to detection the speech in english_test.raw. But there is only an empty string returned. I have no idea what happened, but I think there are some details which may cause the problem:
there is nothing in the out-dir in the yaml file.
I modified the codes to make them run in Python3.
Can someone tell me where the problem is or which part of the logs should I check?

I found the error log: Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
Now I am trying to fix it....

Only the gmm model has this problem. It may caused by multi thread operations because the intel mkl library cannot be loaded if they are occupied. DNN is totally OK btw.

You can try this solution in worker.py.

from this website：
https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/748309
try this before executing:
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_def.so:/opt/intel/mkl/lib/intel64/libmkl_avx2.so:/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so:/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so:/opt/intel/lib/intel64_lin/libiomp5.so
helped me on both python and bash programs.

from this website：
https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/748309
try this before executing:
export LD_PRELOAD=/opt/intel/mkl/lib/intel64/libmkl_def.so:/opt/intel/mkl/lib/intel64/libmkl_avx2.so:/opt/intel/mkl/lib/intel64/libmkl_core.so:/opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so:/opt/intel/mkl/lib/intel64/libmkl_intel_thread.so:/opt/intel/lib/intel64_lin/libiomp5.so
helped me on both python and bash programs.

It work for me. Tks alot.


Fix unified transferor unstable unit tests

WMCore_t.Services_t.MicroService_t.Unified_t.Transferor_t.TransferorTest:testRequestManager changed from success to error
WMCore_t.Services_t.MicroService_t.Unified_t.Transferor_t.TransferorTest:testRequestManagerAutomation changed from success to failure

Can you put pointer to the actual log. The test relies on phedex data-service, so it may be fragile depending on data availability. I need to see the actual log with failure to understand the reason.

Valentin, I'm getting these failures in an opportunistic mode, since it fails from time to time. I've just found logs for testRequestManager test, this was the error:
Error Message

{'datasets': [u'/QCD_HT500to700_BGenFilter_TuneCP5_13TeV-madgraph-pythia8/RunIIF [truncated]... != {}
+ {}
- {'datasets': [u'/QCD_HT500to700_BGenFilter_TuneCP5_13TeV-madgraph-pythia8/RunIIFall17wmLHEGS-93X_mc2017_realistic_v3-v1/GEN-SIM'],
-  'name': 'req1',
-  'sites': [u'T1_US_FNAL_Disk']}

in case you want to see full logs, have a look at:
https://cmssdt.cern.ch/jenkins/view/DMWM/job/DMWM-WMCore-PR-test/lastCompletedBuild/testReport/WMCore_t.Services_t.MicroService_t.Unified_t.Transferor_t/TransferorTest/testRequestManager/
though it will vanish some time in the coming days/weeks.

Log for the second test failure:
https://cmssdt.cern.ch/jenkins/job/DMWM-WMCore-PR-test/6551/testReport/junit/WMCore_t.Services_t.MicroService_t.Unified_t.Transferor_t/TransferorTest/testRequestManagerAutomation/
also to be deleted anytime in the comind days/weeks.

Alan, Seangchan,
could you please tell me if jenkins node provides X509 environment setup?
By inspecting the log I see that
requests': {'key': None, 'endpoint':
'https://cmsweb.cern.ch/phedex/datasvc/json/prod/', 'timeout': 300,
'req_cache_path': '/tmp/.wmcore_cache_nFGG8D/cmsweb.cern.ch/.cache',
'cachepath': '/tmp/.wmcore_cache_nFGG8D/cmsweb.cern.ch', 'cert': None,
'cacheduration': 0, 'host': 'https://cmsweb.cern.ch/phedex/datasvc/json/prod/',
'capath': None, ...

so the both key and cert are set to None. It means that http calls will fail
to PhEDEx data-service since it requires certificates. But it is unclear
to me if this is the case since tests fails time to time. I also see cachepath
which may cause it. So my question is how jenkins setup cachepath and x509?
Can we run test without cachepath?
Best,
Valentin.
On  0, Alan Malta Rodrigues<EMAIL_ADDRESS>wrote:

Log for the second test failure:
https://cmssdt.cern.ch/jenkins/job/DMWM-WMCore-PR-test/6551/testReport/junit/WMCore_t.Services_t.MicroService_t.Unified_t.Transferor_t/TransferorTest/testRequestManagerAutomation/
also to be deleted anytime in the comind days/weeks.
--
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/issues/8346#issuecomment-346343204

We should mock all those phedex calls not to have unit tests calling the real data-services.
Valentin, I think it's going to be easier if Seangchan or I fix it (eventually)...

I totally agree, do you have mock class for PhEDEx?
Basically I need subscriptions API.
On  0, Alan Malta Rodrigues<EMAIL_ADDRESS>wrote:

We should mock all those phedex calls not to have unit tests calling the real data-services.
Valentin, I think it's going to be easier if Seangchan or I fix it (eventually)...
--
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/issues/8346#issuecomment-346378573

Alan, Seangchan,
I made a PhEDExMock class to imitate PhEDEx subscription by using actual phedex
data. Please have a look into https://github.com/dmwm/WMCore/pull/8359
It should fix the unit test problem here.
Best,
Valentin.
On  0, ticoann<EMAIL_ADDRESS>wrote:

Assigned #8346 to @vkuznet.
--
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/issues/8346#event-1348443258

Well, the class didn't support the group parameter which I used in my unit tests.
Therefore, I modified MockPhEDExApi code to provide this functionality and then I was able to
use it. Please review https://github.com/dmwm/WMCore/pull/8359
and let me know if you want to proceed with it.
On  0, ticoann<EMAIL_ADDRESS>wrote:

Hi Valentin, Actually Here is existing mock class
https://github.com/dmwm/WMCore/blob/master/src/python/WMQuality/Emulators/PhEDExClient/MockPhEDExApi.py#L160
And here is how to use it.
https://github.com/dmwm/WMCore/blob/master/test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py#L39
https://github.com/dmwm/WMCore/blob/master/test/python/WMComponent_t/JobSubmitter_t/JobSubmitter_t.py#L52
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/issues/8346#issuecomment-346406459

I see now. One thing is that you don't have to explicitly pass the mock PhEDEx. I will comments directly on the #8359

Seangchan,
just a reminder that you need to provide feedback directly in #8359.
On  0, ticoann<EMAIL_ADDRESS>wrote:

I see now. One thing is that you don't have to explicitly pass the mock PhEDEx. I will comments directly on the #8359
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/issues/8346#issuecomment-346482936

Closing it


Feature foxprogs bible obs save ref and card

Maybe here is not working.

@Valyukhov да, там стоит отметка work in progress


Make annotation body editor pluggable, existing TinyMCE being default choice

Intro
This change brings pluggable annotation body editor into Mirador, existing TinyMCE remains default implementation.
Motivation

Different use-cases require different data to be associated with an annotation, from rich text, tags to other references etc.
When integrating Mirador with existing complex front-end systems developers could reuse some editors that's already exist in system.
TinyMCE is complex component with it's own themes, plugins, dynamic resource loading, it's hard to package into build system like webpack, rich text editing may not be not enough reason to deal with the complexities and it's easier to use something less advanced.

Design

AnnotationTooltip - manages annotation tooltip lifecycle, controls, container for image editor
OsdSvgOverlay - service for managing annotations
TinyMceAnnotationEditor - component for viewing/editing annotation.

AnnotationTooltip
Annotation tooltip handles annotation dialog - creating, handling events, showing edit/save/cancel buttons, etc.
EditorComponent
Editor is configured on Mirador init with editor plugin name and parameters:
'annotationBodyEditor': {
  'module': 'TinyMCEAnnotationBodyEditor',
  'options': {}
},

Editor itself must have following members:
show
isDirty
createAnnotation
updateAnnotation
For more information, parameters and docs consult TinyMceAnnotationEditor.
Further development ideas
At this point minimal steps were taken to make editor pluggable. A lot of jQuery events are fired along the way, priority was not to change them, just rearrange the code. Still, something is worth improving:

Cleaner interfaces (no upgrade to edit, etc.) between layers.
Make annotation viewer part of editor to be customizable
Abstract annotation tooltip, make it pluggable to make different UIs for annotations possible
Revise/enrich event/callback system to make things like zoom to given annotation possible

@stanislavkostadinov made event-based handling of annotation body editor to replace annotation body editor interface completely #808 . Both solutions can be integrated and complement each other.

Found existing issue for that #609


Update column to null

Hello,
I'm trying to update a column to NULL with Supabase Swift Client by setting the object property to nil, but the update ignores it.
Is there a way to do it ?

That's, unfortunately, an issue with how JSONEncoder works, check this thread (https://stackoverflow.com/questions/47266862/encode-nil-value-as-null-with-jsonencoder).
Use the NullEncodable type proposed at (https://stackoverflow.com/a/62312021) as a workaround.


Provide Map.setIn()

What is the preferred way to set a nested value? I see that there is updateIn(), which kind of does what I want, but it has two problems:

It doesn't set new keys, it can only update already existing keys.
It uses an extraneous function for updating. The value I want to set is independent from the original value (undefined), so I don't need any function to determine the new value.

How would you add a new key 'd' with a single line? What's the API for this?
var mutableObject = {
  test: { test2: { a:1, b:2, c:3 } }
};
var immutableObject = Immutable.fromJS(mutableObject);

// desired mutation:
// {
//   test: { test2: { a:1, b:2, c:3, d:4 } }
// );

// with mutable objects it's very simple:
mutableObject.test.test2.d = 4;

// with immutable objects it doesn't seem to be possible:
immutableObject = immutableObject.setIn(['test', 'test2', 'd'], 4); // TypeError

@leebyron do we still need to use newMap = oldMap.updateIn(['test1', 'test2'], x => x.set('d', 4)); to add a prop to the object or how do you do this in a "cleaner" way?

Nope, after this diff landed, you can now write:
oldMap.setIn(['test1', 'test2', 'd'], 4);


Implement Change Notifications

Divide settings into:

None
One week ahead
Every change

We need an efficient algorithm for comparing the two lists.

Solution is to use maps (<GregorianCalendar, ArrayList> divided via weeks) instead of bare lists. Then compare algorithm should only check correlating weeks.

HashMap<GregorianCalendar, ArrayList> won't work because Mo 05.06.2017 00:01 and Mo 06.06.2017 00:00 don't have the same hash.

Awaiting #34.

Basic implementation done. See closed beta.


Fix an error on SSL config reload (plus some cleanup). (#9334)

Fix an error on SSL config reload (plus some cleanup).

This seems to have eliminated some ERROR diags we were seeing in Yahoo Prod when doing config reloads.
The SSLSecret public functions no longer return pointers into the unorded_map of secrets, they return a copy of the secret data. This seemed thread unsafe. A periodic poll running in the background can update the secret data for an entry for a secret name in the map.
To avoid exporting pointers, I had to change the prototype of TSSslSecretGet(). Hopefully there are no existing plugins that are already using this TS API function, so breaking this rule will be moot. I added a new TS API type, TSAllocatedVarLenData, in order to be able to cleanly return a copy of the secret data.

YTSATS-4067: Fix deadlock with secret_map_mutex (#740)

getOrLoadSecret grabbed the secret_map_mutex and called loadSecret.
loadSecret dispatched to Continations that registered for the TS_EVENT_SSL_SECRET event. This would try to grab the Continuation's lock.
In the meantime, those Continuations could call setSecret which would try to grab the secret_map_mutex. If this Continuation did this while holding the lock that step 2 is waiting upon, then there will be a deadlock between the Continuation lock and the secret_map_mutex between the two threads.

This patch avoids the deadlock by releasing the secret_map_mutex lock before calling loadSecret. It also updates the secret_map when loading secrets from a file in loadSecret.

Co-authored-by: Brian Neradt<EMAIL_ADDRESS>(cherry picked from commit 0c2488c7d0432698272b1433817ee62d0c263ab4)
Conflicts:
src/traffic_server/InkAPI.cc

This is a draft PR, pending a decision whether to remove the TSSslSecretXxx TS API functions.

[approve ci]


Handle empty/non-existent root nodes on XmlParser

If a non-existent path is given as the root node for a record, parsing failed with NoMethodError on an #xml? call to nil. This makes the parser throw a sensible error instead.
This should take care of error handling for the current ESDN mapping. It's an incremental improvement on error handling in mapping in general.
While we're in here, I'm open to suggestions about what to output as error context when rec is nil. e.message and e.backtrace may be enough.

Looks good.
As for what to log:  If it has an rdf_subject, it allows us to find the original record to retrieve the XML.   I don't how to improve things, other than eventually adding tagged logging, which is the subject of another story.  More improvements should come later when we think about error-handling in more depth, and storing error-related statistics with the activity.


Trouble run on local development

Description
Hi Hugo and team,
I was just about to try out this beautiful template,
but when I finished installing the dependencies and ran bun dev I got an error
[worker reload] [worker init] Package import specifier "#content/server" is not defined in package
which points to the sitemap.xml.ts file.
Is there something I'm missing?
Regards

Thanks !!!! I just pushed a fix for some bugs I found, I don't know if it will solve the problem but try it just in case and if it still doesn't work I'll do more research !

Nice, it's work like charm!


Create/Modify/Delete Relationships

Now that relationships are supported in Collector for ArcGIS and soon the online map viewer, being able to modify the relationships in a hosted service would be powerful and could prevent having to republish.
This can be done on feature layers through updateDefinition, but has to be done on both layers properly. For example if you wanted to create a 1:M relationship with Layer0's GlobalID as the origin and a GUID field from Layer1, you would run two updateDefinitions:
The first would look like:
{
"relationships" : [
    {
      "id" : 0,
      "name" : "Layer1sinLayer0",
      "relatedTableId" : 1,
      "cardinality" : "esriRelCardinalityOneToMany",
      "role" : "esriRelRoleOrigin",
      "keyField" : "GlobalID",
      "composite" : false
    }]
}

And the second would look like:
{
"relationships" : [
    {
      "id" : 0,
      "name" : "Layer1sinLayer0",
      "relatedTableId" : 0,
      "cardinality" : "esriRelCardinalityOneToMany",
      "role" : "esriRelRoleDestination",
      "keyField" : "RelatedGUID",
      "composite" : false
    }]
}

A function to do both admin definition updates or deletes may be unnecessary. I.e.  featureservice.createRelationship( originLayerID, originField, destinationLayerID, destinationField, composite=false).
What about these functions: createRelationship(layerID,relatedTableId,role,keyField,composite=false) and deleteRelationship(layerID,relationshipid)?  These could be run for both layers in the relationship.

Good suggestion, we are thinking about what it would take to do this.  It would most likely have to be in the arcresthelper package not arcresthelper itself.  We will keep you posted.

You might want to hold off on this for a moment. Hosted services with 3 or more 1:m relates chaining 4 or more layers currently fail replica creation if createReplica contains layer id's in particular configurations. I.e setting layer id's to {0,1,2,3} may work but not {1,2,3,0}. It fails for about a quarter of the possible orders.

ok will do, I'm marking this as closed.


Feature: Create Windows App - Reported by @kidroca

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open app on any exiting platform
Navigate to Settings>About>App download links
Download Windows app

Expected Result:
User should be able to download and use Windows app
Actual Result:
Currently only macOS app is supported
Workaround:
Unknown
Platform:

Where is this issue occurring?

Desktop App (WIN)

Version Number: n/a
Reproducible in staging?: n/a
Reproducible in production?: n/a
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @kidroca
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1640799819218100
View all open jobs on GitHub

Triggered auto assignment to @sonialiap (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @AndrewGable (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

I believe we decided we were not going to move forward with supporting Windows for users for the time being, but we are open to suggestions on how to improve development of the application while using Windows.


#503 fix(container-stats): fix container stats timer not being proper…

This PR fixes #503 by checking if stats controller has been destroyed before setting a new timeout.

:trophy:


fixed typo in comment

This PR should be addressed by #146

This PR should be addressed by #146

sure, but I do not have enough rights for this
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v origin refs/heads/mysql-default-port:refs/heads/mysql-default-port
Pushing to https://github.com/vapor/mysql.git
remote: Permission to vapor/mysql.git denied to ditansu.
fatal: unable to access 'https://github.com/vapor/mysql.git/': The requested URL returned error: 403
Completed with errors, see above

Sorry I should have been clearer! It has been fixed in https://github.com/vapor/mysql/pull/146/files#diff-e53602c5f123d3da5b227a2b208fac81R3

ok, fine!


[Feature Request] Generate JavaScriptInterop using Roslyn

IMHO It would be a great if Blazor used Roslyn to dynamically create in memory implementation of JavaScriptInterop based of c# abstract classes, eg.
`
namespace someJavascriptNamespace {
public abstract class someJavaScriptInterop {
public abstract bool someJavaScriptMethod(string stringParameter, bool boolParameter);
...
}
}
/// use roslyn to generate and compile the code that calls/invokes the javascript
TJavaScriptInteropDefinition GenerateImplementation( );
`
/// calling the generated implementation
var result = GenerateImplementation( )
.someJavaScriptMethod("",true);

Are you suggesting we'd do this at runtime? We definitely can't do runtime codegen using Roslyn inside the browser - there's no compiler infrastructure there, and it would be incredibly heavyweight if there was.
We're looking at build-time codegen for interop. Closing as I think this is covered already, but please let me know if you think I'm misunderstanding.

@SteveSandersonMS I was thinking this could be done at runtime server side, as this would also allow for dynamic loading of scripts and associated generated Interpol assemblies.


cyw43: Bluetooth support

Are there plans to support bluetooth as well? As far as I understand, the CYW43439 chip on the Pico W supports it.

Bluetooth would be nice!
I took a look at the driver we use currently for the cyw43 and it doesn't seem like it supports bluetooth, but that's just a cursory search through the repo.

Well actually, it seems like the driver does have a structure for some bluetooth stuff:
https://infineon.github.io/wifi-host-driver/html/structwhd__btwt__config__params__t.html

https://github.com/raspberrypi/pico-sdk/releases/tag/1.5.1 looks like it was "added" here
I think what we'd need to translate/implement is here: https://github.com/raspberrypi/pico-sdk/tree/master/src/rp2_common/pico_btstack
Not sure if a new .bin/different .bin would be needed here: https://github.com/embassy-rs/embassy/tree/main/cyw43-firmware

The meat for sending/receiving HCI packets over SPI is here https://github.com/raspberrypi/pico-sdk/tree/master/src/rp2_common/pico_cyw43_driver/cybt_shared_bus
The issue is that will get us only "send/receive HCI packets to the bluetooth controller". We then need a bluetooth host stack on top of that. (the host stack is what implements the higher layers of BLE, like L2CAP, ATT, GATT...).
Pico-sdk is using BTStack as the host stack. It is proprietary, requires licensing to use. RPi and BlueKitchen (the company behind BTStack) have entered some agreement to license BTStack for free on Pico W-based hardware only.
This license does NOT cover other hardware, and we're in the same situation for other hardware: STM32WB[^1] and nRF52/53[^2]'s controller blobs also speak HCI, we also need a host stack for them.
[^1]: they have some kind of higher-level vendor-specific commands for higher-layer protocols. I dunno how complete they are or how nice they're to use compared to a real BLE host stack.
[^2]: the "old" softdevice (what's implemented in nrf-softdevice) does have implementations for higher-layer protocols, but it's in "maintenance mode" according to Nordic, doesn'd support nRF53 nor newer Bluetooth features. The newer "softdevice controller" blob is HCI only.
So I think the Embassy project should focus its efforts in getting some bluetooth stack that's freely usable for all hardware we support, not BTstack. There's Bluedroid, NimBLE (C, but I believe the Espressif folks have worked in Rust bindings?) or write one from scratch in Rust, which is a giant undertaking,  bleps is one attempt at it.
So, I will take PRs for exposing raw HCI in cyw43, or for integrating some FOSS bluetooth stacks. I will NOT accept PRs working towards integrating BTStack.

I found this project which looks like has FFI bindings setup for NimBLE: https://github.com/benbrittain/apache-nimble-sys
Whether or not this is what we need is another question. It appears so.

@Dirbaio I beat the snot out of pico-sdk by littering it hardcore with a bunch of custom  uart_printf as well as turnign on some debug flags and I got basically how the C pico-sdk library does "bluetooth HCI init" https://gist.github.com/brandonros/b4b952ee97049def55e073e0d8a2f75d
In the name of replicating it for our uses in Rust:
I am a little confused on one thing. I could be wrong but I think the current order of operations on how we split cyw43 init between runner and control makes this hard to implement? Or am I mistaken? I don't really have bus to be able to do bp_read / bp_write to write the Bluetooth firmware in the control context, and I need the clm loaded first, which means I can't do it from runner
The order of operations seems to be (from C land):
cyw43_ll_bus_init
cyw43_spi_init
cyw43_spi_gpio_setup
cyw43_spi_reset
chip_up
...
backplane ready
ALP is set
...
cyw43_clm_load start
...
cyw43_btbus_init
cybt_fw_download

The really painful part about cybt_fw_download is it isn't one continuous .bin we can flash into memory. It's a custom format where it's a bunch of non-4 aligned writes size wise + address wise, so we have to read what is in memory, blend that together with what we want to write, and upload it.
I'll keep hitting on it, just wanted to know if you had any easy guidance to make this a bit less painful. :D
I am with you, we will target bleps, all we need is to implement
use bleps::HciConnection;
impl HciConnection for Cyw43HciConnection {
    fn read(&self) -> Option<u8> {
        panic!("TODO")
    }

    fn write(&self, data: u8) {
        panic!("TODO")
    }

    fn millis(&self) -> u64 {
        panic!("TODO")
    }
}

I saw your PR, pretty excited to see progress on this! :star_struck:

and I need the clm loaded first

are you sure that's needed? Intuitively I'd say the wifi CLM doesn't affect Bluetooth at all. (the cyw43 is more like a bluetooth chip and a wifi chip glued together, each has its own core with different firmware and RAM). If you try initializing BT without loading the CLM it probably works anyway.
If that's not the case, it could be workarounded by putting the bus in an async Mutex so it can be used from both runner and control, but I'd really really like to avoid that.

Are you sure the cyw43 Bluetooth core isn't the same as the WLAN core?

they aren't, the datasheet has some details, plus the fact that there's two firmwares.

Could you check https://github.com/georgerobotics/cyw43-driver/blob/main/src/cyw43_ll.c and tell me where you see the additional Bluetooth core?
I am working on writing Rust to be able to read/write the needed parsed Bluetooth firmware padded correctly from https://github.com/georgerobotics/cyw43-driver/blob/main/firmware/cyw43_btfw_43439.h, will PR it

the datasheet literally says there's 2 cores.
I think the bluetooth core starts on its own. In a more standard setup (ie not Pico's weird bluetooth-over-SPI) you talk to it via the bluetooth UART, which works even if you haven't initialized the wifi part. That'd explain why there's no code to explicitly start the BT core. It seems the wifi backplane has a window into BT stuff, so the Pico W is (ab?)using that to do bluetooth over SPI.

Any movement on this? It would be awesome to have BLE on the Pico W.

#1820 was the latest PR for this, but was unfortunately closed 3 weeks ago. My guess is that no maintainer is actively prioritizing it at the moment. I hope it gets picked back up before long, since it's been 8 months since it was actively worked on and embassy has progressed a lot since then.

See #2865 for latest status. Help is needed to finish it, contributors welcome!

done in https://github.com/embassy-rs/embassy/pull/2865


[Minor Bug] first column before a "bigger" column doesn't get center aligned

Bug report
What I did
Added a column that makes the row expand, imagine the new table column, or an textarea with some br:

The first column is never center aligned.

Confirmed:

Though... I'm not 100% sure we should align the first on to the middle... or the rest to the top...

@tabacitu I am not sure either, but I would go with middle.
I am going to assign @promatik here since I asked him to have a look at other issue we are having with non-responsive tables.
(This one happens with responsive and non-responsive).
Cheers

Finally fixed with https://github.com/Laravel-Backpack/CRUD/pull/4780 🙌


Provide a way of setting the default set of entry points

Do you want to request a feature or report a bug?

Feature
What did you expect to see?

a way of configuring an endpoint so it is not part of the default entry points.  I generally route everything to HTTPS and I want avoid explicitly stating the entrypoints per route to ignore the HTTP route.

Dupicate of #5672

Can #5672 be reopened.  The use case scenario is basically to remove the need to explicitly set the entrypoints just like traefik is not exposed by default.


Undefined method 'join'

Hello,
When I run the job, an error is throwed :
bundle exec rake spec
rake aborted!
NoMethodError: undefined method `join' for nil:NilClass
Did you mean?  JSON
/home/xxxxxxxxx/serverspec-core/Rakefile:122:in `block (4 levels) in <top (required)>'
/var/lib/gems/2.3.0/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb:86:in `block (2 levels) in define'
/var/lib/gems/2.3.0/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb:85:in `block in define'
Tasks: TOP => spec => check:server:all => check:server:xxxxxxxxxxxxxxxxxxxxxx
(See full trace by running task with --trace)

Am I missing something ?

Ok found it, missing the suite name in the yaml file.


Add retrospective gapfilling to CPR hospital admissions signals

Because the CPR only includes one (sometimes two) reference dates for each signal, and because the CPR is not published on weekends, the resulting COVIDcast signals are only available 5 days a week. See the green line in this timeseries chart:

We should use simple interpolation to fill these gaps retrospectively (once the next file becomes available). Extrapolation on days where no new files are posted is left as a future research project.
We'll need to do something like this:

When computing the list of CPR files to process, extend the series backwards by one file ("additional CPR file")
Process the CPR files into a df as usual
Expand the df to cover a contiguous date sequence, NA-filling
Impute the missing values
Drop the per-signal reference dates in the additional CPR file
Aggregate to nation, export, etc as usual

Complication
The existing imputation utility in delphi_utils.smooth assumes we only ever impute a value for date X using data from dates Y<X. We will probably need to add support for some kind of symmetrical mode. Expected signal data for this change looks like [x1, NA, NA, x4] -- literally, since these gaps mostly occur at weekends. x1 is from the additional CPR file, x4 is from today's CPR file, and we want to publish the two imputed values and x4. This probably means a linear or other low-degree fit that doesn't need a lot of context to work.
This revision must be completed before we can begin showing county-level hospital admissions in the visualizations on the website.

Feels like I'm missing the context for this. Is this from new code somewhere? What is CPR?

Apologies for the name confusion -- CPR is the DSEW Community Profile Report, one of the new sets of signals developed as part of the omicron effort. Pipeline code is here

So my initial thought is that getting this into the smooth util would require some involved math. A quick solution could be to use pandas.DataFrame.interpolate.
Here is what method="time" (linear interpolation) looks like on a test dataset:
import pandas as pd
import numpy as np

df = pd.DataFrame({
    "time_value": pd.date_range("2022-01-01", "2022-04-01"),
    "value": 10*np.sin([i/3 if i % 7 >= 2 else np.nan for i in range(91)])
}).set_index("time_value")

import matplotlib.pyplot as plt

plt.figure()
plt.plot(df)
plt.figure()
plt.plot(df.interpolate(method="time"))

Here is what method="cubic" looks like:

This is what the plot in the OP looks like with cubic interpolation:

Solving this will require reading in additional, already-processed files, which seems complicated. We've discarded "read in extra files" before as a solution for the "volume and positivity are technically for different reference dates" problem, so we should consider avoiding it here as well.
Alternatives:

Make the frontend do interpolation
Make users do interpolation
Make the API do interpolation


Hold API failure leads to fatal error

We're getting random errors where the current call fails to get put on hold when the agent is attempting to transfer via a quickconnect.  We get this failure, and the client thinks the caller is not on hold but the problem is they actually are.  So the agent has no way to take them off hold, and they end up having to hang up on the caller and attempt to call them back.  This is a very serious issue that is having a major impact in our production environment.
Please see error log below:
{
	"component": "ccp",
	"level": "ERROR",
	"text": "'holdConnection' API request failed: [object Object]",
	"time": "2020-02-18T18:14:01.087Z",
	"exception": null,
	"objects": [{
		"request": {
			"event": "api_request",
			"requestId": "1582049640862-v94v22kzvd",
			"method": "holdConnection",
			"params": {
				"contactId": "aefd7017-721c-4440-88de-41a8272c2529",
				"connectionId": "aefd7017-721c-4440-88de-41a8272c2529"
			}
		},
		"response": {
			"event": "api_response",
			"requestId": "1582049640862-v94v22kzvd",
			"data": null,
			"err": "{\"type\":\"InvalidStateException\",\"message\":\"Cannot put call on hold: Invalid contact state.\",\"stack\":[\"InvalidStateException: Cannot put call on hold: Invalid contact state.\",\" at constructor.extractError (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:98124)\",\" at constructor.callListeners (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:120027)\",\" at constructor.emit (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:119737)\",\" at constructor.emitEvent (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:113446)\",\" at constructor.e (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:109037)\",\" at r.runTo (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:147328)\",\" at https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:147533\",\" at constructor. (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:109306)\",\" at constructor. (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:113501)\",\" at constructor.callListeners (https://companyremoved.awsapps.com/connect/ccp-naws/static/streams/connect-streams-min.js:1:120133)\"]}"
		}
	}],
	"line": 19
}

This is what the user sees when this happens:

Hi, we're investigating this issue. Are you still facing this issue?

Resolving -- feel free to re-open if you're still facing the issue


Sticky Tokens

Is your feature request related to a problem? Please describe.
I'm not sure if this is an issue or by design, but there seems to be an unnecessary refresh of a valid token when reloading a web page.
My hooks have keycloak.token in the dependency array (exhaustive depends lint check).  When the browser is is Refreshed (F5/Hot reload), the token changes (original->new) meaning the effect runs multiple times.
Describe the solution you'd like
If the browser session id has not changed we should use the same auth token
Additional context
A service I'm integrating with has rate limiting in place and calling my intermediary service multiple times causes the RateLimiter to trip.  I can work around with caching, but in general, this is causing unnecessary network traffic and backend processing.

Hi @monowai ,
Thanks for your feedback.

My hooks have keycloak.token in the dependency array (exhaustive depends lint check). When the browser is is Refreshed (F5/Hot reload), the token changes (original->new) meaning the effect runs multiple times.

For what I can understand this refresh is triggered by how keycloak-js handle its init phase (and how react-keycloak integrate with it) until a successful init response the token available inside react-keycloak context is undefined and then receives the actual token on successful authentication (the token is retained by ReactKeycloakProvider to avoid calling onTokens event handler when token did not change).

If the browser session id has not changed we should use the same auth token

To "fix" this issue there are 2 available solutions I can think of:

Try to use LoadingComponent to avoid loading the component tree until keycloak-js has been initialised (and thus avoid the initial undefined -> token transition on the hook.

Cache keycloak tokens (something I won't recommend but also one of the first requested features of react-keycloak 😅 ) as discussed in issue #1 and #3 .

Another thing you can try is to use the silentCheckSsoRedirectUri setup and see if in this way keycloak-js can retain tokens by itself (see official docs for more details here)
Thanks again and let me know if this helps you.


Add new corpora compatibility

As you may know, a new version of OSCAR has been released on September 2021.
This version uses a different authentication approach and a different checksum file format that was incompatible with the script.
I added a basic HTTP authentication along with a condition to check the checksum file format.
I have tested using an account that has the proper authorizations to access the data, but have not tested with a Huma-Num account that has no authorization on the OSCAR 21.09 access.

Thank you very much for your contribution.
Unfortunately I can't test your PR at the moment as I don't have an account with access to OSCAR.
I will test this as soon as I have access to it.


Move blinker signals to services vs. models

Discussion with @zegl and we both agreed we should have everything in our services. More explicit and more flexible in terms of what happens and where vs. having some deeply nested magic tied to signals on a model/record basis.

I've added a small example of what this could look like in #514


Update aws-core, http-client-spi, ... to 2.17.241

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.17.239 to 2.17.241.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #916.


[Feature Request]: Add a per-reward auto-claim option

Is your feature request related to a problem?
I have a reward that executes a command, and another reward which is a loot bag. I would like to have the command reward be claimed immediately so that the command is executed. The loot bag reward can be collected by the player whenever they feel like it.
Solution(s)
Add an optional autoClaim bool to the reward object, which overrides the autoClaimReward quest setting.
Describe alternatives you've considered
No response
Mod Version
1.1.13
Mod Loader Version
1.20.1 - 47.2.17
Mod Loader
Forge
Additional context
No response

How about 2 quest. The command reward quest is hidden and auto claim.

That would work but is clunky.


[Enhancement]: Upgrade to Azurite >= 3.28.0 and support in-memory persistence

Problem

The current usage pattern of Azurite assumes that the caller is interested in persisting stored data beyond the lifetime of the node process. This certainly is useful for extended testing scenarios or where Azurite is actually used for production-like scenarios (perhaps a best-effort approach of free, on-prem Azure Storage). However, some Azurite use cases are more ephemeral in nature. For example, if you simply want to use Azurite for a single test run in a CI pipeline, you don't need the storage to persist beyond the lifetime of the node process.

Quote from: https://github.com/Azure/Azurite/blob/105a9cd217b881922016edb7a683ebea1ab3b28a/docs/designs/2023-10-in-memory-persistence.md
Depending on the amount and size of for example a blob there is an additional overhead on the test environment when Azurite has to write it to disk. In most scenarios, test containers won't survive more than one test run. So the overhead of writing to disk could be removed.
Solution
Upgrade to Azurite 3.28.0 or later and add support for the --inMemoryPersistence argument
Benefit
Using in-memory persistence may have a positive effect on overall performance of Azurite during tests, as it does not need to store stuff on disk.
Alternatives
Leave the current implementation as is
Would you like to help contributing this enhancement?
Yes

If this is being added, --extentMemoryLimit <size limit in MB> should also be supported.
And it should be discussed whether in-memory persistence is the default or opt-in.

Indeed, this sounds like a good and reasonable change to the module. Removing an existing default configuration is always a bit tricky with the current builder design (read-only configuration). This speaks for an opt-in approach (in addition, it reduces the chances of breaking existing configurations). Besides that, I do not really have an option regarding opt-in or opt-out.


Typescript errors/warnings not showing until save

I am having an issue where TS errors will start to not show until I save the file.  Usually everything works when I first open vim, but after a while the errors will stop appearing (or disappearing when fixed) until I do :w to save the file.  If have been using this coc.nvim setup for years without a problem, and this only started in the last few weeks.
I realize this issue is a little vague.  I'd be happy even for a little help on how to further troubleshoot/debug it.
CocInfo shows:

Here's a small gif that captures the behavior.  Note the first time I add the colon the error does not show up until I save.  But then it disappears and reappears without saving after that, so it is intermittent.  Any ideas on troubleshooting would be great.  Thank you!

I am still experiencing this bug.  I am able to reproduce on a minimal linux setup as follows:

Install vim8 and coc.nvim on a minimal Ubuntu jammy 22 distribution.  I have created a minimal Dockerfile with the necessary files in this repo.  This is the exact setup I'm using to reproduce the bug
Launch vim, install coc.nvim, and coc-tsserver
Quit and relaunch vim with the mini.vim config file, i.e., vim -u mini.vm
Create a test.ts file and edit and fix TS errors.  The TS diagnostics will not reliably update until you save, as shown in this gif:

I'm surprised more people aren't seeing this given that its reproducible on such a minimal configuration.  I have used vim, coc.nvim, and typescript for years and had not seen this until earlier this year.  Until then it worked flawlessly.
Additional Info:
vim version: VIM - Vi IMproved 8.2 8024919
node version: v16.20.0
coc.nvim version: 0.0.82-b7375d5f 2023-01-30 05:09:03 +0800            |
coc.nvim directory: /home/devuser/.vim/plugged/coc.nvim
term: dumb
platform: linux

coc-tsserver: 2.1.3

I'm happy to provide any additional troubleshooting or diagnostics.   Just let me know what would be helpful.


feat: add functionality to load Grid objects with HIFLD grid model

Pull Request doc
Purpose
Allows the user to instantiate HIFLD grid objects by adding the necessary folder structure and sub-modules. Closes #551.
What the code is doing

In powersimdata.network.hifld.model: defining an HIFLD class, and populating it with necessary methods. Most of this code is copied directly from powersimdata.network.usa_tamu.model
In powersimdata.input.grid: adding "hifld" as an allowable model/source input, and instantiating an HIFLD object as appropriate.
In powersimdata.network.model: adding "hifld" as an acceptable model for instantiating a ModelImmutables object.
Mostly-empty __init__.py files as necessary within powersimdata.network.hifld.constants. These will be filled in before this PR gets promoted out of draft stage.

Testing
Current testing relies on https://github.com/Breakthrough-Energy/PreREISE/pull/236 ~and https://github.com/Breakthrough-Energy/PreREISE/pull/240. Through their combination in the PreREISE testing branch daniel/hifld_top_level_rebased, and with the branch for this PR~ (EDIT: #240 has been merged). Using the branch for #236, we can:
# Building the hifld grid
# This step currently takes 20-30 minutes to download/process all data
from prereise.gather.griddata.hifld import create_csvs
create_csvs("path/to/powersimdata/network/hifld/data")

# Loading and checking the hifld grid
from powersimdata import Grid
from powersimdata.input.check import check_grid
check_grid(Grid("USA", "hifld"))
check_grid(Grid("Eastern", "hifld"))
check_grid(Grid("Western", "hifld"))
check_grid(Grid("ERCOT", "hifld"))
check_grid(Grid(["Eastern", "Western"], "hifld"))
check_grid(Grid(["Eastern", "ERCOT"], "hifld"))
check_grid(Grid(["ERCOT", "Western"], "hifld"))

Checks should all pass, returning None without raising any exceptions.
Other entries within powersimdata.network.hifld.constants still need to be populated, but those will be just straightforward data-filling and shouldn't affect code functionality, besides enabling the relevant information to be looked up for hifld Grid object by other functions/methods.
Time estimate
15-30 minutes. Most new code isn't actually new, just copied with slight tweaks.

I know we made a mistake to use Texas in place of ERCOT for the TAMU grid but should right our mistake for HIFLD? We have a lot of code that check/analyze/plot interconnect(s), I presume these expect Texas.

I know we made a mistake to use Texas in place of ERCOT for the TAMU grid but should right our mistake for HIFLD? We have a lot of code that check/analyze/plot interconnect(s), I presume these expect Texas.

I think any code that's not model-specific should look to the grid model for the appropriate interconnections. If our check/analyze/plot code isn't working, then we should change it to look for the right information in the right place (and make sure that information is there). We'll need this sooner or later, either for the new USA grid model or for models of other grids (e.g. Europe).

After tweaking the output plant CSV a bit more within https://github.com/Breakthrough-Energy/PreREISE/pull/236 (adding type, adding heat rate columns, translating to PowerSimData naming expectations), and updating the placeholders within in constants sub-module, we can also successfully call powersimdata.input.export_data.export_case_mat on the resulting grids.

The latest commits add the missing constants required to fully populate the ModelImmutables object which should enable the full suite of Grid analyses:
>>> from powersimdata.network.model import ModelImmutables
>>> mi_tamu = ModelImmutables("usa_tamu")
>>> mi_hifld = ModelImmutables("hifld")
>>> mi_tamu.plants.keys() == mi_hifld.plants.keys()
True
>>> mi_tamu.zones.keys() == mi_hifld.zones.keys()
True
>>> mi_tamu.storage.keys() == mi_hifld.storage.keys()
True

constants.plants and constants.storage are identical between the usa_tamu and hifld grid models, and constants.zones only differs by using "ERCOT" in place of "Texas".
Therefore, this is now ready for a full review

It makes sense. Is that still an abstract class then. It would look like a Parent class. Do we need to rename it?

An abstract class can have some behavior defined. Typically it would also declare abstract methods, to be implemented by derived classes. So if there are only "concrete" methods, a rename could make sense, e.g. BaseGrid. I don't feel strongly about it though since python doesn't enforce such things. Compared to e.g. java/c# where abstract is a keyword and enforced by the compiler.