JSON: incorrect detection of UTF-8

Package version (if known): (current)
Describe the bug
JSON files containing UTF-8  with only sparse unicode characters are not reliably detected as such. This happens if the first unicode character doesn't occur until > PREVIEWER_CHARDET_BYTES bytes (only 1k by default) -
https://github.com/inveniosoftware/invenio-previewer/blob/fc3e5d2656d7f503ee6d393567d6b1396fbf37db/invenio_previewer/utils.py#L27
Steps to Reproduce

Attach JSON >1kB with utf8 content / only ASCII characters occur in the first 1kB
Attempt to preview
Preview fails with 500 error -

[2023-05-12 12:29:49,649] ERROR in app: Exception on /records/3c9xq-hsq89/preview/iiif_manifest.json [GET]
...
File "/srv/rdm/adc/invenio-previewer/invenio_previewer/extensions/json_prismjs.py", line 28, in render
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3244890: ordinal not in range(128)

Expected behavior
Sparsley unicode containing files should preview correctly.
I suggest that we fix utils.py to override ascii detection with utf-8 - this should be safe?

We've experienced the same issue with txt files https://github.com/inveniosoftware/invenio-app-rdm/issues/1864, and I second the suggestion to default to utf8 instead of asci. The previewers themselves are trying to default to utf8, so detect_encoding should respect that default.


Add Timer Command

You should add:
the possibility to configure a timer for /home command. (the same for the /polis hq)
There, it's done :)

This is something I would like to see as well. Like essentials a configurable timer for /home /tpa /tpahere unless you have a specific permission, or a /tpo command. Also hsyyid or HassanS6000 thanks a bunch for implementing an essentials esk plugin for sponge!


Extract the subgraph clients to a separate repo

What
Right now a new release will release both the subgraph nodes and the subgraph clients. We want to be able to make separate releases for subgraphs (and graph-node) and subgraph clients.
Why
In a situation where the subgraphs don't change but there is a bug fix for a subgraph client, making a new release will trigger also a new build for the graph-node which may cause some deployments to have to update the latest release of the graph-node and re-index when nothing changed in the subgraphs

and also I don't like monorepos

@r-marques Is this still relevant?


Abandoned projet?

This project doesn't compile, and it hasn't been updated in 5 months.

Apparently not, see https://github.com/tellerops/teller/issues/216#issuecomment-2297278063


Create the remainder of the core development workflow benchmarks

More narrow tasks were created so we can close this one.


[FLINK-36790][cdc-connector][paimon] set waitCompaction with true dur…

set waitCompaction with true during prepare common of PaimonWriter to avoid CME problem

+1, good catch!

Thanks for reviewing, do you know how to rerun the CI since one pipeline failed?

The failure of CI is case of postgres connector, which is unrelated to the changes, I think that it didn't block this pr, we can trace it in another issue.

The failure of CI is case of postgres connector, which is unrelated to the changes, I think that it didn't block this pr, we can trace it in another issue.

ok, so what can I do and then the PR can be merged?

@ruanhang1993 @leonardBang  Could you please take a look at this?

Hi @lvyanquan @leonardBang Thanks for review this PR, may I check what else I can do to merge this PR?

@stayrascal Could you check the failed CI tests？

@stayrascal Could you check the failed CI tests？

Sorry for reply late, it looks that all CI cases are passed now. Previously the postgress connector test case failed but it's not related to this PR as lvyanquan mentioned.


Feat: Logout button

Add a logout button in de menu.
This is helpful when a user has changed their password or when loading the user's profile did not 100% work.
May be a good idea to link the logout event (not directly) to the 401 API error.
On of the things I'm not really sure about is the way I call destroy on the current view. At the moment I get the current view by replacing the -screen from the state. Is there any better way to do this?
  logout: function() {
      if (document.getElementById(menu.id) != null) menu.destroy();

      var current_id = main.state.replace("-screen", '')
      if( window[current_id] === undefined ) {
        console.log("Failed to find ID of current screen")
        menu.init();
        return;
      }
      if (document.getElementById(main.state) != null) window[current_id].destroy()
      session.clear();
      login.init();
    },

Sorry, I was quite busy. I tested it and it's working correctly. As for the change, it's fine.
I'll take a closer look at how to update the screen change section in the menu.
Maybe for the next version, but it's working perfectly for now. Thank you :D


FileSystemProvider API: should write offer flags to control the behaviour when the file doesn't exist

Usually write API offers such flags.

Yeah, maybe... Currently we handle that in VS Code with a leading stat-call

done in e7e88126adb157ded7936bf385272675484571c2

Verified in vscode.d.ts


Remove MSDN zip xref config from existing .NET repos

Remove MSDN zip xref config from existing .NET repos

Docs Build status updates of commit 167ad2b:
:clock10: Full build: the average full build time is 5 min(s) 54 sec(s), this is based on the last 5 build(s) for this repository.
:warning: This is a FULL build due to a recent Docs Build service upgrade, normally no action is required on your part. In the result you find subsequent builds still performing full builds, please contact your repository admin to manually perform a full build on the 'master' branch. For more detailed info, please click here.

Docs Build status updates of commit 167ad2b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

officedocs-dev-word-pia/_zip/msdn.4.5.2.zip
:white_check_mark:Succeeded

officedocs-dev-word-pia/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[DOCUMENT] Interfaces for the M3 Relay Protocol  (issue-#265)

Description
Code / document interfaces for the Relay Protocol to enable consensus and understanding around this piece of the M3 milestone.
M3 Milestone
This is the first step into beginning the Relay Protocol development.

Clear interface(s) that show the lifecycle of the relay protocol
Clear documentation supporting the above

Issue
Fixes #265
Type of change
Please mark the relevant option(s):

[ ] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Major breaking change
[x] Documentation
[ ] Other

List of changes

Added Relay Protocol interfaces and diagrams

Testing

[x] make develop_test
[x] LocalNet w/ all of the steps outlined in the README

Required Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have tested my changes using the available tooling
[x] I have updated the corresponding CHANGELOG

If Applicable Checklist

[x] I have updated the corresponding README(s); local and/or global
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added, or updated, mermaid.js diagrams in the corresponding README(s)
[ ] I have added, or updated, documentation and mermaid.js diagrams in shared/docs/* if I updated shared/*README(s)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@bcadafd). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #306   +/-   ##
=======================================
  Coverage        ?   40.06%
=======================================
  Files           ?       28
  Lines           ?     2184
  Branches        ?        0
=======================================
  Hits            ?      875
  Misses          ?     1255
  Partials        ?       54

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

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

Approved with one minor remaining NIT.


Fix Example JSON document for Array metadata.

JSON array metadata document in the Array metadata section is ill-formed. the codecs field contains just the gzip codec configuration, even though the spec requires the codec chain to always have one array->bytes codec. That is in the example the gzip codec should be replaced with something more sensible like
{"name": "bytes", "configuration": "big"} to be considered correct. This commit fixes that.

thanks for the fix! I will use this opportunity to suggest that the kind of mistake you fixed here would be less likely if we used a more structured JSON representation for the codecs, c.f. https://github.com/zarr-developers/zarr-specs/issues/298


Update requester.tf

changed from ceil to floor
what

when acceptor vpc has two cidr ranges, this will not work, the range of index starts from 0 to a number, not 1 to a number

why

fix a bug

/test all


Missing dependencies on Fedora Workstation 40. Frostwire will not install from RPM file.

Hello Frostwire developers, I have tried to install frostwire on my Fedora Workstation 40 computer. When I install the install will not finish because of broken packages.
realjosephknapp@fedora:~/Downloads$ sudo dnf install frostwire-6.13.3.amd64.rpm
[sudo] password for realjosephknapp:
Fedora 40 - x86_64 - Updates                     26 kB/s |  28 kB     00:01
Fedora 40 - x86_64 - Updates                    1.5 MB/s | 4.1 MB     00:02
Last metadata expiration check: 0:00:02 ago on Thu 05 Sep 2024 02:36:06 PM PDT.
Error:
Problem: conflicting requests

package frostwire-6.13.3-2.amd64 from @commandline does not have a compatible architecture
nothing provides libawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libawt_xawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libjli.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libnet.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages)
realjosephknapp@fedora:~/Downloads$

When I try to find these packages in the fedora repositories it they do not exist. For reference, I am using Oracle JDK 22.0.2 by default on my computer with Oracle JDK 8u421 as a fallback for applications that demand JDK 8. I also want to ask when the transition to Libtorrent 2.0.10 will be complete?

hmm, there must be something wrong with alien, the package should include a built-in JRE that we provide on the .deb version.
Perhaps we should take the time to provide a flatpak or snap as a unified package for all distributions.
In the meantime please try this .tar.gz that has everything self-contained
https://github.com/frostwire/frostwire/releases/download/frostwire-desktop-6.13.3-build-322/frostwire-6.13.3.amd64.tar.gz
It shouldn't demand the need for JDK, I'll revise that on the .deb spec.

also, can you try:
sudo dnf install frostwire-6.13.3.amd64.rpm --skip-broken
see what happens

hmm, there must be something wrong with alien, the package should include a built-in JRE that we provide on the .deb version.
Perhaps we should take the time to provide a flatpak or snap as a unified package for all distributions.
In the meantime please try this .tar.gz that has everything self-contained https://github.com/frostwire/frostwire/releases/download/frostwire-desktop-6.13.3-build-322/frostwire-6.13.3.amd64.tar.gz
It shouldn't demand the need for JDK, I'll revise that on the .deb spec.

I do not think including a JRE is the right approach. I think that Frostwire should use the JDK the user has installed to their system. By simply using the Oracle JDK 22.0.2 that I have on my computer it avoids any dependency hell and reduces the installer size. Also, allowing frostwire to auto update through its own package repository would avoid needing any code to auto update, although for the android version the new .apk can simply be installed directly from the frostwire app like the official telegram android app does. Filetopia uses a similar approach to what you are recommending and it never works on linux. I think the right approach is simply using the deb or rpm file to install the neccessary jars and leaving the JDK up to the end user. Maybe the dependency hell is being caused by the JDK you include in the rpm file I got from your website?

I used the skip broken flag. Although the command went through the installer did not install. The frostwire package still needs those packages that Fedora does not provide.
realjosephknapp@fedora:~/Downloads$ sudo dnf localinstall frostwire-6.13.3.amd64.rpm
[sudo] password for realjosephknapp:
Last metadata expiration check: 1:18:04 ago on Sat 28 Sep 2024 07:39:18 PM PDT.
Error:
Problem: conflicting requests

package frostwire-6.13.3-2.amd64 from @commandline does not have a compatible architecture
nothing provides libawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libawt_xawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libjli.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libnet.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages)
realjosephknapp@fedora:~/Downloads$ sudo dnf localinstall frostwire-6.13.3.amd64.rpm --skip-broken
Last metadata expiration check: 1:18:45 ago on Sat 28 Sep 2024 07:39:18 PM PDT.
Dependencies resolved.

Problem: conflicting requests

package frostwire-6.13.3-2.amd64 from @commandline does not have a compatible architecture
nothing provides libawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libawt_xawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libjli.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libnet.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
Nothing to do.
Complete!
realjosephknapp@fedora:~/Downloads$ sudo dnf localinstall

PS. I am now using Oracle JDK 23 with Oracle JDK 8 as a backup.

thanks for this update.
I'm building a universal snap package that should hopefully fix this and other issues in other linux distros that have been reported.

I tried again with the latest build both with --skip-broken and without --skip-broken.
"""
realjosephknapp@fedora:~/Downloads$ sudo dnf localinstall frostwire-6.13.3.amd64.rpm --best --allowerasing
[sudo] password for realjosephknapp:
Sorry, try again.
[sudo] password for realjosephknapp:
Last metadata expiration check: 1:22:39 ago on Sat 12 Oct 2024 11:57:34 AM PDT.
Error:
Problem: conflicting requests

package frostwire-6.13.3-2.amd64 from @commandline does not have a compatible architecture
nothing provides libawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libawt_xawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libjli.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libnet.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages)
realjosephknapp@fedora:~/Downloads$ sudo dnf localinstall frostwire-6.13.3.amd64.rpm --best --allowerasing --skip-broken
[sudo] password for realjosephknapp:
Last metadata expiration check: 1:38:35 ago on Sat 12 Oct 2024 11:57:34 AM PDT.
Dependencies resolved.

Problem: conflicting requests

package frostwire-6.13.3-2.amd64 from @commandline does not have a compatible architecture
nothing provides libawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libawt_xawt.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libjli.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
nothing provides libnet.so()(64bit) needed by frostwire-6.13.3-2.amd64 from @commandline
Nothing to do.
Complete!
realjosephknapp@fedora:~/Downloads$
"""

Perhaps we should take the time to provide a flatpak or snap as a unified package for all distributions.

Flatpak would be the best choice as we have more distributions supporting flatpak than snap.


[glog] Fix usage about find unwind

Fixes #37527.
unwind is a feature of glog, add option to control find unwind.
And add CMAKE_MODULE_PATH for using FindUnwind.cmake, because glog find unwind by FindUnwind.cmake which is provided by itself.
Usage passed on x64-linux.

[x] Changes comply with the maintainer guide.
[ ] SHA512s are updated for each updated download.
[ ] The "supports" clause reflects platforms that may be fixed by this new version.
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the fix!


DTSPO-9917 - Remove Azure Image Version Parameter

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/DTSPO-9917
Change description
Remove Azure Image Version Parameter
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

is this param needed? surely can do it with a variable instead? or just dynamically set it?

the value is being dynamically set already but for a variable called azure_image_version which is used to set the value of the azure_image_version parameter in the hcl which I think was causing confusion. I think the parameter in the azure pipeline can be removed


Search with Cree preverbs does not produce results

Searching e.g. with the Cree preverbs ati-, poni-, nitawi-, and pe- do not produce results.
In contrast, search with English words corresponding to the above does result in list with some but not all of the preverbs above.

This is fixed in my development branch (not on sapir yet).
ati-, poni-, pe- now all produce results. yet nitawi- does not. "nitaw" without "i" does. was that a typo?

"nitawi-" is most definitely not a typo: https://altlab.ualberta.ca/itwewina/crk/eng/?lookup=nitawi-

I found the cause: these two entries exist in the source
<e>
   <lg>
      <l pos="Ipc">nitaw</l>
      <lc>IPV</lc>
      <stem>md_stem[nr]</stem>
   </lg>
   <mg>
   <tg xml:lang="eng">
       <t pos="Ipc" sources="MD">Meaning, go and get, go and do or go and act. Also nitawi.</t>
   </tg>
   </mg>
</e>

<e>
   <lg>
      <l pos="Ipc">nitaw</l>
      <lc>IPV</lc>
      <stem>md_stem[nr]</stem>
   </lg>
   <mg>
   <tg xml:lang="eng">
       <t pos="Ipc" sources="MD">Meaning, go and get, go and do or go and act. Also nitawi.</t>
   </tg>
   </mg>
</e>

The pending dash is not properly dealt with in the current algorithm.

I will come up with tests for these cases

@aarppe need your advice what do we show as the part of speech for reduplication stems like "sa" "ka" "ma" "na".
<e>
   <lg>
      <l pos="IPV">sa</l>
      <lc></lc>
      <stem>md_stem[nr]</stem>
   </lg>
   <mg>
   <tg xml:lang="eng">
       <t pos="IPV" sources="MD">Usually added to a verb to mean continuous action. [Reduplication]</t>
   </tg>
   </mg>
</e>

Since they all have pos="IPV" in their sources. I currently show them as "Preverbs" in my development branch

The short answer is that, for now, calling the reduplicative elements preverbs is the simplest solution, as the do look like some grammatical preverbs, even though strictly speaker they are not preverbs (the rough meanings for the Ca- and Câh- patterns are the same irrespective of what the initial Consonant is).
I don't think Arok's dictionary lists most reduplicative elements for the most part, but the Maskwacîs folks thought they were relevant. However, in MD the preverbs don't have the hyphen, but since they are not independent words, in SRO they should be written with a hyphen to indicate that they always need to co-occur with a stem or the like.
(Note for later reference: in syllabics, preverbs would be written without a hyphen, so separated with a space from the stems, but I don't know if this applies for reduplicative elements or whether they should be attached to the stem).

Fixed as of 24b6a4fccf79cb7cb1bbef32f7d4776a86f384d8


Update README.md

[中文版模板 / Chinese template]
🤔 This is a ...

[ ] New feature
[ ] Bug fix
[ ] Site / documentation update
[ ] Demo update
[ ] Component style update
[ ] TypeScript definition update
[ ] Bundle size optimization
[ ] Performance optimization
[ ] Enhancement feature
[ ] Internationalization
[ ] Refactoring
[ ] Code style optimization
[ ] Test Case
[ ] Branch merge
[ ] Other (about what?)

🔗 Related issue link

💡 Background and solution

📝 Changelog

Language
Changelog

🇺🇸 English

🇨🇳 Chinese

☑ Self Check before Merge
⚠ Please check all items below before review. ⚠

[ ] Doc is updated/provided or not needed
[ ] Demo is updated/provided or not needed
[ ] TypeScript definition is updated/provided or not needed
[ ] Changelog is provided or not needed

Codecov Report

Merging #1 (a20f31d) into master (0f6ad8c) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           master        #1      +/-   ##
===========================================
+ Coverage   99.98%   100.00%   +0.01%
===========================================
  Files         394       397       +3
  Lines        7480      7510      +30
  Branches     2106      2112       +6
===========================================
+ Hits         7479      7510      +31
+ Misses          1         0       -1

Impacted Files
Coverage Δ

components/drawer/index.tsx
100.00% <ø> (ø)

components/form/ErrorList.tsx
100.00% <ø> (ø)

components/form/FormItem.tsx
100.00% <ø> (ø)

components/form/FormItemInput.tsx
100.00% <ø> (ø)

components/grid/RowContext.tsx
100.00% <ø> (ø)

components/input/ClearableLabeledInput.tsx
100.00% <ø> (ø)

components/locale/cs_CZ.tsx
100.00% <ø> (ø)

components/steps/index.tsx
100.00% <ø> (ø)

components/table/Table.tsx
100.00% <ø> (ø)

components/time-picker/locale/ko_KR.tsx
100.00% <ø> (ø)

... and 33 more

Continue to review full report at Codecov.

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


Environment variables produce invalid syntax

Perhaps I am doing something incorrect here.
environment_config:
  path: environment.dart
  class: Environment
  fields:
    api:
      type: String
      short_name: a
      pattern: 'https://__VALUE__'
      env_var: API_DOMAIN

Set your environment variable(s)
export API_DOMAIN="api.local"

Then run
pub run environment_config:generate

Dartfmt will fail because of invalid syntax.
❯ pub run environment_config:generate
Precompiling executable... (7.1s)
Precompiled environment_config:generate.
Could not format because the source could not be parsed:

line 1, column 46: Expected to find ';'.
  ╷
1 │ class Environment {static const String api = https://api.local;
  │                                              ^^^^^

As a work around the following works as expected.
environment_config:
  path: environment.dart
  class: Environment
  fields:
    api:
      short_name: a
      env_var: API_DOMAIN
      customClassValue:
        type: String
        pattern: 'https://__VALUE__'

so the case here is that YAML treats with key values as Strings aways. So this
'http://__VALUE__'
will be equals to this
http://__VALUE__
For string fields default pattern is "'__VALUE__'". So in order to get the expected result your pattern should be following "'https://__VALUE__'". In that way '` will become part of the value and not opening/closing bracket of the String.
environment_config:
  path: environment.dart
  class: Environment
  fields:
    api:
      type: String
      short_name: a
      pattern: "'https://__VALUE__'"
      env_var: API_DOMAIN

The reason why I don't always add ' around field values is that I wanted to give dev an option to provide patterns to specify different types of values.
======= Here are some examples. ========
You may want to have something, that provides Strings value based on env value:
class SomeValueProvider {

  static String getSomeValue(String env) {
    ....
  }
}

In that way, your YAML will look like this:
environment_config:
  fields:
    env:
      type: String
      pattern: SomeValueProvider.getSomeValue('__VALUE__')

Another example. You may want to have different classes:
class ProdClass {

  static String getSomeValue() {
    ....
  }
}

class DevClass {

  static String getSomeValue() {
    ....
  }
}

In that way, your YAML will look like this:
environment_config:
  fields:
    env:
      type: String
      pattern: __VALUE__Class.getSomeValue()

Hope it helps)

This is a great explanation. Thank you!

I understand that these examples are raw) I just wanted to show some probable use cases of my decision to don't always wrap result wrappers)


Bogus bounds on recursive-zipper

Bound on recursive-zipper is == <IP_ADDRESS> which forbids <IP_ADDRESS> which has only documentation changes.

Thanks! Should be fixed.


k6 plugin is not supported in IntelliJ IDEA 2021.2.1

Right now the plugin isn't supported.
IntelliJ Version: 2021.2.1

Would be great if we get new version that will support latest version of the IDE.

Please, @ondrejfuhrer, let us know if the latest version has fixed this issue.

Hey @ppcano , yes, thank you!
All is working well now, also with the latest 2021.2.2 version.


feat: Develop OpenHands with OpenHands

End-user friendly description of the problem this fixes or functionality that this introduces

[ ] Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Give a summary of what the PR does, explaining any non-trivial design decisions

Provide docker files and scripts for building custom sandbox which supports building/running docker.
Make target and scripts for building OpenHands using OpenHands. make start-oh-dev is all one needs to get started.
Add runtime_extra_options to sandbox config for supporting all supported docker run options.
Introduce <workspace>/.openhands.toml for workspace specific configurations
minor code change to support the above features.

Last but not least, "summary of change" in the last commit was generated and commited by OpenHands as a test at my prompt.

Link of any specific issues this addresses

@qiangli thanks for putting this together! Lots of good stuff in here, but also seems like maybe a lot to maintain, and a lot that would need to be configured per environment.
Will get back to you with some more concrete feedback

closing this one in favor of https://github.com/All-Hands-AI/OpenHands/pull/4588 - a much simpler, cleaner, and more powerful approach.
Let me know what you think @rbren  thanks!


Query frontend cache is inconsistent across replicas

Because predictions are cached within the query frontend, horizontally scaling the frontend will result in frontend replicas having different prediction cache contents. This motivates decoupling the prediction cache from the query frontend, which is also beneficial because it ensures that query frontend replicas are not storing large volumes of prediction data directly. Exploring the use of a distributed key-value store is likely a good idea.

Agreed. Using something like memcached is likely the right design choice here. As @dbczumar points out, the query frontend is pseudo-stateful right now, which is not a desirable property of the system.

Agreed. Our team set QueryFrontend's cache size to 1 to disable caching, and some API servers in front of Clipper are caching the prediction result of each input.

@simon-mo @withsmilo I think it is worth handling in the future release. I will mark with feature request.

@withsmilo Setting cache size to 1 doesn't work for me. Did you check this in the k8s environment?

@nopanderer I will check it ASAP.

@nopanderer Our team checked your issue in detail on our clipper-k8s cluster, but couldn't find any problem about disabled caching. When we set query-frontend's cache size to 1, all the model pods always received user requests. Could you check it again?

@withsmilo Please try this.

Register the model A which gives the binary output, 0 or 1.

Predict with model A and input.jpg. This should gives binary output. No wonder.

Then, unregister the model A and register the model B which produces float output ([0, 1]).

And this is the point where the bad thing happens. If you predict with model B and input.jpg (same input image used in step 2), the model B is supposed to give [0, 1] but gives the same output in the step 1.

When I tried this case in both Docker and Kubernetes where cache_size=1, the former gives right answer but the latter doesn't.

@nopanderer

What version of Clipper are you using?
What Clipper APIs did you call when unregistering the model A?

@withsmilo
Sorry for late reply.
I was testing both 0.3 and 0.4, and found that the setting cache_size=1 works correctly in clipper:0.4.
How did you fix this cache problem? Which part should I look into?

@nopanderer
Good news! There are many differences between the two versions, so I'm not sure which part is the cause.

@withsmilo
Thank you a lot.

@nopanderer @withsmilo
Query frontend manages its own cache inside the server, and I guess the cache entry wasn’t evicted when model A was unregistered. As a result, when input.jpg was requested, the query frontend  returns the cache entry (which is the output of model A).

If it’s the cause not sure how we can fix it. If your app frequently unregisters models, I recommend you to have a distributed caching layer on the top of query frontend instead


Fix Pusher Re-Authentication bug

Details
Well explained in the linked issue.
Fixed Issues
Fixes https://github.com/Expensify/Expensify/issues/152022
Tests
Testing subscribing with bad session

Invalidate your authToken by messing with it in localStorage
Filter in the JS console logs for Pusher
Tap on a chat in the LHN
Verify that your logs look like this and that Pusher has successfully resubscribed to all channels

Testing loss of session and connectivity

Invalidate your authToken by messing with it in localStorage
Turn off your WiFi
Filter in the JS console logs for Pusher
Wait until you see this log line in the JS console

Turn WiFi back on
Don't touch anything! Wait and then verify that you are eventually resubscribed to Pusher

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

@Gonals Thanks for the review!

@Gonals Thanks for the review!


Filter path by extensions

Fixes https://github.com/Tufin/oasdiff/issues/89

Codecov Report

Merging #91 (fe2f432) into main (98b581a) will decrease coverage by 0.27%.
The diff coverage is 72.13%.

@@            Coverage Diff             @@
##             main      #91      +/-   ##
==========================================
- Coverage   89.67%   89.40%   -0.28%
==========================================
  Files          68       68
  Lines        3690     3737      +47
==========================================
+ Hits         3309     3341      +32
- Misses        292      302      +10
- Partials       89       94       +5

Flag
Coverage Δ

unittests
89.40% <72.13%> (-0.28%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

diff/config.go
100.00% <ø> (ø)

diff/endpoints_diff.go
86.81% <0.00%> (-0.15%)
:arrow_down:

diff/operations_diff.go
88.00% <66.66%> (-7.90%)
:arrow_down:

diff/diff.go
94.17% <75.00%> (-0.22%)
:arrow_down:

diff/paths_diff.go
92.50% <79.31%> (-4.35%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


[6188] Add presence start-end function.

[6188] Add presence start-end function.
1.new screen added to app
2.backend endpoint for this screen
https://bugzilla.stxnext.pl/show_bug.cgi?id=6188

Please squash commits


Unable to import this package.

Prior Issues
Are there any existing issues or PRs that relate to this problem? If so, link them here.
Describe the bug
A clear and concise description of what the bug is.
Please show the code you wrote as completely as possible.
/// your code here

Steps to Reproduce
If the current behavior is a bug, please provide the steps to reproduce.
What is the expected behavior?
A clear and concise description of what you expected to happen.
Additional context

What package and OS are affected by this issue? Did this work in previous versions of a package?

If applicable, add screenshots to help explain your problem.

Please provide output from flutter doctor -v and flutter analyze.

Add any other context about the problem here.

@shwetha1295 Hello, fill the bug report template for more information please.


Handling of minor version increments.

Hi,
I'm currently working on an API that ends up being added to on a regular basis but never with any breaking changes. Even though, we want to keep returning resources in their original form for each API Minor version, eg:
[ApiVersion("1.0")]
[ApiVersion("1.1")]
[ApiVersion("1.2")]
[RoutePrefix("api")]
public class ApiRootController : ApiController
{
  // v1.0 resource.
  [HttpGet, Route("myresource")]
  public HttpResponseMessage GetMyResource()
  {
    return Request.CreateResponse(HttpStatusCode.OK, new MyResourceModel { Message = "Hello!" });
  }

  // v1.1 resource
  [HttpGet, Route("myresource"), MapToApiVersion("1.1")]
  public HttpResponseMessage GetMyResourceV1_1()
  {
    return Request.CreateResponse(HttpStatusCode.OK, new MyResourceModel { Message = "Hello!", User = "Mike" });
  }

  // available from v1.2.
  [HttpGet, Route("myresource"), MapToApiVersion("1.2")]
  public HttpResponseMessage GetSomeOtherResource()
  {
    return Request.CreateResponse(HttpStatusCode.OK, new AnotherResourceModel { AppleCount = 5 });
  }
}

When I call "api/myresource?api-version=1.0" I get the original v1.0 version of the resource as expected.
When I call "api/myresource?api-version=1.1" I get the v1.1 version of the resource as expected.
When I call "api/myresource?api-version=1.2" suddenly I get the v1.0 resource, which was not expected.
I guess what I'm asking is is there a way to make the route match to the closest available Minor version <= the requested Minor version?
Thanks,
Mike

The selection of an API version needs to provide an unambiguous value so that the infrastructure can select the correct action to dispatch to. There are ways to choose the best API version when no API version is selected, but this facility is not used in other scenarios.
Succinctly, I'd say there are two ways to think about a client's request:

No API version is provided (assuming it's even allowed by the service)

The client doesn't care which version they get
The server might have a policy that chooses a fixed version, lowest version, highest version, etc

An explicit API version is specified

When a client specifies an API version, matching anything other than what they asked for is a bad idea IMO. With some customization, it would be possible for a client to ask for multiple API versions that you could choose from, but I don't think that's what you're asking for. It would behave like the Accept header. It is also possible to add support version ranges that map to controllers and/or actions, but - again - I'm not sure that's what you're looking for.
I'm assuming that you're using the latest package version. I created a basic sample (see attached) to simulate your scenario, but I could not reproduce the behavior you described. The respective requests to 1.0, 1.1, and 1.2 all produced the expected results. Hopefully, that might help you reconcile any differences from other parts of your configuration.
ApiMinorVersionRepro.zip

Ah, my apologies, I'm stuck using VS 2013 / .net 4.5, but I made a mistake in the last route of the the above code. What I meant to write was:
// available from v1.2.
[HttpGet, Route("my-other-resource"), MapToApiVersion("1.2")]
public HttpResponseMessage GetSomeOtherResource()
{
  return Request.CreateResponse(HttpStatusCode.OK, new AnotherResourceModel { AppleCount = 5 });
}

So when you call the "api/myresource" route with a v1.2 query you get the v1.0 result rather than the v1.1 result. I don't know maybe I'm thinking about this all wrong...

Interesting ... I was able to reproduce your scenario. All of the routes behave as expected except for the api/my-other-resource?api-version=1.2. This may be a bug. I'll look into it and see what I find.

OK ... sorry for the delay. Upon looking into the issue, the behavior is by design. I'm not sure how I didn't notice it right away. I guess it was the due to the update between the original post and the subsequent update.
Now for the explanation...
Ultimately, this is a product of version interleaving.  By default, you only need to specify the API version at the controller level. All actions implicitly match the API versions defined by the controller. Just like controllers with overlapping routes are disambiguated by API version, so too are actions. At the action level, we use the MapToApiVersion to indicate an explicit mapping by API version.
In your controller, the GetMyResource method does not have any explicit API version mapping. This means that all API versions will match this action unless there is another action with the same route and explicit API version. The following table summarizes the matches:

Route
Action
API Versions

api/myresource
GetMyResource
1.0 [implicit], 1.2 [implicit]

api/myresource
GetMyResourceV1_1
1.1 [explicit]

api/my-other-resource
GetSomeOtherResource
1.2 [explicit]

To get the behavior I believe you're hoping for, you need to decorate GetMyResource with [MapToApiVersion( "1.0" )].
Version interleaving can be difficult to rationalize over time if there is a lot of complex mapping. The intent of supporting it all is for services that add only few extra actions that are available in the later versions. This type of additive approach tends to not be overly complex from a management perspective. For all other cases, it's probably better to break the controllers into multiple types.
I hope that clarifies things for you. Let me know if you have more questions or need additional assistance.

Thanks for looking into it, I hadn't thought of making the original route version explicit but that does indeed provide the expected behaviour. :)


nixos-rebuild: use nix build and nix copy

Motivation for this change
Get the nice progress indicators when running nixos-rebuild. Mostly fixes https://github.com/NixOS/nixpkgs/issues/45595.
Things done

Replace nix-copy-closure with nix copy.

As I understand it, this is a straight replacement, provided we have the commit for supporting copying drvs. However, I think that might not be in our current version?

Replace nix-build with nix build.

Due to https://github.com/NixOS/nix/issues/1930 we put the output in a temporary directory.
We also switch to running the function in our process instead of a subshell, so Nix thinks it's in a TTY and gives us the progress output.

I haven't attempted to touch any of the uses of nix-instantiate, since as I understand it there isn't a good Nix 2.0 replacement for the stuff that's being done there.
This is obviously going to need pretty careful testing, but I'm putting this up to get things going. I've tested it on my own machine and it seems to work nicely!

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

x ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

While I agree we should eventually do this, I don't think we should do it just yet.

nix build/copy --help warns: Note: this program is EXPERIMENTAL and subject to change.
the output is quite useless for debugging

In nix-review I also switched back to nix-build because I needed the output. So the new nix 2.0 tools are more useful if one only downloads stuff.

What about gating it behind a flag or an env var? That way it's opt in, but people can start experimenting with it bug upstream if it's not usable enough.

Yes, the different options are a pain. I recommend we heed the "EXPERIMENTAL" warning and keep things as they are for now.
Eventually, nix-build and nix build should converge. I don't know what the plan or timeline is, but that's a discussion for the nix repo, not nixpkgs...

I agree with @xeji, it seems to be too early to make that switch.

Any chance this could be packaged as an optional replacement? Either a separate package with a different command name, or a NixOS module option?

Yes, that's a nice idea, I hadn't thought of that. I'll look into it. I think a separate package makes sense - then you just install nixos-rebuild2 or something.

This won't work well as a separately packaged script, since it builds nixos-rebuild from the new nixpkgs and then re-execs it, so you'll just immediately delegate to the "real" nixos-rebuild.
I guess there's nothing really that can be done here unless there are some changes to the nix UI.


Move from @hidden to @internal

Setting as Draft for now to check side effects
There shouldn't be any, just need to be 100% sure :-)

Is it not messing the playground checks for typings ? I remember we had special rules there but can not remember if there were for @hidden or only removing _ functions.

Is it not messing the playground checks for typings ? I remember we had special rules there but can not remember if there were for @hidden or only removing _ functions.

I could not find any reference of hidden in the playground, and have checked the playground - it doesn't show any hidden/internal options.


Allows ./gradlew clean build to run successfully.

Fixes #352.
For now the unsolved problem is code coverage verification. Several modules have significantly lower coverage than required by build. Thus this verification cannot be enabled until tests are improved.

Hey @iNikem, reviewing this made me remember that we used to have code coverage verification, because i remember having to tweak the percentages a couple of times. It looks like I accidentally dropped the verification from CI a while back (while trying to save CI cost), and after that unsurprisingly the verification started failing. I submitted #357 to bring back the CI verification, and fix the regressions that crept in during its absence.

Would you mind commenting on each of the changes and why they were needed?

@tylerbenson Done

@iNikem thanks!

You may want to update CI to somehow exercise this to ensure it doesn't break again.

@trask @tylerbenson what do you think about changing test_8 CI job to just run build task? And probably it will make sense to rename current build CI job to assemble

Make a smaller change: check CI job will run build


Mark packages as broken when their dependencies cannot be met (was font-lock-plus missing from emacsPackages)

Issue description
Package font-lock-plus missing from latest melpa generation.
This breaks all-the-icons and all packages depending on it.
Steps to reproduce
Try to use anything depending on emacsPackages.font-lock-plus.
Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)
18.03.git.16ff6c3456M (Impala)
Nix version: (run nix-env --version)
nix-env (Nix) 1.11.15
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)
18.03.git.16ff6c3456M
Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf)
build-use-sandbox = true

Sounds it was introduced in https://github.com/NixOS/nixpkgs/pull/30313 and is due to new MELPA's policy to no longer provide packages that are hosted on the Emacs wiki, with font-lock-plus being one of those. See the upstream discussion.

Closing as this is a MELPA issue.

@peterhoeg In a sense I agree but I also think this is a nixpkgs issue that the dependency is just gone without also marking dependants as broken.

You're right @adisbladis. Please change the title to reflect what this really is - mark packages as broken when their dependencies cannot be met. Do you have a list of the affected ones?

But Melpa haven't removed font-lock+ yet since the dependency issues aren't resolved yet. You can see the package on their website: https://melpa.org/#/font-lock%2B
So I find it weird that it would be dropped from NixOS before it's actually gone from Melpa. I agree that Emacs Wiki packages is a bad idea, but they need to resolve their deps before they actually drop things. Which they seem to work on.

@mdorman - isn't the list of packages automatically generated?

@peterhoeg The list is generated automatically, yes, but I've always done a little bit of housekeeping on it.
I'm happy to add testing evaluation of the emacsPackagesNg expression to my workflow to keep this sort of thing from happening again; it just hadn't occurred to me.


Data visualisation [enhancement]

Support for real-time visualizations: The library could support real-time visualizations to enable users to see the results of their algorithms in real time as they are being trained.
Interactive visualizations, such as dynamic scatter plots, 3D plots, and interactive decision trees could be implemented in the library to allow users to explore and understand their data better.

@II11II Hi! Thank you for the proposal. I have visualisation-related logic in my roadmap; stay tuned!


PoC to deliver metadata with business errors

As an SRF app developer I would like to be able to display player metadata for streams that have not started yet. As a Pillarbox Apple developer I would like to investigate whether this is possible so that we can have a team discussion about such a feature, most notably:

Whether it is already supported by some platforms.
Whether it makes sense for Pillarbox.
Whether it is possible technically on all platforms.

Acceptance criteria

A PoC implementation which delivers metadata in case of an error is available on Apple platforms.
A thumbnail is displayed for URN-based content not yet available

Tasks

[x] Implement PoC.

One possible approach is to provide a new error type which can be associated with metadata. This type can be used by custom player item implementations to optionally deliver errors with associated metadata if available.
I pushed a PoC implementation on the associated branch. Extra care is probably required to preserve error messages and have thumbnails be correctly loaded, but this seems feasible.
We should discuss within the team if this kind of feature should be provided, though.

I move this PoC into code review. This is likely a nice topic for our weekly API discussion.

A second PoC implementation is available on the 918-poc-to-deliver-metadata-with-business-errors-2 branch (which for some reason I cannot link to this issue).

We have discussed the matter. PoCs are available if we later decide to implement this behavior.


Bedrock Streaming Error Testing

Overview

Expand error testing for botocore's bedrock instrumentation.

Includes a variety of corner cases where exceptions are thrown in different parts of the streaming flow.

Update instrumentation for new corner cases identified in error handling.

Codecov Report
Attention: Patch coverage is 83.33333% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 81.89%. Comparing base (5382905) to head (c267668).
Report is 1 commits behind head on develop-ai-limited-preview-3.

Files
Patch %
Lines

newrelic/hooks/external_botocore.py
83.33%
3 Missing and 1 partial :warning:

Additional details and impacted files
@@                       Coverage Diff                        @@
##           develop-ai-limited-preview-3    #1091      +/-   ##
================================================================
+ Coverage                         81.85%   81.89%   +0.04%
================================================================
  Files                               192      192
  Lines                             21253    21268      +15
  Branches                           3711     3711
================================================================
+ Hits                              17396    17418      +22
+ Misses                             2785     2776       -9
- Partials                           1072     1074       +2

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


Update package.json

Fixes https://github.com/standard/standard/issues/1078

We cannot downgrade to eslint 3.*! The aim of<EMAIL_ADDRESS>was to upgrade eslint to 4! We have to find another solution. Could you provide a repo to reproduce your issue?

See https://github.com/standard/standard/issues/1078#issuecomment-369092782


Add cli flag to change the backup basedir

Add command line flag to change the backup basedir.
This provide a potential workaround if the disk of the application machine is full, or the default backup directory is not writable.
fixes: #49

Looks good, pending functional tests. Have you also tested this yourself on a deployment of the three db charms? :)

Wait for func test


 I want to use the dial to control a slide that I had built in a webapp by python on my Mac, what should I do? Do I need to change something in the code? Or if I want to use python to read the value of the rotation of the dial, how should I do it? I had never used swift before, so I am a little bit confused. Thank you

Hi and thanks for the interest in this project. Closing this issue as it's not really a work item for this repository.
To give you some hint on how to achieve your goal: I would probably see if I could use hidapi (the library this app uses to communicate with the dial) directly from python or find some other library for python that can read Bluetooth HID). Good luck!


Ember 1.13

sortByColumn was not being bubbled from header-cell to be used with ember-table and was instead throwing an error when you clicked on a header. This fixes those 2 things

Thank you, @ajgordo!
Would you mind to recreate pull request to artych/ember-1.13 branch instead of master, so it would automatically appear in ember-table upstream repo.
So I'll close this one.


Colab Notebook

Hello,
I set up a colab notebook, so you can train your agents online on flappy envs ;) : https://colab.research.google.com/drive/13mJ1bU2tKVurG9chNhM0U7ivgVKlzPu7
Also, I have some questions about the training:

How many timesteps did you use for the hover and maneuver envs?
What was the final performance?

It seems, that your maneuver does not follow gym interface, the reward must be a float, but is currently a numpy array (I had to use a reward wrapper to catch up the error).
I would also normalize the reward using the opposite of the cost instead of the inverse (otherwise the reward magnitude is really huge), and maybe add a "life bonus" (+1 for each timesteps) for the hover env, see here for an example ;)

Hi,
Thank you for your interest and sorry about the delayed reply. The notebook is a great idea! You can make a pull request and add that in the markdown or however you see fit.
The hovering control of the flapping wing robot is still an open problem, so I just have a feedback controller for the demo, which is already not easy to achieve. The system is extremely unstable so it is very difficult to control.
The maneuvering is trained for 5 million steps, using default hyper parameters with reward scaling of 0.05. Yes the inverse creates a huge reward at the target position and pose which helps attract the robot to converge better.
I'll fix the reward to be an array.
I'll post the training performance and some demo clips in the next update.

@araffin Hi, thanks for setting the colab notebook. As I explain in #2, pydart2 is deprecated for the latest dartsim version v6.9. To run successfully one needs to install dartsim<=6.8.2 from source. This is indicated in my last comment in #2 . Could it be possible that you update the notebook to reflect this change and be able to run it successfully? Thank you.

Could it be possible that you update the notebook to reflect this change and be able to run it successfully?

Well, you can copy and update the notebook yourself (and post the link here afterward ;) ). I don't have the time to do that now.

it seems that the error of the reward type still exist now, the type is np.ndarray most of the time. BTW, the maneuver env seems to train the model to fix the out of ARC controller. I'm wondering that if there is a successful example of training without a feedback  controller, or it's just too difficult to do such a control?


Overlay to show discarded fragments

Description
The ability to see how many fragments were discarded per pixel in a draw or pass can be useful to debug the execution of shaders containing discard statements (or in the case of HLSL, calls to clip). For example, it can be used to ensure that stochastic alpha masked/cutout geometry is being rendered correctly. It can also help debug fullscreen passes that are intended to execute only for certain pixels on the screen (e.g., the shading pass in a deferred renderer, a screen-space reflections shader, or a subsurface scattering shader). This could also be used to debug instances where nothing is rendering because too many fragments are being discarded.
In my specific case, this feature would help debug a renderer which rasterizes proxy geometry (as a sort of acceleration structure), then traces a ray per pixel inside the volume, starting at the volume's surface. The rays discard in the event that they hit no geometry inside the volume.
As far as I can tell, none of the current overlays are affected by discarding, so they don't help with the aforementioned situations. I also could not find any
Without this feature, it is still possible, but rather cumbersome to debug discarded fragments by replacing them with a bright color. However, this fails for debugging cases with overlapping geometry.
The overlay would create a heatmap of discarded fragments (each discarded fragment adds to the heat at that pixel), much in the style of the quad overdraw overlay. There could be an option to view the heatmap for just the draw or the entire pass, as the user desires.
Environment

RenderDoc version: 1.22
Operating System: Windows 10
Graphics API: OpenGL

I imagine the main difficulty in implementing this (compared to the other overlays) is that it would require somehow patching the shader to insert an extra buffer/image write just before each discard statement.

This should be implementable without any shader patching on any API. The draw can be run to an off-screen target to generate a pass/fail stencil mask (unconditional stencil pass means passing fragments would write and any discarded fragments wouldn't) which can be tested against to render the overlay.
I would not implement it as a heatmap, it would function the same as all the other 'test' overlays showing a pass or a fail - the overlays are intended for quick debugging & sanity checking, not detailed introspection.

Yeah, the heatmap is not strictly necessary for my request. It would just be a consequence of how I thought it would be implemented. Your idea sounds good ❤

While looking for something complete unrelated I did stumble upon this obscure website, describing GL_INTEL_performance_queries which has counters for a metric like Jaker is asking for, or at least sounds very similar.
http://zaynar.co.uk/docs/gl-intel-performance-queries.html Not sure if its of any help or worth to be implemented to enable that kind of thing at least on intel gpus.


Community page sort order not as expected

When viewing the community page on CIViC it looks like the sort order is random even though by default the tab is set to "last seen".
You have to de-select and re-select "last seen" to get the proper sort order for that field.

Ah, I see this is already known as issue #278, closing


Fixed: Performance degraded after upgrade to 3.4.1

Fixes #613

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

Comparison is base (d85ff46) 98.78% compared to head (de7286c) 98.80%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #615      +/-   ##
==========================================
+ Coverage   98.78%   98.80%   +0.01%
==========================================
  Files          12       12
  Lines         246      250       +4
==========================================
+ Hits          243      247       +4
  Misses          3        3

Files
Coverage Δ

hijack/views.py
98.90% <100.00%> (+0.05%)
:arrow_up:

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

I didn't forget this, I just didn't fine the time yet. I'll try next weekend. Sorry, for the delay.

Hi @codingjoe
Thanks for your review. I have submitted the requested changes. Please review.
Thanks
Vinod

@vinodpandey thanks again for the quick adjustments. Can you confirm that they resolved your performance issues? Thereafter, I will release the changes.

Yes, the performance issues are resolved for me after these changes. Thanks @Mogost and @codingjoe for your valuable inputs.


Is it possible to do append blob restore using multiple threads?

Which version of the SDK was used?
v0.11.0
Which platform are you using? (ex: Windows, Linux, Debian)
Windows
What problem was encountered?
[Approach]

Acquire lease before goroutine started
Calling AppendBlock(ctx, bytes.NewReader(rangeData), azblob.AppendBlobAccessConditions{}, nil) concurrently inside go routine.
We are using "azblob.AppendPositionAccessConditions{IfAppendPositionEqual: subRangeSize}}" in AppendBlock call.

It is working well without threads but fails when using goroutine
===== RESPONSE ERROR (ServiceCode=AppendPositionConditionNotMet) =====
Description=The append position condition specified was not met.
Have you found a mitigation/solution?
No

Hi! Unfortunately, this won't work concurrently because AppendBlock is appending data to a position that does not exist yet which unsatisfied the append position condition. Here's the link to the API documentation: https://docs.microsoft.com/en-us/rest/api/storageservices/append-block which states:

x-ms-blob-condition-appendpos | Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 – Precondition Failed).


add emoji picker to chat composer

Closes https://github.com/bluesky-social/social-app/issues/5059
How it looks:

How it works:
https://github.com/user-attachments/assets/63a2e4de-f19b-4653-ab36-5a2499ad26bf
I'm not sure about the design, though—particularly the button style and position.

Thank you!


[ENH] add caching acion for elephant-data

coverage: 87.935% (-0.3%) from 88.264%
when pulling 9fa145c98967b94fe71c50b969692fd56dc71461 on INM-6:enh/add_caching_action
into a4e601e1b70d8b7eef5dd555da4af20acc20ec01 on NeuralEnsemble:master.


Update And Rebase outdated Reorg tests

Given the pass of time and the divergence of dev branch, the test PRs need to be rebased and updated to adopt to the new structures and APIs to be merged

https://github.com/zingolabs/zingolib/pull/710
https://github.com/zingolabs/zingolib/pull/712
https://github.com/zingolabs/zingolib/pull/713
https://github.com/zingolabs/zingolib/pull/715
https://github.com/zingolabs/zingolib/pull/716


Overwriting mode

Hello,
Would it be possible to introduce an overwriting mode where if the consumer gets too far behind it'll simply lose those unhandled values?
Thanks in advance

Hello,
Sorry for such a late answer.
I've already considered the possibility of overwriting mode (see https://github.com/agerasev/ringbuf/issues/5#issuecomment-631969268), but I believe it will require a significant complication of the implementation.
Imagine that consumer begins to read an element and at this time the producer pushes a new element at the place of element being read. To avoid this situation we may:

Make the ring buffer blocking, but in this case this crate will lose one of its main feature. And this could be easily implemented from the outside of the crate by sharing consumer using mutex.
Allow the producer's push to be failed when element is being read by consumer at the same time. But in this case the producer still have to wait for arbitrary time to push the element. Is this behavior suitable for your needs?

Anyway, thank your for your feature request!


Feature Request: parse .gitignore

HI,
I'm loving the livesync, it works wonderfully.
I'm lookinging at combining my personal code repos and my obsidian vault in order to align my workflows. But I don't want to sync files that are ignored by my .gitignore files.
I can see that currently there is a global regex based ignore setting but it would be really useful if Livesync could also parse .gitignore files the same way git does (hierarchially from current folder to vauklt root).
I'm a software developer, but this is a little out of my wheelhouse. I'd be happy to test it though.

Thank you for your great idea!
I think that this might be an awesome resolution to fix the current complicated configuration method.
However, some trivial but not ignorable troubles would be foreseen.

If the changes which contain .gitignore has been transferred at once, possibly be inconsistent to apply. (Now, only the .gitignore on the storage is used and it is applied while applying the things in the batched transfer almost in order) .
It will never be synchronised again if the .gitignore contains .gitignore itself. Manually treatment is required. (However, it is the same as the behaviour of git).
.gitignore is not synchronised in default. However, it should be applied also to the normal folders to, make the behaviour aligned.
Might be a bit heavy.

for now, for the sake of simplicity, this plug-in is parsing only the local .gitignore which actually exists. In usual cases, the file probably would be handled in order to it has been changed.
I have used this for a day, and looks fine.
Still in beta but could you please try v0.19.16?

@vrtmrz thanks for such a quick response. I've done some initial testing, it's looking good, but there is an issue. Specifically, exclusions aren't working if they're specified within .gitignores within a child directory.
For example, with the following firecotry structure:

foo

.gitignore
bar

.gitignore
baz

some_file.md

If the gitgnore in foo contains bar/* and the gitgnore in bar contains !baz/*, some_file.md should be synced. Instead the whole bar folder is ignored.
If instead the gitgnore in foo contains another line !bar/baz/* it works as expected.
I know this is a bit of an edge case, but git correctly understands this pattern.
I'll do some more testing with real repositories with more complete .gitignore files and let you know how I go. Excellent work so far though. :)

I am very grateful for your test!
As you mentioned, nested and inverted items had not handled correctly.
(And in some cases, hidden files also could not be handled correctly).
It has been fixed at v0.19.17. Could you please try this again?
(However, perhaps strength and depth should be handled more explicitly, If you have some test sets, I am very happy to know that).


Document String's humanize_size static method

As it says on the tin.
Considering opening an issue about the name though - I wasn't sure what kind of size it actually represented, and I feel like a name like "humanize_bytes" or "humanize_byte_size" could be better.

I think renaming to humanize_byte_size would make sense. "humanize" is still a bit awkward though, I wonder if there's a better term.

Thanks!

I think renaming to humanize_byte_size would make sense. "humanize" is still a bit awkward though, I wonder if there's a better term.

Yes, I think I will open an issue about it. I had no idea what it did from the name until I looked into the C++ source for it. The description helps of course but having a nice, clear name is never a bad idea.
I am unsure whether to put the issue in the main godot repo issues or in the proposals repo. Suggestion?

I think you can go directly with a PR for this one, it should be fairly consensual.

For the record, it seems this was already documented in 3.x but the binding (and thus the documentation) had been temporarily disabled in core refactoring: 424cd00f8b14aa51aad82c52996740d7648ae691
https://github.com/godotengine/godot/blob/ae9fa9009137530214d34c2031155946ff1bb6e1/doc/classes/String.xml#L385-L396
So this doesn't need to be cherry-picked.


Add test

Coverage increased (+1.6%) to 74.955% when pulling f063f29f4d62b906faf7f505972d97f7d3945eeb on add-test into ae818f42124d208048bca217d78b4f142d088d41 on master.

Codecov Report

Merging #48 into master will increase coverage by 1.86%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master      #48      +/-   ##
============================================
+ Coverage     73.04%   74.91%   +1.86%
+ Complexity     5722     5714       -8
============================================
  Files           331      331
  Lines         11903    11903
============================================
+ Hits           8695     8917     +222
+ Misses         3208     2986     -222

Impacted Files
Coverage Δ
Complexity Δ

src/Factory/Device/Mobile/PipoFactory.php
100% <ø> (ø)
9 <0> (-1)
:arrow_down:

src/Factory/BrowserFactory.php
43.31% <ø> (-2.05%)
1122 <0> (-10)

src/Factory/Device/MobileFactory.php
82.36% <100%> (+3.06%)
530 <0> (+2)
:arrow_up:

src/Helper/MobileDevice.php
89.13% <100%> (+0.49%)
23 <0> (+1)
:arrow_up:

src/Factory/Device/Mobile/FlytouchFactory.php
100% <100%> (+100%)
3 <0> (ø)
:arrow_down:

src/Factory/Device/Mobile/SamsungFactory.php
96.17% <100%> (ø)
732 <0> (ø)
:arrow_down:

src/Factory/Device/Mobile/MicrosoftFactory.php
100% <100%> (+100%)
3 <0> (ø)
:arrow_down:

src/Factory/PlatformFactory.php
82.23% <100%> (ø)
81 <0> (ø)
:arrow_down:

... and 33 more

Continue to review full report at Codecov.

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


[FS-1041] Add IReadOnlyCollection/List/Dictionary implementations to FSharp.Core collections

Implements RFC https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1041-ireadonly.md along with https://github.com/Microsoft/visualfsharp/pull/3988

https://github.com/fsharp/fslang-design/pull/234

Great addition!

Is this waiting for something from me before it can be merged?

@saul I could tell you what it's waiting for, but it'd not polite enough :)

@saul  this is a candidate for F# 4.2.  So it is waiting ... for me to rev the version of FSharp.Core in the build.  Actually the version is going to be 4.3 to align with the nugget package but that is neither here nor there.
The wait is because I have not yet revved FSharp.Core's version number.  That is happening in the dev15.6 branch, and so these 4.2 PR's will be retargeted to dev15.6.
And what was in Vasily's mind is pretty accurate ... I have been putting off doing that work for about a week or so right now.
Kevin

Changing target to dev15.6


Migration from cloud to OSS successfully completes but does nothing

I've followed the instructions to migrate data from cloud to OSS. There is no error, but no data migrated either.
I am running:

in the EU region for cloud (pay by usage plan)
2.7.5 locally (docker-compose deployment)

Any hints as to where else I could look? Thank you.

@madchap Can you provide your full migration task?

Hi @sanderson
The only thing modified was the migrationpiece:
migration = {
    start: 2022-01-01T00:00:00Z,
    stop: 2024-03-23T00:00:00Z,
    batchInterval: 30d,
    batchBucket: "migration",
    sourceHost: "https://eu-central-1-1.aws.cloud2.influxdata.com",
    sourceOrg: "5147xxxxxxxxxxxx",
    sourceToken: secrets.get(key: "INFLUXDB_CLOUD_TOKEN"),
    sourceBucket: "home_assistant",
    destinationBucket: "home_assistant_from_cloud",
}

From your screenshot, the migration is running, but the batches are all empty. Have you checked your task run logs to see if there might be any clues there?

Yea, nothing it seems. It starts the task (and seems to dump the whole script in the log) and ends within 1 second of starting with a "completed(success)" status and 0 row processed. I could see nothing in the container's log either.

Can you try just copying the task code into the Data Explorer and try running it there. I wonder if an error is getting suppressed.

Thanks @sanderson for your time helping me out here.
Assuming I did things correctly, the following query when launched from my OSS instance:
(from(bucket: "migration")
    |> range(start: 2022-01-01T00:00:00Z)
    |> filter(fn: (r) => r._field == "batch_stop")
    |> filter(fn: (r) => r.srcOrg == "51478xxxxxxxx")
    |> filter(fn: (r) => r.srcBucket == "home_assistant")
    |> last()
    |> findRecord(fn: (key) => true, idx: 0))._value

returns the following error:  error in query specification while starting program: this Flux script returns no streaming data. Consider adding a "yield" or invoking streaming functions directly, without performing an assignment.
I am sorry, I am a bit hopeless with flux at this time.

That won't return anything. Copy the entire task script and run it. It will act the same way as a single task execution.
import "array"
import "experimental"
import "influxdata/influxdb/secrets"

// Configure the task
option task = {every: 5m, name: "Migrate data from InfluxDB Cloud"}

// Configure the migration
migration = {
    start: 2022-01-01T00:00:00Z,
    stop: 2024-03-23T00:00:00Z,
    batchInterval: 30d,
    batchBucket: "migration",
    sourceHost: "https://eu-central-1-1.aws.cloud2.influxdata.com",
    sourceOrg: "5147xxxxxxxxxxxx",
    sourceToken: secrets.get(key: "INFLUXDB_CLOUD_TOKEN"),
    sourceBucket: "home_assistant",
    destinationBucket: "home_assistant_from_cloud",
}

// batchRange dynamically returns a record with start and stop properties for
// the current batch. It queries migration metadata stored in the
// `migration.batchBucket` to determine the stop time of the previous batch.
// It uses the previous stop time as the new start time for the current batch
// and adds the `migration.batchInterval` to determine the current batch stop time.
batchRange = () => {
    _lastBatchStop =
        (from(bucket: migration.batchBucket)
            |> range(start: migration.start)
            |> filter(fn: (r) => r._field == "batch_stop")
            |> filter(fn: (r) => r.srcOrg == migration.sourceOrg)
            |> filter(fn: (r) => r.srcBucket == migration.sourceBucket)
            |> last()
            |> findRecord(fn: (key) => true, idx: 0))._value
    _batchStart =
        if exists _lastBatchStop then
            time(v: _lastBatchStop)
        else
            migration.start

    return {start: _batchStart, stop: experimental.addDuration(d: migration.batchInterval, to: _batchStart)}
}

// Define a static record with batch start and stop time properties
batch = {start: batchRange().start, stop: batchRange().stop}

// Check to see if the current batch start time is beyond the migration.stop
// time and exit with an error if it is.
finished =
    if batch.start >= migration.stop then
        die(msg: "Batch range is beyond the migration range. Migration is complete.")
    else
        "Migration in progress"

// Query all data from the specified source bucket within the batch-defined time
// range. To limit migrated data by measurement, tag, or field, add a `filter()`
// function after `range()` with the appropriate predicate fn.
data = () =>
    from(host: migration.sourceHost, org: migration.sourceOrg, token: migration.sourceToken, bucket: migration.sourceBucket)
        |> range(start: batch.start, stop: batch.stop)

// rowCount is a stream of tables that contains the number of rows returned in
// the batch and is used to generate batch metadata.
rowCount =
    data()
        |> count()
        |> group(columns: ["_start", "_stop"])
        |> sum()

// emptyRange is a stream of tables that acts as filler data if the batch is
// empty. This is used to generate batch metadata for empty batches and is
// necessary to correctly increment the time range for the next batch.
emptyRange = array.from(rows: [{_start: batch.start, _stop: batch.stop, _value: 0}])

// metadata returns a stream of tables representing batch metadata.
metadata = () => {
    _input =
        if exists (rowCount |> findRecord(fn: (key) => true, idx: 0))._value then
            rowCount
        else
            emptyRange

    return
        _input
            |> map(
                fn: (r) =>
                    ({
                        _time: now(),
                        _measurement: "batches",
                        srcOrg: migration.sourceOrg,
                        srcBucket: migration.sourceBucket,
                        dstBucket: migration.destinationBucket,
                        batch_start: string(v: batch.start),
                        batch_stop: string(v: batch.stop),
                        rows: r._value,
                        percent_complete:
                            float(v: int(v: r._stop) - int(v: migration.start)) / float(
                                    v: int(v: migration.stop) - int(v: migration.start),
                                ) * 100.0,
                    }),
            )
            |> group(columns: ["_measurement", "srcOrg", "srcBucket", "dstBucket"])
}

// Write the queried data to the specified InfluxDB OSS bucket.
data()
    |> to(bucket: migration.destinationBucket)

// Generate and store batch metadata in the migration.batchBucket.
metadata()
    |> experimental.to(bucket: migration.batchBucket)

Got it.
 error calling function "die" @51:9-51:86: Batch range is beyond the migration range. Migration is complete.
I subsequently tried with parameters such as only 2024 range, down to a 1d range and various things in between, but the same result is returned.
So I thought of deleting the migration bucket, with all these failed attempts and it seems this is now passing that bar above.
After a few runs, it looks that at first glance, I've got all my data transfered!
Sorry for the noise and thanks so much for this task!

No worries. I should probably add to notes to the instructions that if you need to reset the migration and rerun it, you need to delete the migration bucket and recreate it. The task reads batch data from the migration bucket to determine the status of the migration. If the migration has already run completely, each subsequent attempt will read the stored metadata and assume the migration is already done.


Introduce a BoundedTrie metric which is used to efficiently store and…

… aggregate a collection of string sequences (FQNs) with a limited size.
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @robertwb

@robertwb : Please have another look. Thank you very much.

The  2 failing checks
:runners:google-cloud-dataflow-java:worker:test and :sdks:java:io:mqtt:test both passed locally so they seem to be transient failure in the workflow.


Add an ownership plugin to enable users to track their own guardians

This plugin keeps track of portals that are currently owned by the user, to allow a user to track their guardians, persisted via sync.

Attempts to automatically identify owned/neutralised portals based on COMM
Allows for manual identification of owned portals
Injects ownership information into the portals list plugin

Uniques plugin modified as a result, in order to keep the ownership & unique information together

Also creates a dialog like portals-list which shows all currently known portals owned by the user

This is based on the previously known information, which can be updated by viewing each of the owned portals again.
Dialog shows portals both inside and outside of the bounds of the screen, with smart link generation.

If the user selects a portal within the bounds of the screen, its details are shown and ownership information updated.
If the user selects a portal outside the bounds of the screen, the screen is repositioned to the portals co-ordinates and its details are shown and ownership information updated.

The portal information for every portal can be updated automatically by clicking 'Refresh All'.

This required a modification to dialogs to allow for user defined buttons, and a resulting css change.
This attempts to be smart in loading to limit requests to NIA:

If the portal is within the bounds of the map it simply renders its update, removing a map-request.
If the portal is outside the bounds of the map it zooms to the portal and renders.

As NIA don't provide information on capture dates for portals, the capture date is initially set to be when the capture is recorded by the plugin (i.e. now), however the dialog of owned portals allows for this to be manually updated if the user double clicks on the number of days the portal is owned.

Screenshot attached, portal names modified, obviously.

Any word on this? A few friends are using it currently and find it quite useful.

I like this :)

Very useful plugin!

@belko-letyago thanks. It would be nice to see it pulled in!

@jonatkins Any chance of getting this pulled, quite a few people are finding it useful now.

how to use this plugin..??

@michaeldever Since this hasn't been merged in yet can you provide some tips on how to add this to my existing IITC install using Tampermonkey/Chrome?
Thanks!

@michaeldever Add me to the list of those interested in getting this installed. Sounds like a great plugin.

how to build - the dirty way:
-> install phyton
-> download & extract michaeldever source -> https://github.com/michaeldever/ingress-intel-total-conversion
-> run build-script -> "./build.py local"
stuff will be at "./build/local/plugins/portal-ownership.user.js"
Notes:

AFAIK chrome will block direct script installs: create a new TM script and copy&paste the content from the plugin script file
don't use the other generated script files 'cause they are out-of-date (that why I call it dirty)
you'll miss the "refresh all" button 'cause it requires the iitc (main) update
the 'uniques' plugin was modified too..not sure if it's required

I have been using this plug-in for a week or so.  I have it installed on my laptop and mobile.  It has synced well and it pretty useful.  I think it would be a great addition to the plug-ins offered by IITC.
Thanks to @michaeldever for the hard work.

very nice idea, was looking for something like this.
@michaeldever  would it be possible to add an expert setting to optionally slowly poll older chathistory to find the capture date? I don't remember all of my portal trips and it would be good to have the dates before the counter for the guardian medal increases again (which is inaccurate in itself as well).

Ok, so this has gone from in essence a glorified version of the Uniques plugin, to what is currently already automating data collection, and now being proposed as a full on comm scraper.
While the suggestion of inclusion a year ago might possibly have been one which could have been debated with a few tweaks, I think you're now well beyond the grey area in which IITC operates and in completely in the wrong place for this plugin.

@yoshimo no, there isn't a way that would be done. That would very much breach T&C, as well as not being the purpose of this plugin. @PrinterElf that was not my proposal, and tbh, this only allows you to keep track of your own data. It can't be used for tracking other peoples guardians etc.
TBH, I'd forgotten about this after sitting here for a year and a half in limbo.

I like

How do i use this? I downloaded python and i dont know the next step to do @McBen Thanks

@ranescarter hi can you teach me how to use this?

@michaeldever hi how do I use this?

Sir,im newbie here. how to install that plugin to my iitc?
Thanks

@AngelDesire clone this repo to your pc, apply this patch, run ./build.py local and install script from build directory.

I really not understand about build.py local.
how to clone and apply to my iitc.
i really like to learn something new like this.
Can someone teach me?

good work! thx.

I am really sorry, but I read post with installation instructions from  11 Jan 2016 and I could not run it. Looks like I missed something.
Could anyone write instructions step by step please?

nothing changed.  make sure you run "build.py local"
http://superuser.com/questions/747684/how-can-i-run-an-application-with-arguments-from-windows-explorer

does this still work?

@Teamtyler2 ~ I still use the Ownership plugin.  I moved "Health" and "Days Owned" to be right after "Portal Name" to make it easier on my mobile.

@ranescarter How did u get it to run on your phone?

I emailed the portal-ownership.user.js to myself.  Opening the file on my mobile initiated the app and self installed.

@ranescarter can u explain how i can get the portal-ownership.user.js script i want to get it on my phone and my pc but idk how to get the portal-ownership.user.js

It was a learning process for me.  Trial and error.
Using the link provided by McBen about this time last year (Thanks McBen):
https://github.com/michaeldever/ingress-intel-total-conversion/archive/master.zip
I downloaded that zip file and copied the .js file to my PC
ingress-intel-total-conversion-master > plugins > portal-ownership.user.js
On my PC, I opened Tampermonkey, opened the Utilities tab, and pasted the URL of the file location on my PC.  (C:....\desktop in my case).   Another option, if you know how, is to copy the code from the .js file and use the  option in Tampermonkey.  I didn't realize that the first few times I attempted to install.
With the help of someone who knows a lot more about coding than I do, I updated the file in Tampermonkey and exported that file.  I emailed that file to myself so I can install it on my mobile, home PC, etc.
Sure hope that helps.  Is about all I can remember.

@ranescarter do i need to disable the rest of my plugins?

I didn't have to.  I have about 25 plugins installed.  Most are enabled.

@ranescarter Trying Right Now

@ranescarter Im getting cant run script from url when i use the url

@ranescarter could u email me the script

Sorry Tyler.  That is the process that worked for me.  I am certain there are other methods... probably even better methods, but that is what worked for me.
The file is in the zip file.
https://github.com/michaeldever/ingress-intel-total-conversion/archive/master.zip
ingress-intel-total-conversion-master > plugins > portal-ownership.user.js

@ranescarter i did what u said to do in your last message idk what i did wrong hm

Ok, have the script installed, where is the ownership info displayed?

I installed successfully via Tampermonkey by copying the script, and it shows to be installed and running. The owned portals now show up in red, but I can't find where to pull up the dialog of portals owned (like the one on your screenshot above). How do you get to the dialog screen or the list of portals owned screen?

Very good work. I´m using it and is very practical...

TexasResistance, you need to compile the code, like McBen explained...

this still work? i cant instal it anyaway, getting error all the time :(


Raspi-Cam on Waffle-Pi Cannot Be Enabled

ISSUE TEMPLATE ver. 0.4.0

Which TurtleBot3 platform do you use?

[ ] Burger
[ ] Waffle
[ x] Waffle Pi

Which ROS is working with TurtleBot3?

[ ] ROS 1 Kinetic Kame
[ ] ROS 1 Melodic Morenia
[ ] ROS 1 Noetic Ninjemys
[ ] ROS 2 Dashing Diademata
[ ] ROS 2 Eloquent Elusor
[x ] ROS 2 Foxy Fitzroy
[ ] etc (Please specify your ROS Version here)

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] Intel Joule 570x
[ ] Raspberry Pi 3B+
[x ] Raspberry Pi 4
[ ] etc (Please specify your SBC here)

Which OS you installed on SBC?

[ ] Raspbian distributed by ROBOTIS
[ ] Ubuntu MATE (16.04/18.04/20.04)
[ ] Ubuntu preinstalled server (18.04/20.04)
[x ] etc (Please specify your OS here)
tb3_rpi4_foxy_202110825 distributed by ROBOTIS

Which OS you installed on Remote PC?

[ ] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ x] Ubuntu 20.04 LTS (Focal Fossa)
[ ] Windows 10
[ ] MAC OS X (Specify version)
[ ] etc (Please specify your OS here)

Specify the software and firmware version(Can be found from Bringup messages)

Software version: [x.x.x]
Firmware version: [x.x.x]

Specify the commands or instructions to reproduce the issue.

raspistill -o test.jpg

Copy and Paste the error messages on terminal.

mmal: Cannot read camera info, keeping the defaults for OV5647
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not enabled in this build. Try running "sudo raspi-config" and ensure that "camera" has been enabled

Please describe the issue in detail.

After going through the ROBOTIS setup tutorial, I found out my raspicam camera is not enabled.

This causes an error when launching the default bringup "Error:   Could not parse inertial element for Link [image]". This means there in no image topic available.

I followed the instructions on "https://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_raspi_cam/" to enable the camera however my raspi-config is not the same as in the instructions. I updated the tool but it says it is the latest version

I then looked into changing the /boot/config.txt file as I have seen online, and that also has not worked.

Is there another way to enable to the camera or is there a problem with the version of defualt ROBOTIS software I am using? Thank you for your assistance.

Hi @HadrienRoy
Unfortunately, the Raspicam package does not support Raspberry Pi with 64bit Ubuntu.
You may need to use OpenCV in order to access the camera.
The installation / build process looks like below.
Building the OpenCV may take more than an hour, so please be prepared for that.
$ sudo free -h
$ sudo apt-get install build-essential cmake gcc g++ git unzip pkg-config
$ sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libcanberra-gtk* libxvidcore-dev libx264-dev python3-dev python3-numpy python3-pip libtbb2 libtbb-dev libdc1394-22-dev libv4l-dev v4l-utils libopenblas-dev libatlas-base-dev libblas-dev liblapack-dev gfortran libhdf5-dev libprotobuf-dev libgoogle-glog-dev libgflags-dev protobuf-compiler
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
$ unzip opencv.zip
$ unzip opencv_contrib.zip
$ mv opencv-4.5.0 opencv
$ mv opencv_contrib-4.5.0 opencv_contrib
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE         -D CMAKE_INSTALL_PREFIX=/usr/local         -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules         -D ENABLE_NEON=ON         -D BUILD_TIFF=ON         -D WITH_FFMPEG=ON         -D WITH_GSTREAMER=ON         -D WITH_TBB=ON         -D BUILD_TBB=ON         -D BUILD_TESTS=OFF         -D WITH_EIGEN=OFF         -D WITH_V4L=ON         -D WITH_LIBV4L=ON         -D WITH_VTK=OFF         -D OPENCV_ENABLE_NONFREE=ON         -D INSTALL_C_EXAMPLES=OFF         -D INSTALL_PYTHON_EXAMPLES=OFF         -D BUILD_NEW_PYTHON_SUPPORT=ON         -D BUILD_opencv_python3=TRUE         -D OPENCV_GENERATE_PKGCONFIG=ON         -D BUILD_EXAMPLES=OFF ..
$ cd ~/opencv/build
$ make -j4
$ sudo make install
$ sudo ldconfig
$ make clean
$ sudo apt-get update

Turn off Raspberry Pi, take out the microSD card and edit the config.txt in system-boot section.
add start_x=1 before the enable_uart=1 line.
To test the camera, you can take a picture using ffmpeg.
$ sudo apt install ffmpeg
$ ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 capture_test.jpg

Thank you very much for your reply. I proceeded and followed your steps and I got the camera test to work however my make compilation failed at 100% a few times. I also looked at issue #863 and it also was very helpful.

@HadrienRoy Apologies for the delayed response. We have assembled a TF team to address TurtleBot3 issues and are actively working on resolutions. Please note that we do not support EOL (End-of-Life) ROS versions; our support currently extends to Noetic and Humble versions. We kindly ask that you try again with the latest version. If the same issue arises, please feel free to resubmit it, and we will address it promptly.


compile error in ubuntu23.04

/home/yun/Documents/cpp_img_demos/implot_demos/common/App.cpp: In constructor ‘App::App(std::string, int, int, int, const char**)’:
/home/yun/Documents/cpp_img_demos/implot_demos/common/App.cpp:152:5: error: ‘NvOptimusEnablement’ was not declared in this scope
  152 |     NvOptimusEnablement = AmdPowerXpressRequestHighPerformance = result["gpu"].as<bool>();
      |     ^~~~~~~~~~~~~~~~~~~
/home/yun/Documents/cpp_img_demos/implot_demos/common/App.cpp:152:27: error: ‘AmdPowerXpressRequestHighPerformance’ was not declared in this scope
  152 |     NvOptimusEnablement = AmdPowerXpressRequestHighPerformance = result["gpu"].as<bool>();
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/app.dir/build.make:76：CMakeFiles/app.dir/common/App.cpp.o] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:690：CMakeFiles/app.dir/all] 错误 2
gmake: *** [Makefile:136：all] 错误 2

Hi cloudQunat,
I actually have the same issue as you. It looks like you are using linux as I do.
And I check other posts. It looks like this issue is similar to one discussed in another GitHub issue. You might find a solution or workaround there. Check out the the issue#5 for more details:
I hope this helps!

This error has been fixed by pr #11 but it seems the project maintainers have been inactive for a while so we are still waiting for merge.


NPM not autorenewing certs

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
Auto renew is failing and not running
Nginx Proxy Manager Version
2.9.15
To Reproduce
Steps to reproduce the behavior:
Certs do not auto renew once they get close to expiry
Expected behavior
Certs renew automatically
Screenshots

Operating System
Docker Swarm
Additional context
    Renewing SSL certs close to expiry... nginxproxy_app.1.mgfk9romsudb@Ramiel    | [2/15/2022] [4:54:15 AM] [SSL      ] › ✖  error     Error: Command failed: certbot renew --non-interactive --quiet --config "/etc/letsencrypt.ini" --preferred-challenges "dns,http" --disable-hook-validation   nginxproxy_app.1.mgfk9romsudb@Ramiel    | Renewal configuration file /etc/letsencrypt/renewal/npm-1.conf is broken. nginxproxy_app.1.mgfk9romsudb@Ramiel    | The error was: expected /etc/letsencrypt/live/npm-1/cert.pem to be a symlink nginxproxy_app.1.mgfk9romsudb@Ramiel    | Skipping. nginxproxy_app.1.mgfk9romsudb@Ramiel    | Renewal configuration file /etc/letsencrypt/renewal/npm-3.conf is broken. nginxproxy_app.1.mgfk9romsudb@Ramiel    | The error was: expected /etc/letsencrypt/live/npm-3/cert.pem to be a symlink nginxproxy_app.1.mgfk9romsudb@Ramiel    | Skipping. nginxproxy_app.1.mgfk9romsudb@Ramiel    | Renewal configuration file /etc/letsencrypt/renewal/npm-4.conf is broken.
Errors above

I can confirm problems on my side with auto-renewal..
Also a completely new request (without dns-challenge) fails, too.
The log instead lists "dns" under --preferred-challenges "dns,http" - is this correct?
Getting the following error when trying to renew my certs manually:
[3/20/2022] [1:03:11 AM] [Express  ] › ⚠  warning   Command failed: certbot renew --force-renewal --config "/etc/letsencrypt.ini" --cert-name "npm-11" --preferred-challenges "dns,http" --no-random-sleep-on-renew --disable-hook-validation

Another instance of Certbot is already running.

I was having this issue and tried the temp work around from #2881 but it was not working for me (trying to renew via Gandi's Live DNS). I got it to work by following the temp fix in this issue relating to a missing library for gandi liveDNS renewals #4097 .
With the six python package installed into the container I was able to use the 'renew now' option against one of my expired domains.


Global/Default/ list located in OS specific data directories

Issue #72

These changes reply on a library I just wrote at lmcmenemie/stddirs. If you'd prefer copy across this file instead of adding it as a dependency then that's fine. ^^


Server-side development of 'calendar' app

This PR adds part of the content for the server-side development of the 'calendar' app, including:

models
migrations (inc. data migrations)
admin
forms

Subsequent PRs will add remaining parts of this app, including:

urls
views
templates
tests

All looks good. The only thing I questioned was if the secret keys for RECAPTCHA should be set?

Thanks for reviewing so quickly. The keys are set in the local_settings.py file (which is ignored from Git for security reasons), so it's ok that they're blank here.