Names instead of IDs on cover?

When I updated the cover, I added this line: https://github.com/hydrogen-sailfishos/harbour-hydrogen/blob/a218183fa992c1930277714840555424c0ec174e/qml/notificationCount.js#L45C1-L45C55
name: item.name || item.heroes[0],

It takes the room name from the room summary, or the first "hero" if there is no room name to show the number of unread messages per room.
However, "heroes" seems to be an array of IDs (@something) instead of display names.
I dug through the hydrogen code base and found relevant parts:

https://github.com/element-hq/hydrogen-web/blob/cd02ef60dc249d3360ae4f346e244d858b13b9ab/src/matrix/room/RoomSummary.js#L176
https://github.com/element-hq/hydrogen-web/blob/cd02ef60dc249d3360ae4f346e244d858b13b9ab/src/matrix/room/members/Heroes.js#L93

I'm at a loss how we can translate the handle into a display name. Any ideas or pointers?

Hi, and sorry for the slow reply.
The communication between the hydrogen-web app and the native application is, as you've observed, a polling script that watches for changes in the IndexedDB.. This is set to 5 seconds because we found out that there's some locking when accessing the database that somehow races with login at times ;-S
I am not sure how to get many details from the database, as I may not have the context to do that as I had one year ago, and that solution was a hackathon-style one.
The correct solution for the notification polling would be to implement the notification API in sailfishos-webview (which I've tried a bit in this year's hackathon, and plan to continue).
For displaying the unread labels, the correct solution would probably be to build our on web app based on the Hydrogen SDK https://github.com/element-hq/hydrogen-web/blob/master/doc/SDK.md#tutorial (I hope).
However, given that you want a more detailed answer sooner, it might be interesting if you would deepen the IndexedDB knowledge we have on current hydrogen-web version.
One thing I remember I did was to

open the web client in Firefox desktop
open developer tools, go to storage
inspect the database 'at will' - of course, this is the hardest part and most work.

For example, given a "hero" @x:matrix.org present in roomSummary in the heroes array, roomMembers contains an entry with key roomId+'|'+hero and the value seems to have a displayName.

Thank you @b100dian, that put me on the right track! Implementing took me way longer than I anticipated but at least it works now ;).


Remove unnecessary Infraction conversion in clean ban

apply_ban already returns the data exactly how it's needed, so we don't need to call the infraction convertor and use an API call to site.

You didn't lint before you pushed, you must now perish.


config: add new dbt download script

Before you run the script, you'll need to auth to the dev Airbyte Kubernetes cluster:
gcloud config set CTA_PROJECT_ID_FOR_DEV
gcloud container clusters get-credentials airbyte-dev-cluster --region us-central1

Full instructions are here: https://github.com/community-tech-alliance/airbyte-kubernetes-infrastructure#kubernetes-setup
Once you choose the "Copy dbt from an Airbyte Workspace" from ./cta_dbt_helper.sh, go to ensure you've chosen "Normalized tabular data" under the "Transformation" tab. Then, sync!

You'll see output noting that the script is looking for a normalization pod. Once it finds it, your dbt should download to your local machine.
You'll see something like this:
Waiting for container main in pod normalization-normalize-3636-0-uutfg to be running... Current status: {"terminated":{"containerID":"containerd://1f433826ef4d231467c282aae75e032b27ddb2276d9cabf82a64e8b820bbb82b","exitCode":0,"finishedAt":"2023-10-23T23:58:13Z","reason":"Completed","startedAt":"2023-10-23T23:57:30Z"}}
Waiting for container main in pod normalization-normalize-3637-0-ksqtt to be running... Current status: {"terminated":{"containerID":"containerd://2359f11ac544d23e10555d21dd2d69ca94613a44929f738567d97e955b4801a7","exitCode":0,"finishedAt":"2023-10-24T00:07:04Z","reason":"Completed","startedAt":"2023-10-24T00:06:33Z"}}
Container main in pod normalization-normalize-3638-0-oajxs is now running.
Copying /config directory from main in pod normalization-normalize-3638-0-oajxs to local machine...
tar: Removing leading `/' from member names
Successfully copied /config directory.
Airbyte normalization exported to local directory -> airbyte_dbt_export/

Made a few changes elsewhere, but tested and everything works end-to-end.
If you run the sync multiple times, you'll notice that the script finds terminated pods. That's fine: it'll start downloading dbt again once it finds a new running pod.

Question: does this need to work in prod and dev? If so, that's fine - just need to update instructions.

Question: does this need to work in prod and dev? If so, that's fine - just need to update instructions.

I'd say it'd be good for this to work in both dev and prod. I think folks may run this by default in dev, but there may be cases where prod is the best way to run it.

I'm curious what sync you used to test this, @michaelefisher. I have gotten stuck while running it on the Impactive sync. Here are the  errors:
sh utils/cta_dbt_helper.sh Starting job to copy Airbyte workspace.. utils/cta_dbt_helper.sh: line 16: ./copy_dbt_from_k8s_pod.sh: No such file or directory mv: rename config/* to .cta/airbyte_dbt_export/*: No such file or directory rm: config/: No such file or directory Failed to grab normalization dbt from -e dev Airbyte

This was addressed in a downstream PR.


Csv Path Conflicts if we use  AuditPolicyCsv multiple times

Hi,
I am using AuditPolicyCsv in my DSC Configuration for Windows Hardening.
So i am making my script more simple by providing configuration data through hash table.
Here is the configuration i am using
  $BaseOsConfig= @{     AllNodes =      @(          @{              NodeName = 'localhost'            AuditPolicies = @{                                 Name      = 'Feature_Audit';                                 Path       = "C:\WindowsHardening\Feature.Auditing\lgpo.audit.csv";                                 },                               @{                                 Name      = 'Role_Server';                                 Path       = "C:\WindowsHardening\Role.Server\lgpo.audit.csv";                                 }            }      ) }
`
Configuration SecurityTest
{
Import-DscResource -ModuleName SecurityPolicyDSC
Import-DscResource -ModuleName AuditPolicyDsc
Node Localhost
{
    foreach ($file in $Node.AuditPolicies)
    {
     Write-Verbose -Message ("Loading Audit Policy File for {0}" -f $file.Name)
	AuditPolicyCsv $file.Name
            {
            CsvPath = $file.Path
            IsSingleInstance = 'Yes'
           }
	}
}

}
 SecurityTest -ConfigurationData $BaseOsConfig -verbose -OutPutPath E:\naren\Naren_Testings
Start-DscConfiguration -Path E:\naren\Naren_Testings -Wait -Verbose -Force `
This script  gives me error :
`VERBOSE: Loading Audit Policy File for Feature_Audit
VERBOSE: Loading Audit Policy File for Role_Server
Test-ConflictingResources : A conflict was detected between resources '[AuditPolicyCsv]Feature_Audit (::30::6::AuditPolicyCsv)' and '[AuditPolicyCsv]Role_Server (::30::6::AuditPolicyCsv)' in node 'Localhost'. Resources have identical
key properties but there are differences in the following non-key properties: 'CsvPath'. Values 'C:\WindowsHardening\Feature.Auditing\lgpo.audit.csv' don't match values 'C:\WindowsHardening\Role.Server\lgpo.audit.csv'. Please update
these property values so that they are identical in both cases.
At line:289 char:9

    Test-ConflictingResources $keywordName $canonicalizedValue $k ...

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [Write-Error], InvalidOperationException
FullyQualifiedErrorId : ConflictingDuplicateResource,Test-ConflictingResources
Compilation errors occurred while processing configuration 'SecurityTest'. Please review the errors reported in error stream and modify your configuration code appropriately.
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:3917 char:5

throw $ErrorRecord

~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (SecurityTest:String) [], InvalidOperationException
FullyQualifiedErrorId : FailToProcessConfiguration`

Workaround i made in my VM
Just to overcome this issue , i have changed "CsvPath"  property attribute from 'Required' to 'Key' @
"C:\ProgramFiles\WindowsPowerShell\Modules\AuditPolicyDsc\<IP_ADDRESS>\DSCResources\MSFT_AuditPolicyCsv\MSFT_AuditPolicyCsv.schema.mof"
Now this script is processing and i can see the .mof is running with out any errors.
The same error with  SecurityTemplate also @ https://github.com/PowerShell/SecurityPolicyDsc/tree/dev/DSCResources/MSFT_SecurityTemplate
I just changed the "Path" Atttribute to Key from Required.
I would just like to Notify the Authors about the error, so they can made the fix  or may be they can suggest the other way to fix them.
Thank you..

The problem I see here is that there is no way to deconflict settings between your CSV files. If the second file steps on a setting from the first file the resource will detect and "fix it", but then you will never be complaint with the first file. Would it be better to merge your CSV files and deconflict your data before giving it to DSC to implement?

@narendarchandha I never heard back from you and wanted to see if I can close this issue.


[0.9.x][UF-364] uberfire-security-management: support for WFLY10/EAP7

This is the first quick&dirty (but working) proposal, mainly to get  feedback.
Few notes:

I basically copied the content of uberfire-security-management-wildfly and then did few needed code fixes. There is a certain duplication. It's just few classes, but still. If we agree it is worth the effort, I will extract the common code into some third module, and reuse it in the two specific ones.
since WFLY10 requires Java 8, this change also means we need Java 8 to build uberfire
I kept the original name uberfire-security-management-wildfly. We could rename that to *-wildfly8, but that would mean breaking backwards compatibility. Not sure what is worse in this case - inconsistent naming or breaking compatibility.

@ederign, @dgutierr, @romartin please take a look.

HI @psiroky ,  I have reviewed this locally, as you say, right now there is quite some duplicity but it can be refactored by a common module yes. So for me +1, sounds good! Thanks! :)
PS: Just a comment, not sure if needed but probably there need to refactor the uberfire-security-management-webapp module as well, in order to use latest wildfly10 provider, once finished.

Thanks for the comments @romartin.
I see the following options for the new modules:

(this is a backwards incompatible change)

 - uberfire-security-management-wildfly (would become packaging POM instead of jar)
     |- uberfire-security-management-shared (common, shared code)
     |- uberfire-security-management-wildfly8
     |- uberfire-security-managemetn-wildfly10

(this is less obvious/more confusing, but would be fully backwards compatible)

- uberfire-security-management-wildfly (support for wildfly8, depending on the -shared module)
- uberfire-security-management-wildfly-shared (common, shared code, moved from -wildfly module)
- uberfire-security-management-wildfly10

@romartin, @ederign what would you prefer?

Hi @psiroky , I prefer the option 1) , it's the clearest one for further usage... as you say it's not backwards compatible, but the migration it's just on Maven side, so should be transparent to the final users is it? So for me +1 :)

Just in case anyone is wondering: I am working on this and will hopefully push the updated version later today.

Replaced by https://github.com/uberfire/uberfire-extensions/pull/284.


Nodeselector

Description
Why is this needed
We have a larger kubernetes cluster running and need to be able to control which node the tinkerbell pods run on. The easiest way for us is to control the pods via a node label and nodeSelector
We also need rufio in the hostNetwork, which is why I have added this too.
We have implemented it like tink-stack/nginx
How Has This Been Tested?
We have installed a 3 node RKE2 cluster and the nodes on which the Tinkerbell pods are to run with
node-role.kubernetes.io/tinkerbell: 'true'.
With the helm value
nodeSelector:
  node-role.kubernetes.io/tinkerbell: 'true'

We then deployed the Tinkerbell stack and checked which nodes the pods were running on.

Thanks for this, @sepauli !


Instructions to edit web site and run server locally do not work

I tried today to go back and run the Mondo website[1] locally following the documentation [2] and received an error:
bash-5.1# jekyll serve -l
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux-musl]
Configuration file: none
            Source: /srv/jekyll
       Destination: /srv/jekyll/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
                    done in 50.94 seconds.
 Auto-regeneration: enabled for '/srv/jekyll'
                    ------------------------------------------------
      Jekyll 4.2.2   Please append `--trace` to the `serve` command
                     for any additional information or backtrace.
                    ------------------------------------------------
<internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- webrick (LoadError)
	from <internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/commands/serve/servlet.rb:3:in `<top (required)>'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/commands/serve.rb:179:in `require_relative'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/commands/serve.rb:179:in `setup'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/commands/serve.rb:100:in `process'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `each'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
	from /usr/gem/gems/jekyll-4.2.2/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
	from /usr/gem/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
	from /usr/gem/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
	from /usr/gem/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
	from /usr/gem/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
	from /usr/gem/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
	from /usr/gem/gems/jekyll-4.2.2/exe/jekyll:15:in `<top (required)>'
	from /usr/gem/bin/jekyll:25:in `load'
	from /usr/gem/bin/jekyll:25:in `<main>'

The GitHub Action does build the site, but there was also a warning message there[3].
[1] https://mondo.monarchinitiative.org/
[2] https://mondo.readthedocs.io/en/latest/editors-guide/mondo-website-editing/
[3] https://github.com/monarch-initiative/mondo/actions/runs/7213740470

This was fixed a long time ago. Shahim created a Docker image and we have updated docs at https://mondo.readthedocs.io/en/latest/editors-guide/mondo-website-editing/ on to run this site.


Module 4 exercises [Ali Mustapha Mohammed]

WS2_M4E1_Template.docx

Well done, Ali. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


Filterning annoucements doesn't work in Entity page

Affected module
Does it impact the UI, backend or Ingestion Framework?
Describe the bug

To Reproduce
Screenshots or steps to reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 0.8]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

Closing this, as it's fixed.
https://user-images.githubusercontent.com/59080942/228333646-d8c38c96-62df-4b5b-94c6-f5e1b53d7975.mov


Also rescue Errno::EHOSTDOWN in send method

Otherwise pod setup fails, just because the stats upload is blocked.
This can happen behind a firewall or when using something like LittleSnitch on OS X.
Signed-off-by: Clemens Gruber<EMAIL_ADDRESS>

Thanks @clemensg looks great - any chance you can add this to the CHANGELOG too please?

Sure, one moment.

Imo this change belongs upstream in nap

@segiddins OK, I can try fixing it there.

@alloy ^

My fix was just merged upstream!

ace, we just need this updated in CocoaPods


Allow addContextProps() to be defined in .page.js enabling client-side only data fetching.

Currently addContextProps() is defined in .page.server.js and always called in Node.js which is an important invariant for people who use SQL/ORM queries in their addContextProps() functions.
This ticket is about enabling addContextProps() to be called in the browser by defining it in .page.js instead of .page.server.js. It would still always be called in Node.js when rendering a page to HTML, but for any susequent page navigation addContextProps() would be called in the browser (when using useClientRouter()).

I do like the idea of keeping everything in as few files as possible, but I think having addContextProps be called with different contexts would be confusing, that's what originally confused me w/ the route file. I'm pretty happy with the current addContextProps setup, but having it all in one file and shaking out the server-side dependencies (see https://next-code-elimination.vercel.app ) could be a nice enhancement.

Yeah, being able to define everything in .page. files would be so great. When I stumbled across this project my immediate thought was "I could make a clone of Remix with this" https://remix.run/
I really like the clean API they have https://www.youtube.com/watch?v=4dOAFJUOi-s&t=1281s

I do like the idea of keeping everything in as few files as possible, but I think having addContextProps be called with different contexts would be confusing, that's what originally confused me w/ the route file.

This ticket is actually about addressing this. Currently addContextProps() is defined in .page.server.js and always called in Node.js which is an important invariant for people who use SQL/ORM queries in their addContextProps() functions. This ticket is about enabling addContextProps() to be called in the browser by defining it in .page.js instead of .page.server.js.

confusing, that's what originally confused me

Clarifying things is a top priority. Proper documentation will go in a long way in clearing things out.

@gryphonmyers If the API server doesn't live on the same machine than the SSR Node.js server, then doing API calls in addContextProps() on the SSR server is an indirection.

I guess what I'm struggling to wrap my head around is, if we can call addContextProps in the browser, then suddenly the context is mutable by the client, right? Currently the assumption is that when we navigate to a new route, we can reliably get that route's context by fetching from either the server or a cached json file, but what if some part of that context was previously mutated by the client? Those mutations would be lost when we fetch the context for the new route

Each page render gets a whole new contextProps which means that contextProps added in the addContextProps() hook don't leak into the next page render.

Ok so this feature would not persist state mutations across routes? It's merely an opportunity for further transformations after the handoff from server to client, for that specific route?

contextProps is always temporary and only exist while a page is being rendered, the only difference here would be that contextProps only lives in the browser (instead of being computed on the server and handed off to the brower).

Ok so this feature would not persist state mutations across routes?

Yes.

It's merely an opportunity for further transformations after the handoff from server to client, for that specific route?

There would no server request at all.

@gryphonmyers
In general with SSR, there are two scenarios:

HTML is fetched/rendered on the server and then hydrated in the browser.
Only the DOM is manipulated; the server is not invovled at all in the rendering process.

When not using useClientRouter() then it's always scenario 1. that is being done.
If using useClientRouter() and addContextProps() is defined in .page.js (as suggested by this ticekt) then, when the user nagivates to a new page, scenario 2 kicks in; the server is not invovled at all. Today addContextProps() is always defined in .page.server.js and therefore vite-plugin-ssr has to make a request to the server to fetch the additional contextProps returned by the addContextProps() hook defined in .page.server.js.
The ticket is about enabling scenario 2 in a way that the server is not invovled at all.
Does that make more sense? Let me know if there are still some confusions.

Ok I think I'm getting closer to understanding the reasoning here. It reminds me of the "preview mode" feature of Nuxt https://nuxtjs.org/docs/2.x/features/live-preview/. This is a mode you can enable for your application which will cause all asyncData to be called on the client as well as the server (asyncData being roughly analogous to addContextProps in our case). This can be useful in cases where you are prerendering, but want to get data that has changed since prerender occurred. This isn't really something you'd use in production - it's specifically for previewing because there is typically some degree of flashing / layout shift.
Is this roughly equivalent, or is this a feature you're imagining would be used in production?

Currently, addContextProps is always called on the server.
This ticket is about enabling addContextProps to be called in the browser instead of being called on the server.
Why would you want that? Because if, for example, you are using a GraphQL API SaaS then your Node.js server will not be geographically close to the GraphQL SaaS servers; hence calling addContextProps on your Node.js server is a wastful indirection; you may want to call addContextProps directly from the browser instead.
That's it.
Thanks for the discussion btw. it makes me realize I should be careful about being clear in the docs.

Yeah, I am 👎 on this, at least calling it context props (or whatever we end up calling serverside props), all of the logic I have would need to be on the server, and sharing the nomenclature between client and server would just be confusing. You can already call graphql on the frontend without this if you need it (e.g. react hooks)

Yeah I agree with @chrisvariety. If I need client side fetches to occur I can make them separate from the SSR context. I think allowing the client to be involved here makes everything more difficult to understand. It's easy to understand the sequence of get context props, then use those to render html. That sequence ends once html is sent to the browser, and everything else that occurs is up to the client application and outside the scope of the SSR process.

I actually also have a strong preference of moving as much stuff as possible to the server. Since pages are server-side rendered anyways, it makes sense to keep stuff on the server-side.
That said, I can see situations where it's usueful to have page transitions that happen 100% in the client-side and where the server is not involved at all.
Anyways, no one's knocking at the door for this feature so I'm keeping this ticket open shall someone need this. (To be clear: I'm not interested in covering 100% of all possible use cases out there, but this seems like an important enough one to cover.)
Let's continue the discussion shall someone push for this.
Rest assured, the docs will keep things server-side and, thanks to well-designed docs, the added complexity will only affect people who want this.
I'm removing the discussion label for the time being, but feel free to reply and disagree with anything I say.

After much consideration, I will most likely mark this as wont-fix. As @gryphonmyers and @chrisvariety
pointed out, this would just inherently complexify things. I now believe that there is no way to implement this in a way the keep things simple.

Closing this. If someone reading needs this, let me know.


IMPROVE - Error Handling Adding a Maintenance Event #9

gray out the "Add" button, until the user has filled in the title

gray out the "Add" button, until the user has filled in the title

Hii, Where will put #Hacktoberfest-accepted tag ?

@narendrajagne it's not needed because it was merged


Wait for final QueryInfo before using in test

Fixes https://github.com/prestosql/presto/issues/5120

merged, thanks!


[tempest]Enable live migration testing

Depends-On: https://github.com/openstack-k8s-operators/nova-operator/pull/574
Depends-On: https://github.com/openstack-k8s-operators/edpm-ansible/pull/513

/hold for the dependencies to land

recheck

recheck

recheck now with the EDPM depends on

recheck dependencies are now landed

/unhold

The live migration test failed with:
nova.exception.MigrationPreCheckError: Migration pre-check error: Unacceptable CPU info: CPU doesn't have compatibility.

It seem we did not bumped to the nova-operator that added skip_cpu_compare_on_dest = true in https://github.com/openstack-k8s-operators/nova-operator/pull/574 as it is missing from the compute config during the job run https://review.rdoproject.org/zuul/build/b2ab5f0df27c43dfa579cf77874015b9/log/controller/ci-framework-data/logs/<IP_ADDRESS>/openstack/config/nova/01-nova.conf

Live migration test passes now test_live_block_migration[id-1dce86b8-eb04-4c03-a9d8-9c1dc3ee0c7b,multinode] pass

recheck
cleanup failed
Task
Detach port
  failed running on host
controller

/unhold

recheck come on baremetal job

recheck this is a gamble, each job passed before, but not at the same time

recheck baremetal job this time :)


Windows: When installing libraries and executables, install .pdb file as well

This has been verified to work well, see #947.
Please, a reviewer?

+1 because it's been verified by someone else (not me)

Good enough for me

Merged.


added back to repo

I addressed your comments, thank you for going through multiple iterations of this PR now. This is import to get ironed out now rather than later!  I am re-requesting your review.


Could not import "package:intl/number_symbols_data.dart" from "package:intl/intl.dart" after upgrade run

When I run flutter upgrade all begun to run fine but then on completing I get the following error within the terminal.
Upgrading Flutter from /Users/??????????????/flutter...
From https://github.com/flutter/flutter
   3ea4d0634..5a58b36e3  beta       -> origin/beta
   2171fcb88..171f94d17  master     -> origin/master
Updating 3ea4d0634..5a58b36e3
 499 files changed, 9730 insertions(+), 3276 deletions(-)

Upgrading engine...
Downloading Dart SDK from Flutter engine e61bb9ac3a3fd789754e2e54220bcfc27076a857...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0 44.3M    0  177k    0     0   248k      0  0:03:02 --:--:--  0:03:02  248k
  6 44.3M    6 3054k    0     0  1781k      0  0:00:25  0:00:01  0:00:24 1781k
 13 44.3M   13 6046k    0     0  2226k      0  0:00:20  0:00:02  0:00:18 2226k
 19 44.3M   19 9006k    0     0  2423k      0  0:00:18  0:00:03  0:00:15 2423k
 26 44.3M   26 11.7M    0     0  2540k      0  0:00:17  0:00:04  0:00:13 2540k
 32 44.3M   32 14.4M    0     0  2595k      0  0:00:17  0:00:05  0:00:12 2930k
 38 44.3M   38 17.0M    0     0  2603k      0  0:00:17  0:00:06  0:00:11 2885k
 44 44.3M   44 19.7M    0     0  2626k      0  0:00:17  0:00:07  0:00:10 2844k
 51 44.3M   51 22.9M    0     0  2693k      0  0:00:16  0:00:08  0:00:08 2893k
 59 44.3M   59 26.2M    0     0  2761k      0  0:00:16  0:00:09  0:00:07 2969k
 63 44.3M   63 28.2M    0     0  2704k      0  0:00:16  0:00:10  0:00:06 2828k
 70 44.3M   70 31.1M    0     0  2721k      0  0:00:16  0:00:11  0:00:05 2880k
 76 44.3M   76 34.0M    0     0  2741k      0  0:00:16  0:00:12  0:00:04 2918k
 83 44.3M   83 37.0M    0     0  2763k      0  0:00:16  0:00:13  0:00:03 2886k
 90 44.3M   90 40.1M    0     0  2791k      0  0:00:16  0:00:14  0:00:02 2848k
 97 44.3M   97 43.2M    0     0  2821k      0  0:00:16  0:00:15  0:00:01 3072k
100 44.3M  100 44.3M    0     0  2831k      0  0:00:16  0:00:16 --:--:-- 3130k
Building flutter tool...
Unhandled exception:
Could not import "package:intl/number_symbols_data.dart" from "package:intl/intl.dart": FileSystemException: Cannot open file, path = '/Users/???????????/.pub-cache/hosted/pub.dartlang.org/intl-0.15.2/lib/number_symbols_data.dart' (OS Error: No such file or directory, errno = 2)
null

Flutter 0.1.5 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 3ea4d06340 (5 weeks ago) • 2018-03-13 13:20:13 -0700
Engine • revision e61bb9ac3a
Tools • Dart 2.0.0-dev.28.0.flutter-0b4f01f759

Running flutter doctor...
Building flutter tool...
Unhandled exception:
Could not import "package:intl/number_symbols_data.dart" from "package:intl/intl.dart": FileSystemException: Cannot open file, path = '/Users/??????????/.pub-cache/hosted/pub.dartlang.org/intl-0.15.2/lib/number_symbols_data.dart' (OS Error: No such file or directory, errno = 2)
null

Then I have also run flutter doctor -v and now it does not run this but give me the following:
Building flutter tool...
Unhandled exception:
Could not import "package:intl/number_symbols_data.dart" from "package:intl/intl.dart": FileSystemException: Cannot open file, path = '/Users/????????????????/.pub-cache/hosted/pub.dartlang.org/intl-0.15.2/lib/number_symbols_data.dart' (OS Error: No such file or directory, errno = 2)
null

Mac Book
macOS High Sierra version 10.13.4 Beta

Can you try git clean -xffd in the flutter repository and then try again?
Maybe also delete ~/.pub-cache/.
We can't figure out what could have caused this other than maybe the packages getting corrupted when you downloaded them.

Hey! @Hixie thanks for the reply, sorry been at work all day and this is on my home machine.  OK so I run those commands and run flutter upgrade again and...
All seems good and I can now run flutter create..  etc
Its running Flutter 0.2.3 • channel beta
Tested a build on my iPhone and all good. :-)
Thank you

great!


How to handle global state?

In Redux, there is only one Store and many sub-reducers/states/actions, and the action and state will flow into specific reducer, you could handle global state through the only Store. But for Reactorkit, View/StoryboardView is binded to its corresponding Reactor, is there a good place to put/subscribe the global state(eg. Logged in user)?

for the global state, you can make subject or reactor in public.
and in your reactor which needs the global state, call 'transform(mutation: ' function.
in detail you'd better to check this.
https://github.com/ReactorKit/ReactorKit#global-states

@JuyeonYu Thanks for your reply!


query: irate/rate gaps not masked by deduplication

I have a test Prometheus/Thanos deployment set up and I just had an instance where it looks like the deduplication isn't working.
Here's the query without dedup:

And here's the query with dedup:

The dedup appears to be just taking whatever replica A says, even though it leads to gaps in the graph, which isn't what I expected.
Is it perhaps that the gap is too short for dedup to do anything, or that I misunderstood how it's supposed to work? Or is there a bug here?

Interesting, so is the penalty twice the duration of the last interruption or something else? That's useful to know although I'm not sure it applies here.
I assume by raw, you mean without irate. Unexpectedly, the raw data don't show gaps for either replica. Maybe it's passing irate through to the backend and then deduplicating on that?
I backed it out to 30 minutes of graph, with more on the left side of the interruption, and made two graphs, one with irate and one without. Here's A:

Here's B:

And here's both with dedup:

Let me know if you need more data.
My intention with Thanos was mostly being able to have uninterrupted graphs during periods where I need to restart/reconfigure Prometheus, with some kind of file-watcher that would handle sending the signal with a timed-lock in Redis to ensure that they don't restart too close to each other. Knowing how long that wait needs to be would be useful, assuming that's the issue.

Interesting, so is the penalty twice the duration of the last interruption or something else? That's useful to know although I'm not sure it applies here.

Yea, and in addition, if the were samples from both replicas we still give penalty to the one that was "later".
// For the series we didn't pick, add a penalty twice as high as the delta of the last two
// samples to the next seek against it.

Yea it is hard to deduct what missed the sample and when, because graph render can potentially mask it.
Also irate is bit specific as it takes only 2 last samples from the 30s range you specified.  See this for more insights on irate https://youtu.be/67Ulrq6DxwA?t=1723 or this https://www.stroppykitten.com/technical/prometheus-grafana-statistics
What rate shows us?
Anyway the correct way to see if there was any gap is to zoom to the range we are suspicious about (weird missing line for irate) and check graph. If we want to be 100% sure we can also change into console tab and ask for <your metric without irate>[30s] and we will see all the samples. (exact timestamps)

Maybe it's passing irate through to the backend and then deduplicating on that?

Nope, this is not the case. We deduplicate raw samples always.

If you are not on K8s, yea your solution is fair, but mhm, why not polling readiness endpoint as well?
Hmm, as far as I remember Prometheus reports readiness when it's ready for scraping, but that doesn't mean that all scrape targets are already run, in this case we could run into some gaps when the first server is down already and the other didn't start scraping data, so adding an additional delay could help (of course I could be wrong on this, as I didn't exactly investigate that case yet ;)

Very good point, was bit worried about it, but TBH I never have seen any drop sample from rollout process. Because we are doing it bit manually right now. (we have rollout script). Is there any way to do k8s rollout statefulsets like deployment? (: (since we have two replicas) @deejay1 ?
We may want to invest more time on this (: (Test rollout process hardly to find if we are reliable on that)

I zoomed really far in and was unable to find any gaps in the raw metric. Unfortunately, I don't see a way to select the time with console view. Looks like the time/range selector is only on graph view?
I'm not on k8s, but I didn't know about the readiness endpoint but I suppose I should have expected it given how big Prometheus is in the k8s community. But, yeah, if it doesn't actually indicate backend-readiness, then the best it can reliably do is give me a minimum point. I guess I could wait for ready plus the scrape interval, although I'm unsure if asking Consul for the list of services occurs before or after readiness.
Using rate() has the same gap as irate().

I zoomed really far in and was unable to find any gaps in the raw metric. Unfortunately, I don't see a way to select the time with console view. Looks like the time/range selector is only on graph view?

You can do it just fine on in Console (it's not well-known feature):

Will ask awesome Prometheus community what these weird rate/irate gaps mean, but we would love to know first if there was or not any missed sample that maybe render mask.

Ok, we got answer pretty quickly. Thanks @juliusv!
Basically I asked you in the beginning about scrape interval but totally forgot about it later (: It is quite important here, because then if you have 15s interval irate/rate/increase have either 2 or even sometimes 1 sample for [30] range that's why weird gaps (we need minimum of two). Can you try longer range?
@juliusv answer:

bplotka: maybe I missed something, but if the underlying series show no gaps and the scrape interval is 15s, then an irate() window of 30s is simply not enough to reliably not produce gaps in the irate() output
you are not guaranteed to have at least 2 samples under a 30s window with a 15s scrape rate

Nice slides for understanding rate: https://docs.google.com/presentation/d/1CD3ZFsvi1xMzm2wepPLLnLMt9sX0bqxfxEgcr65mgBw/edit#slide=id.g38977d3a7b_0_200

I think that closes explains this issue, right? Let me know if it is not solved in your opinion.

The scrape interval is 15s and using [40s] makes the gaps go away, but that doesn't explain why the gaps aren't filled in by deduplication when the other side doesn't have a gap. It's also only a problem when I have to reconfigure a Prometheus instance.

@treed There is no gap in the underlying data, as your raw counter graphs show, but sometimes with a scrape interval of 30s, you might not have at least 2 points under a 15s rate window (depending on window-to-sample alignment), but that depends on the phase of the data collection, which is slightly different in the two Prometheus instances. But the underlying data is still not gappy (and that's all that matters for deduping/merging), just the irate itself becomes gappy after merging the data.

Sorry, meant to say scrape interval of 15s and 30s rate window.

Ahhhh okay. Thanks for the explanation.


d2i_PKCS8PrivateKey_bio.pod: evp.h include is unnecessary

It is also not allowed by doc nits check to have
multiple includes.
This is urgent as CI is broken.

Agree urgent

Merged to master, 3.1, and 3.0 branches. Thank you for the swift approvals.


Add distribution

Add a setup.py or binder or whatever the cool kids are using these days to distribute python libraries

Fixed by #8

Fixed by #8


Add auto-generate sample for ManagedNetwork and ManagedServiceIdentities

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


Change Stormwater primary color & logo

Updated primary color from red to green per https://southcomm.atlassian.net/browse/CS-3481
Deb also added a new logo to be uploaded as well:

I've uploaded the logo to the same path in S3, site_logo_green.png. Please update the references in the code to this image and provide a screenshot

@B77Mills -- Hey Brian, since you have a PR open for image path changes, could you add this to your PR?

@Alixers505 Can you update the logo in this PR please :)


Outlet defined in storyboard not showing when calling pushFrontViewcontroler

I design 2 view controller in storyboard let just call firstController and secondController. On the firstController i apply SWRevealViewController. When i click in my side menu item it will open secondController as root but when i do that all my outlet i design in storyboard is missing. Only the one that i created manually is showing.  Below is the code i use to call the secondController
SWRevealViewController *revealController = self.revealViewController;
ImageDetailViewController *imageViewController = [[ImageDetailViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:imageViewController];

[revealController pushFrontViewController:navigationController animated:YES];

Anyone had solution to overcome this?

You have to instantiate it from your storyboard then:
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:[storyBoard instantiateViewControllerWithIdentifier:@"secondController"]];
[self.revealViewController pushMainViewController:nc animated:YES];

Thx i developer for the help. now my problem is solve.

https://github.com/iDevelopper/PBRevealViewController


Make missing piece of neuralnet print

Below list should be done.

[ ] print neuralnet property
[ ] print optimizer (with print optimizer prop)
[ ] print loss function when it is not initialized. (if it is initialized, loss layer will be printed)
[ ] Add status to check neuralnet has been run. (issue #290)
[ ] print neuralnet metric after it is run

:octocat: cibot: Thank you for posting issue #423. The person in charge will reply soon.


CTC_Greedy_Decoder outputs sum of logits and not logprobs

CTC_Greedy_Decoder outputs sum of logits and not logprobs
I have been writing my own CTC_Greedy_Decoder function in order to decode the output of a RNN trained with the CTC loss. To check my version, I decided to compare my outputs with TensorFlow's ones. We had the same first output (the decoded label) but we had big differences on second (the logprobs).
After some debugging, I figured out that TF's GreedyDecoder outputs the opposite of the sum of the higher logit of each column. Whereas, in the documentation it is written that we should expect logprobs.
How to fix:

Change the documentation from logprobs to logits
Instead of summing the logits, it would be  better to sum the higher logit of each column minus the logsumexp of the column. With that fix, the output will be logprobs as written in the documentation.

Environment info
Operating System: Ubuntu 16.04
TensorFlow: 1.0.1 running on CPU

Do you mind submitting a PR and CC @ebrevdo ?

I can do that. Should I make a PR to change the doc or to change the code so that the function actually returns logprobs ?

We use un-normalized logits everywhere, so I would go for changing the docs.

+1
On Mar 23, 2017 5:11 PM, "drpngx"<EMAIL_ADDRESS>wrote:

We use un-normalized logits everywhere, so I would go for changing the
docs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/8561#issuecomment-288897478,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtim8BV1l6vHa41zvEDf2Q49h4Iw_xFks5rowoTgaJpZM4Mixgd
.

PR : #8690

Looks like this is already fixed by #8690.
Closing issue.


Registration should be updated if it exists

Currently txacme.client.Client.register() will recover the existing registration if one already exists for the client key; however, in this case, the existing registration will not be modified at all. It should probably be updated with the details from the NewRegistration object, if passed.

Fixed in #97.


How do we translate interactions with client software?

It's fairly obvious how we can handle translations for web UI users, but what about messages we send down the wire to things like python setup.py upload? It's probably too late to do anything about translating that API but what about for future APIs?
Ideas:

Include a unique, unchanging message id with any message that client software can use as part of their own internal i18n system.
Simply respect the Accept-Language header and expect clients to transmit an acceptable Accept-Language header for whatever language their users are in.

@dstufft given we are putting a hold on translations, is this issue still necessary?

Nope it's not needed anymore, I just missed it.


Sometimes https://amp.analytics-debugger.com/ga4.json is not available

From time to time it seems that loading https://amp.analytics-debugger.com/ga4.json file throws a CF host error page. So for all who use it directly from https://amp.analytics-debugger.com could loose tracking events on AMP for their pages.
Idea: Maybe CF caching setup could be improved for ga4.json file, because I think this JSON file is nearly static and could be provided with cache-control: max-age=31536000, public header from host to cache it longer on CF itself without any requests to host system.
CF settings should respect provided cache-control headers for expiration to cache this up to 1 year. For browsers it should be not cached so long via a CF page rules.
When ga4.json file gets changed on host system this URL needs to be purged. This could be maybe done automatically via CF API purge requests.
I think it also depends on related CF setup for https://www.analytics-debugger.com when they are running under same CF account.
Let me know, if I could help here somehow with my CF knowledge from other projects :)

Hi, I'm so sorry about this, the ISP turned down the servers on 23th because I'm traveling and my credit card was deactivated for too many charges overseas ... It took me almost 2 days to solve this.
Things should be up in some hours, and I'm in talk with the provider to change the payment method so they just take to money each month to avoid this kind of issues.
My apologies, being travelling abroad makes things a bit difficult somethings  ...

Service has been restored 07:47pm JSP. I've added an extra failover server located on a different provider and I'm also taking the needed steps to have the servers paid from my bank account rather from my credit card to avoid this kind of issues in the future.
I'm also adding some internal monitoring to get notified on any issues on the service in the future via Slack/SMS.
My apologies for this service interruption.

Added a monitoring page here:
https://status.analytics-debugger.com/

@thyngster thx for fast fixing and enjoy your traveling :)
I will also investigate if it is possible to host your ga4.json file as CF pages with some optimized CF caching settings. Maybe than no extra host servers are required and/or as alternative solution for others who need/want to integrate it without usage of your service.

It's already cached by CF, but if the edge goes down too much time ...
We should be ok tho. I'm closing this for now


Unit tests for UrlSigner

(Obviously need to get the tests working first :)

Yup, forgot that the CI server won't have default credentials.

PTAL

Hopefully the tests should work now. Will merge when green.

@jskeet have you seen the appveyor error before? It looks like these unit tests ran and passed before that error, so it should be good to merge, but I just want to double check.

Haven't seen that before - rebuilding now.

Still failing. Given the timing and since it keeps failing after fetching protobuf, I'm wondering if it has to do with the merge of this PR.

Ah, yes, that would be it - I need to adjust the build scripts. Yes, feel free to ignore that, and I'll fix it tomorrow.


strengthen validate_proof

h/t Mario for suggesting this solution on the Lean Zulip: link

LGTM

(confirmed it fixes the issue we identified while preserving behavior on previous situations we worked on in the past)


Anything following jade loses syntax

There is a small bug in the syntax highlighting when using jade templates
Anything following the close of the template tag has incorrect or inconsistent colors, eg:
<!-- template -->
<template lang="jade">
...
</template>

<style lang="stylus">
@import '../shared'
.complete
	text-decoration line-through
</style>

... offers different stylus syntax highlighting than: note the @import statement
<!-- template -->
<template>
...
</template>

<style lang="stylus">
@import '../shared'
.complete
	text-decoration line-through
</style>

of course this is with stylus and jade syntax highlighting installed in ST3

Should be fixed now in 2.0.0


[$250] IOU - mWeb - User trying to upload receipt by quickly tapping capture button shows error

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

Version Number: v9.0.43-1
Reproducible in staging?: Y
Reproducible in production?:
Submit an expense.
Go to transaction thread.
Tap Add receipt modal.
Quickly tap capture button many times before the camera is initiated.

Expected Result:
User trying to upload receipt by quickly tapping capture button must able to upload receipt.
Actual Result:
User trying to upload receipt by quickly tapping capture button shows error "The receipt didn't upload.Download the file or dismiss this error and lose it."
Workaround:
Unknown
Platforms:

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/f2b02586-3b46-41d7-8eb7-0140ba0d7f2b

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021841557091803230884
Upwork Job ID:<PHONE_NUMBER>803230884
Last Price Increase: 2024-10-02

This is a frontend issue, making it external to get more 👀

I cannot reproduce this error consistently in staging. Also, I don't think this specific behavior on mweb should be considered a blocker, but it still needs a fix

hi @fedirjh can you review this proposal? TY!

Not overdue waiting for C+ review and/or more proposals

@fedirjh can you provide an update on this? Thanks!

Thanks for the review @fedirjh, assigning @QichenZhu 🚀

@fedirjh This is marked as mWeb only, but I got an error pop-up when testing on Android, and the app crashed on iOS.

Android
iOS

Do you think it should be handled in a separate issue?
cc @marcochavezf @Christinadobrzyn

I think we can just include it in this issue if it's the same issue on a different device. Does that sound good, @fedirjh?

I think the issue on Native platforms is a separate issue. Previously, we had an issue #36520, where double tapping the shutter caused an error. It was fixed by #38320 for the new money request workflow but not for the edit request workflow, so it appears here now.

Proposal
Updated
Added the root cause and solution for the native platform issue.

@fedirjh can you please review and let us know what you think is best, should these be fixed together or separate?

@QichenZhu thanks for bringing this up, the solution for native LGTM. We can address any other issue in the PR

Just checking in on this, I think we're working on a PR, is that right @QichenZhu?

@Christinadobrzyn The PR https://github.com/Expensify/App/pull/50770 has been merged and deployed to staging.

Payouts due:

[ ] Contributor: $250 @QichenZhu (Upwork offer - https://www.upwork.com/nx/wm/offer/104415140)
[ ] Reviewer: $250 @fedirjh (payment through NewDot)

@fedirjh do we need a regression test for this?

Awesome! payment day is today.
Regression test https://github.com/Expensify/Expensify/issues/442076
@fedirjh can you please request payment through ND?

DMd @fedirjh to request payment. Going to close this as complete since that's all that's outstanding.

$250 approved for @fedirjh


feat: Extract FileRead and FileWrite trait

As part of https://github.com/apache/iceberg-rust/issues/356, this PR extracts the FileRead and FileWrite traits.
With this PR, we no longer depend on futures::AsyncRead, futures::AsyncWrite, tokio::io::AsyncRead, or tokio::io::AsyncWrite. Instead, we've introduced our own IO trait as a bridge to implement upstream traits directly, reducing overhead. For instance, by implementing parquet's AsyncFileRead directly, we eliminate the need to copy bytes just to satisfy futures::AsyncRead.
Additionally, the new design will enable us to optimize further in ways that align more closely with our specific business logic.
Bonus: Our new IO traits are both completion-based I/O and vectored I/O ready. We can implement these optimizations once we finalize the API we want to use.

cc @Fokko @liurenjie1024 @ZENOTME for reviews.


Resolved Issue#17 (QuickSort in Java and Python assigned to me)

QuickSort Implementation in Java & Python done (SRILEKHA-V19).
Also README for the corresponding folders have been updated.

@all-contributors please add @SRILEKHA-V19 for code
Thanks for your contribution!


can we hide the detached action from the dropdown actions when selecting models ?

I have the detached actions working perfectly with laravel-nova-excel. That is, they are shown in the upper toolbar next to "create user".
The issue is that when I select some users using the checkbox, they are also shown in the dropdown below that shows non-detached actions.
Is it possible to hide them from there and only have them shown at the top? Again this is specific for the laravel-nova-excel which you include an example code for.
Many thanks

Figured it out. Adding public $showOnIndex = false; to the Excel export action solved it


default vnet

is there a restriction or concept I am not grasping for setting up this appliance on its own vnet?
we have various vnets and environments and it would be nicer to be able to pick a target vnet for this template.

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

ID: 0fdde01c-b8fc-373c-99d0-dd71554fc6f2
Version Independent ID: 6d81c5c7-bbb7-61f4-6f4b-5ffbff2c32f6
Content: Quickstart - Deploy the Ansible solution template for Azure to CentOS
Content Source: articles/ansible/ansible-deploy-solution-template.md
Service: ansible
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

Thanks for your comment. The feedback has been shared with the content owner for further review. Thanks for your patience.

@puicchan Do you know the answer to this?

This is currently not supported. We can add to backlog.

Thanks for the update, @puicchan
@kitkatneko  We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


operators built with COMM_SELF dont handle subdimensions when used on COMM_WORLD

At the moment I'm trying to build my operators on a grid using MPI.COMM_SELF, and then use them on a distributed grid using MPI.COMM_WORLD. In particular when switching to WORLD the boundary conditions get applied along the internal boundaries.
I've got an example  that reproduces this, showing that when the two communicators match then we get expected results, but when they dont match the boundary conditions are incorrect.
In my example I use $u_{n+1} = u_n + 1$ with the boundary condition $u = -1$. (This is not the real equations we're interested in - just the simplest reproducer I was able to construct.)
First I construct some simple dimensions, for the interior calculations and the boundaries.

spacedims = ["x", "y"]
spacings = [Constant(name="h_%s" % d, dtype=np.float32) for d in spacedims]
dimensions = tuple(SpaceDimension(d, spacing=s) for d, s in zip(spacedims, spacings))
x = dimensions[0]
y = dimensions[1]
x_left = SubDimension.left(name="x_left", parent=x, thickness=bc_thickness)
x_right = SubDimension.right(name="x_right", parent=x, thickness=bc_thickness)
y_left = SubDimension.left(name="y_left", parent=y, thickness=bc_thickness)
y_right = SubDimension.right(name="y_right", parent=y, thickness=bc_thickness)
internal_dims = tuple(
    SubDimension.middle(
        name=d.name + "i",
        parent=d,
        thickness_left=bc_thickness,
        thickness_right=bc_thickness,
    ) for d in dimensions
    )

Next a simple function to create the operator using these:
def build_operator(name, comm):
    nx=10
    ny=10
    grid_shape = ( nx + 2 * bc_thickness, ny + 2 * bc_thickness,)
    grid = Grid( shape=grid_shape, dimensions=dimensions, comm=comm)
    u = TimeFunction(name='u',grid=grid, space_order=0, time_order=1)

    # Limit our update to the interior of the domain
    interior_eq = Eq(u.forward, u + 1)
    internal_dim_subs = {d: di for (d, di) in zip(dimensions, internal_dims)}
    interior_eq = interior_eq.xreplace(internal_dim_subs)

    # Limit out boundary conditions to the boundary
    bc = Eq(u,-1)
    x_left_bc = bc.xreplace({x:x_left})
    x_right_bc = bc.xreplace({x:x_right})
    y_left_bc = bc.xreplace({y:y_left})
    y_right_bc = bc.xreplace({y:y_right})

    actions = [interior_eq, x_left_bc, x_right_bc, y_left_bc, y_right_bc]
    return Operator(actions, name=name)

I then run these and dump the arguments to see what is going on
You can see the full application and its output when run with 2 ranks at this link: https://gist.github.com/mikeando/955703897b35fa3b523752041d61fee4
The key issue can be seen by comparing the WORLD+WORLD case loop bounds with the WORLD+SELF loop bounds
op and grid both from WORLD (Correct)
              Rank 0      Rank 1
bc x left  :  0 --  3  :  0 -- -1
interior xi:  4 -- 11  :  0 --  6
bc x right : 12 -- 11  :  7 -- 10

op built with SELF, grid on WORLD (Wrong)
              Rank 0      Rank 1
bc x left  :  0 --  3  :  0 --  3
interior xi:  4 --  7  :  4 --  6
bc x right :  8 -- 11  ;  7 -- 10

closing as fixed by #1009


Feature: auto_host_rewrite with STATIC clusters

Title: Feature: auto_host_rewrite with STATIC clusters
Description:
The option auto_host_rewrite works only with STRICT_DNS and LOGICAL_DNS clusters. Is there a reason that auto_host_rewrite is not available for STRICT clusters also?
We have a use case where we don't have DNS, just static IP endpoints. And we need the upstream request to contain in the authority the IP address of the selected host. Using the auto_host_rewrite would be ideal, but it does not work with STATIC clusters. We tried to use auto_host_rewrite with STRICT_DNS, and it works OK with ipv4 (apart from some extra DNS queries) but with ipv6 we stumbled upon https://github.com/envoyproxy/envoy/pull/18945.
I was wondering whether it is a design decision to not allow auto_host_rewrite with STATIC clusters. Do you expect negative side-effects?
Is just difficult to implement due to the code structure? Or simply it is just a feature that has not been implemented yet.
[optional Relevant Links:]
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-auto-host-rewrite
https://github.com/envoyproxy/envoy/pull/18945

I think this should reasonable be able to be made to work for static clusters, PRs welcome.

I'm not a C++ expert but I'd like to try and have a look at this @htuch

Hello,
After some code checking and some testing, I found out that the auto_host_rewrite feature indeed works with STATIC clusters, provided the hostname attribute is configured. I created a PR to update the documentation: https://github.com/envoyproxy/envoy/pull/23248


Add tracking for untrackable quests

Normally you can't track quests that have "no objectives", there should be an option to make them trackable. The objective listed in the tracker can just be the top part of the quest text.

It would indeed be nice to be able to track quests without objectives since the classic UI would tell you that you can't
When you try to track it manually with AutoQuestWatch_Insert() / AddQuestWatch() it will count as being tracked but nothing will actually show up. I don't really know how to solve this problem with minimal effort


youtube-dl: 2020.09.06 -> 2020.09.14

Motivation for this change
https://github.com/ytdl-org/youtube-dl/releases/tag/2020.09.14
Things done

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

[x] NixOS
[x] macOS
[ ] other Linux distributions

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

Is there a reason to backport it? I think it can be postponed to next Stable release without problems (I use unstable, however).

It's a bugfix release though. Will take care of the backport.

Thanks for your contribution @Luflosi! Ported to 20.03 as 10ecc023a9a9368b7406c1e0b9bfd289dd637ff0, to 20.09 as 8af2978ed7f905f3ee836b77a46c4545ed9af8d2.


test(rpc-tunnel-e2e): poc pass worker port to parent window

copilot:all

Current dependencies on/for this PR:

main

PR #3024   👈

This comment was auto-generated by Graphite.

@wittjosiah queued this pull request to merge with Graphite.

@wittjosiah queued this pull request to merge with Graphite.


Add Peerlist favicon

The currently deployed React app uses the default React's favicon: peerlist-readme-badge.netlify.app/.
Please replace it with the official Peerlist logo.

React app is available inside client/ directory in the feature/web-app.
Build locally 👇
git checkout feature/web-app
npm install
npm run start

I would like to work on this

i would like to work on this, do assign it @vinitshahdeo

Hey I can work on this issue, assign it to me please ; )

@Prathamesh-Dukare @heisdinesh @Asmit2952 - please take a look at #30


Feat workspaces from dir

Hello @natecraddock!
Here is my work to support directory subfolders as workspaces.
There are some lint changes because i'm using stylua, I added a file config that match how the code was initially formatted to avoid big lint diffs but there are still tiny changes.
The Sync directories is just a command letting people manage it how they wish though autocmd (or by just running the command when needed). We could run it when opening nvim if needed.
When adding a directory, it stores it as directory, and registers its subfolders as workspaces.
When removing a directory, it removes it as well as its subfolders from workspaces.
When syncing directories, it deletes directory workspaces and recreates them to update everything.
Directories are stored at the same place than workspaces, a type column has been added to differentiate them. They have no date so no conflicts with workspaces sorted by date (they would not appear in results anyway).
I did not created any hook for directories because I didn't see any value, but it could be easily added if some people want it.
I tested this feature during my daily work and it seems working good, at least how I expected.
[update]: I improved the sync method that was just removing and recreating everything to not touch workspaces that was already existing, this way they keep their date and can be sorted.

Thanks for working on this, I'll review it soon!

Sorry I didn't have time to look at this until today, the code overall looks really great! I didn't realize how big of a feature this would be 😅 Thank you again for working on it!
I still need to do some local testing, but I think it's overall good.
I'm actually no longer using nvim as my main editor (I still use it occasionally), so this would be a pretty big maintenance burden for me by nearly doubling the line count for a feature I don't use. The only reason I still maintain this plugin is because it's so easy to maintain!
But I don't want to just throw out all of your work! And I do think this would be useful for other people. I do have a proposal for you: would you want to co-maintain this project with me?
I'm still willing to merge the PR if you say no, but I do think that would help me be confident that this plugin can stay up-to date with nvim :)

No problem, thanks for reviewing it. I also thought it would be less code but here we are ahah.
I just saw your post about co-maintaining this project and I guess that yes I can help you on that. 👍🏼
I know the code now and as you said given the size of the project it shouldn't be a burden for us to maintain it.

Alright, sorry again for the delay, this looks good and it works well in my tests.
Maybe one improvement for the future: Could hidden directories be ignored? It picked up many hidden directories in my testing and I don't expect that to be very useful.
I will add you as a contributor!


Docstring only: Fix math parsing error for Pauli docstring

Summary
:math:`k`th in docstring (or generally math directly followed by a letter) results in parsing error, see qiskit.quantum_info.Pauli under section 'Array Representation'. Assuming this is a Sphinx bug, but as a simple fix replaced by :math:`k`-th. (:class:qiskit.quantum_info.Pauli seems the only place where this issue occurs.)
(Since this is a simple typo fix in the docstring only, I directly opened the PR without filing a bug report first and without adding release notes. Please let me know if this is improper procedure.)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 85.928%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/lex.rs
5
91.92%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
65938

Relevant Lines:
76736

💛  - Coveralls


remove hgmd app

With ticket #739 I removed references to HGMD application/database and created a migration to remove the hgmd table. When this is deployed in production, we can finally remove the hgmd app.

MH: We have imported HGMD entry ensembl, this based on HGMD public info (will be obsolete if we switch to rust)
MH: HGMD Table and App can be removed
MH: Linkout to HGMD should be possible. User-profile setting should have configurable HGMD URL. This should be user configurable. Is in the (small) variants app.
MH: We need to have good configuration cascade, will be in new ticket.

Will be postponed to make upgrade to new versions easier.

After discussion, we will leave the app only with migrations and sufficient comments, so that these will not interfere with upgrades.


Install the SENTINL plug-in

From the docker.elastic.co/kibana/kibana:5.6.3
I am installing the plugin SENTINL
But the installation cannot continue, and the root password is required
root@ubuntu:~# docker exec -it kibana /bin/sh
sh-4.2$ yum install fontconfig freetype
Loaded plugins: fastestmirror, ovl
ovl: Error while doing RPMdb copy-up:
[Errno 13] Permission denied: '/var/lib/rpm/__db.001'
You need to be root to perform this command.
sh-4.2$ su - root
Password:

So, what is the root password

There is no defined root password, root login with a password is locked. If you need to execute commands as root via docker exec you should specify the user with docker exec --user 0 -ti kibana /bin/bash.
$ docker exec --user 0 -ti kibana /bin/bash
[root@4ba61de5bbb1 kibana]#

Having said that, I don't see why you need to re-install the fontconfig and freetype rpm packages, as they are already present in the supplied images:
$ docker exec -ti kibana /bin/bash
bash-4.2$ rpm -q fontconfig freetype
fontconfig-2.10.95-11.el7.x86_64
freetype-2.4.11-15.el7.x86_64

Also, installing plugins into a running container is probably a poor choice. Much better to extend the image by writing your own Dockerfile, like this:
FROM docker.elastic.co/kibana/kibana:5.6.3
USER root
RUN # whatever you need to
USER kibana


Improve JS outline/breadcrumb display for arrow functions

As far as I'm aware, if you have the "Sublime Babel" extension installed, then this extension generates the tokens used to construct the outline in VS Code, since it becomes the active grammar for JS. If I'm wrong, feel free to let me know and close the ticket.
After this Twitter discussion, it seems that there's interest in improving the outline/breadcrumb display for arrow functions.
My proposal: if the arrow function is an argument in a function call, use the name of the called function along with any string literals to visually identify the otherwise unnamed function.
For example:
// Example code
document.addEventListener('click', () => {
  // This would ordinarily display as "<function>"
})

/* Proposed outline display

> addEventListener('click', ...)

*/

I took a quick look at the code but wasn't sure how the tokens are generated or used to form the outline, but I wrote a proof-of-concept using Babel to at least give a sense of my idea. I submitted an issue with VS Code, which was pushed upstream into the TypeScript repo. I'd prefer to learn the ropes and make my PR here, since this is the grammar I use on a daily basis.
Before:

After:

AST Explorer seems to be down at the moment, but you can still see the PoC in this Gist.

Looks like they are handling upstream on VSC's end. Closing here.


Unable to build

I forked the project and after running npm install and npm install:docs I am getting these errors. My goal is to contribute to the project but I seem to be having trouble setting up a dev environment.
npm run build

This file was generated by the output

npm run dev

I am using nvm and have tried using node version 16.8.0 and 16.13.0 and 16.13.2 all returns the same errors.
I also have used different terminals git bash powershell and windows command prompt.
Recorded a video just to add clarity
https://www.loom.com/share/76247990acea4d6fa5b5dd4e0a788ae0

There are no issues.
I just cloned the repo, built the package and the document website and everything works as expected.
My node version is 16.8.0 too.
~/Sites/daisyui-test gh repo clone saadeghi/daisyui
Cloning into 'daisyui'...
remote: Enumerating objects: 112067, done.
remote: Counting objects: 100% (13277/13277), done.
remote: Compressing objects: 100% (7427/7427), done.
remote: Total 112067 (delta 6844), reused 11956 (delta 5789), pack-reused 98790
Receiving objects: 100% (112067/112067), 237.45 MiB | 671.00 KiB/s, done.
Resolving deltas: 100% (45529/45529), done.
───────────────────────────────────────────────────────────────────────────────
~/Sites/daisyui-test cd daisyui
───────────────────────────────────────────────────────────────────────────────
~/Sites/daisyui-test/daisyui npm i
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

added 282 packages, and audited 283 packages in 1m

37 packages are looking for funding
  run `npm fund` for details

7 moderate severity vulnerabilities

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
───────────────────────────────────────────────────────────────────────────────
~/Sites/daisyui-test/daisyui npm run install:docs

><EMAIL_ADDRESS>install:docs
> cd src/docs && npm install

added 219 packages, and audited 221 packages in 2s

41 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
───────────────────────────────────────────────────────────────────────────────
~/Sites/daisyui-test/daisyui npm run build

><EMAIL_ADDRESS>build
> npm run base && npm run utilities:global && npm run utilities:unstyled && npm run utilities:styled && npm run components && npm run merge:unstyled && npm run merge:styled && npm run rtl && npm run prejss && npm run themes && npm run full

><EMAIL_ADDRESS>prebase
> postcss --config src/base src/base/*.css --base src --dir dist

><EMAIL_ADDRESS>base
> cat dist/base/*.css > dist/base.css

><EMAIL_ADDRESS>postbase
> prejss-cli dist/base.css --format commonjs

Process: base -> dist/base.js

><EMAIL_ADDRESS>preutilities:global
> postcss --config src/utilities/global src/utilities/global/*.css --base src --dir dist

><EMAIL_ADDRESS>utilities:global
> cat dist/utilities/global/*.css > dist/utilities.css

><EMAIL_ADDRESS>postutilities:global
> prejss-cli dist/utilities.css --format commonjs

Process: utilities -> dist/utilities.js

><EMAIL_ADDRESS>preutilities:unstyled
> postcss --config src/utilities/unstyled src/utilities/unstyled/*.css --base src --dir dist

><EMAIL_ADDRESS>utilities:unstyled
> cat dist/utilities/unstyled/*.css > dist/utilities-unstyled.css

><EMAIL_ADDRESS>postutilities:unstyled
> prejss-cli dist/utilities-unstyled.css --format commonjs

Process: utilities-unstyled -> dist/utilities-unstyled.js

><EMAIL_ADDRESS>preutilities:styled
> postcss --config src/utilities/styled src/utilities/styled/*.css --base src --dir dist

><EMAIL_ADDRESS>utilities:styled
> cat dist/utilities/styled/*.css > dist/utilities-styled.css

><EMAIL_ADDRESS>postutilities:styled
> prejss-cli dist/utilities-styled.css --format commonjs

Process: utilities-styled -> dist/utilities-styled.js

><EMAIL_ADDRESS>components
> postcss --config src/components src/components/**/*.css --base src --dir dist

><EMAIL_ADDRESS>merge:unstyled
> cat dist/components/unstyled/*.css > dist/unstyled.css

><EMAIL_ADDRESS>merge:styled
> cat dist/components/unstyled/*.css dist/components/styled/*.css > dist/styled.css

><EMAIL_ADDRESS>rtl
> rtlcss dist/unstyled.css -s && rtlcss dist/styled.css -s

><EMAIL_ADDRESS>prejss
> prejss-cli dist/{unstyled,styled}{,.rtl}.css --format commonjs

Process: unstyled -> dist/unstyled.js
Process: unstyled.rtl -> dist/unstyled.rtl.js
Process: styled -> dist/styled.js
Process: styled.rtl -> dist/styled.rtl.js

><EMAIL_ADDRESS>themes
> postcss src/themes/index.css -o dist/themes.css --config src/themes

🌼 daisyUI components 2.13.5  https://github.com/saadeghi/daisyui
  ✔ Including:  components, themes[29], utilities

><EMAIL_ADDRESS>full
> postcss src/full/index.css -o dist/full.css --config src/full

><EMAIL_ADDRESS>postfull
> parcel-css --minify --targets '> 7%' dist/full.css -o dist/full.css

───────────────────────────────────────────────────────────────────────────────
~/Sites/daisyui-test/daisyui npm run dev

><EMAIL_ADDRESS>dev
> cd src/docs && npm run dev

> dev
> npm run createStyleHandlerComponent:dev && svelte-kit dev --open

> createStyleHandlerComponent:dev
> echo '<script>
>   import<EMAIL_ADDRESS>> </script>' > src/components/StyleHandler.svelte

Pre-bundling dependencies:
  svelte
  svelte/store
  color
  randomcolor
  nanoid
  (...and 11 more)
(this will be run only when your dependencies or config have changed)

  SvelteKit v1.0.0-next.267

  local:   http://localhost:3000
  network: not exposed

  Use --host to expose server to other devices on this network

[svelte-preprocess] Deprecation notice: using the "type" attribute is no longer recommended and will be removed in the next major version. Please use the "lang" attribute instead.


[Icon Request] Support for Modernizr config file

[x] I'm sure this issue is not a duplicate.

[x] I'm submitting an icon request:

Type: png
Icon Name: modernizr
Sample original Icon:
Filenames: modernizr.js, modernizrrc.js, .modernizr.js, .modernizrrc.js
Language ids: modernizr

Language Extensions: js

More info: Official modernizr website

The type actually should be filename. @JimiC Can we support it?

It's an rc file just like any other we support.


Echo submissions to Scale

@vishakg I changed the files from LF to CRLF, because otherwise the comparison went a bit nuts (I do personally wish we'd stick to committing LF :) )


810 fix undefined mixin global reset

https://github.com/gregbell/active_admin/issues/810

I'm not sure why all those other commits got in.  This commit has the changes:
https://github.com/andrewroth/active_admin/commit/8ecd322f643f23f802d5dd8608da5ab632159407
And merged to master:
https://github.com/andrewroth/active_admin/commit/b2e4ea729c5b9d721ae4c29fef40bff955c13fa5

(Related to #810)


Updates beyond V98

Heya,
Sorry to bother you, I'm using Opensuse Leap 15.3 and due to the recent CVEs had to switch to flatpack since there are no updated RPMs for UC. Are RPM based distros still supported or would it be best to get the generic tar instead?
Thank you for your work and best wishes.

Yes, I will not be able to update the versions for some time. Please use chromium-freeworld in RPMFusion instead in the meantime.

Thats alright. Though the only description I can find for chromium-freeworld is "chromium with freeworld codecs and widevine-support", are the google dependencies really removed from that version?

No, it is just a build with all available codecs, etc.

On Fedora I switched to the flatpak version https://flathub.org/apps/details/com.github.Eloston.UngoogledChromium. It works fine, I just needed to tweak policy settings (https://github.com/flathub/com.github.Eloston.UngoogledChromium/issues/56).

@wchen342 If you can't update then just say the team clearly you no longer want to maintain this, they will find someone else at least we users don't have to struggle for update.

There is not exactly a team and technically the only clear leader is @Eloston, other people just comes and goes. Otherwise there is no other person I can inform.


Whitespace after ES7 async keyword for arrow functions

Hello. js-beautify format
const double = async (x) => x * 2;

to
const double = async(x) => x * 2;

It continues to work, but seems like bad behavior.
It formatted correctly
const double = async function(x) { return x * 2; };
const double = async x => x * 2;

Given that async/await just made it into node7 it would be great for this to get merged...

@paullryan - if you want to pick up for @afuous left off and work PR #977 to completion that would be greatly appreciated.

Any progress?
eslint-config-airbnb is not happy with the lack of space :(


FreeBSD port

Changes:

Updated README
Updated Makefile so it links against noise1234.o
Fixed typo in src/util/sort.h

That's a great idea


Hosted WebLate Translation

It would be really great if Hosted WebLate was used to translate the app. This would facilitate both sides (translator and developer) as WebLate facilitates translation a lot, and it is possible to use a workflow (or a bot, I don't know exacly) to automate the synchronization of translations from the site to the repository.
WebLate Docs: https://docs.weblate.org/en/latest/

@deadlyjack any progress here?


returns a Signup with reportback and user models after calling Signup…

….post
What's this PR do?
Populates the signup model returned by the Signup.post method in the Signup model. Prevents Gambit from breaking when an user reports back under certain circumstances (detailed in issue-872)
How should this be reviewed?

Install locally
Use Postman to signup and reportback to a thor campaign.
You should not get an the TypeError back from Gambit as described in the issue-872

Relevant tickets
Fixes #872
Checklist

[x] Documentation added for new features/changed endpoints.

Codecov Report

Merging #873 into develop will not change coverage.
The diff coverage is 0%.

@@          Coverage Diff           @@
##           develop   #873   +/-   ##
======================================
  Coverage      9.8%   9.8%
======================================
  Files           26     26
  Lines         1265   1265
======================================
  Hits           124    124
  Misses        1141   1141

Impacted Files
Coverage Δ

app/models/Signup.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


[README] Added Traefik and cert-manager to client list

Coverage remained the same at 93.355% when pulling 760fbeccc3eadf7d4606c37243b9b2135e639c72 on new_clients into c2c5c5cd70f8b311e2e124ca3b5cc1d71c601b7b on master.


adding {}[]  returns array section

I found this simple strangeness of javascript!
I have tested it on Chromium Edge, Chrome, Firefox and IE.
In node.js, {}[] returns array, but {foo: 'bar'}['foo'] returns 'bar'

a={foo: 'bar'}['foo'] // a='bar'
a={}[] // Uncaught SyntaxError: Unexpected token ']'
{foo: 'bar'}[] // []
a={foo: 'bar'}[] // Uncaught SyntaxError: Unexpected token ']'
{foo: 'bar'}['foo'] means read the value of 'foo' key from object {foo: 'bar'}.
But if there is no item in the array, they will be one emty object {} and one empty array [] for JS engine. Just like {};[];.

I hadn't mean "{}[] returns array, but {foo: 'bar'}['foo'] returns 'bar' in node.js" is strange, but I meant "{}[] returns array and {foo: 'bar'}['foo'] returns array in browser console" is strange that added in README.
Anyway, thanks for letting me know how this happened! But I'm still wonder how {}[] returns array in browser console. Is it just a bug?
I want to know one more thing, how {}{} returns undefined in console, instead of returning object or throwing error? (Chromium, node)
{}{}; // undefined
({}{}); // error

Yes, they are strange.
There are 2 meaning for {}: object and block.
For example, the {} in ()=>{} means block. So we need to use ()=>({}) to return an object.
So there are 2 questions:

For each expression, it may not return one single value . Where did REPL read the final result?
For each {}, is it block or object?

Also, REPL is different with directly executing files.

@libook Then, can it be recorded in WTFJS?


[UX] Provide the resource id in Console

We should provide the user with the resource id's in console.
For example the org, project, user ...

:tada: This issue has been resolved in version 0.106.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


CI improvements - Pyodide/WASM

📝 Summary

Expand the CI support for cross-compiling to Pyodide/WebAssembly to at least five projects.
🚀 Tasks / Deliverables

TBD
📅 Estimated completion

24 months milestone
📋 Additional information

Status
Brought over from https://github.com/pyodide/pyodide/issues/3049#issuecomment-2142352968

Package name
Out-of-tree WASM builds
Anaconda.org scheduled uploads

NumPy
✅
✅

PyWavelets
✅
✅

pandas
✅
✅ (https://github.com/pandas-dev/pandas/pull/58647)

awkward and awkward-cpp
✅
Planned

scikit-learn
✅ (improvement via https://github.com/scikit-learn/scikit-learn/pull/29791)
Planned

scikit-image
✅ (setup: https://github.com/scikit-image/scikit-image/pull/7350, improvement: https://github.com/scikit-image/scikit-image/pull/7525)
https://github.com/scikit-image/scikit-image/pull/7440

statsmodels
✅ (setup: https://github.com/statsmodels/statsmodels/pull/9270, improvement: https://github.com/statsmodels/statsmodels/pull/9343)
✅ https://github.com/MacPython/statsmodels-wheels/pull/161

Zarr
https://github.com/zarr-developers/zarr-python/pull/1903, needs https://github.com/pyodide/pyodide/pull/4817 to be released
Planned

numcodecs
https://github.com/zarr-developers/numcodecs/pull/529, stalled by https://github.com/pyodide/pyodide/issues/4779
Planned

SciPy
Planned
Planned

SymPy
Previously existed, they need to be re-enabled
Planned

Matplotlib
https://github.com/matplotlib/matplotlib/issues/27870
Planned

h5py and libhdf5
https://github.com/h5py/h5py/issues/2397
Planned

PyTables
Planned
Planned

Aiming to meet this deliverable within the next 2-4 weeks. Several projects have support (NumPy, PyWavelets, Pandas, scikit-learn), others are in the pipeline (scikit-image, Zarr, Awkward, hopefully also Matplotlib at least). A few others started but on hold due to higher priority items.
Meeting the deliverable won't be the end of it, but we should switch to deploying working interactive docs for a few more projects first, to accelerate the feedback cycle.

We're getting there! Thanks for adding the detailed issue tracker @agriyakhetarpal

Pyodide's alpha releases for 0.27 are now up, @rgommers – should we now look at https://github.com/zarr-developers/zarr-python/pull/1903 again or wait a bit until we have the stable release a short while after?

should we now look at zarr-developers/zarr-python#1903 again or wait a bit until we have the stable release a short while after?

The action there is to make async tests for Zarr v3 work, which doesn't depend directly on that PR but (if I understand correctly) is infra work within Pyodide. If there's nothing higher on your prio list, trying to understand that in more detail and moving it forward would be useful I think.

Initially, this was slightly difficult back when I started with the Pyodide ecosystem, but we've got statsmodels's support backported via https://github.com/statsmodels/statsmodels/pull/9365 so that it could get fast-tracked for inclusion in a new v0.14.4 release with no other changes today :) Both last month and this month involved and will involve a bit of travel and conferences respectively, so we should be able to close the "official" target of five projects down in early November (including Zarr, from the above discussion).
Here is a bit of extra context for any other potential readers besides Ralf and me:

SciPy's in-tree updates have resolved some downstream issues across scikit-learn, scikit-image, and statsmodels; they are always beneficial to do to get close to upstream SciPy. It could get out-of-tree CI support as its upstream FORTRAN 77 rewrites proceed and when the number of patches is sized down in both size (number of SLOC) and intrusiveness (we could consider both metrics related in this context). Hence, while the table mentions that out-of-tree CI builds are planned, in-tree updates coupled with the occasional PRs with patches that get to go into SciPy upstream is a reasonable way to add support.
In a prior discussion, we planned against including h5py's out-of-tree builds because of in-browser usability reasons.

Two questions on the above:

Is it worth spending time occasionally backporting SciPy's upstream rewrites in Pyodide downstream and un-skipping WASM tests as a result? I feel the answer should be "yes", since it helps us know reasonably well how well SciPy works and helps reduce turnaround time for in-tree updates (which come after with SciPy's PyPI releases – twice a year). Here, I don't have a set target in principle, but "occasionally" could refer to "anything more than twice a year". They would be similar to how id_dist was Cythonised (patched in Pyodide now) and how LBFGSB was rewritten (not yet patched). One way to evaluate which rewrites to backport would be to see which and how many tests a particular rewrite allows us to un-skip, since rewrites would be included in the next SciPy release anyway.
If the emscripten-forge ecosystem is able to build updated versions for libhdf5 and h5py sometime down the line (they have something in progress right now), we can look into including the Emscripten-compiled libhdf5.a in the cross-build environment to make it available for out-of-tree linkage, similar to how NumPy includes libnpymath.a and the relevant header files in xbuildenv/site-packages-extras/? And when we unvendor packages' (and libraries') recipes, their updates will become faster because they will get decoupled with Pyodide.

Decoupling recipes in the medium term would make us have to bother a bit less with the first question, too: the rewrites get included in subsequent SciPy releases, which are not in sync with the Pyodide releases, since the timelines have always been and would continue to be different, so some PR that is going to benefit, say, SciPy v1.16 users would be nice to backport to SciPy v1.15 in Pyodide if Pyodide has an upcoming release (i.e., before SciPy's v1.16's upcoming release). That said, there are other reasons besides the difference in release timelines for why the act of porting these rewrites is useful, I believe, which are covered in the question.

Initially, this was slightly difficult back when I started with the Pyodide ecosystem, but we've got statsmodels's support backported via https://github.com/statsmodels/statsmodels/pull/9365 so that it could get fast-tracked for inclusion in a new v0.14.4 release with no other changes today :) Both last month and this month involved and will involve a bit of travel and conferences respectively, so we should be able to close the "official" target of five projects down in early November (including Zarr, from the above discussion).
Here is a bit of extra context for any other potential readers besides Ralf and me:

SciPy's in-tree updates have resolved some downstream issues across scikit-learn, scikit-image, and statsmodels; they are always beneficial to do to get close to upstream SciPy. It could get out-of-tree CI support as its upstream FORTRAN 77 rewrites proceed and when the number of patches is sized down in both size (number of SLOC) and intrusiveness (we could consider both metrics related in this context). Hence, while the table mentions that out-of-tree CI builds are planned, in-tree updates coupled with the occasional PRs with patches that get to go into SciPy upstream is a reasonable way to add support.
In a prior discussion, we planned against including h5py's out-of-tree builds because of in-browser usability reasons.

Two questions on the above:

Is it worth spending time occasionally backporting SciPy's upstream rewrites in Pyodide downstream and un-skipping WASM tests as a result? I feel the answer should be "yes", since it helps us know reasonably well how well SciPy works and helps reduce turnaround time for in-tree updates (which come after with SciPy's PyPI releases – twice a year). Here, I don't have a set target in principle, but "occasionally" could refer to "anything more than twice a year". They would be similar to how id_dist was Cythonised (patched in Pyodide now) and how LBFGSB was rewritten (not yet patched). One way to evaluate which rewrites to backport would be to see which and how many tests a particular rewrite allows us to un-skip, since rewrites would be included in the next SciPy release anyway.
If the emscripten-forge ecosystem is able to build updated versions for libhdf5 and h5py sometime down the line (they have something in progress right now), we can look into including the Emscripten-compiled libhdf5.a in the cross-build environment to make it available for out-of-tree linkage, similar to how NumPy includes libnpymath.a and the relevant header files in xbuildenv/site-packages-extras/? And when we unvendor packages' (and libraries') recipes, their updates will become faster because they will get decoupled with Pyodide.

Decoupling recipes in the medium term would make us have to bother a bit less with the first question, too: the rewrites get included in subsequent SciPy releases, which are not in sync with the Pyodide releases, since the timelines have always been and would continue to be different, so some PR that is going to benefit, say, SciPy v1.16 users would be nice to backport to SciPy v1.15 in Pyodide if Pyodide has an upcoming release (i.e., before SciPy's v1.16's upcoming release). That said, there are other reasons besides the difference in release timelines for why the act of porting these rewrites is useful, I believe, which are covered in the question.

we should be able to close the "official" target of five projects down in early November (including Zarr, from the above discussion).

Great to see that!

Is it worth spending time occasionally backporting SciPy's upstream rewrites in Pyodide downstream and un-skipping WASM tests as a result? I feel the answer should be "yes",

I'd say probably not, since this is mostly extra work (and not just an hour or less) that is anyway going to land in Pyodide. I'd prefer to see time spent on more structural improvements.

2. we can look into including the Emscripten-compiled libhdf5.a in the cross-build environment to make it available for out-of-tree linkage, similar to how NumPy includes libnpymath.a and the relevant header files in xbuildenv/site-packages-extras/?

I really want to get rid of libnpymath.a - shared libraries that cross package boundaries are a really bad idea in Python wheels, and we've had a lot of trouble with it over the years. So my first inclination here is to say that this probably isn't a step in the right direction.

It seems like we've met the deliverables here. There's a few more PRs that look close (e.g. scikit-image wheels PR looks like the code is written, it's just waiting on Pyodide 0.27) and more improvements are always nice, but for the record let's declare victory here:) Issue can stay open for tracking purposes.

more improvements are always nice, but for the record let's declare victory here:)

Yay! Here's to victory! Yes, I'd keep the issue open, too, since there are a few niceties that I'd like to clean up with, such as pyodide/pyodide-actions#12, which is a nice-to-have but not urgent at all.


Questions about usage of registers

Hello, I have some questions about usage of registers.
In GemmKernels.jl/kernel.jl file, function matmul_singlestage, I found
# (2) Load a compute_warp.M x compute_warp.N tile of C from shared memory into registers
warp_tile = @inbounds subdivide(block_tile.MN, Tile(conf.compute_warp).MN, warpId, conf.warps_per_block)

c_frags = LocalArray{Tuple{num_fragments_m, num_fragments_n}, Operator.fragtype_accum(conf.operator, conf.shared_c_layout)}(undef)

@loopinfo unroll for i = 1 : num_fragments_m
    @loopinfo unroll for j = 1 : num_fragments_n
        tile = translate_offset(warp_tile, (M = (i-1)*conf.compute_op_shape.M, N = (j-1)*conf.compute_op_shape.N))
        @inbounds @immutable c_frags[i, j] = transf_sh2rf_c(Operator.load_c(conf.operator, conf.shared_c_layout, shmem_c, tile), tile)
    end
end

which seems simply allocate some memory on the registers, but I found that the LocalArray is defined by
struct LocalArray{S <: Tuple, T, N, L} <: AbstractArray{T,N}
    data::NTuple{L,T}

    LocalArray{S,T,N,L}(::UndefInitializer) where {S,T,N,L} = new{S,T,N,L}()
    LocalArray{S,T,N,L}(data::NTuple{L,T}) where {S,T,N,L} = new{S,T,N,L}(data)
end

where the data are stored as NTuple.
So it that true that the NTuple type in gpu kernel are stored in registers? Or could you please tell me how to allocate memory on registers?

So it that true that the NTuple type in gpu kernel are stored in registers? Or could you please tell me how to allocate memory on registers?

Generally, yes. In Julia, tuple-valued objects are emitted as LLVM IR that keeps the data stored in registers. It's possible that ptxas, the back-end compiler, will spill these to local memory (which is just device memory, i.e., slow), but that's rare.

Do note that there's other limits though, e.g. https://github.com/JuliaGPU/GemmKernels.jl/issues/99, where compiler heuristics prevent creation of large tuples (as they're generally pretty expensive, causing large IR, and for CPU execution are better moved to the heap).


sh: 1: caffe: not found

I met one problem, when I run
"python2.7 prototxt/generate.py CPU
level-1
python2.7 dataset/level1.py
rm -rf log/train1.log
echo "Train LEVEL-1"
python2.7 train/level.py 1 pool_on
echo "=.=""
It give me error like "sh: 1: caffe: not found"
but when I use python, I can import caffe successfully.
could you tell me what's the problem?

put caffe's build/tools path to $PATH and use which caffe to checkout whether the system can locate caffe command.


How to handle secret injection

Hi all,
we are running Nhost v2 in a self-hosted Kubernetes cluster and using a vault that can only inject secrets (S3_ACCESS_KEY, S3_SECRET_KEY, ...) as a file. With all other services (hasura, hasura-auth) it was easy because we can override the entrypoint and run the injected file as a script and then run the origin command (example: /bin/sh /secrets/env pnpm run start).
But with Hasura-Storage we have some problems. Is there any way to inject Secrets (it's only one volume) and use this injected file as a script before starting the Hasura storage server?
We also saw that there is a "-config" flag, but I can't find any more information about the this flag.
Maybe this could be the way to inject a config file with all secrets?
Additional Information

https://www.vaultproject.io/docs/platform/k8s/injector

After some research, it should be possible to set up a .env file as config file that is read by viper.
https://github.com/nhost/hasura-storage/blob/main/cmd/root.go#L48
But how is this done? I mounted a volume and tried to set it as config file:
docker run -v "/Users/ph/Documents/project/secrets:/secrets" --rm -i -t nhost/hasura-storage:0.2.4 serve --debug --config "/secrets/.env"
But in the output it shows that is has not reached the correct condition:

The condition always ends up in this block
https://github.com/nhost/hasura-storage/blob/main/cmd/root.go#L51
What is needed to set this part?
https://github.com/nhost/hasura-storage/blob/main/cmd/root.go#L46
Sorry, but I am not familiar with go-lang :/
Additional Information:

A Blog Article that shows that it is possible to load .env files as config

Hello,
looks like we weren't reading configuration files properly #111 should fix it. You can build a docker image with make build-docker-image (takes a while as it needs to build libvips).
With that fixed you can just pass a configuration file with whatever contents you want, just match the keys with the flag names. For instance:
# hasura-storage.yaml

---
s3-access-key: asdasdas
s3-secret-key: qweqweqw
s3-bucket: my-bucket

And then start the container as you were attempting:
docker run \
    -e "CONFIG=/config/hasura-storage.yaml" \
    -v "/path/to/secret/:/config" \
    --rm -it \
    $IMAGE \
        serve --config=/config/hasura-storage.yaml --debug

Hello, thanks for the reply and the solution. Until you release the new version, I will build and test the image myself, just as you described.

Let me know if it works, if it does I will release right away.

@dbarrosop Seems to work, the configuration is used correctly.
I could only test it locally and there I have only a light setup.
Don't worry, the secrets in the screenshots are the same from this file, I just used it for the test:

Hi @dbarrosop @elitan , any chance we might have a fresh release soon? :) Happy to provide instant feedback if it also works in our dev system then.
Many thanks!

I am trying to release but Github Actions seems to be misbehaving and isn't running the release workflow. I will update here when I managed to get it running.

Ok, new version has been released; docker.io/nhost/hasura-storage:0.2.5.
Let me know how it goes.

@dbarrosop Thanks, works and runs now in our system, I close this solved Issue.


Update disclosure manager sizes

Issue Description
Current sizes for modal manager and slide manager are a limited subset. Consumers are requesting additional options for modal and slide panel sizes.
Issue Type

[ ] New Feature
[x] Enhancement
[ ] Bug
[ ] Other

JIRA created


Unable to start debugger with "/bin/bash --login"

Dear All,

VSCode Version: 1.12.1
OS Version: Ubuntu 17.04
Language : Ruby

Steps to Reproduce:
Background:
I have installed "ruby on rails" using RVM, after that, I could only use the integrated terminal after running the command "/bin/bash --login" i.e. to run in a login shell. and I am also able to config the same in settings.json by modifying "terminal.integrated.shellArgs.linux": ["--login"]
Issue:
now when start the debug with Rails server option. I am getting error Debugger terminal error: Process failed: spawn rdebug-ide ENOENT. unable to understand what this is and how to fix. Please help... I guess this is also down to shell login
Best Regards!!
Ravi

@kattak2k thanks for the issue, but please file the issue against the Ruby extension, this is isn't a VS Code core issue.