Cannot set absolute path

The default location for output for me is _build/test/lib/<app> relative to the project root (where I run mix test from) - I'm not sure that's intended?
Regardless, I wanted to change it to an absolute path so that I could configure Jenkins without having to know the build path.  I tried:
config :junit_formatter,
  print_report_file: true,
  report_file: Path.expand("../test-output.xml", __DIR__)

But this causes the output to go to _build/test/lib/<app>//<intended path> - i.e., the path is just appended.  From the source, append is exactly what's happening https://github.com/victorolinasc/junit-formatter/blob/master/lib/formatter.ex#L138

Sorry dfor the delay @dantswain!
This is actually intended. The path of the reports are usually inside the build path because they should be cleaned with the build files. If we allow to generate it to any path this would make the chore of cleaning them more difficult. Probably you would end up with stale reports and that is not good.
In Jenkins, the build path normally is relative to the $WORKSPACE variable (if your project is at the root of your repo than your all good). Does that work for you?

I understand what you're saying, and I guess I just disagree.  It's confusing to have a report_file option that doesn't actually set the path of the report file :/
I'm able to get it to work in Jenkins by using ./_build/test_lib/<myapp>/test-output.xml when copying out the artifact, but that's sort of suboptimal IMHO because it means (conceptually) Jenkins has to know about the structure of the build, and it's a little different for each project.  I discovered this because I was trying to set up a handful of Elixir projects in Jenkins and kept accidentally copying and pasting the test result artifact line and forgetting to change the location of the xml file :(  Or, to reword that in a way that makes it less about my mistakes - it doesn't really promote code reuse in the CI environment ;)
Personally, I would rather have control over the output location and be responsible for my own cleanup.  The default could still be inside the _build directory and there's nothing to stop people from keeping the file there if easy cleanup is a high priority.  I haven't tried it yet, but is there anything stopping me from using a relative path that puts the file outside of _build?   I.e., it would still be possible for me to change the output location, so why make it unduly difficult?
If you want to stand by the design you have, I'll understand and you can close this issue.  Just my two cents. (Though at least maybe document the way that report_file works, since it's not intuitive?  I could help with a PR... )

I agree with you about documentation. The option was meant initially to customize the name of the file and not the path of it.
I am not against letting people customize the path. Yours is a valid case and perhaps that can be set in a different variable to allow for both and not having to deal with logic like "if the name starts iwth a slash or a schema like C: it is a path otherwise it is just the file name".
Some other valid points might be umbrella apps. Just want to stress the idea before developing it. Your case uses umbrella apps? I'd have to dig a bit further at what happens when mix test is run from the root of an umbrella project. Not sure config would be overwritten.
I will leave this open and look into implementing it. Will probably go the different variable way though.

Just wanted to remark that I also need to output the test result to a different location which is not relative to the build path.
I'd love to see this option added.

This is a small change. I will see to it this weekend.

This has been release as of 1.2.0 :)
Thanks once again for the feedback.

@cs-victor-nascimento thanks for the fast update


Add info about preserving oziee history and config to banner

This adds what I feel is a key bit of info to the banner about moving to this repo from the original integration, as I spent a while looking around trying to confirm this info before finding it part way down the page in the manual HACS install section.
Feel free to reword if you like :)

So glad to have you on board, by the way, @iainfogg! 🥰

Thanks @autoSteve :)
I've reworded it and split it out into a separate section.

BTW, @iainfogg, have you given the latest 'beta' v4.0.34 a run? So far, in the words of Depeche Mode, it's "Enjoy the silence" for issue reports...
We're keeping things as pre-release until HACS give the nod to get it in there.

I hadn't spotted that until you mentioned it, I've just installed it now and I'll shout if there are any issues. Thanks for flagging it up!

I've just installed it now

@iainfogg, enjoy the silence. 🤞


[Snyk] Security upgrade werkzeug from 2.2.2 to 2.2.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

416/1000  Why? Recently disclosed, Has a fix available, CVSS 2.6
Access Restriction Bypass SNYK-PYTHON-WERKZEUG-3319935
werkzeug:  2.2.2 -> 2.2.3
No
No Known Exploit

661/1000  Why? Recently disclosed, Has a fix available, CVSS 7.5
Denial of Service (DoS) SNYK-PYTHON-WERKZEUG-3319936
werkzeug:  2.2.2 -> 2.2.3
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Access Restriction Bypass
🦉 Denial of Service (DoS)

dup #11


TST: Test number of iterations for 'trf' convergence when initialized close to bounds

Reference issue
#19351
What does this implement/fix?
Includes the code from #19351 as a test.
Additional information
The issue with the rstep=0 is probably not as bad. In this example it only results in a higher number of iterations (not passing through default settings of curve_fit/least_squares which causes the reported exception).
But I still think it's a right call to keep the parameter intact as not to disturb existing packages and maintainers. The complaint in #18793 is not completely invalid, but it's not worth it to adjust the behavior to only slightly improve that particular case IMO. Again, from the algorithm perspective, the returned solution in that case is valid.

I'll tentatively mark this for backport as well, although perhaps less crucial if testing change only.

Well, the behavior also changes with numpy 1.26.1 (or something related to the particular build). I've used pip version and it changed the number of iterations for me too (but not to the same number).
Looks like this is the case of some minor changes in core numerical algebra algorithms in numpy (my guess), which results in different iteration paths (although the final results are essentially identical).
This test is not robust enough to such nuances apparently. Not changing scipy side is still wise in my opinion.
I'll check whether providing analytical Jacobian makes the behavior of this test more stable.

With analytical Jacobian it convergences with 14 and 15 function evaluations on my current setup, not really distinguishable.  (If anything, it's a good indicator that analytical Jacobian is always much much preferable.)
So my conclusion regarding this issue and the test:

rstep=0 is likely to be a working option
changing rstep (and other minor details) might change the exact behavior in some peculiar cases, but unlikely to change it in principle
the same can be said about minor changes in numpy and underlying core numerical libraries

So I guess I've created some confusion myself, but I didn't expect to see the dependency on numpy build.
Considering all this, I still think it's probably better not to change it now, unless we see more evidence (more practical examples, etc.) that rstep=1e-10 gives undesirable results.
As for this test, I don't see how it can be kept as an automatic test.

Yes, this is my view. I believe such changes must be better analyzed before committing to them. And technically #19351 was likely caused by this change.
I've investigating the code a little bit more. It looks like that using rstep = 0 potentially could lead to some overflows, because there is a division by the parameter equal to the root of the distance from the boundary.
I'll come back with another test if I can find something convincing to test this logic.


Should be "Configure Startup Projects..."

In the "Run the application in Visual Studio" section step #2, the Solution menu item reads "Configure Startup Projects..." not "Set Startup Projects".

@garrodonnell

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Requesting some permissions doesn't work

When you request for a Manifest.permission.ACCESS_COARSE_LOCATION or Manifest.permission.ACCESS_FINE_LOCATION Dexter doesn't work. It is because the hashcode of these permissions is a negative value and you can't use a nevative value as a requestCode.

Nice finding, there is already a PR ongoing to fix this issue.
Thanks for reporting!

I am going to do a PR that fixes it and add other funcionality ;)

Thanks @JcMinarro! Do you mind creating one PR for the fix and another one for the new functionality? It will make it easier for us to validate them.

Ups, I have created the two PRs together. Sorry.
The fix is only one line.
if you consider necessary to split it, let me now

Your fix has been included in v1.0.2, thanks!

Thanks @JcMinarro!


middleman 5 readiness

check plugin compatibility:

[ ] middleman-minify-html
[ ] middleman-favicon-maker
[ ] middleman-gh-pages
[ ] middleman-livereload

👍

Add --dry-run to run a build, but skip outputting to disk.
Incremental builds: --track-dependencies and --only-changed flags (#2220)

👎

Remove Rack support in favor of resource.filters << proc { |oldbody| newbody }


[TECH-DEBT] Move to jackson json provider in JsonPath instead of jsonsmart

We can have uniformity across the repo if we do this and can avoid pulling in the json-smart dependency
was raised during #647

@a1shadows You may assign this issue to me. I'll have a closer look at json array handling :-)

@a1shadows Do you know the reason, why Gson is used in the Kafka part? Couldn't that also be changed to Jackson?

shadows Do you know the reason, why Gson is used in the Kafka part? Couldn't that also be changed to Jackson?

Hey @authorjapps  any idea on this?

Gson is used in the Kafka part?

@a1shadows, I vaguely remember, a collaborator introduced for a quick fix.
Yes, Jackson can be used instead of Gson 👍 .
Worth checking anywhere else Gson is not used before completely getting rid of it.


[Proposal] Set exclude_search_index attribute true for login and register page on install

The login page is indexable by search engines. How about add <meta name="robots" content="noindex"/> tag by default?

Sorry, this is a duplicated issue. #7646


Very heavy CPU use, slows down app downloading map tiles when visible

Subject of the issue
During the time that the widget is active, CPU use is very high
Steps to reproduce
Open widget on UI surface
Expected behaviour
The CPU use should be more inline with Google's widget
Actual behaviour
UI is very slow to respond, loading map tiles while this widget is displayed, tile loading runs at a snails pace.  The same scenario, but using Google's widget is undetectable to UI response.

@kenargo can you check again? also, can you check the sample app as well? I don't see it jumping in terms of CPU usage

You can close for now; I've change to a different design so it might be some time before I get around to testing again.


making use of screen real estate, while preserving min-width

...us fixed width as min-width.
I remember discussions at SCNA saying a bit more real estate would be useful, not sure if this is the best solution. Tested in Chrome, Firefox, Safari.

oops, just saw you had a separate branch for this. do as you wish.


Search bar on map not searching

It appears that the search bar on top of the map does not search.

[ ] make search search.

This is fixed.


refactor!: search the repo for the specfile in PackageConfig

Previously the repo (local or the forge) was recursively searched for
the specfile before calling PackageConfig.get_from_dict(), and any
specfile found was passed on to the method.
This works, if there is a single package and specfile in the repo.
Introducing monorepo support though requires the ability to tell which
paths of the repo to search for the specfile. These paths won't be
available only after the configuration is parsed.
In order to avoid exposing parsing the config outside of PackageConfig,
call the search functions in PackageConfig.get_from_dict(), which should
enable implementing monorepo support.
This also introduces a BREAKING CHANGE, and aligns detecting
'specfile_path', according to the documentation:

Use specfile_path, if defined.
Use downstream_package_name.spec, if downstream_package_name is
defined.
Search for a *.spec file in the repo.

Previously to this, points 2. and 3. were done the other way around.
TODO:

[x] Write new tests or update the old ones to cover new functionality.
[x] Update doc-strings where appropriate.
[-] Update or write new documentation in packit/packit.dev.

RELEASE NOTES BEGIN
BREAKING CHANGE: fixed an issue where the repo was searched for the specfile before checking if 'downstream_package_name' is set, and '<downstream_package_name>.spec' can be used as the 'specfile_path'.
RELEASE NOTES END

Please rebase, this should finally resolve it: https://github.com/packit/packit/pull/1664


blocked at Height Status	1091971

Hello
Since yesterday my Nebra miner is blocked at Height Status	1091971.
Sync Percentage | 99.88%
Connected To Helium Network: | No
Everything shows green on local diagnostics page.
I have tried multiple restarts, but nothing happens.
The disk usage will vary between 8.1GB and 8.3GB, meaning the miner is trying to do something, but without success.
checking the router for internet traffic I see way more usage than a normal mining day, around 11GB/hour as compared with a normal of 200MB/hour.
What's happening ?
Can you please fix this problem ? looks like an issue affecting a lot of people.
Thank you.

Showing the same here. Can we fat nebra to send an update to fix this?

This is not a support channel please email<EMAIL_ADDRESS>


[BUG] retrieving journey by id saves wrong filename when --metadata is used

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
when you try to retrieve a journey with --metadata "journey:id:%23sdfsdfsfdsfsdf" (so with some id) then it will save the file with the id including % in its filename
Expected Behavior
it should work like with retrieve journey "id:%23sdfsdfsfdsfsdf" where it uses the key for the file name
Steps To Reproduce
No response
Version
7.0.3
Environment
No response
Participation

[X] I am willing to submit a pull request for this issue.

Additional comments
No response

works if id is not prefixed with %23


yii/di/AbstractContainer has been removed from yii/di

Yiisoft\Db\DataReader has a call of yii/di/AbstractContainer::configure in its constructor but yii/di/AbstractContainer has been completely removed from yii/di
https://github.com/yiisoft/di/commit/f8da6ffd052a1680270ce74482558f2d6d53563b
Could you, please, check it?

The change in yiisoft/di is correct but Yiisoft\Db\DataReader wasn't adjusted for it.

@samdark Also https://github.com/yiisoft/yii-core/commit/30c7bf170203805333d75ce789ff8b8c4fe4159b also causes the bug Fatal error: Class 'yii\base\Component' not found  in Connection.php because the Component class has been removed

That is correct. We're getting rid of Component.

Fixed,
Thanks


I use $location.search()['url'] to get a url param, but can't get it correct.

I use $location.search()['url'] to get a url param, but can't get it correct. The format of this parameter is http://example.com/#/some/path?foo=bar&baz=xoxo&url=http:%2F%2Fexample.com%2F#%2Fpage1%2Fpage. result is http://example.com/. how can I get the correct url?

This sounds like a general support question. Please, use one of the appropriate support channels for these types of questions.
GitHub issues are reserved for bug reports and feature requests.
Thx !


[IIC-425] Remove race condition between pod/vsp

This commit introduces intel/ipu-opi-plugins@81c6a0e to remove the race condition between the vsp and p4 pod initializing.
We also remove the corresponding workaround in the automation script to wait for the p4 to finish initializing before proceeding.

@saynb PTAL

/lgtm


Adding in tryFetch, tryFetchAs, and tryPostRecord

Also added in a new Result type which allows for type-safe error handling.

Cool, thank you! We need to be a bit careful with the Result type because they're still deciding the final implementation for F# 4.1, but hopefully it won't be too difficult to swap them once the official Result type finally ships.


Network Manager Refresher: source security group field not populated

The source_security_group field is not inventoried properly.
It seems the issue comes from [1] where the field data is left to be dealt with later in [2]
[1] https://github.com/ManageIQ/manageiq/blob/master/app/models/ems_refresh/save_inventory_network.rb#L175
[2]  https://github.com/ManageIQ/manageiq/blob/master/app/models/ems_refresh/save_inventory_network.rb#L144L146.

This issue has been addressed at the provider level (openstack).


(Bug) [Native] Crashing styles for native

After recent changes in the app styling we've found places where the app crashes because of unsupported props (web-only props). We need to add conditionals for native and ensure interface looks as expected

So far I identified approx 7 files that need fixing as part of this issue. All of them are crashing when going through signup router and in the dashboard once logged in


Unable to configure local resolver address and port using NB_DNS_RESOLVER_ADDRESS environment variable

Describe the problem
I'd like to be able to run the pihole DNS server and Netbird on the same computer. I'm figuring that the best way to do this is to

Configure Netbird local resolver to listen on 5053
Configure Pihole DNS server to listen on 53
Configure Netbird in the web UI to use a custom nameserver of the local Pihole instance

This way netbird addresses resolve correctly, and all other addresses get sent onto Pihole.
My Netbird installation works and can set up the local netbird resolver on port 53 of the CGNAT IP.
My Ubuntu 22.04 server uses systemd. Netbird 0.28.9 launches via systemd and consumes environment variables out of /etc/sysconfig/netbird.
I've created an /etc/sysconfig/netbird file with the contents of
NB_DNS_RESOLVER_ADDRESS=<IP_ADDRESS>:5053
NB_LOG_LEVEL=debug

I've done this to try to get netbird's local resolver to listen not on port 53 but instead 5053. I'm figuring this would work as the --dns-resolver-address command line flag for the up command says that it

Sets a custom address for NetBird's local DNS resolver. If set, the agent won't attempt to discover the best ip and port to listen on. An empty string "" clears the previous configuration. E.g. --dns-resolver-address <IP_ADDRESS>:5053 or --dns-resolver-address ""

I've confirmed that the /etc/sysconfig/netbird file is working because when I add the NB_LOG_LEVEL=debug line, the /var/log/netbird/client.log file begins logging debug information.
Netbird however continues to follow it's native logic for determining the local resolver address and port.
I know it's not following the NB_DNS_RESOLVER_ADDRESS environment variable because the logs show this
2024-09-04T00:52:54Z DEBG client/internal/dns/service_listener.go:69: starting dns on <IP_ADDRESS>:53
2024-09-04T00:52:54Z DEBG client/internal/dns/file_unix.go:97: creating managed file /etc/resolv.conf
2024-09-04T00:52:54Z INFO client/internal/dns/file_unix.go:107: created a NetBird managed /etc/resolv.conf file with the DNS settings. Added 2 search domains. Search list: [netbird.cloud .]

And when I run lsof -i :53 it shows that netbird continues to listen on port 53
What am I overlooking that's preventing me from being able to override the DNS resolver address using the NB_DNS_RESOLVER_ADDRESS environment variable?
To Reproduce
Steps to reproduce the behavior:

Install Netbird on an Ubuntu 22.04 system or any system that uses systemd
Create an /etc/sysconfig/netbird file as described above to set the local resolver address and port to <IP_ADDRESS>:5053
Restart netbird by running systemctl restart netbird.service

Expected behavior
The logs should show that netbird's local resolver is listening on <IP_ADDRESS>:5053 and when checking what ports the process has open, it should show 5053
Are you using NetBird Cloud?
Yes
NetBird version
0.28.9
NetBird status -dA output:
This is included in the output below from netbird debug for 1m -AS
Do you face any (non-mobile) client issues?
Please provide the file created by netbird debug for 1m -AS.
netbird.debug.3677564285.zip

A tangential question : While I'm unable to get Netbird's local resolver to listen on a different port, is there a way to just disable the local resolver feature? I'm not using it and just disabling it would be fine.
I've looked through the CLI help options but have been unable to find something to tell Netbird to just not spawn a DNS local resolver.

@lixmal Is there something obvious I'm doing wrong with the NB_DNS_RESOLVER_ADDRESS environment variable?

@gene1wood I don't know if this issue is still relevant to you, but I think I know the problem and the solution.
According to the docs, the environment variables are just replacements for CLI flags. However, one thing is clear. The netbird client command fails if you give it a wrong flag. On the other hand if you give netbird a wrong environment variable, it just neglects it and proceeds with its default behavior without warning or alerting you in any manner.
Now have a look at the netbird systemd service file. The following lines are of special interest:
[Service]
EnvironmentFile=-/etc/default/netbird
ExecStart=/usr/bin/netbird service run --log-file /var/log/netbird/client-%i.log --config /etc/netbird/%i.json --daemon-addr unix:///var/run/netbird/%i.sock $FLAGS

The environment file was /etc/sysconfig/netbird on my system instead of /etc/default/netbird here. Either way, the file is read (if present, as indicated by the hyphen prefix) and the environment is set for the command given by ExecStart. Therefore, those environment variables apply to the command netbird service run.
Trying netbird help service run gives me:
runs Netbird as service

Usage:
  netbird service run [flags]

Flags:
  -h, --help   help for run

Global Flags:
      --admin-url string        Admin Panel URL [http|https]://[host]:[port] (default "https://app.netbird.io:443")
  -A, --anonymize               anonymize IP addresses and non-netbird.io domains in logs and status output
  -c, --config string           Netbird config file location (default "/etc/netbird/config.json")
      --daemon-addr string      Daemon service address to serve CLI requests [unix|tcp]://[path|host:port] (default "unix:///var/run/netbird.sock")
  -n, --hostname string         Sets a custom hostname for the device
      --log-file string         sets Netbird log path. If console is specified the log will be output to stdout. If syslog is specified the log will be sent to syslog daemon. (default "/var/log/netbird/client.log")
  -l, --log-level string        sets Netbird log level (default "info")
  -m, --management-url string   Management Service URL [http|https]://[host]:[port] (default "https://api.netbird.io:443")
      --preshared-key string    Sets Wireguard PreSharedKey property. If set, then only peers that have the same key can communicate.
  -s, --service string          Netbird system service name (default "netbird")
  -k, --setup-key string        Setup key obtained from the Management Service Dashboard (used to register peer)
      --setup-key-file string   The path to a setup key obtained from the Management Service Dashboard (used to register peer) This is ignored if the setup-key flag is provided.

There is no --dns-resolver-address flag for this command. In fact, there is no option in the CLI to set the DNS resolver address at all. But the --config /etc/netbird/config.json is a possible candidate for what you need. Infact, this was found in my /etc/netbird/config.json file:
"CustomDNSAddress": "",

But I couldn't find any documentation on what it is or how to set it. Anyway, as you already noted, the --dns-resolver-address flag is part of the netbird up command. This can be confirmed by running netbird help up. So, what happens if you do this?:
netbird up --dns-resolver-address=<IP_ADDRESS>:5053

The netbird client service does in fact start listening on that specific interface (loopback) and port. Further, the line from /etc/netbird/config.json changes to this:
"CustomDNSAddress": "<IP_ADDRESS>:5053",

So this is where the DNS resolver setting is stored. I also confirmed that this value is persisted. The resolver starts consistently on the same interface until you use that flag again. You really don't need the environment variable at all. All you need to do is to stop netbird once and start it again, specifying your preferred interface.
There are some caveats though. The first is that you have to specify both the IP and the port. Neither can be omitted.
The other is that when netbird populates the /etc/resolv.conf file, it adds the line nameserver <IP_ADDRESS> at the top. Note that the port is not mentioned. I checked and confirmed that the other applications can't find the resolver on a non-standard port. It's better to stick with the standard port 53, whatever the interface may be. I wanted the port 53 on the wireguard interface to be free. This worked perfectly when I shifted the resolver to <IP_ADDRESS>:53.
Finally,

While I'm unable to get Netbird's local resolver to listen on a different port, is there a way to just disable the local resolver feature? I'm not using it and just disabling it would be fine.

This feature is not present in the CLI as far as I can tell. It's in the server administration console in the DNS page. There is a rather obscure tab that leads to a box where you can add the client groups on which you don't want the resolver to start. This is explained in a comment from the issue you linked above. Interestingly, I had the opposite problem as you did. The resolver wouldn't start on certain clients. After failing to identify the reason from hours of online research, I accidentally stumbled on this page.
Hope this helps!


Go to line doesn't correspond to the correct file

Lines to jump to and filenames are saved in different dictionaries. After reloading spyder they don't correspond to their initial ones.

Let's merge first the focus PR and then you'll work on this one :-)

@dalthviz, please work on this one. This refers to lines and filenames saved when Spyder is closed and reopened again.


KOGITO-204 Update docks locators

KOGITO-204 Update docks locators
Due to changes introduced in [1] and [2] the docks locators needs to be updated
[1] - https://github.com/kiegroup/kie-wb-common/pull/3333
[2] - https://github.com/kiegroup/appformer/pull/987

@jomarko Since you're updating the Editors too, I believe we should only consider the FDB results for this PR, right? cc @jstastny-cz

@jomarko Since you're updating the Editors too, I believe we should only consider the FDB results for this PR, right? cc @jstastny-cz

@tiagobento yes, that is why this is a Draft state, not sure what is the moment the added integration tests will reflect my changes in the editor.

@tiagobento yes, that is why this is a Draft state, not sure what is the moment the added integration tests will reflect my changes in the editor.

@jomarko We're now working with fixed versions for the Editors, so IT tests won't pass until we upgrade the version. That's why FDB should be considered. However, after releasing that, the IT tests that are failing on this PR will continue failing until we upgrade the version of the Editors. That's a challenging topic about our environment, so we are working on ways to overcome that.

@jomarko We're now working with fixed versions for the Editors, so IT tests won't pass until we upgrade the version. That's why FDB should be considered. However, after releasing that, the IT tests that are failing on this PR will continue failing until we upgrade the version of the Editors. That's a challenging topic about our environment, so we are working on ways to overcome that.

@tiagobento yes, I understand, I keep this as a draft until the situation is more clear. https://issues.redhat.com/browse/KOGITO-4130

@tiagobento yes, I understand, I keep this as a draft until the situation is more clear. https://issues.redhat.com/browse/KOGITO-4130

Jenkins please retest this

Jenkins please retest this

Replaced by #382

Replaced by #382


Deploy api service in kubernetes environment

Some initial manifests can be found at https://github.com/podkrepi-bg/api/tree/master/manifests
The env var DATABASE_URL needs to be set prior deployment

What about the password for the db? Does it expect to have a schema already created for the module or something else?

Yep, the db schema needs to be initialized as in:
https://github.com/podkrepi-bg/api/blob/f26914f696993d6e3ba7975540f1620e2e4d6b1d/db/init.d/init.sql#L4
The whole DATABASE_URL needs to be a secret at this point, so we don't concat it.
The deployment has been done to dev.podkrepi.bg so I'm closing this issue. Feel free to reopen it if needs additional effort


Build depthai-core without hunter

I'm trying to build depthai-core but not using hunter. My idea it to package it (or try) for debian/ubuntu.
I have already a version of depthai-core built without hunter and using its dependencies that are already packaged in debian (bzip2, fp16, spdlog, libarchive, zlib, libnop). However, I have several doubts that I would kindly ask because I don't understand.

In the libnop library I have seen that the upstream version and the version you use are practically the same. The only difference is that the library you use EncodingByte::Empty and the library in upstream has EncodingByte::Nil. I have changed it and it built. But, is it ok?
the cmake download a lot of files, especially blob files for the examples. Which are the license of that files? Can be redistributed?
Is it possible that you release a version with all the necessary components? At least the git submodules.

I have read that you haven't yet added any package manager support outside of Hunter. It's a pity, but I can understand it. Maybe you can help if you can give more information about the exact requirements to build depthai suite.

@lepalom

I'm trying to build depthai-core but not using hunter. My idea it to package it (or try) for debian/ubuntu.

I think you don't have to remove the Hunter to be able to do so. After you build the depthai-core and install it, there is no dependency on Hunter anymore. This could easily be packed, etc...

In the libnop library I have seen that the upstream version and the version you use are practically the same. The only difference is that the library you use EncodingByte::Empty and the library in upstream has EncodingByte::Nil. I have changed it and it built. But, is it ok?

Use our fork (https://github.com/luxonis/libnop) instead of upstream version. Main intention for the change was that it doesn't cause issues with Objective-C.

the cmake download a lot of files, especially blob files for the examples. Which are the license of that files? Can be redistributed?

AFAIK are all models used there from https://github.com/openvinotoolkit/open_model_zoo, whose license equals the one specified there after converting to blob (doesn't change the license I assume) - I'd say yes. IANAL.

Is it possible that you release a version with all the necessary components? At least the git submodules.

Already done, check Releases, eg: depthai-core-v2.15.0.tar.gz

I have https://github.com/luxonis/depthai-core/issues/72#issuecomment-929100355 that you haven't yet added any package manager support outside of Hunter. It's a pity, but I can understand it. Maybe you can help if you can give more information about the exact requirements to build depthai suite.

Its mainly missing the specs on how to build from perspective of that package manager. In relation to the mentioned issue, #72 , that core issue should be fixed in latest release.
One should be able to prepare a vcpkg "port", for DepthAI, by default, it might be easy to do without removing Hunter and just relying on the packaged dependencies that DepthAI brings with Hunter, but these might clash with vcpkg dependencies. One step further is for private dependencies to still continue using vcpkg dependencies, and one other option is to disable hunter and provide all dependencies by vcpkg (or manually).
If you wish, I'd be happy to guide on efforts of adding such "port" to vcpkg or others.

I think you don't have to remove the Hunter to be able to do so. After you build the depthai-core and install it, there is no dependency on Hunter anymore. This could easily be packed, etc...

Well, I think that the first thing that I have to do is to build depthai-core, and AFAIK it needs Hunter. I'm in this first step.

Use our fork (https://github.com/luxonis/libnop) instead of upstream version. Main intention for the change was that it doesn't cause issues with Objective-C.

I cannot. As I put my Debian Maintainer hat, I have to follow the policies and it is packaged in Debian. If there are some issues in Objective-C, the maintainer should solve it. However, I have seen that now there are no differences between your fork and the original one.
About the license, perfect. I will check what to do.
And for depthai-device-fwp ? Do you have a release files?
The main problem is the dependencies and how to obtain it, but they will not be a problem because almost all are packaged. Think that with the current state of the release version it cannot be packaged. In Debian, when we prepare a package it has no network connection, so it cannot download anything.
Checking the release version I found that:

NLOHMANN_JSON_ROOT: (ver.: 3.9.1) in Debian Stable 3.9.1-1
XLINK_ROOT: not packaged, but can be released inside the sources?
BZIP2_ROOT:  (ver.: 1.0.8-p0) in Debian Stable 1.0.8-4
FP16_ROOT: your fork, in Debian Stable 0.0~git20200514.4dfe081-2
LIBARCHIVE-LUXONIS_ROOT: your fork ?? (ver.: 3.4.2-p2) in Debian Stable 3.4.3-2+b1
SPDLOG_ROOT: (ver.: 1.8.2)  in Debian Stable 1.8.1+ds-2.1
ZLIB_ROOT: (ver.: 1.2.11-p2)  in Debian Stable 1.2.11.dfsg-2
BACKWARD_ROOT:  (ver.: 1.6) I have no idea where it cames from ... I disabled it.
LIBNOP_ROOT: (ver.: 1.0-ec8f75a) in Debian Stable 0.0~git20200728.45dfe0f-3
Also, libdwarf-dev and libdw-dev are packaged.

I have built git master depthai-core with some modifications using the versions in Debian stable that it is my main platform and not using hunter. I have not finished yet because I'm patching the download part of the examples, but the library is built.
Is it possible to have some kind of IF in cmake to choose to use the hunter versions or the packaged versions?
And yes, I wish that you guide me in this, but my target is a Debian package not a vcpkg. Something like:
$ apt install libdepthai-core-dev

For libnop - the changes are on develop branch
https://github.com/google/libnop/compare/master...luxonis:develop
We've also had to fix a couple of things WRT to MSVC and adding CMake support.
Not sure how projects are combined if they aren't supported out of the box... I've opened a PR against libnop for this, but haven't gotten any response from them... (https://github.com/google/libnop/pull/24)

And for depthai-device-fwp ? Do you have a release files?

Those are downloaded by CMake upon configuration stage. But are included in the final binary by means of resource compilation, so they aren't required to be available separately.
Unless you think about something else by release files?

The main problem is the dependencies and how to obtain it, but they will not be a problem because almost all are packaged. Think that with the current state of the release version it cannot be packaged. In Debian, when we prepare a package it has no network connection, so it cannot download anything.

Does this include compilation from sources or only when supplying prebuilt binaries? As for prebuilt binaires, those are final, and won't require any additional network activity to be used.

Is it possible to have some kind of IF in cmake to choose to use the hunter versions or the packaged versions?

Yes, but completely as of right now (its possible to do it more granuallary as well). Do -D HUNTER_ENABLED=OFF when configuring and all the find_package call will search for dependencies outside of Hunter. (Note, not tested as we don't target this usecase, but in theory should work)

And yes, I wish that you guide me in this, but my target is a Debian package not a vcpkg. Something like:

For this usecase, I'd just compile depthai as is, and package the installation directory? (And assume no required dependencies). Then for libdepthai-opencv-dev, we assume opencv-dev dependency. Thoughts?

Thanks for the details of creating a debian package. I'm attempting to package depthai-core as an openembedded recipe, and am facing the same issues. It's good that hunter can be disabled, since I'm creating packages of the depdencies. Another problem as stated above is the patched libraries, it's best to use the unmodified upstream packages.

I have been working in this issue after some time stopped.
It is very interesting, the work of @jwinarske for the yocto project. So, using their patches and some minor modifications, I have been able to build depthai-core without hunter in a Debian 11 (Bullseye), also with examples and using the system versions.
However, it is not working because some firmware issues that I do not understand and I would like to ask @themarpe some guide. Think that my final target is to have something without hunter and without download any file.
I have found that CMake download two files: depthai-bootloader-fwp-XXXX and depthai-device-fwp-XXXX. That files are necessary and used in the Resources.cpp file. I have not seen how @jwinarske manages that topic in the yocto project.
That files are used in the build procedure? Because I have seen then only in the run time, but probably I have not understood quite well the process.
Or, that files can be built in some way and how?
All the blob files for the examples are necessary, right? Which license have they?
And last question, because maybe I'm doing a wrong work. Do you have any tar.gz with ALL the necessary files (to be built in a computer without internet) to build dephai-core and use the OAK-D camera?

@lepalom

That files are used in the build procedure? Because I have seen then only in the run time, but probably I have not understood quite well the process.

These files are used at the build time indeed - they are so called "resource compiled" into the final library. After the build, those files do NOT have to be present anywhere on the file system. Reason for this being that there is a tight coupling between the FW/BL & Host side library and checking if files are correct on FS would just bring additional complexity.

All the blob files for the examples are necessary, right? Which license have they?

The FW/BL "blobs" (FW Packages) are proprietary (as is default - if not explicitly marked otherwise). The AI model blobs's licenses can be found by referencing the coresponding descriptions on their source. Example: https://docs.openvino.ai/latest/omz_models_model_mobilenet_v2.html - (note, specific version of zoo should be selected, this one is latest, just to paint the general idea)

And last question, because maybe I'm doing a wrong work. Do you have any tar.gz with ALL the necessary files (to be built in a computer without internet) to build dephai-core and use the OAK-D camera?

No, this is an ongoing debate also over at #468

@themarpe
Ok, tomorrow I will review my work. I have found that I didn't build depthai-resources library. Probably my fault. The CMake of depthai is really complex.
I will comment when I had more advances in this topic. In any case, it should be possible and recommended having a release with ALL necessary files to build depthai-core.
About the fw and bootloader, should I understand that depthai-bootloader-fwp-XXXX and depthai-device-fwp-XXXX are free software, right?
The others, I will check the license for every file.

@themarpe
I have checked the patches and I have to admit that I don't understand the logic of the resources part of the CMakeLists.  I have copied the files in a resource directory, I have modified the CMakeList and it seems that works. It compiles, but it I try to run any example, the program crashes. The first time with an exception and the second time with an exception but showing that:

depthai-bootloader-fwp-0.0.24.tar.xz doesn't exists.

When CMake is run I got this message:
-- Compiling depthai-core resources in PATCH_ONLY mode
The dephai-resources library  is not build (or I don't find libcmrc-base).
Please, could you give me some idea about what is going on?

@lepalom The way I refactored things for CMake isolates all downloaded components external to the CMake.  Meaning Yocto is responsible for downloading all the artifacts, not CMake.  This is required for Long Term Support, where the configure phase is not allowed to access the network, and files are pulled from the global download directory.  The association is this:
DEPTHAI_BOOTLOADER_VERSION = "0.0.24"
DEPTHAI_DEVICE_SIDE_COMMIT = "8c3d6ac1c77b0bf7f9ea6fd4d962af37663d2fbd"

DEPTHAI_FWP_BOOTLOADER_FILENAME = "depthai-bootloader-fwp-${DEPTHAI_BOOTLOADER_VERSION}.tar.xz"
DEPTHAI_FWP_DEVICE_SIDE_FILENAME = "depthai-device-fwp-${DEPTHAI_DEVICE_SIDE_COMMIT}.tar.xz"
DEPTHAI_ARTIFACTORY_URL = "https://artifacts.luxonis.com/artifactory"
...
    ${DEPTHAI_ARTIFACTORY_URL}/luxonis-myriad-release-local/depthai-bootloader/${DEPTHAI_BOOTLOADER_VERSION}/${DEPTHAI_FWP_BOOTLOADER_FILENAME};unpack=0;name=bootloader-fwp \
    ${DEPTHAI_ARTIFACTORY_URL}/luxonis-myriad-snapshot-local/depthai-device-side/${DEPTHAI_DEVICE_SIDE_COMMIT}/${DEPTHAI_FWP_DEVICE_SIDE_FILENAME};unpack=0;name=device-fwp \
 ...
 SRC_URI[bootloader-fwp.sha256sum]         = "c913c636c86652ea96eda2135a517620f7d528d6357ddc697edfa20762a7cb30"
SRC_URI[device-fwp.sha256sum]             = "7b036b9ab1b5c20d37dffd4977ccbe1c43b54dbf770a2abbcdcfd3d4ffdf04b1"
...
    -D DEPTHAI_FWP_BOOTLOADER_FILENAME="${DEPTHAI_FWP_BOOTLOADER_FILENAME}" \
    -D DEPTHAI_FWP_DEVICE_SIDE_FILENAME="${DEPTHAI_FWP_DEVICE_SIDE_FILENAME}" \
    ```

Yocto downloads the files and validates sha256sum in recipe "fetch" phase.  The files are stored into the default working directory.  They are also cached in the general download directory for no-network use case.

The CMake patch uses `DEPTHAI_FWP_BOOTLOADER_FILENAME` and `DEPTHAI_FWP_DEVICE_SIDE_FILENAME` to set/specify the FWP files.  It doesn't matter the location of the file, as long as these two variables point to an absolute or relative file path.

Also the Yocto recipe defaults building depthai-core as a shared library.  Beyond setting `BUILD_SHARED_LIBS=ON` to depthai-core it also requires passing `CMAKE_POSITION_INDEPENDENT_CODE=ON` to both spdlog and XLink.  This turns into -fPIC in the project.

@jwinarske  @themarpe
Now it is working.  I was using the @jwinarske patch version from March 15th. Now, I'm trying to prepare a debian package.

I have been working in this issue an I have a prototype of Debian package of depthai-core. It is built, it is installed, but there are some issues that I have to manage. Probably because I have the Debian Maintainer Hat it is difficult to me understand several things that I have found in depthai-core.
The hunter-free version packaged needs three repositories more:

https://github.com/lepalom/XLink
https://github.com/lepalom/libnop
https://github.com/lepalom/depthai-resources

XLink and libnop are the same of the cloned version and the only thing that I have added is a tag v2.20.2 as a reference to create the package.
depthai-resources is a repo with the blob files, depthai-bootloader-fwp-0.0.24.tar.xz and depthai-device-fwp-8c3d6ac1c77b0bf7f9ea6fd4d962af37663d2fbd.tar.xz, that are the versions used in the 2.20.2 version.
The package only install depthai includes that I have found later that is a mistake because what you need also:

depthai-shared
depthai-bootloader-shared

Trying to use the package I have found that it is a mess. I cannot understand why the CMake Config add the XLink flag to link against it. XLink is built as static library so, the user that use libdepthai-core (or libdepthai-opencv) don't have to link against XLink. Is it right? The libdepthai-core users needs anything from XLink?
OTOH, libnop provides another interesting problem to solve. Luxunis has its own patched version with the "EncodingByte::Empty" patch. libnop is a header only library. No links against it. I don't know if the users of depthai-core needs to have their .h or needs to know anything about nop.
The link references also can be applied to libarchive and libbzip2, and all the references to 3rdparty directory in the includes.
If you are curious and have some experience in debian packaging, you can check it here:
https://salsa.debian.org/lepalom/depthai-core
The last point to say is that depthai-core doesn't compiles with gcc-12.

@lepalom cool.  Yeah I think for a long term strategy it would be better to use the upstream package and patch per platform as needed.  Not all patches apply to all platforms.  Building against a "dirty" library isn't ideal.
In my cmake_json project I implemented a patching scheme.  This could be extended to differentiate platform types. It's a working proposal to replace the hunter implementation:
https://github.com/jwinarske/cmake_json/
For packaging I like to use CMake.  It has all the support to generate TGZ, RPM, Debian, and Bundles.  Requires minimal setup.  This is the pattern:
Checks if host (not cross-compile build), if so include packaging.cmake
https://github.com/jwinarske/cmake_json/blob/main/CMakeLists.txt#L35
Builds TGZ, RPM, DEB
https://github.com/jwinarske/cmake_json/blob/main/cmake/packaging.cmake
Nightly CI job that uses this pattern:
https://github.com/toyota-connected/ivi-homescreen/blob/main/.github/workflows/ivi-homescreen-linux.yml
https://github.com/toyota-connected/ivi-homescreen/blob/main/cmake/packaging.cmake
Just requires
make package -j

@jwinarske , I think that the problem is that depthai had cherry picked other projects for it own proposals and patched them. To put it in main distros as Debian, or Fedora in the Linux world it is not the best option. And I personally don't like approaches like snap.
I have seen your cmake_json and it seems a nice solution. And yes, I know the Cpack possibilities of CMake. But, it was a debate in the debian-devel list and it had not many acceptances. The Debian packages has their quality because it is an accurate process and manually checked to, from the same source, to be built in all the archs (currently officially 10.
Another thing is that from my point of view, depthai-core is a mesh of header files, making a nightmare or carrying a lot of code that you don't use but you need to compile or link against it.
In any case, I will write some issues. Maybe I'm wrong and everything is ok.


[Add point/polygon] Prompt user whether to add point, draw perimeter, or capture location as allowed by organizer

@rawbzz @vittorino FYI

@shobhitagarwal1612 Are you able to take one this issue?

I have a couple of tasks already ongoing. We can take this one up once the proto migration is done.

@anandwana001 can you please coordinate with @rfontanarosa, who is working on https://github.com/google/ground-android/issues/2446 ?

@gino-m could you please help me with the figma access for this design? earlier password no more working

@anandwana001 did you get access to the figma? Anything else needed for this one?

@anandwana001 did you get access to the figma? Anything else needed for this one?

@anandwana001 Gentle ping!

@anandwana001 did you get access to the figma? Anything else needed for this one?

Sorry for the late response
Yes, got the figma access.

@rawbzz A few edge case questions:

How does the user change the geometry type if they change their mind?
What happens when they click "Close"? Are they transported to the previous task? What if this is the first task already?
In this design, the dialog appears before the user has seen the user-defined instructions for the task. They can see them behind the dialog, but this seems counterintuitive.

All of this considered, should we be showing this selector directly on the task screen somehow, eg in place of the map?
@amegantz Can we think of a better title than "How will you map this site?"

@rawbzz Looks great, thank you! Added a few variants to the Figma for your input when you have a sec 🙏

@rawbzz, thanks for your feedback on Figma. @anandwana001  Latest tweaked designs:


Make TextSpan a read-only record struct

It's just a low-hanging fruit we can grab. Benchmark shows 🤏🏻 improvements in speed, GC for small object heaps, and allocated memory.
Before:

After:

Closes #7404.
Microsoft Reviewers: Open in CodeFlow

profiler

Nope. I think #7403 could be another low-hanging fruit, but it's not obvious based on the profiling result 🙂.

Nice!


Support finetuning

Hi, can you support finetuning? Llama.cpp supports finetuning. Thank you!

looking for the same feature here!
llama.cpp now supports loading with LoRA adapters:
https://github.com/ggerganov/llama.cpp/tree/master/examples/finetune

Closing this as it's a duplicate of #814
It's on my roadmap but it currently requires some updates to llama.cpp to make this accessible to bindings outside of that project.


[TA] Fixed a bug which link entities task is not added in the action

Fixed a bug which link entities task is not added in the action

/azp run java - textanalytics - tests


IDE Behavior

IDE Behavior #33
> Background <

IntelliJ IDE Fetch differs from git fetch, which we had not expected

IntelliJ IDE Fetch only fetches upstream content to a separate branch; we still must move in any changes

how to preserve existing branch with rebase

[ ] new Task Branch Workflow, based on Feature Branch Workflow, to reflect IDE behavior as we currently understand it

after fetch, incorporate changes
also, use 'git rebase' instead of 'git merge'

gives cleaner result, as all changes for a branch appear together even if not made at the same time

[ ] test manually to verify

incorporated into #26


Add skylight gem

As this project is open source, the SKYLIGHT_AUTHENTICATION setting should be set in an ENV varibiable.

can we set the env var in docker-compose.env.sample so it appears in the codebase?

@tekin Is that appropriate? It shouldn't be set in Docker for local dev.

@leeky OK, when I said "set" I meant just list an empty variable:
SKYLIGHT_AUTHENTICATION=

Agreed that this shouldn't be set in somebody's development environment (except for when testing the integration). I guess because we haven't got it anywhere else, I see the docker-compose.env.sample file as the list of the environment variables the application has. Perhaps what we actually need is a ENVIRONMENT-VARIABLES.md document that explains what each one is...

yep, agreed. documentation is something that's on my mind and I would like to talk about more in general, especially with new folks joining the team in the new year.


Roll Engine from 388193a67b6b to b89e8aab32b0 (18 revisions)

https://github.com/flutter/engine/compare/388193a67b6b...b89e8aab32b0
2020-08-27<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from prLsJ6DhX... to fqYfP5y9V... (flutter/engine#20810)
2020-08-27<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from qeXDifXBr... to lqjGEhKFW... (flutter/engine#20809)
2020-08-27<EMAIL_ADDRESS>Roll Skia from e6c0f0157c6f to e3d6db4c3fac (3 revisions) (flutter/engine#20808)
2020-08-27<EMAIL_ADDRESS>Roll Dart SDK from 7720ed2967aa to 4fd02f1463b1 (1 revision) (flutter/engine#20807)
2020-08-27<EMAIL_ADDRESS>Roll Skia from 398ecf1876f1 to e6c0f0157c6f (1 revision) (flutter/engine#20806)
2020-08-27<EMAIL_ADDRESS>fuchsia: Call out legacy rasterizer code (flutter/engine#20761)
2020-08-27<EMAIL_ADDRESS>Roll Dart SDK from 69d57182c66f to 7720ed2967aa (1 revision) (flutter/engine#20804)
2020-08-27<EMAIL_ADDRESS>Use Android R (API 30) getInsets() to compute padding (flutter/engine#18339)
2020-08-26<EMAIL_ADDRESS>Roll Skia from b2b7f80c163f to 398ecf1876f1 (3 revisions) (flutter/engine#20799)
2020-08-26<EMAIL_ADDRESS>Link to SDK version of script (flutter/engine#20798)
2020-08-26<EMAIL_ADDRESS>[embedder] Add gl present callback that takes present info (flutter/engine#20672)
2020-08-26<EMAIL_ADDRESS>Roll Skia from c113f004deca to b2b7f80c163f (4 revisions) (flutter/engine#20796)
2020-08-26<EMAIL_ADDRESS>Roll Dart SDK from 152026d794c8 to 69d57182c66f (1 revision) (flutter/engine#20795)
2020-08-26<EMAIL_ADDRESS>Roll Skia from 06d7c9d79805 to c113f004deca (3 revisions) (flutter/engine#20793)
2020-08-26<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from 2uJQ4vXzv... to prLsJ6DhX... (flutter/engine#20792)
2020-08-26<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from LhYt1i9FP... to qeXDifXBr... (flutter/engine#20787)
2020-08-26<EMAIL_ADDRESS>Revert "[fuchsia] Adds a test for clock change (#19993)" (flutter/engine#20790)
2020-08-26<EMAIL_ADDRESS>Roll Skia from 5da7327358e3 to 06d7c9d79805 (13 revisions) (flutter/engine#20788)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from LhYt1i9FPQeI to lqjGEhKFWexU
fuchsia/sdk/core/mac-amd64 from 2uJQ4vXzvts3 to fqYfP5y9ViNt
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Data-based validation

This comes at validation in a manner that explicitly looks at the values in a Dataset.

Need to deal with complete="0" codelists

@allthatilk @dalepotter Requested changes made in #209 and #210

@hayfield I have a question about 6d39e031 but not sure the best place to ask!
Is it necessary to specify the xml namespace somewhere in order for xpath.attrib['xml:lang'] to work?
https://github.com/IATI/pyIATI/blob/6d39e031c3a6196ffa0516aa4614300338adc9a7/iati/validator.py#L303
I’m not sure why, but it doesn’t work for me :( I’m definitely using lxml v4.1.0, though…

@andylolz IIRC, that fix worked to prevent an XPathEvalError - all other XPaths in the mapping file start with iati-activity/ or iati-organisation/, while this does not. The super-fun-string-manip deals with the edge case.
https://github.com/IATI/pyIATI/blob/f3c9b54dd3fb6d5e6fc48b3329e6b9a9682d1318/iati/tests/test_validator.py#L707-L713 indicates that there is a working test case for the Language Codelist, though the test file doesn't actually contain the attribute. Also, the SSOT-related tests only run truthy Schema (rather than content) checks. This would indicate that it might not actually work as intended since the tests don't appear as comprehensive as they should be. Will add a note to investigate further in the morning.

Aha! That’s great – thanks for investigating, @hayfield!

@andylolz #226 adds a fix for this, and #227 creates an Issue to log potentially related problems with namespaces


Confirmation bottom sheet when canceling out of StandardCamera

We want to make sure the user knows they're throwing away their photographic work when they leave the StandardCamera, so
When the user

[x] Taps the close button
[ ] or taps the system back button in Android

Show a bottom sheet

[ ] with the title "DISCARD PHOTOS?"
[ ] body of "By exiting, your photos will not be saved"
[ ] has a "Cancel" button that closes the bottom sheet and returns the user to the StandardCamera
[ ] has a "Discard" button that does what the close button would have done

FWIW, I'm still a bit confused if photos really will be discarded at this point, but we probably want some kind of modal blocker in this situation, so we might as well build out the bottom sheet.

I can get a pr up for this

Closed by #516


View and Delete Users

This pull requests implements an interface into the Admin Panel that allows
users to be viewed, modified, and deleted.

Thanks for the PR! I left some notes on some potential changes that might be worth implementing. There were also a bunch of mixed tabs and spaces which could use some fixing.
Other than that, it looks great, thanks for the help!


PGPainless emits a 'Version' header in the ASCII armor

While there are other methods of implementation fingerprinting, we pretty much agree that advertising the version of the software used to create artifacts is not a good idea.

Alright, I'll look into how to change the header when using BC.

I opened https://github.com/bcgit/bc-java/pull/889 upstream.


feat: Auth and RBAC

Test failed due to unauthorized

TODO:

[ ] Get JWT token through cookie instead of bearer token header
[ ] Find out why some time hasAnyAuthority works with ROLE_ prefix


further Clicks are implemented

further Clicks are implemented
click_element_identifier argument of click close changed to be an optional argument

@noubar
Forget to update changelog

i did not forget, the changelog is updated within the previous commit. The implementation took me two PRs because i needed your help in between.

@noubar
Pls recheck by Keyword Mouse if Examples Are correct keywords. Common documentation is wrong keyword example


Version bump  to <IP_ADDRESS>

Signed-off-by: Dave Lago<EMAIL_ADDRESS>opensearch-security pull request intake form
Please provide as much details as possible to get feedback/acceptance on your PR quickly

Category: (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)
Maintenance

Github Issue # or road-map entry, if available:
N/A

Description of changes:
Version bump preparing for next iteration

Why these changes are required?

What is the old behavior before changes and new behavior after changes? (Please add any example/logs/screen-shot if available)

Testing done: (Please provide details of testing done: Unit testing, integration testing and manual testing)

TO-DOs, if any: (Please describe pending items and provide Github issues# for each of them)

Is it backport from main branch? (If yes, please add backport PR # and commits #)

By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This part is now semi-automated, https://github.com/opensearch-project/security/pull/1550, but #1548 is not, if you want to take care of it?


Add addin to website to allow for automatic documentation

i.e. get your addin listed here:
http://cakebuild.net/addins
Have a look at this PR:
cake-build/website#152
This assumes that you have added XML Documentation to your addin, as described here:
http://cakebuild.net/docs/contributing/documentation
Let me know if you have any questions. Thanks!

The YAML for this addin was added to the Cake web site in March 2017. I think it's safe to close this issue.

@jericho thanks for following up with this!


Mirror VSC instruction for CLI steps

Fixes #18593
Thanks @Youssef1313! :rocket:

@guardrex Thanks for the too fast response. My only question is:
Will I need to run dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-rc1.20223.4 with the latest SDK version? or I only had to run it because I was using 3.1.201 ?
If I won't need to run it with the latest version, this fix is perfect.
If I'll need to run it even with the latest version, then it's worth including that.

Oh I just read your comment on the issue. The fix is great. 🚀


Add cheetah

closes #73

Lint fail is cos' of the updates to Deno v1.33 - https://github.com/denosaurs/bench/pull/74 should unblock this PR & upcoming PRs


Uses cairo tags instead of pango in fontoptions.

cairo_font_options_get_variations and cairo_font_options_set_variations are available since cairo 1.16

This is a duplicate of #816 and adds unnecessary build constraints.

I have 1.15 installed.


Too many includes in one folder, only goes to the functions-

Wow, the includes directory needs folders rather that thousands of includes. I went to edit an include and I got that error.
<!-- Install IoT Edge on Linux H2 and content -->
[!INCLUDE [install-iot-edge-linux.md](../../includes/iot-edge-install-linux.md)]

First, run the following commands to add the package repository and then add the Microsoft package signing key to your list of trusted keys.
First  is dead wood. Per MS style guide
Use bigger ideas, fewer words
Our modern design hinges on crisp minimalism. Shorter is always better.
Replace that with:
Run the following commands to add the package repository and then add the Microsoft package signing key to your list of trusted keys.

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

ID: a3b8296d-c923-e990-dcad-35ef2b908a2a
Version Independent ID: 5f85fd7b-f2b6-b3b1-6be2-b6054bb33507
Content: Create and provision an IoT Edge device on Linux using symmetric keys - Azure IoT Edge
Content Source: articles/iot-edge/how-to-provision-single-device-linux-symmetric.md
Service: iot-edge
GitHub Login: @PatAltimore
Microsoft Alias: patricka

@Rick-Anderson
Thanks for your feedback! We will investigate and update as appropriate.

I have assigned the issue to the content author @PatAltimore to evaluate and update as appropriate.

I have assigned the issue to the content author @PatAltimore to evaluate and update as appropriate.

Hi @Rick-Anderson ,
Thanks for the rewording. I changed the include and merged it.
Thanks again,
Pat
#please-close

@PatAltimore  @SaibabaBalapur-MSFT  what about fixing too many includes? That's really a bad system. You should use folders to make it more manageable.  Should I open another issue someplace else? Anything more than about 200 files is too many. An open source environment should be able to use the browser to make a PR, but you can only see the first 1,000 files.

Hi @Rick-Anderson ,
In azure-docs, the author / owner gets to choose where includes are located. Some early initial guidance recommended to put all includes in the root include folder. It's a bit of legacy. I'm considering moving the iot-edge includes in the article/iot-edge/include folder. Before the move, I need to investigate if they are only used in the IoT Edge content and not in other content in the repo. I'll put it on the backlog. You can always get around the GitHub 1,000 file issue by using the VS Code web editor by changing your PR URL from github.com to github.dev. I'll send you an email about a content structure contact.
Pat

Some early initial guidance recommended to put all includes in the root include folder.

Right, but it doesn't mandate no folders.  See the aspnetcore/includes
Just make a azure-docs/tree/main/includes/iot-edge folder

I'm considering moving the iot-edge includes in the article/iot-edge/include folder.
With the default settings, it has to be includes

Before the move, I need to investigate if they are only used in the IoT Edge content and not in other content in the repo.
Why do you need to investigate, can't you just try it? You'll get build warnings if other content is using the include. Global search is pretty easy in VSC.

You can always get around the GitHub 1,000 file issue by using the VS Code web editor
Or just fork the repo. I know there are ways around it but over 1K files is not customer friendly. I was happy to make an improvement in the editor but a little annoyed I had to sort through thousands of files to find the right one, only to find out it wasn't listed. At that point I decided to point out the bigger problem, an unfriendly file hierarchy .

All the active-directory-* files should be in the /active-directory- folder

Hi @Rick-Anderson ,
Thanks for tips. I'll be moving the IoT edge includes soon.
Pat


[QUESTION]chould i use erpc to transmit some simple audio?

I need to use the host computer to transmit some simple audio back and forth to the ESP32S3, but I'm not sure how to proceed.

Hello. If there are different types of messages, you need create IDL file -> generate C++ code -> Write transport layer for ESP (e.g. update tcp transport with ESP tcp library) -> init and call RPC functions.

FYI Funny is that i think this is first ESP question here and i made PR into ESP few hours ago :DDD (not eRPC related https://github.com/esphome/esphome/pull/7988)

Thank you for your response. However, I am using a CDC serial port, and I would like to know if eRPC is suitable for this type of stream-based transmission.annnnnnd
That's quite a coincidence! It seems like we are working on similar projects related to this.

It is possible that you will need implement esp port files (mutex, threads, ...) and transport related files (serial send/receive, init). I am not sure but if it is single threaded then you can use bm port.

thank you ,now I finished my transport ,but should i use array? list ????? ，oneway？？？？？，in my opnion，erpc is a call but stream-based transmission，it is strange 。。。。

List is dynamic sized message. Array is with fixed size. That depends on your needs. Oneway is sending messages to other side asynchronously (it is not waiting for respond).

thank you  ,thank you ,i decide use array


Gets clunky version of list_objects working.

The results from list_objects isn't real ergonomic but the data is there.  Parts from @knutin 's branch at https://github.com/knutin/rusoto .

Going to assume no news is good news. 😄

Feedback addressed, I think it's good to go.

LGTM, merging.


Update March 2024

refactors get-data.R code to work with new CSV data dictionary files
removes all JSON cleaning code
updates the viewer table since some columns are no longer available or designs have changed

Thanks @lindsay-fredrick, great suggestion.


Closes: #1

Updated validations.py python script
fix: users can start with non-letters in validations.py
Fixes #1

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

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

@googlebot I signed it!


CorsPolicyProvider and AllowCredentials

This has been discussed before, but I choose to open another one as I haven't found the same premise on the previous items.
So the easiest way to start is by looking at the excellent POC by @karpikpl. I've taken it a bit further, but the basics are (with made up host names):

IdSrv4 running on http://id4:5000/
SPA login UI running on http://spa:8082
client app running on http://client

Given that the client is correctly configured and the authorize request validates, I end up on the SPA ui login as expected.
IdSrv4 app has an AuthenticateController route at /api/authenticate that is there to support the SPA login UI which will do something like this:
        // call the API
        const response = await fetch('http://id4:5000/api/authenticate', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
          },
          credentials: 'include',
          body: JSON.stringify({
            username,
            password,
            returnUrl
          })
        });

Now, for this to work, I need to add options.Cors.CorsPaths.Add(new PathString("/api/authenticate")); to IdentityServerOptions at startup, otherwise IdSrv4 says "CORS request made for path: /api/authenticate from origin: http://spa:8082 but was ignored because path was not for an allowed IdentityServer CORS endpoint".
But when I add the route to CorsPaths, the code will go through the CorsPolicyProvider and as the ACAC is not set, the pre-flight will no longer work.
To me, it looks like there should be a way to add this header to the CorsPolicyProvider. Of course, if there are alternative solutions, then I'm all ears.
The attempt below was also futile, as it never gets that far.
            var cors = new DefaultCorsPolicyService(new LoggerFactory().CreateLogger<DefaultCorsPolicyService>())
            {
                AllowAll = true
            };
            services.AddSingleton<ICorsPolicyService>(cors);

Hey,
I'm not really sure I got the issue right, but one thing that helped me when working with IS4 is that there are actually 2 CORS settings there.
One is for IS4, that's the DefaultCorsPolicyService bit and the other one is for any other controller that you add to the project.
That's because IS4 is hooked into ASP .NET on a lower level as middleware.
I have it here: https://github.com/karpikpl/identity-server4-with-SPA-UI/blob/master/id4/src/IdentityServer/Startup.cs
In that file CORS settings are in 3 different places:

CORS for custom controllers
CORS for IS4
Register 1) - CORS for custom controllers, in the ASP

If you have a sample somewhere I can take a look too :)

If you have a sample somewhere I can take a look too :)

Thanks. It's really just a fork of your repo updated to netcoreapp3.0 and changed host names, feel free to have a look. As mentioned earlier, the spa login does a post to /api/authenticate and IdSrv4 console just outputs
CORS request made for path: /api/authenticate from origin: http://ipv4.fiddler:8082 but was ignored because path was not for an allowed IdentityServer CORS endpoint
https://github.com/snothub/identity-server4-with-SPA-UI

Hey,
I've migrated my sample to 3.0 - take a look https://github.com/karpikpl/identity-server4-with-SPA-UI/pull/1
sometimes CORS errors are false positives, maybe check if you can hit that endpoint with curl or something that ignores CORS


"Object" is undefined?

I'm getting the strangest error when we run our test coverage. Node=6.5.0. Somehow "Object" is not defined?
/Users/giro/stardust-app/node_modules/socket.io-client/socket.io.js:5251
    var objectProto = Object.prototype,
                            ^
TypeError: Cannot read property 'prototype' of undefined

The code runs fine normally, and this error only happens with Istanbul test/coverage. How could "Object" not be defined?

Turns out to be a problem with socket.io-client aliasing those types.


Application Crashes When Opening Account Settings Window

I just started to use Denaro.
I have created a new saving account, and after the wizard is done, I try to check the account settings and the application just crashes.
Furthermore, I am using the latest Flatpak version with Fedora 38
The error message is the following:
   at GLib.Internal.StringArrayNullTerminatedSafeHandle..ctor(String[] array)
   at Gtk.StringList.New(String[] strings)
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog.Validate() in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 380
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog..ctor(Builder builder, AccountSettingsDialogController controller, Window parent) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 326
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog..ctor(AccountSettingsDialogController controller, Window parent) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 337
   at NickvisionMoney.GNOME.Views.AccountView.AccountSettings(SimpleAction sender, EventArgs e) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 849
   at GObject.Signal`2.<>c__DisplayClass11_0.<Connect>b__0(Value returnValue, Value[] parameters)
   at GObject.Closure.InternalCallback(IntPtr closure, IntPtr returnValuePtr, UInt32 nParamValues, ValueData[] paramValuesData, IntPtr invocationHint, IntPtr userData)

Same setup, exact same problem, very similar output:
UnhandledException - unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at GLib.Internal.StringArrayNullTerminatedSafeHandle..ctor(String[] array)
   at Gtk.StringList.New(String[] strings)
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog.Validate() in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 380
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog..ctor(Builder builder, AccountSettingsDialogController controller, Window parent) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 326
   at NickvisionMoney.GNOME.Views.AccountSettingsDialog..ctor(AccountSettingsDialogController controller, Window parent) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountSettingsDialog.cs:line 337
   at NickvisionMoney.GNOME.Views.AccountView.AccountSettings(SimpleAction sender, EventArgs e) in /run/build/org.nickvision.money/NickvisionMoney.GNOME/Views/AccountView.cs:line 849
   at GObject.Closure.InternalCallback(IntPtr closure, IntPtr returnValuePtr, UInt32 nParamValues, ValueData[] paramValuesData, IntPtr invocationHint, IntPtr userData)

Looks like this and #680 are the same bug

Will look into and confirm if it's the same. I'll just close them all in the same PR...i'll make one now to fix all these bugs

I believe this is https://github.com/NickvisionApps/Denaro/issues/644#issuecomment-1694542733 which was fixed in main...
Could you install this .flatpak file and run it and confirm if it's fixed or not: https://github.com/NickvisionApps/Denaro/actions/runs/6033236519
Here are the commands to run after you extract the zip:
flatpak install org.nickvision.money.flatpak
flatpak run org.nickvision.money//master

when you are done testing uninstall with flatpak uninstall org.nickvision.money//master

If that build works, I'll release an update with this as a hot fix

https://github.com/NickvisionApps/Denaro/releases/tag/2023.9.0

A bit late getting back but can confirm V2023.9.2 release has this fixed.


No external images

The external images in my dashboard appears in blank in the report, is possible fix it or isn't possible add external resources?

I have never used external images in a Grafana dashboard. Can you give an example how these are used or point me to the relevant Grafana documentation?

9kn6uU4ik.pdf

I tried using html and the plugin "PictureIt" but the result is the same.

Ok this appears to be a bug in the Grafana share functionality, which is used by the reporter to render the images. To verify this, go to your text panel with the image, click on the title -> Share -> Direct link rendered image. Notice that here the image is also not rendered. Since this is the url used by the reporter, it explains why images are missing from text panels in you report.

I logged an issue on the Grafana project: https://github.com/grafana/grafana/issues/12210

Ok, thanks. Now I'll just wait for the fix.

Given that https://github.com/grafana/grafana/issues/12210 has been accepted as a grafana bug and is open, progress can be tracked there. I am going to close this issue.


Refactor mass basket subscribe/unsubscribe admin actions

Make current basket admin actions newsletter agnostic
[Fix bug 1282445] Mass delete subscription functionality on admin
[Fix bug 1282446] Mass run of subscriptions from /admin/

Coverage increased (+0.002%) to 92.626% when pulling 320bf7ec437c17918d441dfa209d26d5d4b51285 on johngian:admin-actions-basket into ab1e99275733c9698c651f4958bc695c10b2b526 on mozilla:master.

Coverage decreased (-0.09%) to 92.538% when pulling 870c91a3c5343104490c517b531db1d072f0473c on johngian:admin-actions-basket into ab1e99275733c9698c651f4958bc695c10b2b526 on mozilla:master.

Looks good, r+


The diagnostics of sumneko_lua does not appear after :e

confirmed from https://github.com/neovim/nvim-lspconfig/issues/1701
Description
As title. How to make things clear? This is the DEMO:
(This might be helpful but I'm not sure: https://github.com/neovim/nvim-lspconfig/issues/1192)
https://user-images.githubusercontent.com/24765272/153084238-dc454d4b-599c-4b98-be18-93bc8dd54fa0.mov
To Reproduce
As shown in the DEMO.
Expected behavior
As shown in the DEMO.
Environment (please complete the following information):

OS: macOS Big Sur 11.6.2
Is WSL remote? No
Client: neovim

Additional context
Add any other context about the problem here.
Neovim version:
NVIM v0.7.0-dev+1036-gbcea73299
Build type: Release
LuaJIT 2.1.0-beta3

nvim-lspconfig, which commit used
nvim-lspconfig/commit/2008c5cebf2b84c5e5f8a566480b022ab2e7ebab

LSP log

[WARN][2022-02-09 06:09:02] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[WARN][2022-02-09 06:09:02] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[WARN][2022-02-09 06:09:02] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[WARN][2022-02-09 06:09:02] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[START][2022-02-09 06:09:29] LSP logging initiated
[WARN][2022-02-09 06:09:30] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[WARN][2022-02-09 06:09:30] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[START][2022-02-09 06:14:08] LSP logging initiated
[WARN][2022-02-09 06:14:13] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"
[WARN][2022-02-09 06:14:13] .../lua/vim/lsp.lua:812	"server_request: no handler found for"	"workspace/semanticTokens/refresh"

This isn't a clear issue description... lua-language-server does not have an :e command because it is not a text editor, it is a language server. You needed to extract the information I gave you when you filed the bug report against lspconfig instead of copy/pasting your issue to another issue tracker.
Here is a more appropriate issue description.
Servers by convention send diagnostics when text document's are opened. lua-language-server only sends diagnostics when the buffer is reopened (textDocument/didClose followed by textDocument/didOpen)  and the first textDocument/didChange notification is sent. gopls has a similar issue I reported:
https://github.com/golang/go/issues/50267
[DEBUG][2022-02-08 14:21:52] .../vim/lsp/rpc.lua:347	"rpc.send"	{
  jsonrpc = "2.0",
  method = "textDocument/didClose",
  params = {
    textDocument = {
      uri = "file:///Users/michael/Repositories/nvim-lspconfig/test/minimal_init.lua"
    }
  }
}
[DEBUG][2022-02-08 14:21:52] .../vim/lsp/rpc.lua:347	"rpc.send"	{
  jsonrpc = "2.0",
  method = "textDocument/didOpen",
  params = {
    textDocument = {
      languageId = "lua",
      text = "local on_windows = vim.loop.os_uname().version:match 'Windows'\n\nlocal function join_paths(...)\n  local path_sep = on_windows and '\\\\' or '/'\n  local result = table.concat({ ... }, path_sep)\n  return result\nend\n\nvim.cmd [[set runtimepath=$VIMRUNTIME]]\n\nlocal temp_dir = vim.loop.os_getenv 'TEMP' or '/tmp'\n\nvim.cmd('set packpath=' .. join_paths(temp_dir, 'nvim', 'site'))\n\nlocal package_root = join_paths(temp_dir, 'nvim', 'site', 'pack')\nlocal install_path = join_paths(package_root, 'packer', 'start', 'packer.nvim')\nlocal compile_path = join_paths(install_path, 'plugin', 'packer_compiled.lua')\n\nlocal function load_plugins()\n  require('packer').startup {\n    {\n      'wbthomason/packer.nvim',\n      'neovim/nvim-lspconfig',\n    },\n    config = {\n      package_root = package_root,\n      compile_path = compile_path,\n    },\n  }\nend\n\n_G.load_config = function()\n  vim.lsp.set_log_level 'trace'\n  if vim.fn.has 'nvim-0.5.1' == 1 then\n    require('vim.lsp.log').set_format_func(vim.inspect)\n  end\n  local nvim_lsp = require 'lspconfig'\n  local on_attach = function(_, bufnr)\n    local function buf_set_keymap(...)\n      vim.api.nvim_buf_set_keymap(bufnr, ...)\n    end\n    local function buf_set_option(...)\n      vim.api.nvim_buf_set_option(bufnr, ...)\n    end\n\n    buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')\n\n    -- Mappings.\n    local opts = { noremap = true, silent = true }\n    buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)\n    buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)\n    buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)\n    buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)\n    buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)\n    buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)\n    buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)\n    buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)\n    buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)\n    buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)\n    buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)\n    buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)\n    buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)\n    buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)\n    buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)\n  end\n\n  -- Add the server that troubles you here\n  local name = 'sumneko_lua'\n  if not name then\n    print 'You have not defined a server name, please edit minimal_init.lua'\n  end\n  if not nvim_lsp[name].document_config.default_config.cmd and not cmd then\n    print [[You have not defined a server default cmd for a server\n      that requires it please edit minimal_init.lua]]\n  end\n\n  nvim_lsp[name].setup {\n    cmd = cmd,\n    on_attach = on_attach,\n  }\n\n  print [[You can find your log at $HOME/.cache/nvim/lsp.log. Please paste in a github issue under a details tag as described in the issue template.]]\nend\n\nif vim.fn.isdirectory(install_path) == 0 then\n  vim.fn.system { 'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path }\n  load_plugins()\n  require('packer').sync()\n  vim.cmd [[autocmd User PackerComplete ++once lua load_config()]]\nelse\n  load_plugins()\n  require('packer').sync()\n  _G.load_config()\nend\n",
      uri = "file:///Users/michael/Repositories/nvim-lspconfig/test/minimal_init.lua",
      version = 0
    }
  }
}
[DEBUG][2022-02-08 14:21:53] .../vim/lsp/rpc.lua:347	"rpc.send"	{
  jsonrpc = "2.0",
  method = "textDocument/didChange",
  params = {
    contentChanges = { {
        range = {
          end = {
            character = 0,
            line = 13
          },
          start = {
            character = 0,
            line = 13
          }
        },
        rangeLength = 0,
        text = "e"
      } },
    textDocument = {
      uri = "file:///Users/michael/Repositories/nvim-lspconfig/test/minimal_init.lua",
      version = 6
    }
  }
}
[DEBUG][2022-02-08 14:21:53] .../vim/lsp/rpc.lua:454	"rpc.receive"	{
  jsonrpc = "2.0",
  method = "$/status/report",
  params = {
    text = "😺Lua",
    tooltip = "Workspace   : /Users/michael/Repositories/nvim-lspconfig\nCached files: 147/146\nMemory usage: 15M"
  }
}
[TRACE][2022-02-08 14:21:53] .../lua/vim/lsp.lua:792	"notification"	"$/status/report"	{
  text = "😺Lua",
  tooltip = "Workspace   : /Users/michael/Repositories/nvim-lspconfig\nCached files: 147/146\nMemory usage: 15M"
}
[DEBUG][2022-02-08 14:21:53] .../vim/lsp/rpc.lua:454	"rpc.receive"	{
  jsonrpc = "2.0",
  method = "textDocument/publishDiagnostics",
  params = {
    diagnostics = { {
        code = "exp-in-action",
        data = "syntax",
        message = "Unexpected <exp> .",
        range = {
          end = {
            character = 1,
            line = 13
          },
          start = {
            character = 0,
            line = 13
          }
        },
        severity = 1,
        source = "Lua Syntax Check."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 3,
            line = 8
          },
          start = {
            character = 0,
            line = 8
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 3,
            line = 12
          },
          start = {
            character = 0,
            line = 12
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 5,
            line = 88
          },
          start = {
            character = 2,
            line = 88
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 20,
            line = 10
          },
          start = {
            character = 17,
            line = 10
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 5,
            line = 32
          },
          start = {
            character = 2,
            line = 32
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 5,
            line = 85
          },
          start = {
            character = 2,
            line = 85
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `cmd`.",
        range = {
          end = {
            character = 70,
            line = 71
          },
          start = {
            character = 67,
            line = 71
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `cmd`.",
        range = {
          end = {
            character = 13,
            line = 77
          },
          start = {
            character = 10,
            line = 77
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 6,
            line = 84
          },
          start = {
            character = 3,
            line = 84
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 46,
            line = 34
          },
          start = {
            character = 43,
            line = 34
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 22,
            line = 0
          },
          start = {
            character = 19,
            line = 0
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 8,
            line = 33
          },
          start = {
            character = 5,
            line = 33
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 9,
            line = 39
          },
          start = {
            character = 6,
            line = 39
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      }, {
        code = "undefined-global",
        message = "Undefined global `vim`.",
        range = {
          end = {
            character = 9,
            line = 42
          },
          start = {
            character = 6,
            line = 42
          }
        },
        severity = 2,
        source = "Lua Diagnostics."
      } },
    uri = "file:///Users/michael/Repositories/nvim-lspconfig/test/minimal_init.lua",
    version = 6
  }
}

@mjlbach: Sorry and Thanks, I have tried my best. I was editing it and reading the README.

The specification says:
if a language has a project system (for example C#) diagnostics are not cleared when a file closes.
If the computed set is empty it has to push the empty array to clear former diagnostics.
My understanding is that when you start the language server with a workspace, closing a file would not clear the diagnostics for that file.
When you reopen the file, the new diagnostics I calculated are exactly the same as before, so no diagnostics are re-sent to the client.

OK, I understood. The reason that I need to execute :e to reload the buffer is for resolving a bug related to neovim's treesitter(syntax tree parsing) and/or (neovim)'s folding. There is no problem on the other popular language servers like typescript-language-server(, since everybody nowadays doing some web-development) doesn't have this problem, as shown in the DEMO.
Is this a hard/time-consuming problem to solve? I think neovim users really need this behavior: when buffer reloaded, even if the file should be the same, the diagnostics message are still shown(sent by your server).

I believe contextually this is more referring to the server's responsibility for clearing rather than presenting diagnostics (embedding the full quote here for discussion).

Diagnostics are “owned” by the server so it is the server’s responsibility to clear them if necessary. The following rule is used for VS Code servers that generate diagnostics:

if a language is single file only (for example HTML) then diagnostics are cleared by the server when the file is closed. Please note that open / close events don’t necessarily reflect what the user sees in the user interface. These events are ownership events. So with the current version of the specification it is possible that problems are not cleared although the file is not visible in the user interface since the client has not closed the file yet.
if a language has a project system (for example C#) diagnostics are not cleared when a file closes. When a project is opened all diagnostics for all files are recomputed (or read from a cache).

I think that from a symmetry standpoint it is more elegant that when a client sends the didClose notification, from the server's point of view, there is no internal state/assumption that the client is caching previous diagnostics for that buffer. Instead didOpen/didClose/didOpen behaves the same was as the first didOpen.
I agree the spec is a little ambiguous, but my reading the above does not rule out sending diagnostics for a given URI on didOpen, more about not clearing diagnostics when didClose is sent.

@sumneko @mjlbach  Many thanks for you!


Initial version of Sleep Status Widget

Thanks! Do you think this should have a  "dependencies" : { "sleeplog":"app" } in metadata so it requires that sleeplog is installed?

Yes you are right. I added the dependency.

Thanks!


[Bug Report]: Linux Xterm secodary clipboard not working on Code Blocks

Describe the Bug
Xterm secondary clipboard (select with mouse, then paste anywhere with middle mouse button) does not work on Code Blocks
Normal Text works just fine
Steps to Reproduce

Use Linux (Kubuntu in my case)
Create or open any page
Create or find a Code block
Mark text from inside the code block with Mouse
try to paste selected text with middle mouse button anywhere else (like a Console window for example)

Expected Behaviour
Paste selected Text as i normaly would
Screenshots or Additional Context
Issue is only Linux related
Exact BookStack Version
v21.11.1 (but basicaly everyone)
PHP Version
irelevant
Hosting Environment
Irelevant as is is a HTML/CSS/GUI/whatever issue

Hi @Daywalker01,
Just tried this on my machine.
Using Fedora 35 & Firefox 94. Copying from the terminal and pasting, using the middle mouse button, into a code block worked without issue. I tested using both gnome terminal and alacritty.
There's a lot of variables that could affect the copy and paste of content along those steps (Browser, browser packaging environment, display server, desktop environment, terminal application). It's going to take a lot of time to play around with those to find the cause (And see if it's on BookStack's side), so I personally wouldn't want to spend much more effort on this unless a specific change to be made could be pointed out.

You are right...
It works on a (fresh installed) Chromium Browser, but it wont on an empty Firefox 90 (no plugins, also tried private window)
OS is Kubuntu 20.10
I am sorry for the inconvenience. I should have tested a little more.
There are no other websites presenting this issue in Firefox, therefore I assumed it had something to do with BookStack
(Unfortunately, i don't like Chromium, and prefer Firefox + uMatrix + uBlock Origin)
Any Ideas where I could look?
PS.: I guess this issue can be closed

As you just pointed out, I totally forgot that my Kubuntu installation was outdated...
After an upgrade (Kubuntu 21.04 for now) and Firefox 94.0 things still don't work as expected... :(
I even created a whole new user, to start off with a clean slate, and Firefox Profile. Still no luck...
(If you still have some Ideas left, I'd appreciate them.
If not, still thank you, for this Application :)

not quite sure if thats a related issue?
https://github.com/Zettlr/Zettlr/issues/2321

not quite sure if thats a related issue?

Possibly related. Might be something that acts differently between xorg and wayland. I'm on Wayland.


chore: update version to 1.3.0-rc1

Description
update version to 1.3.0-rc1
Task Item
#minor

Coverage remained the same at 55.372% when pulling 8a7f8a4e4978743c5dad731bc140c7a729978f81 on liweitian:updateVersion into 286bef23a95fdcfba0e1fcb67791afaffd399dcb on microsoft:main.