TypeScript updates

I've found that trying to get solid TypeScript typings for this library
are a bit of a challenge.  The composable nature of the library means
that the types for the builtin functions are by their nature somewhat
minimal, and that the user needs to be able to extend those interfaces
to reflect the specific plugins that are in use.
With that in mind I propose something like this.
To get the best out of them, you then need to extend those interfaces
using declaration merging, see
https://www.typescriptlang.org/docs/handbook/declaration-merging.html
e.g.
declare module 'react-table' {
  export interface TableInstance<D = any>
    extends UseFiltersValues<D>,
      UsePaginationValues<D>,
      UseExpandedValues,
      UseGroupByValues {}

  export interface TableState<D = any>
    extends UsePaginationState,
      UseGroupByState,
      UseSortbyState<D>,
      UseFiltersState<D> {}
}

This also puts the ability to extend those types with any user defined
hooks completely in the users hands.
This gives the greatest flexibility, but I'll admit that it isn't
particularly obvious.  Perhaps a typescript readme and example is needed.

@stramel I'd be very interested in your opinion about this.

This definitely looks like a step in the right direction.

Will take a look when I get back tomorrow evening

Thanks for this @ggascoigne, I actually forked the library yesterday to "fix" these typings myself. Happy to see you came just before mine.
I can help out also in the longer run, if needed.

Wow, this is great @ggascoigne ! I think some plugin hooks are missing, like useRowSelect & useRowState.

Wow, this is great @ggascoigne ! I think some plugin hooks are missing, like useRowSelect & useRowState.

agreed. I'll admit that what's here is rather focused on what I've been using, there are clearly some gaps.
I'll try and take a pass at looking at the samples -  they might help me flesh out some of the gaps.  Perhaps having a couple of the samples be in typescript might be useful anyway.

This is definitely a big improvement and moves us one step closer. Thanks for the PR and working with me on the changes. Other than that one change it LGTM.

well that one last change was a bit more than just one line :)  But yes, it was a pleasure, thank you.

With these typings, how do we get typings for plugins? For instance, usePagination?
By doing this, all pagination related properties are not typed:
const {
    getTableProps,
    headerGroups,
    prepareRow,
    pageOptions,
    page,
    pageCount,
    pageSize,
    pageIndex,
    gotoPage,
    canNextPage,
    canPreviousPage,
    previousPage,
    nextPage,
    setPageSize
  } = useTable(
    {
      columns,
      data,
      state: tableState,
      loading: false
    },
    usePagination
  );

For those concerned, I'm not saying this is THE finalized typings but a step towards the correct and finalized typings. Currently, typings aren't published in this package and the typings included in this package were valid as of alpha.2, so quite outdated.
My vote is we get this in and continue to iterate on it instead of trying to make the typings perfect in one pass.

I've been playing around with these and here is my current observations. :-)

canSort is missing on the HeaderColumn<T>, but it has the canSortBy which is not present in the API
No support for useRowSelect hook: Missing types
No support for grouped headings, for instance:

    {
        Header: 'Name',
        columns: [
          {
            Header: 'First Name',
            accessor: 'firstName'
          },
          {
            Header: 'Last Name',
            accessor: 'lastName',

          },
        ]
      }

There is width, maxWidth etc present on the HeaderColumn which the current API does not support.

I can help by updating these typings to the current API: https://github.com/tannerlinsley/react-table/blob/master/docs/api.md#column-properties-1 but should I branch off this one or wait for the merge and then fork?

@tannerlinsley Are you good with merging this as is and iterating on it? It still isn't being published but would at least give us a more accurate representation of the current API.

Yep. I’m good to merge.

Keep working on them!

Thanks to @ggascoigne for the hard work on this PR! 👏

So now that these TypeScript changes have been merged, will an update to the v7 beta branch be released? I am having to heavily work around the deficiencies in the current definition file so an update is eagerly awaited.

@8enSmith You should be able to uninstall the @types/react-table package, then provide the types manually. Typically, this is what I do:

Create a custom_typings folder
Modify tsconfig.json to include the newly created custom_typings folder.  "include": ["custom_typings/*.d.ts", "src"],
Create a file with the same name as the package, react-table.d.ts.
Insert the typings into that file.

Thanks for the prompt advice @stramel . I'll do that for now and I'll keep my eyes peeled for updates to the library.
The more I use (and <3 ) TypeScript, it's a wonder that complicated libraries like this don't opt to use TS from the start! I guess using vanilla JS gives more flexibility but at a cost i.e. maintenance pains! O_o

@8enSmith You should be able to uninstall the @types/react-table package, then provide the types manually. Typically, this is what I do:

Create a custom_typings folder
Modify tsconfig.json to include the newly created custom_typings folder.  "include": ["custom_typings/*.d.ts", "src"],
Create a file with the same name as the package, react-table.d.ts.
Insert the typings into that file.

I'm hesitant to publish the types as they are still not complete and there is an easy workaround to using what we currently have.

FYI, I added the following to my tsconfig and its working nicely:
"include": [
"custom_typings/*.d.ts",
"src"
],
"paths": {
"react-table": [
"custom_typings/react-table.d.ts"
]
}
I added the "paths" entry to override the module definition as suggested here. Thanks again @stramel

@janhartmann re. "With these typings, how do we get typings for plugins? For instance, usePagination?"  The short answer is do what I suggest in the description of this PR.  But I suspect that I need to describe this more clearly.
I'll put together an example and link it.

FYI there's a simple example in https://github.com/tannerlinsley/react-table/pull/1534


CUI: replace CUI or base64-encoded string with SAB:CODE

Statement of Problem
In the current UBKG, the CUI property of a Concept is a string with one of two formats:

If originally from the UMLS, the CUI corresponds to the UMLS CUI:

If not from the UMLS, the CUI is the CodeID, base64-encoded:
(Below, the CUI is "RVJPOjAwMDA5Nzk=", which is "ERO:0000979" encoded in base64:

Change
The CUI for non-UMLS codes should a plain-text string corresponding to SAB:Code--i.e., the base64 encoding should be disabled.

ATUI, SUI still in base64
Other "UI" properties of nodes are also written with base64-encoded strings, including:

SUI property of the Term node
ATUI property of the Definition node

These will continue to be encoded.

Uniqueness issues in relationship import and workaround
Statement of problem
Disabling the base64 encoding of the CUI causes an issue when importing into the UBKG neo4j.
The neo4j-admin import command includes the parameter.
--relationships=CODE=$IMPORT/CUI-CODEs.csv
This is intended to set the CODE relationship between Concept nodes and Code nodes.
The two columns in CUI-CODEs.csv are:
:START_ID,:END_ID
Per the documentation for admin-import,
"Relationships are created by connecting node IDs, each node should have a unique ID to be able to be referenced when creating relationships between nodes."
If the value in the :START_ID is the same as the value in :END_ID in CUI-CODEs.csv, the string that is intended to become code.CodeID will be the same as the string used for concept.CUI. This results in the following for codes that do not have cross-references to UMLS CUIs (for which the CUI was the base64-encoded version of the CodeID)

The Code node is not created
Term nodes that should be associated with the Code node are instead linked to the Concept node
The Concept node has a self-relationship (loop) of type CODE

To work around this issue, the suffix ' - CUI' will be appended to the CUI string for the Code that had originally been base64-encoded. This results in unique strings for both the CodeID and the CUI so that the Code and Concept are created as expected:


Int32 #bits does not take a range with a negative

Int32 have a #bits method that takes a range.  This range does not take a -1 for the last bit position.
0.bits(0..-1)

I think the problem is BigInt#bits also exists and there isn't a notion of a last bit there.


"An object literal cannot have multiple properties with the same name" error with b-form-checkbox

The error An object literal cannot have multiple properties with the same name happens with <b-form-checkbox> (bootstrap-vue) when having both v-model and :value defined. I think this is because v-model is desugaring into :value, but in this case it should be using checked.
There's a check for this for the native input elements input[type=checkbox] and input[type=radio] in volar/vue-language-tools/vue-language-core/src/generators/template.ts#1794.

 I'm using the <v-checkbox /> component from vuetify@2 in a<EMAIL_ADDRESS>project.
Not sure how that would be fixed to be honest. Volar doesn't really have a way of knowing when a custom component should be treated like a native checkbox element. Maybe if there was a way to add @ts-expect-error or @ts-ignore in the template that could at least serve to suppress the error.
It may just need to wait until these component libraries implement types for their components. 😞 If I find a workaround I will share it here!

Did you get it working? We are also using vuetify 2 and vue 2.7, and getting this error with volar.

Unfortunately no, I never did get it working with the new compiler option.
What I ended up doing was wrap the checkbox component in my own component, and instead of using the value prop directly I renamed it to selectedValue. It's working, but I'm also not the biggest fan of it because you need to remember to use this wrapping component (unless you're already wrapping all your vuetify components anyway of course).
// AppCheckbox.vue

<script lang="ts">
export default { inheritAttrs: false };
</script>

<script setup lang="ts">
defineProps<{ selectedValue: unknown }>();
</script>

<template>
  <v-checkbox
    :value="selectedValue"
    :input-value="$attrs.value"
    v-bind="$attrs"
    v-on="$listeners"
    @change="$listeners.input"
  />
</template>


Extension Admin pack for SQL Server not working properly

After installing "Admin Pack for SQL Server" extension, none of the administration options shows up on the database info page. I was able to reproduce the issue on a different machine running Windows server 2019.
Version: 1.20.1 (user setup)
Commit: fe6312306647441b30102a64bb43abb06ebcf2be
Date: 2020-07-17T02:39:41.016Z
VS Code: 1.47.0
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363

@coolsekali please verify that you have Preview Features setting enabled.

Thank you! I have enabled the preview and it works. Thanks!


Disabling default loopback of MLAT data to local Dump1090

Suggest changing the default behaviour of PiAware to prevent FlightAware calculated MLAT data being fed back to Dump1090 and inadvertently upstream to other clients that a user has which are unable to distinguish MLAT data from true aircraft-derived ADS-B positions, such as FlightRadar24.
In my opinion, loopback of MLAT data should be an opt-in feature with appropriate guidelines and checks in place to make sure that a user enabling it knows what they're doing.
With RPi clients on both FlightAware and FlightRadar24, a growing number of feeders want and are able to supply both.  However, default behaviour of the FA feeder software is effectively contaminating FR24 with non-ADS-B data.
It may be considered that it is their problem rather than FlightAware's, and it's true that spoofing and MLAT-checks should be stronger, but there's no harm in helping to prevent giving away hard-won and calculated MLAT data straight into another site!

The standard piaware image already does this (mlat data is not forwarded beyond the local dump1090 unless the user explicitly turns it on).

In cases where the user is running something other than the FA-provided image e.g. they are running their own dump1090, or another decoder, then basically all bets are off and it is the responsibility of the user to know what they're running - it's impossible to catch all cases here if unpredictable combinations of software are being used.
I have made an effort to contact FR24 to try to work out what the best option is here, but I have had no response at all; I have no particular desire to tweak this if FR24 aren't willing to even discuss the problem.
(FWIW, Planefinder were immediately responsive and we sorted out a solution in a few hours)

One possibility here would be to use some other port rather than 30004, and configure the FA-provided dump1090 to match; then it wouldn't immediately connect up to a default-config non-FA dump1090.
The thing here is that having a default setup that immediately provides a piaware user with display of mlat aircraft far outweighs problems with edge cases involving custom setups (they're a small fraction of the total installs). I can't really take a patch that breaks the default setup.

You're right that the issue is probably with users running their own (or possibly FR24's) dump1090.  But then since you have no control over that configuration, is it not better to have a more conservative default for the FA software to prevent feeding a potentially unknown dump1090 instance?
FR24 obviously need to do something to quality-check what they are receiving, since they are presumably open to pure spoofing as well as simply relaying MLAT data.

OK - I appreciate the desire for an out of the box solution for stand-alone FA users and why you wouldn't want to break it  A port change and reconfiguration of the FA-supplied Dump1090 would seem a good way of doing that.  Are you able to take that forward for the next release?
It seems to be a growing problem in FR24 land now that Pi clients are available for both and users will increasingly want to feed both FR24 and FA from the same device, especially since FR24 have removed the requirement for their own bespoke Dump1090 version and will now accept any release.
It makes sense to me that all feeder clients make no assumptions about the version or configuration of Dump1090 that's running, or for a packaged version like yours that a non-standard port config is used to avoid conflicts as you suggest.  If a user wants to change it, then fine, but they then accept and understand the risks.

FYI there's a bit of debate on this issue on the FR24 forum:
http://forum.flightradar24.com/threads/9132-Beta-test-new-Flightradar24-MLAT-software-for-Raspberry-Pi/page36

I have to have a think about how to update the port on existing installs - it's not entirely trivial.

Understood.  Thanks for your input on the forum too!
An alternative could be to use my proposed change to the FA client default to be a listen port on 31003, then bundle ModeSMixer to push that and the local Dump1090 feed to a second Dump1090 instance with --net-only to provide the local display (and disable http on the first of course).  That way you separate the input and output sides of Dump1090 without risk of loops or leaks?
I know an additional package is more overhead, but may not hurt on your FA packaged systems and behaviour would be predictable?

There are unfortunately a bunch of issues with that:
a) modesmixer is binary-only with an unclear license
b) if you are suggesting that we generate positions in SBS format and get modesmixer to turn them into ADS-B positions that dump1090 understands - uh, well, that's what mlat-client already does directly, you don't need modesmixer to do that
c) it doesn't help with setups where piaware is just another feeder integrating into an existing system, which is exactly the case that breaks
If we assume that the software is under our control then we can already prevent the data going to unexpected places - this is exactly the case we already have with the sdcard image, and it's set up like that already. The problems are all with cases where the software is not under our control and piaware is integrated into some unknown larger system.

(a) OK - I hadn't considered the licence of ModeSMixer - just the functionality...
(b) No, I wasn't suggesting that ModeSMixer did any translation - just to be used as a means to aggregate the MLAT returns from PiAware with the original (local) stream received off the air, which is effectively what Dump1090 ends up with when you push the MLAT returns into port 30004.
Instead of using ModeSMixer, you could instead produce a combined output from PiAware of the data received from Dump1090 and the MLAT returns (since I assume it only outputs the MLAT returns currently).
Then, send that combined feed to a second Dump1090 instance, with --net-only configured, so it is entirely independent of the RTL dongle and locally received data  - effectively you would only be using it for the Web server and display with the combined feed.  No data would get sent to the front-end Dump1090 instance, so no risk of data looping round and escaping to other clients.
So for (c), yes it would help with those setups.  The front-end Dump1090 instance could be anybody's build - FA, FR24, distro package etc, and could feed any number or type of clients.  It could even have the HTTP server disabled.  The second Dump1090 instance would provide the HTTP frontend and display the combined FA MLAT and local stream.
Needs a bit of consideration of HTTP and other ports to avoid conflict, but it's doable.

That seems functionally equivalent to just putting a mlat-aware dump1090 on a different port.

Essentially, yes.  I guess what I'm trying to get at is that the safest approach is to make no assumptions about capabilities or configuration of the front-end Dump1090 instance.  That if you are feeding data into Dump1090, you only do so with a version that will not forward MLAT.
I think we may be in danger of making this more complex than it needs to be.  Winding back a bit, the intent of this patch was to ensure that a new install of PiAware on any platform does not break a user's existing setup out of the box.
I appreciate that the majority of your installs are the SD card images and you want things to work as they do now for standalone users.  That's fine and can be achieved by taking this change to default behaviour of the application and then simply overriding that through configuration in the SD card image, since you know what you are providing in terms of Dump1090 etc on there.
All I'm looking to avoid is a user installing PiAware on an existing box and not realising that the default config could break their feeds and potentially putting them in breach of T&Cs of other sites.  If they have to explicitly turn it on, then it's on them to understand the consequences.

Right, fair enough. Ideally I'd like new piaware standalone installs to also "just work" if we can.
I think we can achieve something similar just by changing the port. Think of it as a change in convention from "port 30004 accepts ADS-B traffic in Beast binary format" to "port 30014 (or whatever we pick) accepts ADS-B traffic in Beast binary format in a mlat-aware way". If there's something listening on 30014 we assume it knows about mlat.
Then I can update the dump1090 versions I have control of to listen on 30014 and they will "just work". Other dump1090 versions will need reconfiguration before they get data.

That sounds like the most robust solution for the longer term.  Presumably it won't cause PiAware an issue if there's nothing listening on 30014 and it can't connect?  Obviously 30004 can always be assumed to be there and answer on a standard Dump1090 install.
This can all be backed up with a health warning that essentially says "hey look, we use 30014 now by default.  If you use your own Dump1090, then you can still send our feed to 30004, but make sure your version is mlat-aware before you do so, but we recommend you upgrade to version xyz..."

30014 looked like it might be in use by the Globe-S receiver so I went with 30104

The port change is in 2.1-3 which I've just released.


Error

client.log
Hello! Here's my client log, sorry, I don't know what I'm doing wrong. I had all browser instances shut and had Discord open

I'm on Windows 11, and this is happening on my first time opening the app.
ERROR | App: Command 'WMIC PROCESS WHERE "name='{process_name}'" GET ExecutablePath' returned non-zero exit status<PHONE_NUMBER>

Hi,
Try using the v0.5.1 version. The latest version has several incompatibilities.


Translations update from Hosted Weblate

Translations update from Hosted Weblate for Collision/Collision.
Current translation status:

LGMT, thanks!


Is there an example of how you ran the policy dissection for the gym environments?

Is there an example of how you ran the policy dissection for the gym environments (e.g. BipedalWalker?). I can only see examples for anymal and metadrive in the Examples folder. I am looking to adapt your work to do policy dissection on the Atari Seaquest environment.

Sorry for the late reply and thanks for your interest.
If you check the metadrive and anymal scripts, you can find that the policy dissection procedure is almost the same for both. The difference between them is how you create your environment. Thus I believe you can easily modify any of them to get a new one compatible with your gym environment.


Webpack 5

Is it working under Webpack 5? If so it is possible to update the dependency?

hi @clauderobi
I have no idea whether it work with webpack 5 or not. Can you give it a try and let me know, please?

It probably works. Actually, what I saw was that the webpack_require stuff is present in the bundle.js file and appears to be Ok. I also see that the build directory includes the referenced image file. However, the imported markdown text has this: ![test2]([object Module]), which does not look Ok to me. How could the renderer find the correct image file content with just "object Module"?
Can I make a documentation suggestion? I came here from markdown-loader, with which I am not able to get the image file link properly processed. markdown-loader not only loads the markdown text but renders it under the hood my calling marked automatically. I was under the impression that mardown-image-loader would do the same since I did not understood that Reveal and remark are renderers that you call manually (sort of); I did not know them at the time I first read your README.md so I skipped that part. May be making more clear that rendering is something that needs to be handled outside markdown-image-loader would help.

![test2]([object Module]) is definitely due to a breaking change. I will take a look when I can but it won't be very soon. I've kind of moved on to python libraries for the moment :cry:

Hi @lucsorel for me it is working fine in webpack 5 and I did the required changes in peerDependencies and also run all the test cases and all are working fine.  Can you please check this PR and Merge it if that is fine for you or please add the required comments for the same?
https://github.com/lucsorel/markdown-image-loader/pull/9

@clauderobi ![test2]([object Module]) this could be handled outside markdown-image-loader in webpack config file.
You can enable file-loader's CommonJS module syntax, which webpack will resolve directly to the module itself. Set esModule:false in your webpack config.
webpack.config.js:
{
       test: /\.(png|svg|jpg|jpeg|gif)$/,
       use: [
         {
           loader: 'file-loader',
           options: {
             outputPath: "assets",
             name: "[path][name].[contenthash].[ext]",
             esModule: false,
           },
         },
       ],
}

If you want to know about in details for this  [object Module] which file loader generates by-default then please read below document where a developer explained this thing in details.
https://stackoverflow.com/questions/59070216/webpack-file-loader-outputs-object-module

closed by https://github.com/lucsorel/markdown-image-loader/pull/9


Tests failing on android with Failure [INSTALL_FAILED_VERIFICATION_FAILURE]

Build
https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=774659
Build leg reported
System.Buffers.Tests-arm64-v8a-custom-command.WorkItemExecution
Pull Request
https://github.com/dotnet/arcade/pull/14999
Known issue core information
Fill out the known issue JSON section by following the step by step documentation on how to create a known issue
 {
    "ErrorMessage" : ".apk: Failure [INSTALL_FAILED_VERIFICATION_FAILURE]",
    "BuildRetry": true,
    "ErrorPattern": "",
    "ExcludeConsoleLog": false
 }

@dotnet/dnceng

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description
Additional information about the issue reported
Also hit by @riarenas here: https://github.com/dotnet/arcade/pull/14968#issuecomment-2284506872

Known issue validation
Build: :mag_right: https://dev.azure.com/dnceng-public/public/_build/results?buildId=774659
Error message validated: [.apk: Failure [INSTALL_FAILED_VERIFICATION_FAILURE]]
Result validation: :white_check_mark: Known issue matched with the provided build.
Validation performed at: 8/14/2024 3:23:08 PM UTC

Report
Summary

24-Hour Hit Count
7-Day Hit Count
1-Month Count

0
0
0

This seems like a duplicate of https://github.com/dotnet/dnceng/issues/3656

@ilyas1974 as we fixed https://github.com/dotnet/dnceng/issues/4253 this can be closed now.


Support for Mongodb Replica Set Cluster

Running VerneMQ 1.8.0 w/ 3 node replica set Mongodb.
Typically the replica set would be called by mongodb: mongodb://mongo-0.mongo,mongo-1.mongo,mongo-2.mongo:27017/dbname_?
It appears VerneMQ only support one host for mongodb. Any plans to support replica set?

Closing this issue as it's on our backlog already, but unfortunately it doesn't have high priority at the moment. Get in touch with us directly if you like to promote this feature via sponsoring.

I would like this feature too. Any idea when it will be on the roadmap? I think in a high availability situation this is kind of essential.


routes are using jump bridges but are not indicating it.

The connection on the screenshot is shown as a stargate but is in reality a jump bridge. The system to the right is OW- and to the left EI- which are not even close to each other but connected by a JB.
How to repeat:
-1 delete all routes destinations so the default Jita is shown.
-2 add your destination via the "settings" menu (the hamburger menu), here IGE-RI

here the route is perfect no problem
-3 add the system again via "find route"  but with a 2nd map containing jump bridges.
The result is seen in the first screenshot. The route is shorter, but JB's are not indicated.

update:
when i use the JB map and add a 2nd map with 2h connections it will show the jb!
but if i do it the other way around (using the wh map and adding the jb map in the search) it wont.

id guess the "getFakeConnectionData" is called bc the connection isnt on that map.
why cant we instead looking first into the db using all mapid's we are using for the route?


MacOS fullscreen header styling

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: MacOS Sierra 10.12.6
Hyper.app version: 2.0.0
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/jaredramirez/3a8366c5da7a392f0ca36a49d5992e14
Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere): -
The issue is reproducible in vanilla Hyper.app:  Yes

Issue
This is a styling issue. When I go into fullscreen mode and bring my mouse to the top of the screen to drop the menu bar down, the text from the terminal is visible on the menu bar.

(Top left of photo)

This is a duplicate of #5, but thanks for confirming the issue.


Hugo Academic Talk Widget not display in home even if menu.toml correct

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/wowchemy/wowchemy-hugo-themes/issues?q=is%3Aissue
[X] This issue is not a question, feature request, or anything other than a bug report directly related to Wowchemy. Please post those things on Discord: https://discord.gg/z8wNYzb

Description
I have successfully added the Talks menu on the menu bar, however the widget is not showing at the anchored place in the homepage. Instead, it seems to be showing at [ROOT]/talk. What did I do wrong?
Website: https://maurocamaraescudero.netlify.app/
Code: https://github.com/MauroCE/PersonalWebsite
Additional Information

Under [ROOT]/config/_default/menus.toml I have added the following so that the menu links to the anchor #talk.[[main]]
  name = "Talks"
  url = "#talk"
  weight = 25

Under [ROOT]/layouts/widgets I have put the file talk.html. This is a copy-and-paste from [ROOT]/themes/academic/layouts/talk/single.html.

{{- define "main" -}}

  {{ partial "page_header.html" . }}

    {{ if .Params.abstract }}

{{ i18n "abstract" }}

{{ .Params.abstract | markdownify | emojify }}

    {{ else }}

    {{ end }}

{{ i18n "date" }}

            {{ partial "functions/get_event_dates" . }}

    {{ if .Params.event }}

{{ i18n "event" }}

            {{ with .Params.event_url }}{{ end }}
            {{ .Params.event | markdownify }}
            {{ if .Params.event_url }}{{ end }}

    {{ end }}

    {{ if .Params.location }}

{{ i18n "location" }}

{{ .Params.location | markdownify }}

          {{ if .Params.address }}

{{partial "functions/get_address" (dict "root" . "address" .Params.address) }}

          {{end}}

    {{ end }}

      {{ .Content }}

    {{ partial "page_footer" . }}

{{- end -}}

Under [ROOT]/content/talk/BayesComp2023 I have added an image featured.jpg and a file index.md with the following heading

---
title: My title
event: BayesComp 2023
event_url: https://bayescomp2023.com

location: Levi, Finland

summary: Summary title
abstract: "Abstract"

# Talk start and end times.
date: "2023-03-15T09:00:00Z"
date_end: "2023-03-17T17:00:00Z"
all_day: false

# Schedule page publish date (NOT talk date).
publishDate: "2017-01-01T00:00:00Z"

authors: []
tags: []

# Is this a featured talk? (true/false)
featured: true

image:
 caption: 'Example of a Filamentary Distribution'
 focal_point: Right

links:
- icon: twitter
 icon_pack: fab
 name: Follow
 url: https://twitter.com/
url_code: ""
url_pdf: ""
url_slides: "BayesComp2023_slides.pdf"
url_video: ""

# Enable math on this page?
math: true
---

Under [ROOT]/content/home I have added talk.md

+++
# Recent and Upcoming Talks widget.
widget = "talk"
active = true
date = "2016-04-20T00:00:00"

title = "Invited Talks"
subtitle = "Subtitle to the talks"

# Order that this section will appear in.
weight = 25

# Number of talks to list.
count = 10

# List format.
#   0 = Simple
#   1 = Detailed
list_format = 0

+++

Reproduction Link
https://maurocamaraescudero.netlify.app/
Steps to Reproduce

Under [ROOT]/config/_default/menus.toml I have added the following so that the menu links to the anchor #talk.
Under [ROOT]/layouts/widgets I have put the file talk.html. This is a copy-and-paste from [ROOT]/themes/academic/layouts/talk/single.html.
Under [ROOT]/content/talk/BayesComp2023 I have added an image featured.jpg and a file index.md with seemingly correct heading.
...

Expected Result
I should see the widget in the home page
Actual Result
I can only see the widget in /talk even if in menus.toml I have set url="#talk
What Hugo Module versions does your site use?
I cannot find go.mod in my directory
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome
Which Wowchemy template are you using?
Academic
What version of Hugo are you using?
hugo v0.116.1-3e1ea030a5897addaf9d113d0826709fe07f77c0+extended darwin/arm64 BuildDate=2023-08-01T07:24:54Z VendorInfo=brew

Please click the Support link for asking questions.

@gcushen Where do I find the Support link?


Amazing work. Where did you get those project vectors from?

Can you share any link where I can get similar project vectors from? or the links to the one you used for your own project

They have been taken from realpython website.


Grab another forks

Hello,
I recommend you to pick fixes from

https://github.com/CrashRpt/crashrpt2/commits/master
https://gitlab.com/xvm/crashrpt2/-/commits/xvm (except crashsender: move report size position from subheader to link)

By the way, why not sentry?

Thanks! And for the good work in the crashfix webapp.


Unable to get certain types

Good day @mlemesle. Nice lib you got there.
I'm learning rust and was trying to use this wrapper to make something pokémon related, but I ran into a problem. It seems that reqwest or serde have some problems deserializing some pokémon types. Ex:
Cargo.toml
[package]
name = "rustemon-test"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rustemon = "0.1.0"

src/main.rs
use rustemon::api::endpoint;

fn main() {
    println!("{:#?} ", endpoint::pokemon::type_::get_by_name(&"steel"));
}

Output:
Err(
    reqwest::Error {
        kind: Decode,
        source: Error("invalid type: map, expected a sequence", line: 1, column: 5011),
    },
)

Using skip_deserializing I was able to remove field by field from the Type model and found that both damage_relations and past_damage_relations are problematic, but I couldn't really understand why. Could you help?
Thanks in advance!
R.L.

UPDATE: Turns out that the error was right in from of my eyes.
The Type model describes past_damage_relations as below:
pub past_damage_relations: Vec<TypeRelationsPast>

And TypeRelationsPast is
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub struct TypeRelationsPast {
    pub generation: NamedAPIResource<Generation>,
    pub damage_relations: Vec<TypeRelations>
}

The problem is that damage_relations is no Vec. Here's a snippet of the results that requesting the type steel gives using postman:
"past_damage_relations": [
    {
      "damage_relations": { // <--- Object, not list
        "double_damage_from": [
          {
            "name": "fighting",
            "url": "https://pokeapi.co/api/v2/type/2/"
          },
          {
            "name": "ground",
            "url": "https://pokeapi.co/api/v2/type/5/"
          },
          {
            "name": "fire",
            "url": "https://pokeapi.co/api/v2/type/10/"
          }
        ],

Simply changing TypeRelationsPast to the struct below fixes the problem.
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub struct TypeRelationsPast {
    pub generation: NamedAPIResource<Generation>,
    pub damage_relations: TypeRelations
}

Curiously, the PokéAPI documentation does describe damage_relations in TypeRelationsPast as a list. I'll open an issue in their repository, and hopefully the docs will be fixed soon. Meanwhile, do you want me to open a PR fixing this model?

Hey @Rdlenke ! Thanks for reaching out !
Indeed, the documentation in PokeApi seems to be outdated, you're right to open an issue on their side.
You were also right to open an issue here as well. I agree with you on the fix.
You can do it if you want to or I can do it later in the day, just let me know !
Also, I am learning Rust too. Feel free to give me some feedback about the code, architecture etc etc...
I stay available if you need, and thanks again for the help !

@mlemesle I've created the PR and also created the issue on the PokeAPI repo. They've already fixed the docs website.
Thanks again for this awesome wrapper, and for the help. As I use it (and learn rust), I'll surely come up with suggestions.


Add GearHost cloud

fixes #22

Thanks :)

You're welcome. I'm impresses how quickly this list is gaining momentum!

Yeah me too! I created this because that was useful for me and some coworkers, especially having details about each service, but I really expected something like 10 stars :o


IS-1265: AUTH_RULES transaction builder.

This looks like good work. One question that I'd like to understand better is what the difference between txn '"120" AUTH_RULE' and txn '"122" AUTH_RULES' is. Additionally, what calls would an authorized trustee make in order to enable auth_rules work on ledger? Is the configuration of the AUTH_RULE handled by the config ledger? For example, whether it's enabled and what the requirements are for it.


ANdroid 14: Foreground service types are required

From android 14, The service will be stop after 6 hours if service type is not define.
1-service type must be declare in anroid manifest file
2-servic type must be pass when going to startService
https://developer.android.com/about/versions/14/changes/fgs-types-required#health

@timsar2
check readme
You can specify the service type using the android:foregroundServiceType option as follows:
<!-- required -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

<!-- foregroundServiceType: dataSync -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />

<!-- foregroundServiceType: health -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH" />

<!-- Warning: Do not change service name. -->
<service
    android:name="com.pravera.flutter_foreground_task.service.ForegroundService"
    android:foregroundServiceType="dataSync|health"
    android:exported="false" />

This plugin uses the ServiceInfo.FOREGROUND_SERVICE_TYPE_MANIFEST value to start the service, so you only need to specify the android:foregroundServiceType option.
https://github.com/Dev-hwang/flutter_foreground_task/blob/916289fd4fadbf1ebabf2c7715faf073504f4aa2/android/src/main/kotlin/com/pravera/flutter_foreground_task/service/ForegroundService.kt#L241


Pass expanded width / and toolbar height as config

It would be nice to pass a config to control the tab expand width, as well as a config to control the height of the collapsed toolbar.
Like:
var sidebar = L.control.sidebar('sidebar', {
    expanded-width: '50px',
    collapsed-height: '100px'
});

That's unfortunately not possible in a reliable way as it would require us to rewrite CSS rules from JS


Display the current chapter title in the footer text

Could be done using CSS, see "Display chapter name in page header" here http://blog.michaelperrin.fr/2019/11/04/printing-the-web-part-2-html-and-css-for-printing-books/

I tried the CSS below, I suspect overwriting the print header and footer is not supported. Would appreciate a contribution here :)
/* Store chapter title, so it can be used in the footer of printed page */
#print-site-page h1 { string-set: chapter_title content(); }

@page {
    @bottom-center {
        content: string(chapter_title);
}

I'm not sure this is possible, closing issue. Feel free to re-open if you have a solution :)


Feature Request: inscriptis extractor

Type

[ ] General question or discussion
[X] Propose a brand new feature
[ ] Request modification of existing behavior or design

What is the problem that your feature request solves
For NLP work with web-pages, I've found that inscriptis is the best text extractor.
Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
It would be an optional extension.
What hacks or alternative solutions have you tried to solve the problem?
Crawling the Chromium HTML and using inscriptis myself.
How badly do you want this new feature?

[ ] It's an urgent deal-breaker, I can't live without it
[X] It's important to add it in the near-mid term future
[ ] It would be nice to have eventually

[X] I'm willing to contribute dev time / money to fix this issue
[X] I like ArchiveBox so far / would recommend it to a friend
[ ] I've had a lot of difficulty getting ArchiveBox set up

After some quick research I'm leaning towards this one instead: https://github.com/adbar/trafilatura
The reason is that it supports extracting comments and other useful metadata beyond just article text, which I think brings it a distinct advantage that mercury/readability don't provide already.

@pirate TBH, it would be nice to have both options. I was using readilbity and mercury, but they were not good enough. jusText was recommended to me by EleutherAI, but it was too aggressive.
Anyway, it really depends upon the use-case, but having a few options is great. I guess I would also include jusText in that list then.
Because for different tasks, you might need different levels of aggressiveness + precision/recall tradeoff.
I'm doing NLP stuff and using LLMs, and many people are these days too.


The icon is broken.

https://github.com/Blobanium/Loading-Timer/blob/1.17/src/main/resources/assets/lt/icon.png

I did this:

It's kinda better because it's readable but...
IMG:

what did u do to reproduce this, it looks like its completely fine on my end

what did u do to reproduce this, it looks like its completely fine on my end

Happens to me as well.
Reproduction (using GDLauncher):

Create a new Fabric 1.17.1 instance
Add the mod (will automatically add Fabric API)
Add Mod Menu
Launch the game
Click Mods button
Look at the mod's icon

If the pack icon is based on non-square image, rendering options may differ on different platforms. The icon in the Modrinth page is also seems like it's "stretched to fit". It's better to convert the source image to square. (128x128px I assume?)
Also author should have notified that there's a placeholder icon in here now, there's no reason to keep this issue open.

there's no reason to keep this issue open.

Well, the icon isn't being used, so the issue still persists. Until it's fixed I think the issue should stay open.

Issue should be fixed in commit fc2b695, reopen if issue still persists


Write Complete Episodes to kissgrab.dat

Hey Man.
this is not an issue more of a feature request.
it may be a good idea to write complete episodes to the dat file to prevent the script from attempting to redownload the file. then instead of
if os.path.isfile(path):
you can do something like
if path in datfile.read():
at the moment if i move episodes to another location i tries to download them again.
I will try implement this myself and send you the code

@jvonhoff wrote that feature.
Im currently rewriting kisscartoon (again) and in that version I'll be using JSON files to keep the shows and the links accordingly on your local hard drive. If you run kisscartoon again it will only download the episodes it hasn't downloaded yet and update the show file.
I have no ETA on the update though since im kinda busy.
Thank you for contributing!


Evacuation departures are likely long tailed, not normally distributed as currently implemented

From @dhixsingh on January 18, 2018 5:6
The UI for specifying departures currently looks like this:

Agreed to add a third user input parameter to indicate the time of last person leaving. A long tailed distribution like that shown in the example below can then be calculated from the three given times (start, peak, end).

Copied from original issue: agentsoz/bdi-abm-integration#4

There is a more nuanced behaviour response model now (see agentsoz/bdi-abm-integration#45 and agentsoz/bdi-abm-integration#47) that dictates when people leave. This simplified idea of incorporating departure timings is outdated so am closing this now.


Trying to emerge Cockpit-262 Fails due to missing acct-group/cockpit-ws

emerge: there are no ebuilds to satisfy "acct-group/cockpit-ws".
(dependency required by "sys-apps/cockpit-262::inode64-overlay" [ebuild])
(dependency required by "cockpit" [argument])

just checked and this happens for every version of cockpit available in the repository


[dev-docs] Fix typo

Signed-off-by: Steven Danna<EMAIL_ADDRESS>

Should be obvious, but might want to mention one needs to be connected to the VPN. (I forget once in a while.)

Yup, let's put this in the docs.

Should mention how to install vault in hab studio. (??)

When inside the studio, vault is installed for you:
https://github.com/chef/automate/blob/master/scripts/get_secrets#L32
If you don't see that happening, that is a bug that we should fix.

Should mention how to install vault outside of hab studio (brew install vault).

I link to the official install instructions here:
https://github.com/chef/automate/blob/master/scripts/get_secrets#L28

When I run vault kv list 'secrets/a2' outside the studio I get an error, so I suspect permissions needed for us non-super users...?

This is the isssue fixed in this PR.  The correct path is secret/a2

Thanks, @stevendanna.  From your response, I realized what I need to clarify.
If I run get_secrets in the studio then, yes, vault is installed for me, so no bug. But that's not the scenario here. Here's the user story: As a reader of dev_environment.md, I expect what it tells me to be true.

dev_environment.md says something about get_secrets. Fine. Noted. But: not executed. Next I read about running vault directly and I need to install it. Hence my comment about how to install vault in the studio. Reading the get_secrets script answers the question, but the reader of dev_environment.md should not be expected to know that. Probably does not make sense to duplicate a lot of what is in get_secrets.

I mentioned you should also tell how to install vault outside the studio and you referenced that was in get_secrets. See point 1. :grin:. How does the user know to look there?

For the actual error from running vault, I pasted the wrong output. I get this error when using the correct path secret/a2 (outside the studio):

Error making API request.
URL: GET https://vault.chef.co:8200/v1/sys/internal/ui/mounts/secret/a2
Code: 500. Errors:
* missing client token

Perhaps that would succeed if I had run get_secrets first? Dunno.
Given all of the above, I do not think it makes sense to repeat a lot of details mentioned in get_secrets. But I would suggest something along the lines of one of the following:
"Please run get_secrets before running vault directly, so that it sets up your env correctly."
"Please read get_secrets for further details on setting up vault."


Add Code Coverage badge example repo

It will be great to have any link to the working example

I'm using it myself in multiple repositories.  Would adding a link to the following work as an example: example workflow and the maven pom.xml?  In that project, I have jacoco configured in a profile in the pom.xml. Or are you looking for a more minimal example?

I think it will be enough. I have injected your badge into my project: https://github.com/nachg/xpathqs also. It is working great!
My suggestion is to add an example badge snippet to the readme.md with the default config:
[![Coverage](.github/badges/jacoco.svg)](jacoco.svg)
And add an example of committing changes in the most simple way (buid.yml):
  - name: Commit changes
        uses: EndBug/add-and-commit@v7
        with:
          default_author: github_actions
          message: 'upload badge'
          add: '*.svg'

@nachg Great documentation suggestions. Thanks. I noticed that your project uses gradle. If you don't mind, I might link to it to have an example of a gradle project that is using the action. All of my projects use maven. In the examples of my own projects that I just linked to, I linked directly to the relevant workflow as well as to the maven pom.xml to make it easy to see how jacoco is configured. I don't use gradle, so not sure what gradle's equivalent is. Where are plugins configured in gradle?

If you don't mind, I might link to it to have an example of a gradle project

Sure, it will be great!

Where are plugins configured in gradle?

In build.gradle.kts.
There are just two simple steps required To add Jacoco as a plugin:
plugins {
    jacoco
}

And to enable .csv (which is required for the jacoco-badge-generator):
tasks.jacocoTestReport {
    reports {
        csv.isEnabled = true
    }
}


Gerrit Code Review | Gerrit Code Review

https://www.gerritcodereview.com/

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


vscode integration?

How do we integrate this into vscode? Are there any other tools available for vscode specifically for F# formatting?

If I'm not mistaken, Forge is already integrated into the Ionide extension for VS Code (which is a really good extension, I definitely recommend it).
Last I knew, there wasn't really a current auto-formatter for F# (more's the pity), but I certainly don't claim to be up-to-date on such matters.


Confusing Argument Naming in participant.py

Just spent a little while debugging an issue and root causing it to what I think is a confusing argument name, though forgive me that I do not have a broad understanding of the codebase.
The signature of LocalParticipant.unpublish_track follows:
    async def unpublish_track(self, track_sid: str) -> None:

Given this signature, I was under the impression that I would want to use the sid of the track supplied to the corresponding call to LocalParticipant.publish_track. As it turns out, it is not the Track.sid that satisfies this argument, but the TrackPublication.sid. In fact, the Track.sid and TrackPublication.track.sid will both be TR_unknown, which is not useful. Perhaps there would be a minor improvement in readability with track_publication_sid instead of track_sid as the argument name?

track_publication_sid must be the same as track_sid. The problem is that the track_sid is not updated after publishing.
I'm going to fix that in a PR


sys/linux: use some non-negative points on wireguard

z is low-order and will be rejected, and a, b, c, and d are all negative,
which means they'll be rejected too. That's an interesting code path, of
course, but it also prevents other more interesting code paths. This
commit changes 3 of these to be non-negative so we actually add a few
legitimate peers, while leaving one as negative for hitting that path.
Update #806

Hi Jason, thanks for the PR!
You also need to run make generate and add the generated changes to the commit.

Actually, I think we can abandon this entirely in favor of something more interesting:
<EMAIL_ADDRESS>


Allow partial needs 'trailing-strings' mode, same as pydantic_core.from_json

I think I was safe to skip 'trailing-strings' mode when introducing allow partial #10748.
I was wrong, there are definitely cases where disabling support for trailing strings would be useful.
Even though it's a change of behaviour,I think we should change the signature to match pydantic_core.from_json.
@sydney-runkle should we do this in the beta or in 2.11?

@samuelcolvin,
We can do this in the beta. I think we should release a v2.10.0b2 early this week (there are a few other core fixes that would be good to get in, and I think we need to get https://github.com/pydantic/pydantic/issues/10632 across as well in v2.10).


Thanks!

hey @Mitch528 just came across this, looks awesome. Going to test it out now ;p
Are you still active on it? What are you working on with it?

@Jonovono Hey! So sorry for the long delayed response. As you probably have figured out by now, I have not been very active on this project, though I do plan to try and work on it as time permits.


Generic dataset module and specific s3_datasets module - part 3 (Create DatasetBase db model and S3Dataset model)

Feature or Bugfix
⚠ This PR should be merged after #1257.

Feature
Refactoring

Detail
As explained in the design for #1123 we are trying to implement a generic datasets_base module that can be used by any type of datasets in a generic way.
This PR does:

Adds a generic DatasetBase model in datasets_base.db that is used in s3_datasets.db to build the S3Dataset model using joined table inheritance in sqlalchemy
Rename all usages of Dataset to S3Dataset (in the future some will be returned to DatasetBase, but for the moment we will keep them as S3Dataset)
Add migration script that backfills datasets table and renames s3_datasets ---> ⚠ In the process of migrating we are doing some "scary" operations on the dataset table, if for any reason the migration encounters any issue it could result in catastrophic loss of information --> for this reason this PR implements RDS snapshots on migrations.

This PR does not:

Feed registration stays as: FeedRegistry.register(FeedDefinition('Dataset', S3Dataset)) using Dataset with the S3Dataset resource type. It is out of the scope of this PR to migrate the Feed definition.
Exactly the same for the GlossaryRegistry registration. We keep object_type='Dataset' to avoid backwards compatibility issues.
It does not change the resourceType for permissions. We keep using a generic Dataset as target for S3 permissions. If we are to split permissions into DatasetBase permissions and S3Dataset permissions we would do it on a different PR

Remarks
Inserting new items of S3Dataset does not require any changes. SQL Alchemy joined inheritance automatically inserts data in the parent table and then another one to the child table as explained in this stackoverflow link (I was not able to find it in the official docs)
Relates

#1123
#955
https://github.com/data-dot-all/dataall/pull/1267

Security
Please answer the questions below briefly where applicable, or write N/A. Based on
OWASP 10.

Does this PR introduce or modify any input fields or queries - this includes
fetching data from storage outside the application (e.g. a database, an S3 bucket)?

Is the input sanitized?
What precautions are you taking before deserializing the data you consume?
Is injection prevented by parametrizing queries?
Have you ensured no eval or similar functions are used?

Does this PR introduce any functionality or component that requires authorization?

How have you ensured it respects the existing AuthN/AuthZ mechanisms?
Are you logging failed auth attempts?

Are you using or adding any cryptographic features?

Do you use a standard proven implementations?
Are the used keys controlled by the customer? Where are they stored?

Are you introducing any new policies/roles/users?

Have you used the least-privilege principle? How?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Testing:

[X] locally run all migration scripts from scratch - without data
[X] locally downgrade each of the migration scripts one by one - without data
[X] locally downgrade both migration scrips at once - without data

Overall left some minor comments - additionally tested out the migrations scripts back-filling a single dataset and all works locally for me as well
Will do one last look through first thing tomorrow once you are finished with you check list of testing as well

[ ] locally create datasets with main code, update schema dkrcompose with alembic migrations (running only the ones that we introduce in this PR) check that data is correctly backfilled.
[ ] Same for downgrade

Last last things:
WHen running alembic autogenerate migration I get the following
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('dataset', 'datasetType',
               existing_type=postgresql.ENUM('S3', name='datasettypes'),
               type_=sa.Enum('S3', name='datasettype'),
               existing_nullable=False)
    op.drop_constraint('s3_dataset_bucket_datasetUri_fkey', 'dataset_bucket', type_='foreignkey')
    op.create_foreign_key(None, 'dataset_bucket', 'dataset', ['datasetUri'], ['datasetUri'], ondelete='CASCADE')
    # ### end Alembic commands ###

Our models and migration scripts may not be in sync?

Changing datasetUri in dataset_bucket table to
    datasetUri = Column(String, ForeignKey('s3_dataset.datasetUri', ondelete='CASCADE'), nullable=False)

fixes the foreign key change generated by alembic

Hello hello, thanks @noah-paige for such a deep review :)

foreign_key in dataset_bucket - I can make the change, looks reasonable
postgresql.ENUM vs sa.Enum - there is a problem with sa.Enum and that is that it forces the creation of the enum object itself. I used postgresql.ENUM because it has the option to create_type=False which uses the existing datasettypes object


A BLE device remains connected after power interrupt

Expected behavior: When power is interrupted to the device for 10 seconds, the device transitions to the disconnected state.
Actual Behavior: When power is interrupted for 10 seconds, the device stays in the connected state.
When I connect my BLE device, I register an event handler on device state which can be either {connected, connecting, disconnecting, disconnected}
    device.state.listen((event) async {       if (event == BluetoothDeviceState.disconnecting || event == BluetoothDeviceState.disconnected) {         await cancelDataStreams();         await storeSessionData();         Keys.navKey.currentState.popUntil(ModalRoute.withName(Navigator.defaultRouteName));       }     });
This works perfectly when I call disconnect on the device. But, when I kill the power to my BLE device and then start the device up again, I try to connect to the device, and the above disconnect listener is called.
Using the debugger, I determined that the app state is in the 'connected' state when I attempt to connect to the device again:
        await device.connect(timeout: Duration(seconds: 3));

An exception is thrown and the device is disconnected. My disconnect listener is only then called and I cannot start a new connection session successfully.
My workaround is to disconnect if the state is 'connected', but then my session is not stored until the user attempts to connect again.
What I am asking for: A listener that I can register a handler to that executes when the power to the device is interrupted.

I dug into this a bit more and I see that when a device loses power and I try to find the device by name:
       BluetoothDevice device = (await FlutterBlue.instance.connectedDevices).firstWhere(               (device) => device.name == "my-device",           orElse: () => null,         );
The device is not found and so this method returns null. I cannot interact with the device through the Flutter Blue Lib when the device loses power, but when it reappears, it is in connected state.

Last, I turn off the power, disconnect the device, then connect the device. In this case Flutter Blue logging shows:
D/FlutterBluePlugin(11492): mDevices size: 0
This is shown even though I am actively communicating with the peripheral. When I call  await device.disconnect(); it only prints D/FlutterBluePlugin(11492): mDevices size: 0 and does not disconnect :(

I believe what I am looking for is a supervision timeout. If the android platform will not consider the connection lost and transition it to the disconnected state within a sufficient amount of time, I need to have a way to set the supervision timeout, so that I can handle the loss of power scenario.
see:

https://stackoverflow.com/questions/38666462/android-catching-ble-connection-fails-disconnects
https://devzone.nordicsemi.com/f/nordic-q-a/10636/what-are-latency-and-supervision-timeout-limits

I'll close this and open an issue better describing the problem. It is not possible to adjust the supervision timeout in android. It is set to 20 seconds or 5 seconds in android v >= 10


Fixing #32

Ended up changing my suggested way of fixing it, but it should be fine.

Build failed - however, the master build is also failing.

@jorenvh any updates?


Update api-advanced-hunting.md

Made changes to the permissions required for running advanced queries

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/7977

@JohanFreelancer9 Please copy review

@mjcaparas Please merge this PR. Thanks


Docstring parsing using docstring-parser

Using docstring-parser to get parameter descriptions.
Close #65

sorry it took so long i've been out for a while, can you add a line in the index.md about this?
I think it would be beneficial since the arguments won't be included in the docstring which makes our prompts a bit neater too

i accidentally merged but theres  bunch of errors it seems and the highlighting is miss formated

i'm sorry, i hadn't time to fix the errors yesterday


cronRemove cannot be called from inside a job in JavaScript

The cronRemove method is not available inside of a job so the following code results in an error.
cronAdd('test', '* * * * *', () => {
  cronRemove('test');
});

ReferenceError: cronRemove is not defined at <eval>:2:13(3)
I feel like this is a bug because it limits the usefulness of cronRemove as a method and you cannot do things like create single running jobs but perhaps this is intentional and I am missing the point of the function.

This is because of the way how the JS pb_hooks binding works - https://github.com/pocketbase/pocketbase/discussions/2825#discussioncomment-6376210.
cronAdd, cronRemove, on*, etc. functions are currently defined only for the "loader" vm, aka. available only at top level.
Registering cronRemove for the "executor" vms could be a little tricky as we don't keep track at the moment of the created cron.Cron instance outside of its initialization scope.
I've actually already "fixed" this while working on the refactoring as there will be a single shared cron.Cron instance in the app but there are no ETAs when that will be released.
I'm not entirely sure that I understand your use case, but as a workaround you can store a flag in app.store().set("something", true) and check it with app.store().get("something") to skip the execution of your cron handler.

Workaround works for me for now, thanks.


[disassembler]: decode bug in LD [rp],(Mmm)

https://github.com/breakintoprogram/agon-projects/blob/e8a375c1bc45061b88fea39070b5b4bbe5de5dc1/C/Disassembler/main.c#L779
Little copy-pasta bug here, should be:
sprintf(t, "LD %s,(&%06X)",  t_rp[0][p], decodeWord(address, opcode));

Marking this as 'Won't Do' as it is a duplicate of #9


2FA and Github: how to solve could not read Username for 'https://github.com'

This is a follow-up for issue #43 . I just tried with a new release - still have some issues.
You can find drone.yml here: https://github.com/jobrunr/jobrunr/blob/master/.drone.yml.
What I try to do: update the Readme with the latest version (so the tag)
How do I try it:
  - name: update readme
    image: jobrunr.io/build-container:1.0
    commands:
      - rm -f *.hprof
      - sed -i "s@<version>.*</version>@<version>${DRONE_TAG}</version>@g" README.md # replace version in README
      - sed -i "s@'org.jobrunr:jobrunr:.*'@'org.jobrunr:jobrunr:${DRONE_TAG}'@g" README.md # replace version in README
      - git config --global --add url."git@github.com:".insteadOf "https://github.com/" # Switch to ssh instead of https

  - name: push updated readme
    image: appleboy/drone-git-push
    settings:
      branch: master
      remote_name: origin
      ssh_key:
        from_secret: GITHUB_SSH_KEY
      force: false
      commit: true
      commit_message: "Update readme to new version [CI SKIP]"
      author_name: drone-bot
      author_email<EMAIL_ADDRESS>
The output for step push updated readme:
latest: Pulling from appleboy/drone-git-push
--
2 | Digest: sha256:144fd3130840d8ca0eba4b2aa98da027086d2d3fee6f2fbf4914564ad0a3b3f1
3 | Status: Image is up to date for appleboy/drone-git-push:latest
4 | + git add --all
5 | + git diff-index --quiet HEAD --ignore-submodules
6 | + git commit -m Update readme to new version [CI SKIP]
7 | + git push origin HEAD:master
8 | fatal: could not read Username for 'https://github.com': terminal prompts disabled
9 | exit status 128

Any idea on how to solve this?
Thanks again,
Ronald

As a workaround, you can manually set the remote parameter with your username and access token: https://<gh_username>:<gh_access_token>@github.com:repo.
Altogether, it's something like this with the code you provided:
  - name: push updated readme
    image: appleboy/drone-git-push
    settings:
      branch: master
      remote:
         from_secret: GH_REPO
      force: false
      commit: true
      commit_message: "Update readme to new version [CI SKIP]"
      author_name: drone-bot
      author_email<EMAIL_ADDRESS>
Alternatively, if you want to use the ssh key instead of the access token, you will still have to set the remote address by hand. Something like this works for me:
  - name: push updated readme
    image: appleboy/drone-git-push
    settings:
      branch: master
      remote_name: origin
      remote: git@github.com:<repo>
      ssh_key:
        from_secret: GITHUB_SSH_KEY
      force: false
      commit: true
      commit_message: "Update readme to new version [CI SKIP]"
      author_name: drone-bot
      author_email<EMAIL_ADDRESS>

Thanks, I'll try it and report back.

Hi
I am having the same issue, if I add an origin in the settings I get the following error:
+ git add --all
+ git diff-index --quiet HEAD --ignore-submodules
+ git remote add origin git@github.com:<repo>
error: remote origin already exists.
exit status 3```


Develop a cloud crawler

As we discussed, we are going to build a crawler that utilizes cloud computing.

After exploring, Firebase does not provide support for Firefox Addon. It seems that LocalBase may be something that we can use since it states that it gives us an offline database with the simplicity & power of Firebase and it relies on IndexedDB database (also used in our extension). However, it is not ideal, since all the data is stored in the user's browser. We still need to somehow transfer the data to our local host since the browser is running in Docker.
I believe that there is some way that I can download the csv file from Docker to the local machine. I am still working on it.

Firebase does not provide support for Firefox Addon.

That is not necessarily an issue. We need a database. The service we use for crawling can be separate from the service we use for the database.

As we discussed today, @Jocelyn0830 and @katehausladen will explore a bit more:
(1) the architecture of our new crawler and database and
(2) which services we can use to cloudify it.
A bit more detail:
(1) Architecture:
(a) Crawler: Our crawler (i.e., Selenium headless browser + Firefox extension) does not need to have its own database. So, the IndexedDB can go out.
(b) Database: Our crawler can send all crawl data to a backend database that is separate. For example, the database can be a SQL/MySQL/SQLite database. The extension contains JavaScript code for connecting to the database and sending data there via HTTP requests (e.g., POST requests).
(2) Cloudification,
(a) Crawler: @Jocelyn0830 already has some ideas for the crawler, e.g., deploying a Docker image on some service. For example, here is a tutorial mentioning Google Cloud Run.
(b) Database: For the database, there are different Google Cloud Databases. For example, Cloud [SQL for MySQL](Cloud SQL for MySQL) may be an option. @katehausladen knows about MySQL and can help @Jocelyn0830 to create a database. Before the cloudification, it may be worthwhile to create a local database (e.g., using XAMPP) to see how it goes.
These are just suggestions. We may go a different route, use different tools and technologies, etc. The important point right now is to explore the possibilities. Then, we converge.

Glitch may be also worthwhile to check out for a cloud SQL database (for (2)(b) above). In particular, there is a little sample project with a SQLite database. It also includes a front-end with two web pages that connect to the database. Instead of the webpages we would use our browser extension. Glitch is similar to Heroku but free (Heroku just remove their free tier).

As discussed @Jocelyn0830 and @katehausladen will scope out the tech stack. We are pretty much set on the frontend (Firefox extension in JS), but we need to find what we use for the backend (e.g., PHY and MySQL, Python/Django, ...) and which cloud offering to use. The idea is to spend some time exploring, for example, with XAMPP or other technologies. Maybe there are also good tutorials.

For now, we are working on determining the tech stacks for the cloud crawler. Concrete tasks will be documented in other issues.

https://towardsdatascience.com/build-a-scalable-web-crawler-with-selenium-and-pyhton-9c0c23e3ebe5 may be another useful resource. The github repo for it is here: https://github.com/Postiii/twds-crawler

In order to get more familiar with docker, I ran the selenium crawler using docker locally. Since the steps haven’t really been documented anywhere as far as I know, here are the instructions I followed. At the time of writing these, there was no xpi file in the repo. When there is one, that could be used rather than compressing it yourself.

Install docker desktop.
Compress the analysis extension to an xpi file using 7zip. I installed 7zip from https://www.7-zip.org/download.html. After unzipping, I got a folder (7z2107-mac) which contained an exe file called 7zz. Jocelyn wrote some instructions on how to use 7zip to compress the extension to an xpi file (attached). I followed her instructions except in the last step I needed the full path to 7zz executable in the 7z2107-mac folder in place of just 7zz.
xpi.pdf
Modify path to the xpi file in selenium-optmeowt-crawler/docker-crawler.js to be the location for the xpi file you just created
Inside selenium-optmeowt-crawler/docker-compose.yml, change the path in line 8 (source: ) to be the path to the selenium-optmeowt-crawler folder
Start the docker desktop application.
In a terminal, navigate to the selenium-optmeowt-crawler folder. In this terminal, run:
npm install
docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-firefox:dev
node docker-crawler.js

It appeared that the crawl was successful, but I could not find the resulting csv file. Jocelyn said she has the same issue. However, going forward this should not be a problem as we will be using the database in google cloud rather than a csv file. In the meeting today, Jocelyn said she has successfully used the google cloud database with the local-crawler.js file.
Now that I am a bit more familiar with docker and the current selenium crawler, I will try to follow one of the tutorials to put the selenium crawler into the cloud.

Great write-up, @katehausladen! Could you add the Selenium Docker instruction to the readme (assuming that is how we are doing things)?

I modified the local-crawler code and docker-crawler code to work with our new analysis extension. Kate provided instructions on how to run them locally on port 4444 in the previous comment. I have been working on deploying the crawler script in the Google Cloud Run. I went through some setups in my Google Cloud Run, and I believe that we need to use Google Cloud Container Registry. I will provide detailed instructions for @SebastianZimmeck once I figured out everything.

Great work @Jocelyn0830 and @katehausladen, once you figured out the whole setup let's include it in the readme (to the extent it is not already in there):

Development Setup
Deployment Setup

We have set up the Google Cloud MySQL and Container Registry using the lab google account. We pushed the selenium standalone firefox nightly image to our registry and successfully deployed it. We also deployed the rest api. Now when we run the crawler script locally, selenium is actually running in a cloud docker container. Our extension is installed in a headless browser in the docker selenium grid. The extension then ran and sent data to the cloud rest api. Kate found out that analysis results of only some sites listed on the sites.csv file were successfully stored in the Cloud MySQL database. It meant that we got the crawler working but we still need to check its performance. We may need to adjust some timeout settings in the crawler script and see if we can have a higher success rate.

Nice work, @Jocelyn0830 and @katehausladen!

At this stage, we have developed a cloud crawler. Closed.


Invoice class has no set/getToken methods

To issue invoice refunds, I need to get the invoice resource token, but there are no methods for it.
And also please check the following lines on Client::getInvoice setToken is commented. Why?

We had previously fixed this in a PR that was meant to add refund functionality that never got merged: https://github.com/abishekrsrikaanth/php-bitpay-client/commit/2a981e707a09fe406abd1a07ed87379451e0d60a
I'll look into it, thank you!


Rename "Limited Action" for states that have already taken action

In cases where we're displaying 3 months of Stay at home (lax) and 3 months of Stay at home (strict), we should rename Limited Action to Restrictions lifted.

Agree!


Communication: Add button to insert user mentions

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
[x] I documented the Java code using JavaDoc style.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[ ] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

With #7206 user mentions are highlighted in messages. However, a user friendly way to insert user mentions is still missing.
Description

For posts and messages, there is a new button above the text editor to insert user mentions. When a user clicks on it, a small pop-up shows at the cursor's position within the text field listing possible mentionable course members. The user can search for a certain user by typing their name or login, which updates the list accordingly. When the user selects one of the options, the user mention is inserted into the text field and closes automatically.
Steps for Testing

Prerequisites:

1 Student
1 Course with messaging and communication enabled

Login to Artemis
Write messages or posts with user mentions by either clicking the button at the top or typing an @ sign
Typing an @ should only open the pop-up at the start of a new line or after whitespace (e.g. not when typing an e-mail address)

Hint: The inserted user mentions are not parsed within this PR, hence they look just like normal text in sent message. The client-side parsing is done in #7206.
Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Exam Mode Test

[ ] Test 1
[ ] Test 2

Test Coverage

Client

Class/File
Line Coverage
Confirmation (assert/expect)

course-management.service.ts
85.71%
✅

userMentionCommand.ts
100%
✅

interactiveSearchCommand.ts
100%
✅

markdown-editor.component.ts
57.29%
✅

select-with-search.component.ts
97.56%
✅

posting-markdown-editor.component.ts
97.22%
✅

Server

Class/File
Line Coverage
Confirmation (assert/expect)

CourseResource.java
94%
✅

Screenshots

Also one general question did you try what happens if you have a user tag in a user tag?


Http md writing

took contents from car/data_model/http.yml and created corresponding http.md file as it was missing. I created the coverage map table, however I am unsure precisely what the original authors would have populated in this table without speculation, so I am leaving it blank for now.

quick double check looks good.


23Q2-Q4 planning for chalin

🟢 Actively being worked on:

[ ] #3476

🟡 Top / next to do:

[ ] #2793

[ ] #3392
[ ] #2721

[ ] #3463
[ ] #2178
[ ] #897
[ ] #2448
[ ] #2429
[ ] #1636
[ ] #1194
[ ] #897
[ ] #3149

🔴 Blocked/awaiting review or merge:

[ ] ...

🟠 Other to do:

[ ] ...

☑ Done (selected):
For a complete list, see merged 23Q2-Q4 PRs.

[x] #3458
[x] #3127
[x] #3415
[x] #3218
[x] #3400
[x] #2851
[x] #3417
[x] #3122
[x] #3083
[x] #3013
[x] #2814
[x] #2642
[x] #2387
[ ] ...

General top items, infrastructure tasks (high & medium priority), carried over from https://github.com/open-telemetry/opentelemetry.io/issues/1511#issuecomment-1222806150:

GDPR - #1636
Policies for redirects for deleted pages
Check For External Links - #1052
Section Parameters for component versions:

#1194
#1963

Markdown Checks - #1063
Tooling for code excerpts

Later I'll convert the above to a real task, and copy other other relevant items from #1511.
Prev/next:

#2163
#3739

Done, follow through with:

#3739


Failed to parse export

Getting a "Failed to parse 1 exports!" error when trying to open the attached files. Other files work fine.
Game runs on Unreal Engine 4.27
(<IP_ADDRESS>, ++UE4+Release-4.27-CL-0)
DT_BeerStyles.zip
Windows 10 / UAssetGUI v<IP_ADDRESS>-alpha.7

U need to add two MapStruct Overrides
in Edit->Edit map struct type overrides... add
KeyBeerStatRanges | null | FloatRange
CriticalStatRanges | null | FloatRange


Dialog indeterminate progress possible bug

Hi,
I'm experiencing some issues using the code below:

    MaterialDialog mProgress = new MaterialDialog.Builder(mContext)
            .title("Title")
            .progress(true, 0)
            .positiveText("Cancel")
            .onPositive(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    //Code
                }
             })
            .showListener(new DialogInterface.OnShowListener() {
                @Override
                public void onShow(DialogInterface dialogInterface) {
                    //Code
                }
             })
            .buttonsGravity(GravityEnum.CENTER)
            .progressIndeterminateStyle(true)
            .autoDismiss(true)
            .cancelable(false)
            .show();

Progress circle is shifted to the right and action buttons do not change their position. How to solve?

That doesn't appear to be the correct code you posted above. There is no use of .progress(boolean, int) and you are specifying horizontal indeterminate style.

A horizontal indeterminate progress dialog looks like this:

Ah, I see the problem now after using the right code:

It's actually not related to action button gravity at all. It's related to not having any content. It works fine if you add content:

@peppe130 fixed the underlying issue, the progress spinner will be in the correct position if you specify no content. You should however use content instead of a title in your case above.
Regarding the button gravity, this is how it works: https://github.com/afollestad/material-dialogs#gravity

@afollestad Thank you so much.


Show warning on modelling page when personal git access token is invalid

Steps to reproduce:

Connect a project to github
Add a valid personal access token
Create a branch
Remove the personal access token
Re-open the branch that was just created and make some file changes

Expected result:
A warning shown next to the branch selector: "Your personal git access token is invalid. Please add a valid access token before making any changes to your project"
Actual result:
There is no message shown next to the branch selector

I was having this ticket's problem (referenced in slack). Now I have a similar issue. I hope it is related enough to add context to this ticket and not noise.
Here's what happened. I had to rename the repo that was backing the Dataform project. That is unusual so I realize this is an edge case. I unlinked the Dataform project from the Github repo. I created a new repo with no commits. Then I linked Dataform to that new repo. Dataform pushed master commits properly but not the branch I was working on. The branch I was working on was still in Dataform and working properly but there was no way to commit changes. The button to the right of the branch name didn't show up even after making changes to files nor by creating new files. You can see this in the screenshot (that's a brand new file). I have tried

Generating a new Github token and adding it to the Dataform project
Hard refresh without cache (command-shift-r)

Neither of these worked. What did work was creating a new branch and pushing it to GitHub. I can confirm on the Github side. So this isn't a blocker for me - I can create a new branch and copy and paste work from my other branch into the new branch and push that. But it did take me a while futzing around trying understand the problem. Attached is a screenshot of the branch that I want to push but doesn't have the commit button.

I hope this helps narrow down the problem. Thanks


Reveal body background issue (Firefox / 6.4.4-rc1)

How to reproduce this bug:

Create a reveal as per docs

What should happen:

Reveal shouldn't affect other elements of the page

What happened instead:

Upon opening the reveal modal, the  background is changed to white

Browser(s) and Device(s) tested on:

Latest version of Firefox

Foundation Version(s) you are using:
6.4.4-rc1 (the issue doesn't exist on 6.4.3)
Test case link:
https://codepen.io/lukeyouell/pen/VrGvQP

This does not come from Reveal, but from a browser bug in Firefox:

with html { position: fixed; }, the html is collapsed and no content has to be print
with html { width: 100%; }, the html take the full width, but the body does not print its gradient
with body { background: #000; }, the background is correctly displayed

See: https://codepen.io/ncoden/pen/dJvoqq

I reported this issue at https://bugzilla.mozilla.org/show_bug.cgi?id=1427251

I think this was introduced at https://github.com/zurb/foundation-sites/pull/10583, where the position: fixed trick was applied to all browser instead of only iOS. The thing is, we had a lot of troube to prevent scroll in modal in all browsers, and I see no way to fix the current issue without high probability of breaking it.
So for now (waiting for https://github.com/zurb/foundation-sites/issues/10824), I'll go for the simplest option which is applying the gradient background on <html> or any child <div> instead of on <body>.
What do you think @lukeyouell ?
Poke @isapir

I'm sorry, when I looked yesterday I didn't realize that there are 2 html elements in CodePen, one from CodePen website and one from the pen itself.  I will have to look at it with a clear mind.  My mind is currently deep in other code.
What I don't understand though, is how come we didn't see it in the Reveal docs when I submitted the patch?  @kball also confirmed that my patch worked.

@isapir

Hi @isapir. Will you have some time to look at this ?

@ncoden @DanielRuf The first thing that I see is that #11065 broke my fix for #7831 on Chrome.  While there might be a browser bug in Firefox that causes another issue, I don't think that this fix was right.  Perhaps we should check if a scrollbar is needed or not by comparing the client height with the content's height.
As you can see in the screenshots of Chromium, while an additional vertical "disabled scrollbar" is added on the right, the background does not shift, and the problem is therefore resolved:
Screenshots from commit https://github.com/zurb/foundation-sites/commit/7f9e3eda:

But after commit https://github.com/zurb/foundation-sites/commit/107c9ab3 the problem is back on Chrome, and the content below the modal shifts when the Reveal opens:

I think that commit 107c9ab3 should be reverted, and then we can find a solution for Firefox until the browser bug is fixed.

@ncoden I checked my patch against Firefox and it seems to work properly there as well for #7831
Firefox screenshots from commit https://github.com/zurb/foundation-sites/commit/7f9e3eda :

And in Firefox https://github.com/zurb/foundation-sites/commit/107c9ab broke it as well - notice the shift both on the vertical and horizontal axes:

When the reveal is open it should block scrolling on the elements behind it and remove the scrolling from them. The "shift" is because the scrollbars are removed then. A double vertical scrollbar is wrong.

find a solution for Firefox until the browser bug is fixed

So there is a Firefox bug? Can you file a bugreport at bugzilla of Mozilla so we can track this?

@DanielRuf See  https://bugzilla.mozilla.org/show_bug.cgi?id=1427251

I guess two different things were confused, the scrollbar issue and the background issue. @isapir

When the reveal is open it should block scrolling on the elements behind it and remove the scrolling from them.

I just tested again and you can not scroll when the modal is open.  The scrollbar is disabled.  @DanielRuf @ncoden

@isapir Your patch works, this is not the point. The point is that there is a double scrollbar in Firefox due to the two overflow: scroll. Does your patch need two of them ?

scroll should be at least auto or many browsers always show a acrollbar even if there is nothing to scroll.

The point is that there is a double scrollbar in Firefox due to the two overflow: scroll. Does your patch need two of them ?

@ncoden I really don't remember all of the details, but at the time I researched the issue in depth and that was the only viable solution that I found.  As you can see in the comments of #7831 that issue was opened for a long time with no good solution, and it affected many users.
I don't think that the patch adds 2 scrollbars.  If you look for example at https://foundation.zurb.com/sites/docs/reveal.html (screenshot below) then you can see that there are already two scrollbars on the right side.

scroll should be at least auto or many browsers always show a acrollbar even if there is nothing to scroll.

@DanielRuf We can perhaps check the height of the content in JavaScript and show/hide the scrollbar if the content is shorter than the window.

We can perhaps check the height of the content in JavaScript and show/hide the scrollbar if the content is shorter than the window.

This is what overflow: auto does, no need for a JavaScript check here.

This is what overflow: auto does, no need for a JavaScript check here.

You convinced me, but can you please tell that to the browsers? ;)
The fact is that the patch that you made broke the fix, so now #7831 does not work anymore.

We could at least try some more test with the isapir patch back, but with one of the two overflow set to auto ? What do you say @isapir @DanielRuf

@ncoden Yes, that would be a good start in my opinion.  At least we'll have a working base point.

https://codepen.io/DanielRuf/pen/XWWNRyw
I think we have to wait longer for the upstream fix in Firefox.


How add custom field to comment (v2.2.15)

How add custom field to comment for example:

likes
disLikes
stars

@Antontsyk you need to use Strapi Extension concept and amend Comment scheme.
If that's not a priority for you I would advice to wait couple weeks as we're working on such feature integration anyway.

Hi @cyp3rius. It is great you're working on that feature. It would be great if some customisation could be eased as adding your own reactions. So for example, not only like/dislike/start but agree/disagree or any other that is reasonable for the app developer.

@cyp3rius hello, do you know approximately when stars/likes feature will be available?

Its near to release 😀
https://github.com/VirtusLab-Open-Source/strapi-plugin-reactions
Possible to do now by your own (still beta) or wait around 2-3 weeks for RC and built in integration in Comments plugin.

@cyp3rius it's possible to make stars in 1-5 range + review (like comment) with new plugin "strapi-plugin-reactions"?
or I should use "strapi-plugin-comments" + custom fields to do that?

The Reactions plugin is generic and its possible to link with any Content Type. I can advice to create 5 reactions like stars 1-5 and calculate rating on average off all reactions.
Hope that helps.

Can I receive the number of likes simultaneously when returning to the comment tree？

Using the Reactions plugin yes. We are working on built-in integration as well.


Note that tsc fails with certain argument options

Documenting the conclusion of https://github.com/Microsoft/TypeScript/issues/18581

We don't need to document every single possible minutae about the commandline parser here. It's a guide, not an exhaustive specification.


--cache-from CLI flag not actually doing anything?

Bug description

Hi 👋 I think this is a technical bug, but it may also be unclear documentation.
I'm setting up repo2docker in my CI workflow, the built image gets published to a public Docker Hub org. In my CI config, I have the following line (truncated):
repo2docker --cache-from DOCKER_ORG/IMAGE_NAME .

The assumption I'm drawing from these docs is that repo2docker will pull the latest tag of my image from Docker Hub and use it as a cache during the build of what will become the updated latest tag (a more sophisticated tagging system is happening too, promise) and, hopefully 🤞, this will speed up my image build.
However, that doesn't seem to be happening and in fact no caching seems to be happening in my CI build at all (versus local builds which are much faster because the image is available locally). Is this a bug or have I misunderstood the purpose of the --cache-from flag?
Expected behaviour

r2d would pull the latest tag of my image from Docker Hub and use it as a cache during rebuilds
Actual behaviour

No caching happens at all (in CI)
How to reproduce

Your personal set up

OS: [e.g. linux, OSX] local OSX, CI linux
Docker version: docker version  19.03.8
repo2docker version repo2docker --version  built from master branch

Digging around the code a bit I found https://github.com/jupyter/repo2docker/blob/1bb0c07bf184e6042c362e59602688bb3cb2241e/repo2docker/buildpacks/base.py#L671 where we pass the cache_from value in to the build() method (docs). So I think our docs are wrong in this case.
It would be cool to implement what the docs promise though. For that to work we'd have to "pull" the image using the docker client before we call build(). One thing to double check is if :latest is added automatically if the user doesn't specify it.
This could be a relatively easy improvement/feature to implement. I am wondering why docker itself doesn't implement this, seems "obvious" that you'd want this :-/

I think one problem we could encounter with such a feature is docker pull taking just as much time, if not longer, than r2d just building from scratch. Especially if you the image is large. But maybe that's a trade-off the user decides?

I think that trade-off is something we should add to the help string. Not sure there is much automatic stuff we can do. Both how long it would take to pull the image and how long it would take to build it are unknown :-/
A little off-topic: I could swear we had an issue/discussion somewhere about providing docker images that contain the first few layers (miniconda setup etc) that almost everyone needs. This would speed up a lot of (first) builds and is probably worth the download. Maybe we should make a new ticket about this idea.

I've put this on my to-do list so will try to get a PR together soon 🌺

I started PR #885 but I could use some support on it 👾