[ID tool] The status of the grant should match the status of the grant from Grants.gov

This is dependent on #51.

We should be syncing every 30 minutes.
Here's a test case (sorry, I should have added these at the beginning!)
On Grants.gov, I see O-BJS-2022-171212 FY 2022 National Survey of Prosecutors which was closed on 4/11/2022.
However, when I search for this grant in our tool, it still says that the status is Posted

Re-confirming that this is still an issue with the same test case as above

@mhuang-usdr : I searched for this grant in both production and stage, but don't see it. I am logged in as<EMAIL_ADDRESS>tenant. Do I need to be logged into a different account/tenant? Thanks!

It's because we had keywords filtering those results (I've made this mistake many times too...)
I deleted the keywords, try again! @chrisxkeith

After doing some software archeology (A.K.A. reverse engineering :), I think the problem is here, where it looks like the server is only querying grants.gov within a date range going back 56 days (unless there is some environment variable set in render that changes this value). This means that this specific record will never be updated, as it is too far in the past.
Reading this code raises a number of questions for me. If anyone knows any answers, can you put them into this conversation?

Which date in the grants record from grants.gov is used to determine whether the grant falls within the 56 day range? Open date? Close date? Some date that isn’t returned by the grants.gov API?
What is significant about 56 days? It’s not enough for two months (62 days), or evenly divisible by 7 (so not an even number of weeks). Is there some limitation in the grants.gov site that determines this?
Why are the queries to grants.gov broken down into chunks of 10? Is this because of a limitation on the grants.gov site? Or some limitation in render.com?

Lastly, here are some options for ‘fixing’ it. I put fixing in quotes because I don’t know the intended functionality.

Do nothing, live with it.
Add an ‘info’ icon and some help text ‘under it’ on the grants modal that tells end users that they might want to verify the original record in grants.gov.
Expand the date range. If so, we’ll need to determine what a reasonable range would be. Note that this runs the risk of causing problems (see question 2 & 3 above).
A variation on this would be to set the date range to some number of months (6? 9?) on the weekend. After the scraper runs once, we can set the date range back to 56 (or whatever makes sense).

I may try some temporary code changes to see what the behavior is if I do increase that date range.
I plan to have (at least) one pull request for this issue that will put better, clearer information into the log. I don’t plan any pull requests (that will make functionality changes) until we can answer most of the questions above. Would be nice to get them all answered.

After doing some software archeology (A.K.A. reverse engineering :), I think the problem is here, where it looks like the server is only querying grants.gov within a date range going back 7 days. Here is the environment setting in the production Render instance (same as in .env.example):
render@srv-...-mx666:~/project/src$ env | grep GRANTS_SCRAPER_DATE_RANGE
GRANTS_SCRAPER_DATE_RANGE=7

This means that this specific record will never be updated, as it is too far in the past (Posted Date: 4/5/2022, Close Date: 4/10/2022)
I don’t know whether the date range applies to the Posted Date or the Close Date. I would hope it’s Close Date. Does anyone know which one?
Here are two possible fixes:

Manually fix the value directly in the database. This is minimally invasive, and unlikely to cause any other problems. I plan to do this.
If anyone thinks that this is not a one-off problem, and that there could be other grants that aren’t synchronized with grants.gov, we could expand the date range. This, however, will cause the scraping to take a lot longer. Scraping for 7 days takes 5 minutes, so going back to 4/5/2022 would take 140 minutes (02:20 HH:MM). It takes this amount of time because there is a delay between each query to grants.gov, and the queries themselves probably take some time.. If we do this, we should do it as a one-shot effort on a weekend, where we increase the date range and reduce the scraping frequency. After the scraper runs once, we then set the date range and scraping frequency back to their original values..

If we want to do the second option, I would prefer to open a new issue for that work.
I do plan to have a pull request for this issue that will put better, clearer information into the log.

@TylerHendrickson @mhuang-usdr More research today leads me to not bothering with option 1 above. My new plan is:

Submit a pull request (in a day or three) that will
-- Put more useful information into the server log
-- Set the grant sync interval to every 3 hours (or is this in the environment somewhere?)
Once that deploys to _staging: (need some help here)
-- Set the environment variable GRANTS_SCRAPER_DATE_RANGE=220 (This should make sure that the offending grant shown above will be synchronized).
-- Restart the Render instance
Once the grant scraper has finished
--  Reset GRANTS_SCRAPER_DATE_RANGE=7
-- Restart Render instance
-- Reset grant sync interval back
-- Download log
-- Review contents of log

Once I have confidence that this works, I can do it to the production instance on a. weekend.
As to why/how this happened, I have a theory which I describe in this new issue.

Thanks for digging into this, @chrisxkeith! Super helpful.
I'm pretty sure this is a persistent issue, not a one-off problem, unfortunately. So fix 1 won't work.
There are likely other ways to fix -

@TylerHendrickson curious whether you think access to the grants.gov SOAP API would fix this?
There is also this XML extract that is released by grants.gov once a day that could possibly be used instead, @chrisxkeith if you're able to dig into it. But rewriting the scraping system to use the XML extract instead would be a big lift.

Now that you've unearthed the real issue, I think overall there will need to be an architecture discussion to this question. If you had simply wanted to straightforward bug, you can also pick up a different issue while this is sorted out!

XML file does not have enough data (e.g., missing Eligibility Codes). I have archived the xml-download-and-read code here: https://docs.google.com/document/d/1lTpjNL94XGji3eGMSczPDu19eEPOo9KeVdN_7C3dSMs/edit?usp=sharing . Given that it may be some time before we get access to the SOAP API, I will start implementing option 2 from above.

Note that the filter feature ( https://github.com/usdigitalresponse/usdr-gost/issues/53) will require updating more fields than just the date fields. Probably another good reason to increase GRANTS_SCRAPER_DATE_RANGE

Proposal:

Set GRANTS_SCRAPER_DATE_RANGE to 120 days (e.g., 4 months). This will take a bit less than an hour, and will update somewhere around 900 grants. (Scraper output: elapsed: 00:51:37, totalGrantsReturned: 2229, uniqueGrantsProcessed: 898)
Set the grants scraper cron job to run once a day at 1:30am Eastern Time.

Waiting on larger ingestion architecture, deprioritizing for now


Readme fixups

Small PR, found there was a missing space before title in readme so that markdown renders it properly

[x] Link to issue, e.g. Resolves #NNN
[x] Documentation added (if applicable)
[x] Tests added
[x] Branch rebased on top of current master (git pull --rebase origin master)
[x] Changes squashed to a single commit (described here)
[ ] Build is green in Travis CI
[x] You have certified that the contribution is your original work and that you license the work to the project under the MIT license

Changes proposed in this pull request:

Markdown fixes

/cc @nats-io/core

LGTM.

We have a gosimple error now, not part of this but triggered by new gosimple. Need to fix.


The order of the output

Hi, this is potentially a great plugin. Great work! I am testing hit out and I faced a problem... is there a way to control the order of the cards on the final md file? I have a master node, from which all the arrows point out to the next nodes, but this main one is placed at the end of the generated doc.

Obsidian canvases, of course, can have all sorts of structures, from hierarchical graphs to gigantic, non-hierarchical maps for which no order is recognizable.
The plugin always assumes the latter case at first. For this reason, navigation headings are inserted into the target document, which help to determine the order subsequently by using the normal outline view:

In addition, several strategies are planned for Canvas2Document to let the user determine the order before or with the conversion:

The nodes, cards and media relevant for the conversion could be provided with defined metadata, i.e. a tag notation in which the desired order can be specified.
The plugin detects the cases of canvas types where there is actually a unique hierarchical structure and adheres to that structure.

Hi @slnsys
Thanks for reply. Maybe I am doing something incorrectly. I have a following diagram

This is an automatically generated document generated by Plugin Canvas2Document
___noteFile from Canvas
10_Ideas/The Mediterranean breeze of Barcelona.md ^43f5df7e1b421c1b

[!tip] link navigation from the canvas
linking to: [[#^2e1947ede751d1c2|canvaslink]]
linking to: [[#^f24b988c0d5b62d6|canvaslink]]
linking to: [[#^b35626095eb073f3|canvaslink]]
linked from: [[#^caba06b69b14c48e|canvaslink]]

![[10_Ideas/The Mediterranean breeze of Barcelona.md]]
___noteFile from Canvas
An European weekend gateway/02 The historic mystique of Prague.md ^eba81ce92cb5c925

[!tip] link navigation from the canvas
linked from: [[#^caba06b69b14c48e|canvaslink]]

![[An European weekend gateway/02 The historic mystique of Prague.md]]
___noteFile from Canvas
An European weekend gateway/06 Epilogue Sunday's Farewell - The Last Chapter of Barcelona trip.md ^f24b988c0d5b62d6

[!tip] link navigation from the canvas
linked from: [[#^43f5df7e1b421c1b|canvaslink]]

![[An European weekend gateway/06 Epilogue Sunday's Farewell - The Last Chapter of Barcelona trip.md]]
___noteFile from Canvas
An European weekend gateway/05 The Heart of Your Journey - Barcelona on Saturday.md ^2e1947ede751d1c2

[!tip] link navigation from the canvas
linked from: [[#^43f5df7e1b421c1b|canvaslink]]

![[An European weekend gateway/05 The Heart of Your Journey - Barcelona on Saturday.md]]
___noteFile from Canvas
An European weekend gateway/04 Arrival on Friday - The prologue of Barcelona Discovery.md ^b35626095eb073f3

[!tip] link navigation from the canvas
linked from: [[#^43f5df7e1b421c1b|canvaslink]]

![[An European weekend gateway/04 Arrival on Friday - The prologue of Barcelona Discovery.md]]
___noteFile from Canvas
An European weekend gateway/01 The artistic pulse of Paris.md ^6a91d501325fc935

[!tip] link navigation from the canvas
linked from: [[#^caba06b69b14c48e|canvaslink]]

![[An European weekend gateway/01 The artistic pulse of Paris.md]]
___noteFile from Canvas
An European weekend gateway/00 A European weekend gateway.md ^caba06b69b14c48e

[!tip] link navigation from the canvas
linking to: [[#^6a91d501325fc935|canvaslink]]
linking to: [[#^43f5df7e1b421c1b|canvaslink]]
linking to: [[#^eba81ce92cb5c925|canvaslink]]

![[An European weekend gateway/00 A European weekend gateway.md]]

In relation to your canvas, which contains an entire article and chapters numbered by heading in a unique tree form, the result of the conversion is of course not satisfactory. A manual adjustment of the sequence / document structure via the TOC view is still necessary here. That's why the plugin inserts the "navigational headings".
The plugin's current approach assumes that a canvas can be anything, unordered. The add-on's view of the canvas data currently lacks what I would call "topological semantics".
There are two ways of looking at this:

Topological semantics by hierarchy: machine-readable, but due to heterogeneity with challenges in mapping to the document form.
There are defined parent/child relationships, which do not always have to be simple, directed 1:n relationships, but can morph away from  trees to arbitrary graph structures.
Topological semantics by placement on the canvas: human perception.
I.e., the information about where in the canvas an element is placed (also "top" versus "bottom") or in which order something is lined up (see "up" to "down" or LTR)

Both topological semantics will be supported by Canvas2Document through appropriate parsing strategies.
@1: A readable sequence within hierarchically subordinate elements could be achieved by means of manually edited metadata, which the user uses to determine the order before conversion.
@2: In addition, the plugin will soon be able to read different forms of hierarchical topologies and implement them in conversion.
Also check out the new release 1.1.0

Ok, I got how to manually adjust the order. Did not get it before. One feedback though: having the  "__Card from canvas" repeated multiple times in the outline is hard to undersand what each header means... did you consider putting some meaninngful content instead? Like first sentence or first X characters there?
Now I have to manualy open each section and read first sentence to know which card that is. Not bad but maybe some improvements here would be possible
Anyway, point 2 from the above sounds super interesting,looking forward to it.

having the "__Card from canvas" repeated multiple times in the outline is hard to undersand what each header means... did you consider putting some meaninngful content instead? Like first sentence or first X characters there?

yes, that's exactly what is to come here for these "non-speaking" multiple navigational headers.

done in Release 1.2.0


docs: Update ROADMAP.md

Think it through carefully, don't change the time arbitrarily, the timing and adjustments of these roadmaps are too casual.


Added pull request template

I believe these 3 commits should be squashed.

Thanks, @arut !
I will close this PR and will open a new one containing more templates.


Use multiz in qaoaembedding

Context:
Uses the new MultiRZ gate in QAOAEmbedding.
Description of the Change:
Changed from the custom ZZ template to the new gate. Explained different (but much more consistent) parameter in changelog. Adapted and heavily improved test.
Benefits: This will lead to more efficient circuits on simulators.

I updated the changelog, always forget the different formatting of markdown to rst...

Coverage is still 100% for templates module...


(Language) How to add items to a shopping cart  container and display them in a table in PHP

How to add items to a shopping cart container and display them on a table in PHP
Proposed article introduction
In this article, I will demonstrate a PHP  program that explains how to add items into a cart container store them in a database, and query from the database in order to display them in form of a table.
Key takeaways

The reader should be able to understand how to use bootstrap to create and add items to a shopping cart container.
Also the reader should be able to understand how to query items from the database and display them in form of a table.
The reader should be able to know how to create a database, table, and insert items to the table.

Article quality
My article will be unique since I will use pure coding  In PHP, HTML, and CSS without any framework.
References
N/A

Thank you for your response and we thank you for submitting your topic. After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations such as this


PhanTypeMismatchArgument not emitted for some classes

I have two classes implementing the same interface and a function that takes one of the classes as argument. I expected this to issue PhanTypeMismatchArgument, but phan doesn't emit anything.
<?php
declare(strict_types=1);

interface I {
}

class A implements I {
}

class B implements I {
}

/**
 * @param A $a
 * @return void
 */
function a(A $a) {
}

$b = new B();

a($b);

Thanks, @ryutaro-brainlabs !


[ALLUXIO-2680] fix logging style in GreedyEvictor.java

https://alluxio.atlassian.net/browse/ALLUXIO-2680

alluxio-bot, check this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14976/
Test PASSed.


Missing dotnet restore prompt

I think 5a639c31e4baa3435e6e480e192b9b739f5dc541 broke the plugin. I get the "Initializing Roslyn for ...sln" notification, but I never get the "... initialized" one. LSP functionalities do not work.

Hmm, seems that it's not this plugin's issue, but it's rather something else, I tried earlier version and it also doesn't work.
Recently, there have been many LazyVim updates, maybe something got broken there?

Alright, LSP does work, it was an issue with .NET SDK on my side. However.. I do not get the "... initialized" notification anymore once the LSP is ready. Is it just me?

Alright, the issue seems to be related with missing dotnet restore operation. It looks like the plugin should handle such cases (https://github.com/seblj/roslyn.nvim/blob/main/lua/roslyn/init.lua#L40), but in my case it didn't.
When some packages are not intalled, the plugin does not display the "Initialized" notification, and it does not prompt to do dotnet restore neither.

Pretty sure that the commit didn't break anything just looking at the diff🤔 The handler that it warns about not being implemented has never been implemented in the plugin, but it should probably be implemented (I just didn't know about it). I'll have a look at how vscode is implementing it when I have time

Do you have a way to easily get the warning of the missing handler? Preferably with creating a new project or something. Or maybe if you have a repo I could try with? I was starting to look into this, and it was a bit difficult to implement the handler without testing anything

Here's how you can reproduce it:
mkdir restore-example
cd restore-example
dotnet new console
dotnet new sln
dotnet sln add .
nvim restore-example.csproj

Then, add any nuget package to the csproj, like:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <RootNamespace>restore_example</RootNamespace>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Castle.Core" Version="5.1.1" />
  </ItemGroup>

</Project>

Save and exit.
Launch nvim and open Program.cs to start initializing the server. You should see the "Initializing..." message, but not the "Initialized" one.
Also, you should see logs like:

[WARN][2024-07-21 15:01:25] ...lsp/handlers.lua:625	"[LanguageServerProjectSystem] Project /home/mnj/tmp/restore-example/restore-example.csproj has unresolved dependencies\n    Castle.Core-5.1.1"
[WARN][2024-07-21 15:01:26] ...m/lsp/client.lua:1023	"server_request: no handler found for"	"workspace/roslyn_projectNeedsRestore"
[ERROR][2024-07-21 15:01:26] ...lsp/handlers.lua:623	"[LanguageServerHost] StreamJsonRpc.RemoteMethodNotFoundException: MethodNotFound\n   at StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult](RequestId id, String targetName, IReadOnlyList1 arguments, IReadOnlyList1 positionalArgumentDeclaredTypes, IReadOnlyDictionary2 namedArgumentDeclaredTypes, CancellationToken cancellationToken, Boolean isParameterObject)\n   at Microsoft.CodeAnalysis.LanguageServer.Handler.ClientLanguageServerManager.SendRequestAsync[TParams](String methodName, TParams params, CancellationToken cancellationToken) in /_/src/LanguageServer/Protocol/Handler/LanguageServerNotificationManager.cs:line 33\n   at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.ProjectDependencyHelper.RestoreProjectsAsync(ImmutableArray1 projectPaths, CancellationToken cancellationToken) in //src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/ProjectDependencyHelper.cs:line 134\n   at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LanguageServerProjectSystem.LoadOrReloadProjectsAsync(ImmutableSegmentedList1 projectPathsToLoadOrReload, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LanguageServerProjectSystem.cs:line 191\n   at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LanguageServerProjectSystem.LoadOrReloadProjectsAsync(ImmutableSegmentedList1 projectPathsToLoadOrReload, CancellationToken cancellationToken) in //src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LanguageServerProjectSystem.cs:line 196\n   at Roslyn.Utilities.AsyncBatchingWorkQueue1.<>c__DisplayClass2_0.<<Convert>b__0>d.MoveNext() in /_/src/Workspaces/Core/Portable/Shared/Utilities/AsyncBatchingWorkQueue1.cs:line 38\n--- End of stack trace from previous location ---\n   at Roslyn.Utilities.ValueTaskExtensions.VerifyCompleted[T](ValueTask1 task, String message) in /_/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ValueTaskExtensions.cs:line 24\n   at Roslyn.Utilities.AsyncBatchingWorkQueue2.ProcessNextBatchAsync() in //src/Workspaces/Core/Portable/Shared/Utilities/AsyncBatchingWorkQueue2.cs:line 269\n   at Roslyn.Utilities.AsyncBatchingWorkQueue2.g__ContinueAfterDelayAsync|15_1(Task lastTask) in //src/Workspaces/Core/Portable/Shared/Utilities/AsyncBatchingWorkQueue2.cs:line 216\n   at Roslyn.Utilities.AsyncBatchingWorkQueue2.WaitUntilCurrentBatchCompletesAsync() in //src/Workspaces/Core/Portable/Shared/Utilities/AsyncBatchingWorkQueue2.cs:line 233\n   at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LanguageServerProjectSystem.OpenSolutionAsync(String solutionFilePath) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LanguageServerProjectSystem.cs:line 122\n   at Microsoft.CodeAnalysis.LanguageServer.HostWorkspace.LanguageServerProjectSystem.OpenSolutionAsync(String solutionFilePath) in /_/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/HostWorkspace/LanguageServerProjectSystem.cs:line 123\n   at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem3.StartRequestAsync(TRequestContext context, IMethodHandler handler, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/QueueItem.cs:line 148"

Okay I finally got around to implementing this in the latest commit. I think it should work as expected now. It maybe looks a bit weird with the messages printed out to vim.notify. They are coming in after it is initialized, and all of the messages comes at once instead of as it progresses.
I will close this issue as I believe this is now fixed, but let me know if this doesn't fix your issue


Malware Domain List Down

It appears that the Malware Domain List is now offline.

List already removed. You can close this issue. Thanks 👍

Ah! I should have checked it. Sorry for inconvenience. Closing this one.


new(docs): add rule selection documentation

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind content
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area documentation
What this PR does / why we need it:
Document this: https://github.com/falcosecurity/falco/pull/3178
Which issue(s) this PR fixes:
Fixes #1316
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [LucaGuerra]

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

/hold
until 0.38.0 release

Nice!
If we accept the patch that prints all enabled rules when running Falco with -o log_level=debug similar to how we print the final set of syscalls please add that to the docs.
In addition, would say it's worth another announcement update in the rules repo readme https://github.com/falcosecurity/rules.

/milestone falco-0.38.0

/assign

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [LucaGuerra,leogr]

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

/unhold


logo and favicons

👷 Deploy Preview for timely-brigadeiros-dd9fc4 processing.

Name
Link

🔨 Latest commit
a9ffc72ede071c61fbcfbaa44908a5a58a68a9dd

🔍 Latest deploy log
https://app.netlify.com/sites/timely-brigadeiros-dd9fc4/deploys/64db4cd3aceaef0008fd7cc1


Check existing constraints before assigning

We need to check v1.TopologySpreadConstraint deepEquality because two v1.TopologySpreadConstraints are not the same (even with same content) since they have one field that is a pointer (LabelSelector). So when we do the namespaceTopologySpreadConstraints[constraint] = struct{}{} we are creating a new key every time. Now that we check their deep equality, v1.TopologySpreadConstraints with same content will be inserted as the same key in the assignment.

/ok-to-test

@knelasevero would you mind providing a simple unit test?

@ingvagabund Sure! will do :)


Publish fail with "Could not load file or assembly 'Microsoft.DotNet.ProjectModel"

In Visual Studio 2015 Update 3, create any "Net Core Web Application (.Net Framework)" project. While publishing it on azure we get the following error:
Could not load file or assembly 'Microsoft.DotNet.ProjectModel, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.
project.lock.json has following entry
".NETCoreApp,Version=v1.0": {
      "Microsoft.AspNetCore.Server.IISIntegration.Tools/1.0.0-preview2-final": {
        "type": "package",
        "dependencies": {
          "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-003121",
          "Microsoft.Extensions.CommandLineUtils": "1.0.0",
          "Microsoft.NETCore.App": "1.0.0",
          "System.Diagnostics.Process": "4.1.0"
        },
        "compile": {
          "lib/netcoreapp1.0/dotnet-publish-iis.dll": {}
        },
        "runtime": {
          "lib/netcoreapp1.0/dotnet-publish-iis.dll": {}
        }
      }
    }

Fresh boilerplate project can also display the same behavior.

@rave1502 this likely means there was an error restoring your project.json file. What is in your project.json file? Are you using NuGet.config to point to custom sources? Which version of dotnet-cli are you using? (run dotnet.exe --info)
Also, try deleting %USERPROFILE%/.nuget/packages/.tools/Microsoft.AspNetCore.Server.IISIntegration.Tools and restoring again.

@natemcmaster following dotnet-cli is in use on my system:
.NET Command Line Tools (1.0.0-preview2-003121)
Product Information:
 Version:            1.0.0-preview2-003121
 Commit SHA-1 hash:  1e9d529bc5

On my machine there was one old project created with dotnet 2015 update 1 or 2 was working fine, so did a quick file diff, the following line has done the trick:
"tools": {
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
            "version": "1.0.0-preview1-final",
            "imports": "portable-net45+win8+dnxcore50"
        }
    },

The original project.json has only this entry:
"tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

I guess "imports": "portable-net45+win8+dnxcore50" was missing.

You should not need "imports" for preview2. The original project.json entry is the correct syntax for the latest version of the tool. See https://docs.asp.net/en/latest/publishing/iis.html#publish-iis-tool.

@natemcmaster Ok. deleting and restoring package %USERPROFILE%/.nuget/packages/.tools/Microsoft.AspNetCore.Server.IISIntegration.Tools helped. I am able to publish profile now.
Thanks for your help.


M21_USB_1 : Support more customized parameters in InsertMedia request

Need to enable VirtualMedia functionality via Redfish before running test. Also, add more customized parameters, such as "TransferProtocolType", in InsertMedia request.
Reference : https://redfish.dmtf.org/schemas/v1/VirtualMedia.v1_6_2.json
File : https://github.com/ARM-software/sbmr-acs/blob/main/redfish/test_redfish_virtual_media.robot#L28

Hi @gtossk2,
We have modified the Virtual Media test to enable VirtualMedia Protocol prior to mounting the media, and added custom parameters for InsertMedia patching, that can be configured by ACS user by editing config file.
Please review #11
Thanks & Regards,
ACS Team

Hi @gtossk2,
The solution for the issue is merged with commit https://github.com/ARM-software/sbmr-acs/commit/079f8a33c6845483af144893deca89ffe6b0bbbe , To test out the solution, one can download the zipped repo artifact from https://github.com/ARM-software/sbmr-acs/actions/runs/7553206288.
Regards,
ACS Team


Added dependabot

Codecov Report
Base: 98.37% // Head: 98.37% // No change to project coverage :thumbsup:

Coverage data is based on head (1d4bd10) compared to base (22e34ad).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #5   +/-   ##
=======================================
  Coverage   98.37%   98.37%
=======================================
  Files           2        2
  Lines         185      185
=======================================
  Hits          182      182
  Misses          2        2
  Partials        1        1

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Tcpproxy: fix a crash when

Commit Message:
Fix a crash following the pattern in TcpUpstream.
The upstream handle should not be created if the newStream returns nullptr, regardless on failure or on immediate success.
Additional Description:
I don't know how to write a simple test though.
Risk Level: LOW
Testing: stress test on tcp proxy.
Docs Changes:
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]

/assign @alyssawilk

@alyssawilk add an integration test case. Also add the crashing stack frame in description


try receive data first when TryAsyncStream's poll_next.

When I was trying to slove the this issue https://github.com/launchbadge/sqlx/issues/2834
I found code here TryAsyncStream's poll_next can emit result without poll some Future.
And if the the channel is full, Pull some future can be slow because of send to a channel must wait.

Buffering data in the channel is not the intent here. As written, this will read 10 rows from the connection before returning the first one, even if one row is all we're expecting.
The simple fix for the warning in #2834 is to pass a no-op waker to the channel, or just not use an async channel in the first place (futures-channel is kind of inefficient anyway because it allocates for every item sent).


[Darga] Add permissions.yml with middleware removed

@chessbyte @pilhuhn Please review.  This PR is to darga branch to remove the middleware tab.
Note that this affects downstream builds.  I will have a downstream MR to deal with this properly. cc @simaishi

To fix the bugs here properly I've opened #8200 on master so that we can have proper specs for the permissions.yml and permissions.tmpl.yml.  Once that's in and backported to darga, I'll rebase this.

@Fryguy @pilhuhn @chessbyte  if I'm not tagged/cc-ed on PRs, I can't be aware of them and the decisions that led to them (and on a friday - even less chance :))  - lets make sure I am aware in the future on similar topics (I also saw completely by chance a discussion in #8160 that led to this PR )

and maybe it's time to revive the effort for user notification via miq-bot based on labels (someone from containers led this effort last year but iirc it was not merged)

@abonas Sorry about that, I completely forgot you were over on middleware now.

@Fryguy lol


Add test for SHA and tags

Tests are checking the default branch. It is good to have tests for SHA and tags.

When test coverage in #50 is added we will see the need for those tests.

Blocked by #132 (Formulate a testing strategy)

PR #146 includes some of this

Done well enough to close this


Enabling JavaScript accessible events - navigation with other keys for grid

Closing as focus is now switched towards basic content accessibility instead of building rich widgets.


Add "replace" to update queries, just like in SQL

Use case: Update several entries, where I need to replace a certain string value. There is no need to select the items.
Current solution: Select all desired entries and update one by one. This is a performance nightmare.
Feature description: When updating an entry, use the following syntax (works in "normal" SQL):
UPDATE myTable set someValue=REPLACE(someValue, 'old text', 'new text') WHERE someID='71AD3D9C-7755-474D-BA78-B23AF9968030'
Would be great if this would work with crate as well.
Additional info: Should also be made available for updating arrays, where one could remove or add an item to the array(s if multiple entries), without actually fetching them.

Hi @hnstbndr
I will forward this on to the right department and keep you updated on how this progresses,
is that OK?

@izloop thanks, sounds like a plan. any idea on an ETA?

@hnstbndr I will update you once I know more!

As a workaround, by using UDF it would be possible to quickly implement a replace function in Javascript.
We've no concrete plans to add this, but would very much like to have this function - so contributions would be great.
We might squeeze this in some time anyhow otherwise, but we can't give an ETA

@mfussenegger finally got around to check out the proposed quick solution with JS. Unfortunately, this is only available with the enterprise edition. We are not there yet, to get a license, still in the "finding the right database" phase. I thought enterprise features are enabled by default and only need to be purchased after one goes live... so there is no chance to try it out?

I thought enterprise features are enabled by default and only need to be purchased after one goes live... so there is no chance to try it out?

CrateDB currently launches by default in enterprise mode. It's allowed to use the enterprise features for trial/evaluation. But javascript language support for UDF has to be enabled separately (lang.js.enabled: true in crate.yml)

@dominikmoosbrugger has this been implemented? or why did you close the issue?

@hnstbndr Sorry for this, it seems this happened in error. We will reopen this, of course @mfussenegger also notified me about that.

We've merged a replace scalar with https://github.com/crate/crate/pull/7924, it will be available with 3.2


Enable chart/prov files overwriting option

Enable chart/prov files overwriting option

change 'ALLOW_OVERWRITE' from 'false' to 'true'

Pull Request Test Coverage Report for Build 7918

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.01%) to 63.955%

Files with Coverage Reduction
New Missed Lines
%

src/common/scheduler/policy/alternate_policy.go
3
80.29%

Totals

Change from base Build 7915:
0.01%

Covered Lines:
11980

Relevant Lines:
18732

💛  - Coveralls


BUG: samples dont respect method

Method appears correct in the "Try it out" section, but not in the samples

Screenshot was taken using this spec that demonstrates the issue https://gist.github.com/addshore/e6b973939739e25902025bf1667e69a1

I fixed it a bit, but it still doesn't support Body Editing, so the SampleCode for POST/PUT/etc is not real. I'm thinking on hiding it for now, it also should be done by an external library like:

https://github.com/ErikWittern/openapi-snippet
https://github.com/curlconverter/curlconverter.github.io

Ooh yeah, I think probably using an external library for this makes sense.


Execute the file

Hello,
Not really an issue, but I don't know how to execute your software...
Thanks

This is pretty late, but I thought I can answer for any person struggling:

Go to Releases
Download the ZIP file for the latest release. As of today, it is 0.3.
Extract the file, using a zip extractor (like Windows'/Mac's own ZIP extractor or an open-source tool like 7-Zip).
You should have extracted a file called dimmer.exe. Double-click it. The screen should dim a bit. You have more options to change brightness and temperature of any connected display, right in the system tray on the bottom right (highlighted in yellow).

Enjoy!

@clangen, have you compared your app (in terms of applying blue light protection by lowering color temperature, not extra bells and whistles) with F.lux, Redshift, SunsetScreen, Iris, LightBulb, Gammy, etc?


Respect the REGISTER_MANUAL_CONFIRM setting when registering via OIDC

This change prevents Gitea from bypassing the manual approval process for newly registered users when OIDC is used.

Resolves https://github.com/go-gitea/gitea/issues/23392

@kdumontnu care to review?

@kdumontnu care to review?

We try to avoid the conflict of interest since we work together at AllSpice.

Maybe this PR also fixes #24138 ?
And it seems that there was a discussion about this issue before in #19310

I agree #24138 does sound like the same issue. The discussion in #19310 seems to be around addressing this type of issue more generally, which would be good, but will be quite an undertaking by the sounds of it.


Can't run botfront on windows

Describe the bug
I am trying to install and run botfront on my windows machine. But when running the command botfront up, the browser is not opening and I got the error on screenshot below.

To Reproduce
Steps to reproduce the behavior:
npm install -g botfront
botfront init
botfront up
Expected behavior
It should open browser on http://localhost:8888/
Screenshots
Here is the log I got from botfront logs

Desktop (please complete the following information):

OS: windows 10
Browser : chrome
Version : 87.0.4280.88

This problem might be from docker. Did you install docker and active it?

This problem might be from docker. Did you install docker and active it?


Error message:
--
➜  utilphp git:(master) ✗ phpunit
PHPUnit 4.5.0 by Sebastian Bergmann and contributors.
Cannot open file "/var/www/html/utilphp/vendor/autoload.php".
This started happening when I checked out the latest repository.
Is it just my PHPUnit or is there something wrong with the repo unit testing?
Thanks.

Another user sent in a patch to make PHP unit start using the composer autoloader (helps ensure we don't break autoloading support, which has happened once). Simply run composer install from the project directory and you should be good to go.
I'll work on adding a better error message.

Hey, I actually just went ahead and made the autoloader optional. If it's not present, it'll result in 1 skipped test.


Update installation.md

Purpose of this pull request
Spelling and word choice. grep was repeated twice in list, assumed egrep. Also Inpack was written instead of Unpack.
Affected pages
https://experienceleague.adobe.com/docs/commerce-operations/tools/site-wide-analysis-tool/installation.html

...

Links to Magento Open Source code

...

Thanks for the contribution @null93. Please complete the PR description.

@jeff-matthews Done, apologies though commit would speak for itself. Let me know if there is anything else. Thanks!

Thanks @null93! The description helps us prioritize and process contributions.

guess not


Improve the scanner to handle a case study project

Accepted benchmarking 9a7863f. This may take a while.

Finished benchmarking 9a7863f.

Benchmark
Before
After

RscNativeTypecheck
76.106 ms
73.493 ms

RscTypecheck
26.171 ms
27.004 ms

Full results are available at https://github.com/twitter/rsc/commit/5f2b9d26d07400b7ef712cc09eff5b6e146b0c4c.


Inline Image Processing: Allow for Shared Options for Sharp Fluid Query

https://www.gatsbyjs.org/packages/gatsby-plugin-sharp/#shared-options
It'd be great to be able to pass a single object to configure sharp to the html pluginOptions  with toFormat and traceSVG in particular.

I agree 100%, we'll definitely be adding this as an option after the first stable release. Thanks for suggesting this!

Closing this as a duplicate of #71
Thanks again for the awesome suggestion :D


convert duration tests to table-driven style

Closes #355

Coverage: 95.68%. Remained the same when pulling ab092bf4f0ea9b57da123ebb57f2f0a533cd2a67 on diPhantxm:refactor-duration-tests into a90f095eb7e501c3ba6a960a2eaeb1d557e33e82 on gavv:master.

Thanks for PR!
One minor issue: when there is only a single subtest, we can remove subtest (like in other Duration tests). Could you please do it?

Sure! Please check out

LGTM!


Is subscribing using product deprecated?

This topic says that you can now subscribe without using a product. But the overview topic does not mention the new method you updated by changing the consumption tier. Is is necessary to update your overview? The overview now looks misleading to me.

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

ID: 896691fb-064a-eaf8-f71f-53200149b48a
Version Independent ID: ff3e18ed-6d13-6fac-7b6c-f78f47b0f754
Content: Subscriptions in Azure API Management
Content Source: articles/api-management/api-management-subscriptions.md
Service: api-management
GitHub Login: @miaojiang
Microsoft Alias: apimpm

@xin-feng2 Thanks for the comment! We will check on this issue and get back to you soon.

@xin-feng2 You are right. Thanks for catching that!
Please feel free to open an issue on the overview doc for better tracking.
Since this particular doc doesn't require an update, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


For unit tests: add gtest libraries explicitly not only gtest_main.

The layering_check feature of bazel complained that the direct dependency for using the header was not included.
Doesn't matter much in practice, but being explicit about the dependencies is also nice.
(It will then eventually be possible to run the layering check in the CI, so that things are not forgotten accidentally)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9442853) 92.91% compared to head (e8d361e) 92.91%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2110   +/-   ##
=======================================
  Coverage   92.91%   92.91%
=======================================
  Files         358      358
  Lines       26572    26572
=======================================
  Hits        24689    24689
  Misses       1883     1883

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added ubuntu-12.04.5 amd and i386 templates

Added new ubuntu-12.04.5 amd and i386 templates.
Old iso files are not available any more.

any chance you could merge them like it's done here: https://github.com/gkumar48/veewee/blob/ubuntu-12.04.5/templates/CentOS-5.10/definition.rb?

I have made the changed as per your suggestions.

now you could merge those two directories into one! in fact you could even merge previous versions too! all into one directory for ubuntu-12.04 :) the biggest benefit of the yml files is that it's easy to compose multiple configurations that have a lot of repeating parts :)

I don't see the merge pull request, it looks like I don't have write access to the repo. Is it possible for you to do the merge?

yes, only maintainers can merge pull requests, as I wrote in previous comment it would be the best if you merged the two directories, the work is not done, it can be improved a lot.

I will try to find sometime and do it this weekend. thanks


Generated strings/passwords do not always have at-least 1 character of the specified set

Hi, I've been looking at options of using RandomString4Net to satisfy our password requirements of having:

9 characters

At least 1 upper-case & 1 lowercase character
At least 1 symbol
At least 1 number

I was hoping that RandomString.GetString(Types.ALPHANUMERIC_MIXEDCASE_WITH_SYMBOLS, 10) would provide us with what we want; ie at least 1 character of each. This does not appear to be the case though; example generated values include:
FBKl%.=>VT (no number)
=#h5\1j-r: (no uppercase character)
Is this a feature that can be supported in the future?
Thanks,
Bryce

@BrycePC , thank you for your feedback. Currently the generator is not strict with the input, due to which you are not getting the expected result.
I will make the changes and will release a new version in few days.
Cheers

Thanks for your help @ljnath !

@BrycePC , I have added the feature and a new version 1.4.0 has been released.
To achieve your requirement a new boolean flag forceOccuranceOfEachType has been added, when forceOccuranceOfEachType:true, characters for each sub-type will be used during the random string generation.
In your case, you can try
RandomString.GetString(Types.ALPHANUMERIC_MIXEDCASE_WITH_SYMBOLS, count:10, forceOccuranceOfEachType:true)

Thanks again @ljnath , I will grab this latest version for our next changes.
Cheers,
Bryce

@BrycePC , thank you. I will close this issue for now; feel free tp create one if encounter any.


Resource updation request of an Article - Outlier Detection using PyOD

Hi,
I have written an article on Outlier Detection using PyOD on Analytics Vidhya Blog -
https://www.analyticsvidhya.com/blog/2019/02/outlier-detection-python-pyod/
In the article, I have tried to explain the need for outlier detection and how can we use pyod for the same and also implemented pyod on a real world data set.
Please consider it including in your resources section on GitHub. I believe it would be really helpful for the people who wanted to get started with pyod.
Thanks

Hey Lakshay,
Thanks for writing such a good post. I have added your tutorial article to "quick start" on readme and "featured post", which feels more relevant:)
Thanks again.
Yue

Thanks, @yzhao062


typo: Double word "from"

@nschonni : Thanks for your contribution! The author, @dominicbetts, has been notified to review your proposed change.


RTIO Support: I2C

Is your feature request related to a problem? Please describe.
RTIO is a feature that enables lock-free queue like requests to hardware peripherals, allowing for things like I2C transactions to be started in an ISR context. This is very useful for sensors and is part of the newer sensor API. Peripheral drivers should support this API in a broad way in Zephyr
Describe the solution you'd like
I2C bus drivers supporting RTIO broadly.
Additional context
Status of I2C bus driver RTIO support

[x] sam twihs
[ ] nxp i2c (frdm k64f for example)
[x] nxp lpi2c (mimxrt10xx for example)
[ ] nxp flexcomm
[ ] nrf twi
[ ] nrf twim
[ ] stm32 i2c
[ ] dw
[ ] sedi

RTIO support for nRF TWI: #72539


Terminal link tooltips are no longer showing up

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.80.1
OS Version: 13.4.1 (c)

Steps to Reproduce

Open the integrated terminal.
Bring up some content that has a link (e.g. a URL or a file path).
Hover over a link.
No tooltip is shown, unlike in the documentation.

Video
https://github.com/microsoft/vscode/assets/6618434/1327966b-7494-4ebc-b31b-687d4802c1ef

You're absolutely right, I completely forgot that I had enabled terminal.integrated.showLinkHover 🤦♂ My bad, and thanks for looking at this!

Phew 😅


UserError - How do I add a version checker button?

I can't seem to find a simple guide to do this can someone help me? Note this is for 1.7.10

This would be nice to know. I had it working one time, but never since.


How to understand what is going wrong with the deployment of the PulsarConnection/PulsarTopic

Hi,
I am experimenting with 'pulsar-resources-operator' to create Topics in my Pulsar Cluster created with Pulsar Operator.
My Pulsar cluster is working and I can create Topics with 'pulsar-admin' from Pulsar Brokers Pods shell....
Now if I install 'pulsar-resources-operator' to the same name space I installed the Pulsar-Operator 'pulsar-system', the operator Pod start happily without any error warnings in the logs.
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","message":"Starting server","kind":"health probe","addr":"[::]:8081"}
I1024 07:59:18.104575       1 leaderelection.go:248] attempting to acquire leader lease ms/feaa54b6.streamnative.io...
I1024 07:59:18.122522       1 leaderelection.go:258] successfully acquired lease ms/feaa54b6.streamnative.io
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting EventSource","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","source":"kind source: *v1alpha1.PulsarConnection"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting EventSource","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","source":"kind source: *v1alpha1.PulsarTenant"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting EventSource","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","source":"kind source: *v1alpha1.PulsarNamespace"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting EventSource","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","source":"kind source: *v1alpha1.PulsarTopic"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting EventSource","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","source":"kind source: *v1alpha1.PulsarPermission"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting Controller","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection"}
{"severity":"info","timestamp":"2022-10-24T07:59:18Z","logger":"controller.pulsarconnection","message":"Starting workers","reconciler group":"resource.streamnative.io","reconciler kind":"PulsarConnection","worker count":1}
And if I deploy my PulsarConnection and PulsarTopic to the 'test' Namespace as it described in Tutorial, I don't get any reaction from the operator, no errors, no success messages and my Topic is not generated.
This is how my PulsarConnection looks like
    apiVersion: pulsar.streamnative.io/v1alpha1     kind: PulsarConnection     metadata:       name: {{ .Release.Namespace }}-pulsar-connection       namespace: {{ .Release.Namespace }}     spec:       adminServiceURL: "http://pulsar-broker.test.svc.cluster.local:8080"
I can see the PulsarConnection resource in my kubernetes environment but what irritates me...
OBSERVED_GENERATION is empty, along with ADMIN_SERVICE_URL, but as you can see I have value in 'adminServiceURL'...
It either 'pulsar-resources-operator' does not recognise an new Resource is deployed or it gets no connection to Pulsar cluster but I do not see any errors in any pods logs...
So is there a way to increase log levels for the 'pulsar-resources-operator' logs or how can I diagnose what is going wrong

Hi @mehmetsalgar, thanks for the feedback. It's the doc's issue. Could you replace the apiVersion with resource.streamnative.io/v1alpha1.  I have fixed the apiVersion issue in this PR.
apiVersion: resource.streamnative.io/v1alpha1
kind: PulsarConnection
metadata:
  name: "test-pulsar-connection"
  namespace: ok
spec:
  adminServiceURL: http://o-sn-platform-broker.ok.svc.cluster.local:8080
  authentication:
    token:
      secretRef:
        name: o-sn-platform-vault-secret-env-injection
        key: brokerClientAuthenticationParameters

But no matter which apiVersion it is, if the manifest is correct, the ADMIN_SERVICE_URL shouldn't be empty. The empty OBSERVED_GENERATION is okay at the first time.

There is also another point you should know. Please use pulsarconnection.resource.streamnative.io when you run kubectl command to get it.


Year Click to display years on grids table

Hello, is it possible to get year clickable functionality to display years on grids? Because I click on year I'm not be able to delete the first number ("1" or "2") of the year, I have to select and I believe it's not user-friendly.

Same here, terrible user experience, and it seems author doesn't want to pay attention to this


Validation errors are not informative

# Test

* The following users exist
   |name | email      |
   | test   |<EMAIL_ADDRESS>|

step "The following users exist" do |table|
end

This throws a validation error because step implementation don't say the parameter placeholder. But the message is not very informative. This is what I got:
Validation failed. The following steps have errors
login_logout.spec:4: . The following users exist

It should say it is expecting a parameter which is not found.

gauge-ruby has a fix via https://github.com/getgauge/gauge-ruby/commit/230f9dff9a9f56f6eeacb1b7cd8b3ce17998c26b


Only use week if weekOfYear is missing

Fixes a regression introduced when rewriting Calendar in Swift -- CFCalendar entry points expect this code to only use one of week of year or (deprecated) week.
Resolves rdar://111791782

@swift-ci test


Bug: deadloop in proxy_handle_downstream

Describe the bug
We receive many waiting for permit log, CPU go to 100%
2024-11-18T18:59:19.240967 DEBUG tcp{port=443}:http{trace_id="20241118185918x173192755855585895a" inbound="http"}: waiting for permit Err(Error { error_type: InternalError, error_source: Unset, inner: Some("Closed(..)"), help: Some("try_reserve() body pipe for upstream"), retry: Decided(false) })
2024-11-18T18:59:19.240975 DEBUG tcp{port=443}:http{trace_id="20241118185918x173192755855585895a" inbound="http"}: waiting for permit Err(Error { error_type: InternalError, error_source: Unset, inner: Some("Closed(..)"), help: Some("try_reserve() body pipe for upstream"), retry: Decided(false) })

Pingora info
We forked pingora code into our own codebase
Pingora version: release number of commit hash
Rust version: i.e. cargo 1.82.0 (8f40fc59f 2024-08-21)
Operating system version: Centos 8
Steps to reproduce
first, pingora pipe upstream/downstream, it's OK.
let ret = tokio::try_join!(
            self.proxy_handle_downstream(session, tx_downstream, rx_upstream, ctx),
            self.proxy_handle_upstream(client_session, tx_upstream, rx_downstream),
        );

But if proxy_handle_upstream exit early than proxy_handle_downstream, rx will be droped.

https://github.com/cloudflare/pingora/blob/bdb13a7e40b19280d703ad1f64abc29ee5baf480/pingora-proxy/src/proxy_h1.rs#L203

In proxy_handle_downstream, we get permit first.
  let send_permit = tx
      .try_reserve()
      .or_err(InternalError, "try_reserve() body pipe for upstream");

But since rx already been droped. send_permit will be Closed, not Full
// https://docs.rs/tokio/latest/tokio/sync/mpsc/error/enum.TrySendError.html
pub enum TrySendError<T> {
    Full(T),
    Closed(T),
}

send_permit.is_ok()  will already be Error. It will NEVER been polled again!
  body = session.downstream_session.read_body_or_idle(downstream_state.is_done()),
                    if downstream_state.can_poll() && send_permit.is_ok() => {
}

tx.reserve() will always return Error since it be closed,
 _ = tx.reserve(), if downstream_state.is_reading() && send_permit.is_err() => {
      debug!("waiting for permit {send_permit:?}");
      /* No permit, wait on more capacity to avoid starving.
       * Otherwise this select only blocks on rx, which might send no data
       * before the entire body is uploaded.
       * once more capacity arrives we just loop back
       */
  },

finally, forward deadloop
Expected results
works corrently
Observed results
Our server deadloop
Additional context

Why we send body to proxy_handle_upstream even if body is empty, which send upstream_end_of_body == None, causing proxy_handle_upstream exit early
// retry, send buffer if it exists or body empty
if buffer.is_some() || session.as_mut().is_body_empty() {
    let send_permit = tx
        .reserve()
        .await
        .or_err(InternalError, "reserving body pipe")?;
    self.send_body_to_pipe(
        session,
        buffer,
        downstream_state.is_done(),
        send_permit,
        ctx,
    )
    .await?;
}

// retry, send buffer if it exists or body empty
// false || true
if buffer.is_some() || session.as_mut().is_body_empty() {
let send_permit = tx
.reserve()
.await
.or_err(InternalError, "reserving body pipe")?;
let end_of_body = self.send_body_to_pipe(
session,
buffer,
downstream_state.is_done(),
send_permit,
ctx,
)
.await?;
// ++++ should we finish body if return value is true ?
downstream_state.maybe_finished(end_of_body);
}

If you have a PR to address this, we'd appreciate and review it!

will do

merged via 98bdb521cd43bf5dcc3455b2138293c642a84850


Support to create clusters in HeatMap

Clusters can be created in heatmap by probably supporting to add multiple series, with each series representing a cluster. or combining labels to form a tree-like structure similar to R heatmaps.

Can you link to an example showing how it would look like?


Missing messages during publishing

I have a small script that is pushing messages to rabbit. It includes 2 processes: pulling data from a database and manipulating, and sending to rabbit. Internally this is done by spawning a tokio task that handles the rabbit part while the main task is doing the database work. To communicate between the two tasks I use an async channel. What I am seeing is that not all the messages are suceessfully delivered to rabbit. I checked and the publish action is being run for all messages but I suspect that the process finishes too early. The function that sends messages can be seen here (a bit simplified):
pub async fn send_to_rabbit(receiver: Receiver<Row>) -> Result<(), String> {
    let connection = rabbit_connection().await;
    let channel = connection
        .create_channel()
        .await
        .expect("Failed creating channel for rabbit connection");
    while let Ok(body) = receiver.recv().await {
        let value = serde_json::to_vec(&body)
            .map_err(|_e| format!("Failed to serialize message: {:?}", body))?;
        channel
            .basic_publish(
                "my-exchange",
                "entity",
                BasicPublishOptions::default(),
                &value,
                BasicProperties::default(),
            )
            .await
            .map_err(|_| "Error while sending to rabbit".to_string())?;
    }
    //  tokio::time::sleep(Duration::from_secs(5)).await;
    receiver.close();
    if let Err(e) = channel.wait_for_confirms().await {
        tracing::error!("Failure waiting for all confirms from RabbitMQ: {:?}", e)
    }
    Ok(())
}

When I add the sleep all messages are properly delivered. I initially thought wait_for_confirms would wait for all remaining confirms but that doesnt seem to be the case. I feel that simply adding sleep is not deterministic enough, there is no guarantee that it will finish in the allotted time.
Am I doing something wrong or misunderstanding something here?

you need to call channel.confirm_select(ConfirmSelectOptions::default()).await to receive confirms


Review script for paper "2023SoPh..298..105R" made with predictor "DataLinkerCondenseDetailsWithTemplate"

Created by Paper Data Linking Bot
Please review the download script and instrument details for the paper.
bibcode: 2023SoPh..298..105R
predictor: DataLinkerCondenseDetailsWithTemplate

Correctly represents the data mentioned in paper, but the mk3 and mk4 queries don't return any results. It seems that these instruments are listed in the VSO but might not actually have any data available there since their VSO tables are empty. See here for mk3 and here for mk4.

Mk3 is not listed on the VSO web application for searching data. The VSO documentation is probably out of date. Mk4 is available and access is tested on a daily basis - see https://docs.virtualsolar.org/wiki/VSOHealthReport. The paper surveys all the Mk4 data. There may be too many records for the VSO to return.
Hmmm. This is generating some ideas for me for the VSO.

Ah, interesting. So how would I successfully query for Mk4 data? I just tried to to limit to one day of Mk4 data and I still don't get any results.
mk4_time_range = a.Time('2013-12-30', '2013-12-31')
mk4_instrument = a.Instrument("mk4")
mk4_query = Fido.search(mk4_time_range, mk4_instrument)

Mk4 was a ground based coronagraph. Sometimes there are no data because of clouds, or because of operational constraints. What should we assume about the user's knowledge of the operational nature of the instrument that took the data?


add support for deployments ?

could you add support for https://kubernetes.io/docs/user-guide/deployments ?

Added in 0.5.4


fix(curriculum): remove extra "" from description

Noticed an extra "\" in the text file on cat photo step description on beta course
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-4
before

after (removed excess "\")

To test:

I updated the .env variable of SHOW_NEW_CURRICULUM=true

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Thanks for the review @gikf -- let me know who else would need to approve?

@JackHowa another moderator, or staff. Generally merging PR requires two approvals from reviewers with write access.

codeql issue?

Hi @JackHowa. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝


BigQuery: Adds time filtering to client.list_jobs()

Resolves #5067

@shollyman Per our in person discussion, I will send another PR expanding the bigquery_list_jobs snippet to include examples of more of the possible arguments (all_users, min_creation_time, max_creation_time). This will serve as an integration test.


Update mySBOM.json

:tada: Snyk checks have passed. No issues have been found so far.
:white_check_mark: security/snyk check is complete. No issues have been found. (View Details)


Integrate docker-compose configuration for fertiscan-frontend to enable local integration testing

Create a docker-compose containing:

The fertiscan-backend
The local Dockerfile of fertiscan-frontend
Grafana
Loki
Prometheus
Alloy
Tempo
Ingress NGINX

Out of scope for now. Taking it out of iterations


WatchGuardFirebox Connector update

Fixes #
New update WatchGuardFirebox Connector and related files
Connector_syslog_WatchGuardFirebox.json
WatchGuard_Logo-SVG_Format.svg
WatchGuardFirebox.txt
WatchGuardFirebox_syslog_data.csv
Proposed Changes

Update WatchGuardFirebox.txt and Connector_syslog_WatchGuardFirebox.json file following the request, please have a check
As for WatchGuard_Logo-SVG_Format.svg file
I remove xmlns:xlink, keep id="Layer_1".
logo properties didn't have GUIDs so i'm not sure id="Layer_1" should be keep or modify or delete
Thanks very much

Hi @v-jayakal
Kusto Function Path I have already update yesterday, please have a check

Hi @v-jayakal the logo file in attached  looks good, i did the update

That file modification still has the xmlns entry. Attached is the file that was modified to be provided. This formatting should meet the requirements of:
https://github.com/Azure/Azure-Sentinel/blob/e1665d4c4442b430d6847adc65f4b9c25f7b071f/DataConnectors/ReadMe.md
Regards,
John Berg | Technical Program Manager
WatchGuard Technologies, Inc. | www.watchguard.comhttp://www.watchguard.com/
john.berg<EMAIL_ADDRESS>Office Phone:<PHONE_NUMBER>
Office Hours: 7:30AM - 4:30PM (Pacific Time), Monday – Friday
From: v-jayakal<EMAIL_ADDRESS>Sent: Thursday, December 3, 2020 1:10 AM
To: Azure/Azure-Sentinel<EMAIL_ADDRESS>Cc: EcoSystemPO<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Azure/Azure-Sentinel] WatchGuardFirebox Connector update (#1365)
@v-jayakal requested changes on this pull request.
Logo should not have id. There is an invalid attribute version.
Removed id and version and checked at my end, it looks good. Can you please check the attached file and make changes to the svg file if you find it good?
WatchGuard_Logo-SVG_Format-updated.ziphttps://github.com/Azure/Azure-Sentinel/files/5634924/WatchGuard_Logo-SVG_Format-updated.zip

In DataConnectors/Connector_syslog_WatchGuardFirebox.jsonhttps://github.com/Azure/Azure-Sentinel/pull/1365#discussion_r534978318:

       {

           "provider": "Microsoft.OperationalInsights/workspaces",

           "permissionsDisplayText": "write permission is required.",

           "providerDisplayName": "Workspace",

           "scope": "Workspace",

           "requiredPermissions": {

               "write": true,

               "delete": true

           }

       }

   ]

},

"instructionSteps": [

   {

       "title": "",

       "description": ">This data connector depends on a parser based on a Kusto Function to work as expected. [Follow these steps](https://aka.ms/sentinelgithubparsersWatchguardFirebox) to create the Kusto Functions alias, **WatchguardFirebox**",

Please update the Kusto Function Path here: https://aka.ms/sentinel-watchguardfirebox-parser
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Sentinel/pull/1365#pullrequestreview-543739133, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI2ZT54F7RO5RDIFCWDKA6DSS5IU3ANCNFSM4UB5YE3A.


Incomplete list of stored procedures displayed

Type: Bug
The Programmability/Stored Procedures tree node does not display all stored procedure from our database.  I only see 68, but our database has 603.
Azure Data Studio version: azuredatastudio 1.44.1 (8f53a316fa00a98264f1ab119641cd540b5af25c, 2023-06-01T02:12:48.765Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No
Preview Features: Enabled
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz (16 x 2611)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
63.20GB (51.34GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

query-editor-boost
dre
0.4.1

ssmskeymap
kev
1.1.0

admin-tool-ext-win
Mic
0.1.2

agent
Mic
0.49.0

import
Mic
1.5.5

powershell
ms-
2023.2.1

query-history
Mic
0.5.3

azdata-sanddance
msr
4.0.3

extra-sql-script-as
pac
0.5.0

sql-prompt
Red
0.2.12

sql-search
Red
0.4.2

(1 theme extensions excluded)

@barryseymour can you please capture verbose logs when expanding OE nodes?

Sorry, I'm out of work for 6-8 weeks due to knee surgery.
On Tue, Jun 27, 2023 at 10:52 AM github-actions[bot] <
@.***> wrote:

We need more info to debug your particular issue. If you could attach your
logs to the issue (ensure no private data is in them), it would help us fix
the issue much faster.

First open the Settings page, find the Mssql: Tracing Level setting
and change that to All then restart Azure Data Studio.
Open command palette (Click View -> Command Palette) and run
the command Developer: Set Log Level... and set the level to Trace.
Run the repro scenarios.
Collect the following logs:

Console Logs

Open Developer Tools (Help -> Toggle Developer Tools)
Click the Console tab
Click in the log area and select all text (CTRL+A)
Save this text into a file named console.log and attach it to this
issue.
Developer Tools can be closed via Help -> Toggle Developer Tools

Application Logs

Open command palette (Click View -> Command Palette)
Run the command: Developer: Open Logs Folder
This will open the log folder locally. Please zip up this folder and
attach it to the issue.

Now you can revert the Log/Tracing levels changes made in step 1
and step 2.

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azuredatastudio/issues/23399#issuecomment-1609969668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJSAHM5SODWJFQ3KXIHW63XNMMUBANCNFSM6AAAAAAZJMZAR4
.
You are receiving this because you were mentioned.Message ID:
@.***>

@barryseymour Hi are you able to provide logs for this error?

Sorry, I am no longer able to reproduce this issue. Please close the ticket.
On Thu, Sep 21, 2023, 12:35 Christopher Suh @.***>
wrote:

@barryseymour https://github.com/barryseymour Hi are you able to
provide logs for this error?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/azuredatastudio/issues/23399#issuecomment-1730185260,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJSAHOOIAGASJTIUE6TMF3X3SJJ3ANCNFSM6AAAAAAZJMZAR4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Closing as no longer reproducible.


[Error] Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues

I need your Debuginfo.log or I can't help

Procurement 1.9.8 has been released, please retest and open a new issue if you still have problems
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.8


Add test for middleware + presigned url, using a basePath

Presigned url generation should work for this case:
expressApp.use('/someBasePath', s3rverInstance.callback())

@kherock middleware is fundamentally broken, I've created a couple of other issues and a PR to try and set it straight... please merge/fix and release! It's made me do weird workarounds


Intrinsic and Language docs

@leonskidev How is this so far? Do you have any other inclusions besides descriptions and examples for each intrinsic?


How to set syntax for config files without extension?

I'm just learning Linux and discovered this awesome text editor, which I absolutely love.
I have just one question...
On Linux, there are many config files without any extensions like /etc/default/grub. How do I set a syntax highlight for them (to at least recognize commented lines)?
In Sublime Text, I can explicitly use the command "Set Syntax (bash)"... is there something similar in Micro?

You can use an explicit command to set the filetype option: for example, > set filetype bash.
To save this for a particular file you can put it in your ~/.config/micro/settings.json using a wildcard match:
{
    "/etc/default/grub": {
        "filetype": "bash"
    }
}

Thank you, that's exactly what I needed :)
In case of the grub file, bash filetype didn't highlight it, but > set filetype conf or > set filetype ini worked perfectly.


[zh] CS230-Convolutional Nerual Networks

CS230-Convolutional Nerual Networks chinese simplified translatation completed.

That's awesome, thank you for all your work @linlih! Now, let's start the review process. Would you know someone who could go through your translation?

Thank you @amylmy for your review and your time! Please let me know when you get the chance to go through the rest of this translation.


Update actions_push_pr.yml

test123

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

testing123

testing


make.center does not center view

New Issue Checklist
🚫 If this template is not filled out your issue will be closed with no comment. 🚫

[ *] I have looked at the Documentation
[ *] I have read the F.A.Q.
[ *] I have filled out this issue template.

Issue Info

Info
Value

Platform                                   ios

Platform Version                     8.0

SnapKit Version                      3.0.2

Integration Method                cocoapods

Issue Description
⚠ in the swift 3.0 update area, you mentioned a current quirk where make.center.equalTo(otherView) places the view at (0,0) and that we should use make.center.equalToSuperview(). make.center.equalToSuperview() does the samething as well (places the view at (0,0).   ⚠

@ubest1 does your superview have a width/height > 0?


Fix gwm

Please merge after  #370 #371

Unify GWMPreprocessor
Add xxx_gwm models in set_up_predictor method
Fix multi-head attension calculation

Codecov Report

Merging #372 into master will decrease coverage by 4.32%.
The diff coverage is 67.85%.

@@            Coverage Diff             @@
##           master     #372      +/-   ##
==========================================
- Coverage   90.94%   86.62%   -4.33%
==========================================
  Files         220      217       -3
  Lines       10592    10563      -29
==========================================
- Hits         9633     9150     -483
- Misses        959     1413     +454


Enable iOS modules and fix missing symbols errors (3.2)

Fixes #18359 and should be fixing all other issues connected to missing symbols from iOS frameworks.
Would probably fix issues connected to XCode Capabilities that gets enabled automatically by linking specific framework and not allowing to build a game in XCode without enabling them at developer portal for game's AppID.
Enabling -fmodules and -fcxx-modules for iOS platform code allows application to automatically link frameworks used in the code. Which also removes the need to specify required frameworks in XCode project and this in turn will remove auto-enabling of unwanted XCode Capabilities that could potentially block the build.
This way adding or removing Capability for exported game would not cause any issues for building a project.
Push Notifications Capability are additionally handled in entitlements file, so it's here too.
I've tested this fix by using newly built .a files in existing XCode project. This allowed too remove In-App Purchase without breaking the ability to build and run on device or simulator
I've also tested it by creating new XCode project from export template I've managed to create with this fixes. No capabilities were enabled, so it should be building without any issue for non-paid developer account.

Should I make same PR against master branch or it can be cherry-picked there?

A dedicated PR for master would be great, as we usually cherry-pick from master to 3.2 but not the other way around. Note that you'll need to install the Vulkan SDK on macOS to build the master branch for iOS.

Well, right now same as in #39624 iphone platform on master branch is pretty much unbuildable, but I'll make PR.

Note that you'll need to install the Vulkan SDK on macOS to build the master branch for iOS.

iOS port to MVK is incomplete and won't build at all.

Thanks!


A missing year should not be displayed as '0'

Where?

In the bottom right corner of the "currently playing" screen.


LibScout doesn't detect Vulnerability

Dear LibScout Team
Currently, I am integrating LibScout into MobSF for a university project. In my testcase, I have an Android APK depending on OkHttp version 2.3.0. Referring to this repository's README.md, this version should be detected as vulnerable. However, this does not happen.
Specifics:
Java OpenJDK 8, tested on Ubuntu 20 LTS x86-64 and macOS Mojave
How to replicate:
Since the vulnerability is still present in the app's latest version, I am not going to disclose the exact APK used. Therefore, the placeholder VULN.apk
(executed in LibScout root directory, PROFILE_PATH is pointing to this):
java -jar build/libs/LibScout.jar -a <SDK_PATH> -p <PROFILE_PATH> -o match <VULN.apk>

Enabling the comments in the config file does display some information, but not the important [SECURITY] section. Has this been found after the latest update to above repo, or are we using the tool wrongly?
Yours sincerely

Do I understand this correctly, the respective OkHttp version is found but no security indicator is shown in the results?
The security-related library versions are not hardcoded in the LibScout source. Instead, the [SECURITY] flag is used in the comment section of the library.xml when profiling the library version. Upon detection, LibScout scans the comment section for the [SECURITY] flag.
For OkHttp 2.3.0 the library.xml looks like that:
<?xml version="1.0"?>
<library>
    <name>OkHttp</name>
    <category>Utilities</category>
    <version>2.3.0</version>
    <releasedate>17.03.2015</releasedate>
    <comment>[SECURITY] Certificate pinning bypass vulnerability: https://medium.com/square-corner-blog/vulnerability-in-okhttps-certificate-pinner-2a7326ad073b</comment>
</library>


Update http links

@NextTurn : Thanks for your contribution! The author, @rachel-msft, has been notified to review your proposed change.

verified link update


library fixes to get Adafruit OLED Bonnet working

Got an Adafruit OLED Bonnet for my Pi Zero and your UI looks like the best option for getting a simple menu going.  Of course you have a major project going on here and this is a minor thing, but I thought I would give you the option of ignoring it since these little OLED boards might end up being popular.  Adafruit is selling them in bundles with Zero Ws.
I had to change luma.core.serial to luma.core.interface.serial in output/drivers/luma_driver.py
I needed to change to pull UP in pi_gpio.py to get the built-in 5-way joystick and 2 buttons working.  An option in the config.json would be nice.   I'd do a pull request, but I'm just getting into Python and I don't think you'd like my patches.  :-)

Hi! This is great, thank you! I've seen the Adafruit OLED Bonnet before, it's a nice little thing, and it's used in projects like Radiomesh, even! pyLCI was originally meant to be an interface for input&output combos like these, so adding support for this pHAT is a priority.
I don't yet have one, so a pull request would be much appreciated. Barring that, I will see what's the problem with luma.core.interface. imports, and add pull-up/down support to pi_gpio driver. I will also think about adding a config.json option =)
BTW, you might want to map these buttons to KEY_PAGEUP and KEY_PAGEDOWN, navigating the menus is just so much faster! I will be changing page up and down keys to KEY_F3 and KEY_F4, but I will let you know when that is upstreamed (likely, along with a driver for the Bonnet =) )
Could you please share your config.json?

Also, how did you like the documentation you found along the way? Any places you could point to where it's lacking?

Sorry for the delay.  Ok, I'm new to pull requests, but I submitted one for the luma.core "interfaces" issue.
I guess I'll do another pull for the gpio pull-up issue so you can see what fixed things for me and then add an option to the json file for it.  Or leave that and I'll submit a proper patch at some point in the hopefully not too distant future when I'm more up to speed on Python.
I changed the extra 2 buttons to page up and down.  Yes, that is helpful.
My current /boot/zpui_config.json is
{  "input":  [   {    "driver":"pi_gpio",    "kwargs":    {     "button_pins":[17, 22, 27, 23, 4, 6, 5]    }   }  ],  "output":  [   {    "driver":"ssd1306",    "kwargs":    {     "hw":"i2c",     "address":"0x3c"    }   }  ] }

Yep, page up and down keys are very, very helpful with big menus and small screens! You changed the mapping in the driver file, right? I assume you did, if so, can you share the modifications? I'm going to add an "adafruit_oled_bonnet" input and output drivers, which would just pass-through options to ssd1306 and pi_gpio drivers, so the config would be less verbose - and I'd also like to add the key mapping changes =)

So, it seems I also need to implement input UI element switching - since you won't be able to use NumpadCharInput, but only CharArrowKeysInput - and, as NumpadCharInput is currently hard-coded everywhere you can input characters (including, for example, WiFi password entry menu), I need to somehow distinguish between different input drivers and serve limited UI elements to the drivers that don't have additional buttons necessary. For that, I finally need to implement input driver capabilities =) Will open an issue here, or, if I'll have enough time, I'll implement it right away.

Yes, I changed the default_mapping to this:
 default_mapping = [       "KEY_UP",       "KEY_DOWN",       "KEY_LEFT",       "KEY_RIGHT",       "KEY_KPENTER",       "KEY_PAGEUP",       "KEY_PAGEDOWN",       "KEY_DELETE"]
to match the button order in the .json file above.  There is no button that corresponds to the KEY_DELETE entry.  Not sure if that is significant/important.
Yes, the joystick-and-2-buttons situation definitely makes text input difficult in general.   My primary goal is to get a set of authentication tools to work, including a password manager based on hardpass, OATH OTP, and maybe Fido U2F, so I definitely need a way to input a decently complex password easily. I am  playing with putting together an on-screen virtual keyboard.
Before I found ZPUI, I was playing with Adafruit's Retrogame to handle the gpio inputs.  It maps gpio buttons to virtual USB keyboard inputs via evdev.  It has the side-effect of typing on the console if it isn't hooked, but that can be a good thing.  It might be useful if you are looking to move toward a more flexible input framework, funnelling everything through the standard linux user input handling.  Retrogame also has some limited "chording" ability and pressing 2 buttons together can send a different character as input.
Totally unrelated:  I don't know if you've run into Nerd Fonts before, but they let you display a huge number of glyphs and work great in your menus.  You might try the ProFont version, which is a clone of the original (i.e. 1984) Macintosh Monaco font, and the smaller point sizes are proper pixel fonts.  I think it looks really great on these small OLED screens.  The 2 Ubuntu variations (monospace and proportional) work well, too.

So, the "KEY_KPENTER" thing is definitely something I need to remove from the codebase. It was something that was originally done for compatibility with a USB numpad that I used to develop the very first version of pyLCI, and in retrospect I should've done that with a "special case" mapping in the driver - I wasn't good enough at the whole "planning" thing back then, though. You can safely use "KEY_ENTER", that's how ZeroPhone has been working for over a year now, so it seems to be compatible with the code - and, at some point in the future, "KEY_KPENTER" will be removed so that it doesn't confuse people (and the HID driver will get corresponding backwards compatibility functions)
There isn't indeed a button for "KEY_DELETE" - you can map it to whatever and use it as a special callback, I think - right now, there's a multi-context refactoring going on ( #8 ), one of the results of that will be that you'll have an option to instantly switch to an app of your choice by pressing a button, instead of navigating through the menus as it has to be done now =)
You saw the hardpass project, right? I just love it for some reason, I drew some inspiration from it while designing the ZeroPhone =) Are you interested in getting a board? I'll have a panel ordered soon, and I could put some hardpass front boards on it.
In the beginning, pyLCI input was actually based around evdev - which proved to be more trouble than it was worth. Each driver would create a HID device and send the events through evdev, and then pyLCI would use evdev to catch those events - which was a structure that was too complex for 99% of uses and was prone to various problems - so I went away from it before I released the first usable version of pyLCI. If you want to use a HID device (either a real one or one emulated from GPIOs), you can still use the hid driver, though - it worked well last time I checked =) BTW, ZeroPhone might also move to using hid once the onboard ATMega328P gets a proper kernel driver - then the driver will have to use a HID device for communicating keypresses to ZPUI (as I don't see why a kernel driver would use something other than HID for key events). This might also allow things like full-disk encryption, with the password entered on boot!
I changed the default mapping to the one you proposed), replacing KEY_DELETE with KEY_PROG1 - now it's in the ZPUI master branch. Currently, KEY_PROG1 is hard-coded as "MOCP next track", so you could just remove that line from apps/media_apps/mocp/main.py - sometime soon, there'll be a mechanism for apps to expose actions, and for users to map keys on those actions.

Thank you for the font suggestions, much appreciated! I'll have to go through these fonts sometime soon, see if I find anything that looks appealing to me... God knows I don't understand design as well, what's with all these fonts to pick from - I'd rather write a mechanism for users to pick their fonts =D

@CRImier May I point your attention towards #26 . I'm proposing such a system to have system-wide keymappings. I can take care of the refactoring after we decided how to do it.

@monsieurh The PR you're talking about doesn't actually address this problem (as far as I understand from the discussion we had about it, correct me if I'm wrong). This issue is now tracked here: #42


Increase accuracy of Wikidata API search

Is there any way to classify the entity based on the category and context.
Eg.
Apple Inc > Company
Apple > Fruit

I read the paper and it seems like sci spacy does not use contextualized word embeddings (the model they usde is described here: https://arxiv.org/pdf/1603.01360.pdf). There is some code for detecing and normalizing biomedical entities using contextualized word embeddings here:  https://bern.korea.ac.kr/ We could try and see if this is better at detecting the entities than sci spacy. We would still have to link the entites to Wikidata, but maybe we could use that in addition to sci spacy.