Bulkley Habitat Updates

Looks like something is off in the csv formatting. Let me know if you'd like me to take a closer look, the diff is so big it doesn't render in github.

Hi Simon,
Yes, I would appreciate that.
Should I send you the changes I am trying to commit?
Thank you,
Laura Bernardi
GIS Technician
@.***
350, promenade Michael Cowpland Drive, Kanata, ON K2M 2W1
1.877.599.5777 |<PHONE_NUMBER>
CanadianWildlifeFederation.cahttp://www.canadianwildlifefederation.ca/?src=signature | Federationcanadiennedelafaune.cahttp://www.federationcanadiennedelafaune.ca/?src=signature
[seeds]http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1&utm_source=signature&utm_medium=referral&utm_campaign=biod
Let's celebrate Canada's biodiversity by planting pollinator-friendly seeds.
Request your free seeds >http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1?utm_source=signature&utm_medium=email&utm_campaign=mmg
Célébrons la biodiversité du Canada en plantant des semences favorables aux pollinisateurs.
Demandez vos semences gratuites >http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1?utm_source=signature&utm_medium=referral&utm_campaign=biod&s_locale=fr_CA
From: Simon Norris @.>
Sent: Tuesday, June 4, 2024 3:14 PM
To: smnorris/bcfishpass @.>
Cc: Laura Bernardi @.>; Author @.>
Subject: Re: [smnorris/bcfishpass] Bulkley Habitat Updates (PR #507)
CAUTION: EXTERNAL EMAIL / ATTENTION: COURRIEL EXTERNE
Looks like something is off in the csv formatting. Let me know if you'd like me to take a closer look, the diff is so big it doesn't render in github.

Reply to this email directly, view it on GitHubhttps://github.com/smnorris/bcfishpass/pull/507#issuecomment-2148226177, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BCMSYWAPLCPNPE5VXAEZX3DZFYGXHAVCNFSM6AAAAABIZCOC5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBYGIZDMMJXG4.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

No, I can grab the PR - thanks!

On Jun 4, 2024, at 12:20 PM, LauraB-CWF @.***> wrote:
Hi Simon,
Yes, I would appreciate that.
Should I send you the changes I am trying to commit?
Thank you,
Laura Bernardi
GIS Technician
@.***
350, promenade Michael Cowpland Drive, Kanata, ON K2M 2W1
1.877.599.5777 |<PHONE_NUMBER>
CanadianWildlifeFederation.cahttp://www.canadianwildlifefederation.ca/?src=signature | Federationcanadiennedelafaune.cahttp://www.federationcanadiennedelafaune.ca/?src=signature
[seeds]http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1&utm_source=signature&utm_medium=referral&utm_campaign=biod
Let's celebrate Canada's biodiversity by planting pollinator-friendly seeds.
Request your free seeds >http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1?utm_source=signature&utm_medium=email&utm_campaign=mmg
Célébrons la biodiversité du Canada en plantant des semences favorables aux pollinisateurs.
Demandez vos semences gratuites >http://donate.cwf-fcf.org/site/Donation2?df_id=7440&mfc_pref=T&7440.donation=form1?utm_source=signature&utm_medium=referral&utm_campaign=biod&s_locale=fr_CA
From: Simon Norris @.>
Sent: Tuesday, June 4, 2024 3:14 PM
To: smnorris/bcfishpass @.>
Cc: Laura Bernardi @.>; Author @.>
Subject: Re: [smnorris/bcfishpass] Bulkley Habitat Updates (PR #507)
CAUTION: EXTERNAL EMAIL / ATTENTION: COURRIEL EXTERNE
Looks like something is off in the csv formatting. Let me know if you'd like me to take a closer look, the diff is so big it doesn't render in github.

Reply to this email directly, view it on GitHubhttps://github.com/smnorris/bcfishpass/pull/507#issuecomment-2148226177, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BCMSYWAPLCPNPE5VXAEZX3DZFYGXHAVCNFSM6AAAAABIZCOC5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBYGIZDMMJXG4.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>—
Reply to this email directly, view it on GitHub https://github.com/smnorris/bcfishpass/pull/507#issuecomment-2148235780, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKDCHJH3N2I2O5MTDV3WADZFYHPHAVCNFSM6AAAAABIZCOC5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBYGIZTKNZYGA.
You are receiving this because you commented.

It looks like the change is new trailing commas on each line - basically a new empty column.
Remove that column/trailing commas and all should be good.

deleting in favour of #509


Document how to setup Keycloak for identity brokering with CILogon as the example second IDP

@treydock is this something you might have time for?

I can add that to #236. I'll be back in office on 12th, can do then

Added in #236


fix mv in select materialized_view should disable show table

Proposed changes
mv in select materialized_view should disable show table
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


Update oracle-client spec file to 19c

Impact of the new feature
Any DMWM service depending on the oracle.spec file
Is your feature request related to a problem? Please describe.
Oracle 11c is no longer supported. Kate is coordinating/helping groups to migrate to the latest LTS Oracle version, 19c.
Describe the solution you'd like
Oracle instant-client is one of the third-party dependencies that WMAgent (and T0 agent) has.
Communication between the client and server will be encrypted, and the current 11c client does not support it, thus we need to update this cmsdist spec:
https://github.com/cms-sw/cmsdist/blob/comp_gcc630/oracle.spec
to the latest production 19c client.
Further information has been provided by Kate on April 1st, see this link: https://cern.service-now.com/service-portal?sys_kb_id=d6b318f1dbcbe740a1cda4f84b961989&id=kb_article_view&sysparm_rank=1&sysparm_tsqueryId=55b8d4621bc6e8107a841f81bb4bcb50
NOTE that this activity needs to be properly communicated with all the other projects depending on the oracle.spec file, especially T0/DBS/CRAB.
Describe alternatives you've considered
Another alternative is to create a new spec file for the new oracle version (if we are still relying on RPMs...). This way we do not need to discuss those changes with any other DMWM groups.
Additional context
Depends on https://github.com/dmwm/WMCore/issues/10413

Update on this issue as well, after having the opportunity of talking to Kate today.
Our current cmsdist instant client 11.x version should still work with oracle 19 servers (besides a possible problem with old fashion passwds). The only problem will be once the data encryption is enabled on the server, which is not planned for June but more for September or so. Before that happens, we need to ensure our systems are using client 19.
@smuzaffar Shahzad, maybe we can join efforts here, in case you are planning to update the oracle client in CMSSW to version 19 in the coming weeks/months. The large different of gcc version might be a problem, but we could certainly based our work in something that has been built for CMSSW :-D

@amaltaro , I am not planning to update oracle-client for CMSSW. We are already using <IP_ADDRESS>.0 version which supports the new encryption.
One reason to not to move to latest oracle-client is that they have not yet provided OCCI library build for C++ ABI C++11. This is a blocker for cmssw as we link to occi shared library. This might not be the issue for computing tools as I think you are not using  occi

Note to ourselves: https://github.com/cms-sw/cmsdist/pull/6958

cool. Looking forward to test this on int2r before they update cmsr to oracle19

Fixed by https://github.com/cms-sw/cmsdist/pull/7292
Thanks, Erik!


Deprecated selector in scroll-searcher/styles/scroll-searcher.less

In scroll-searcher/styles/scroll-searcher.less:
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:

atom-text-editor .scroll-searcher, atom-text-editor::shadow .scroll-searcher => atom-text-editor .scroll-searcher, atom-text-editor.editor .scroll-searcher

atom-text-editor .scroll-marker, atom-text-editor::shadow .scroll-marker => atom-text-editor .scroll-marker, atom-text-editor.editor .scroll-marker

Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.

Scroll searcher has been updated. Due to recent shadow dom update, this new version will only work with Atom >= v1.13.0.
https://atom.io/packages/scroll-searcher


Request to add transform function to transform new data after the model has been fit.

It would be great if this functionality existed in the javascript implementation as it does in the python implementation here: https://github.com/lmcinnes/umap/blob/master/umap/umap_.py#L1592

I've scoped this out and started work on it - you can track the progress here.
The actual logic of the transform python implementation is a bit tricky, since it relies on a ton of scipy-matrix-specific conventions for shuttling the neighbor weights around... I've roughly ported over the algorithm and I'll just have to walk through its execution to make sure it's working as intended.

Thanks so much for working on this :)
On Thu, Apr 25, 2019 at 10:36 PM Andy Coenen<EMAIL_ADDRESS>wrote:

I've scoped this out and started work on it - you can track the progress
here https://github.com/PAIR-code/umap-js/tree/transform.
The actual logic of the transform python implementation is a bit tricky,
since it relies on a ton of scipy-matrix-specific conventions for shuttling
the neighbor weights around... I've roughly ported over the algorithm and
I'll just have to walk through its execution to make sure it's working as
intended.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PAIR-code/umap-js/issues/5#issuecomment-486904453,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKA3OUF7ALIMAE6CM2KF73PSJTCLANCNFSM4HIIC2FQ
.

PR here
Mind trying this out and seeing if it all works for you?

Oh man! Awesome! I'm at a Google offsite right now but I'll try it out as
soon as I get a chance.
On Mon., Apr. 29, 2019, 8:24 p.m. Andy Coenen<EMAIL_ADDRESS>wrote:

PR here https://github.com/PAIR-code/umap-js/pull/6
Mind trying this out and seeing if it all works for you?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PAIR-code/umap-js/issues/5#issuecomment-487788134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABKA3OWNT35H7QDGXMGCEFLPS6GSFANCNFSM4HIIC2FQ
.


Automate deployments

Currently, at every merge on main a new Docker image is built and made available.
Next step would be re-deploying the backend service to pick up the latest image every time a new one is available.

On hold, waiting for some config changes on AWS from @steppi91.


361 apidoc can't validate Swagger with arrays in parameter list

Add two tests and two jsons

One that contains an array of strings in the parameter list and fails to validate
One that contains a string in stead on an array of strings in the parameter list and successfully validates

So it looks like the issue is just an extra set of enclosing brackets. I've removed the line that adds them and All previous Swagger tests and the new tests I wrote pass. Have a look and let me know if this makes sense to you. Thanks!

LGTM


Application Data container serialization

The page says the following:

The following data types can be used with settings: integers, doubles, floats, chars, strings, Points, DateTimes, and more.

The "and more" part is vague.
What is the requirement for being supported? Primitive type? Structs? ISerializable?
API documentation needs to be precise.

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

ID: 69786f43-9821-73c8-f6c8-7b725f4b85c0
Version Independent ID: 1c8acb2c-fec1-ceab-7a99-26f4a2394de0
Content: Save and load settings in a UWP app - UWP applications
Content Source: windows-apps-src/get-started/settings-learning-track.md
Product: uwp
Technology: get-started
GitHub Login: @QuinnRadich
Microsoft Alias: quradic

DateTime is not supported, attempting to set one in code results in the following error:
onecore\base\appmodel\statemanager\apiset\lib\statemanager.cpp(1482)\kernelbase.dll!00007FFC4AC445A5: (caller: 00007FFC4AC02259) ReturnHr(1) tid(2d30) 80070057 The parameter is incorrect.
    Msg:[IsValueTypeInRange 39]
onecore\base\appmodel\statemanager\apiset\lib\statemanager.cpp(1499)\kernelbase.dll!00007FFC4AC44514: (caller: 00007FFC290A4F57) LogHr(1) tid(2d30) 80070057 The parameter is incorrect.
Exception thrown at 0x00007FFC4ABC4F69 (KernelBase.dll) in Aproneers.App.Windows.exe: WinRT originate error - 0x80070057 : 'Error trying to write application data container value'.
onecore\com\combase\winrt\error\restrictederror.cpp(1016)\combase.dll!00007FFC4C4AC363: (caller: 00007FFC4C4B6049) ReturnHr(1) tid(2d30) 8007007E The specified module could not be found.
onecoreuap\base\appmodel\statemanager\winrt\lib\windows.storage.applicationdatacontainersettings.server.cpp(728)\Windows.Storage.ApplicationData.dll!00007FFC290A4FDD: (caller: 00007FFC290A42B8) ReturnHr(2) tid(2d30) 80070057 The parameter is incorrect.
    Msg:[WriteStateContainerValue LastSyncTime 39]
onecoreuap\base\appmodel\statemanager\winrt\lib\windows.storage.applicationdatacontainersettings.server.cpp(412)\Windows.Storage.ApplicationData.dll!00007FFC290A4324: (caller: 00007FFB238551C8) ReturnHr(3) tid(2d30) 80070057 The parameter is incorrect.
    Msg:[InternalInsertValue LastSyncTime]
Exception thrown: 'System.ArgumentException' in System.Private.CoreLib.dll

This documentation needs to be revisited with an accurate description of what is supported.

Last comment.
https://docs.microsoft.com/en-us/windows/win32/winrt/base-data-types
This page says the above data types are supported

The Windows Runtime data types are supported for app settings.

This page isn't... exactly an API documentation page, more of a introductory walkthrough to the concept. The intent is that users can explore the linked API docs on each individual method to gain a better understanding of the individual bits and pieces.
That being said, I think you are right that this page needs a direct link to the list of supported basic data types, which I'm adding in.


RCTRootView cancelTouches]` is deprecated and will be deleted soon.

RCTRootView cancelTouches]` is deprecated and will be deleted soon.

删除 99 - 103 行即可，不宜把整个方法删除，否则 backInteractive  和 swipeBackEnabled 这两个配置项不能正常工作


Subdirectories showing up at top level

I have an odd problem which is that after generating my report, a lot of my sub directories end up showing up as top level directories in the report.  In fact, I even have duplicates (sort of -- duplicate names that represent different subdirectories).
My directory structure is pretty huge:
Total Size: 2,114.7 GB
Total Files: 3,396,870
Looking at settings.txt, I definitely see duplicate names (with different hashes) which aren't at the top level, but exist as two directories lower down.
I'm not sure how to do any further debugging ...

Looking more, the directories in question don't show up where they are supposed to be at all -- they are missing from the deeper subdirectory path, but rather somehow got reported only at the top of the tree.

I am seeing this as well.


Publish this action in the Marketplace

After merging #16 and releasing a new v1 in #17; it would be good to publish this action in the GitHub Marketplace so people can find it easily. I don't have experience about how it works, but it would be good to research a little.
https://docs.github.com/en/actions/creating-actions/publishing-actions-in-github-marketplace

Meh, we decided to store multiple actions in one repository some time ago. Due to that, we cannot public the action in the marketplace:

Each repository must contain a single action.
The action's metadata file (action.yml or action.yaml) must be in the root directory of the repository.

I don't think it's worth to roll back this decision now. Publishing in the marketplace is a nice to have, and I don't think we will get lot of benefits from it, considering the work we have to undo now.

@humitos Annoying limitation, but I'm fine with that 👍


Wrong value from API used? New tariff update missed?

Today new tariff value should be applied, however they are not reflected via this integration.
However, it might be an issue where the data is collected  as it's also wrong on the website!
Screenshot 01-Oct-2024

Screenshot taken on same day, but other menu: (Tarieven)

Clearly different values.
So, I hope this will resolves itself in a day or two...but I believe this second source could also be used (referred to in other thread), as future price updates are available here also. Maybe this source is more reliable?

I believe Greenchoice updated their webpage (this morning it was in maintenance) and the API URL is changed.
Previous (from previous threads:
https://mijn.greenchoice.nl/api/v2/Rates/2177418?AgreementIdElectricity=2776016&AgreementIdGas=2776016&HouseNumber=&ReferenceIdElectricity=179687&ReferenceIdGas=&ZipCode=
Current website:
https://mijn.greenchoice.nl/api/v2/customers/2177418/rates?AgreementIdElectricity=2776016&HouseNumber=&ReferenceIdElectricity=180620&ZipCode=
Moreover:  "terugleverKostenIncBtw": 0.11616, is now part of the information that can be retrieved. (see other request)
{
  "beginDatum": "2024-10-03T00:00:00",
  "eindDatum": "2024-10-03T00:00:00",
  "stroom": {
    "leveringHoog": 0.12227,
    "leveringLaag": 0.13228,
    "leveringEnkel": 0.12719,
    "leveringLaagAllIn": 0.2917068,
    "leveringHoogAllIn": 0.2795947,
    "leveringEnkelAllIn": 0.2855479,
    "leveringHoogBtw": 0.0485247,
    "leveringLaagBtw": 0.0506268,
    "leveringEnkelBtw": 0.0495579,
    "soortMeter": "DT",
    "rebTeruggaveIncBtw": -631.39009999395,
    "terugLeveringEnkel": 0.12719,
    "terugLeveringHoog": 0.12227,
    "terugLeveringLaag": 0.13228,
    "terugleverVergoeding": 0.145,
    "terugleverKostenIncBtw": 0.11616,
    "terugleverKostenExcBtw": 0.096,
    "terugleverKostenBtw": 0.02016,
    "btw": 0.1487094,
    "btwPercentage": 21,
    "vastrechtPerDagExcBtw": 0.253178,
    "vastrechtPerDagIncBtw": 0.30634538,
    "vastrechtPerDagBtw": 0.05316738,
    "netbeheerPerDagExcBtw": 0.9641,
    "netbeheerPerDagIncBtw": 1.166561,
    "netbeheerPerDagBtw": 0.202461,
    "reb": 0.1088,
    "sde": 0,
    "capaciteit": "3x25A"
  },
  "gas": null
}

Should be fixed with #19. We are using this api now.

Great fix. Works fine. Thanks again


First time going to Add Host shows blank page

Version - master 3/20
Steps to Reproduce:

Install fresh version of Rancher
Create a new environment and switch to it
Click on Add host from welcome page
Click Ok Host URL registration page

Results: Goes to infra/hosts/add/custom, but the screen is blank
Expected: Add host should show up

Will check this after the first RC

In my case , after adding the first host (Digital Ocean in my case) , I am taken to the settings page.
Steps that I did:
Auth is not enabled in the set up.
Adding host to default environment.
When I click in "Add Host"  - > i am taken to  Host URL registration page -> OK -> presented with Add Host- page , choose Digital Ocean , fill all details and click "create".
I am taken to "settings" page.
Expected Behavior:
Should be taken to Infrastructure/Host View.

Version - master 3/23
Not fixed
I'm taken to the Settings page still.

Version - v1.0.0-rc4
Verified fixed


Subscription payment via BTC

We need to enable payments via BTC ( Mainchain and lightning) on the desktop app.
Areej to give UX. Ben to develop.

Ive worked on this UX piece, please check if it meets our requirements @ben-kaufman , leave feedback on figma comments
Section:
https://www.figma.com/design/m5eMFTKD391AiJAXaEzgxB/Bitcoin-Keeper?node-id=6187-19068&t=asu4cejsvchnddge-1
S.S


Add a node name to Error object on error

When on one of nodes run method fails, it emits 'error' event, but the Error object passed in has no information as to which node that error occurred.
As the asyncgraph knows the name of the node registered, it should add nodeName property to Error object so that users can tell where the error occurred.
asyncgraph.on('error', e) {
    console.log('asyncgraph: Error occurred at node %s', e.nodeName);
}

Interesting. Do long-stack-trace libraries help at all here by tying stacks together?

If we could tell which modules initialization was failed, the problem solved. Then user can always why the module failed the initialization.


Use a unary operator for dereferencing

Trying to use * for dereferencing doesn't work very well, because it isn't a unary operator. This means it only works in some contexts. Also it is "stealing" the iterability of the referenced object.
For example
xs = [1, 2, 3]
p_xs = to_ptr(xs)
print(**p_xs, sep="\n")  # fails, splat + deref is treated as kwarg splat

A better deref operator would be unary +:
xs = [1, 2, 3]
p_xs = to_ptr(xs)
print(*+p_xs, sep="\n")

+ looks a bit like *, it just has one fewer spoke.

thanks for bringing this to my attention. i don't think + would be the best operator to use here, since people are generally used to that having to do something with addition. feel free to make a pr but if not ill implement this sometime tmr

The other options for unary operators are ~ and -.
Unary plus is barely used because it is a no-op for most numbers, so people don't have strong associations with it.
Unary minus is used a lot so it looks weird to use for this.
Bitwise complement is occasionally used but isn't recognisable as a mathematical symbol, so that might work too.

Using ~ is definitely the best option, you can implement this in a class with __invert__.

implemented in 1.0.7

As a sidenote, its also possible to implement Pointer.assign as an operator.
You could do something similar to myvalue >> pointer or myvalue >>= pointer and its also possible to implement the reverse, such as pointer << myvalue or pointer <<= myvalue.
Using this operator would call Pointer.assign and easily allow updating the pointer (works especially well for immutable values such as int, str, tuple.)
An example would be
myvalue = 5

p = Pointer(myvalue)

# adds 10 to *int
def add_ten(reference):
   val = ~reference
   val += 10
   val >> reference

add_ten(p)
print(*p)

im a bit confused on what the reverse operator would be, could you explain?

You should be able to find some information here: https://docs.python.org/3/library/operator.html. I would help implement it, but I'm not home right now. For example: if I have class1 + class2 it's going to execute class1's add but if class2 has radd it will execute that.

alright


Upsert on related entries with composite ID (many-to-many) is not possible when ID is not known

Hello everybody,
given a standard many-to-many table like this:
model DocumentUser {
  userId     String   @db.Uuid
  documentId String   @db.Uuid
  document   Document @relation(fields: [documentId], references: [id])
  user       User     @relation(fields: [userId], references: [id])
  @@id([userId, documentId])
}

model Document {
  id          String         @id @db.Uuid
  externalId  String?        @db.VarChar(255)
  users       DocumentUser[]
  @@unique([externalId])
}

I want to upsert a document and make sure that a link to a User is present. This would look like this:
prismaClient.document.upsert({
    where: {
      externalId: someExternalId,
    },
    update: {
      users: {
        upsert: [
          {
            where: {
              userId_documentId: {
                documentId: "", // I can't pass undefined or anything here, if I use an dummy uuid it will fail due to an unique constraint violation
                userId: myUserId,
              },
            },
            update: {},
            create: {
              user: { connect: { id: myUserId } }
            },
          },
        ],
      },
    },
    create: {
      id: v4(),
      externalId: someExternalId,
      users: {
        create: {
           user: { connect: { id: myUserId } }
        },
      },
    }
  });

To upsert the relation, I need to know the documentId, but I only know the externalId at this point. Unfortunately, I also can't run this in a transaction because I can not access the ID from a select or the upsert and perform the upsert on the relation table afterwards.
Any ideas?

Hmm, this is not possible to do in a single query. Workaround would be query the document first for the id.

As @pantharshit00 mentioned, there's no way to do this with a single query yet. You could use interactive transactions that's now in Preview to do this transactionally.

Hmm, this is not possible to do in a single query. Workaround would be query the document first for the id.

It should be doable with a CTE.


chore(client): remove bootstrap.min.css

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

This PR:

Removes the bootstrap.min.css stylesheet from the codebase
Is related to #52030

I'll comment on the code to explain each change, but the high-level approach is:

We don't just rip bootstrap.min.css out, but we are replacing it with the base.css stylesheet exported from @freecodecamp/ui.
We revised base.css and decided to include the Tailwind preflight in the file, which helps remove the inconsistencies in browser default styles. This change to base.css requires a @freecodecamp/ui major version bump.
I wrote a script that grabs all class names from the Bootstrap stylesheet and finds the files in /client that have class names match those classes. I then checked the files and decided either to remove the classes or bring the classes/styles from bootstrap.css to global.css. I moved the CSS styles to an existing/custom class if the Bootstrap style is simple or used by a single component; otherwise I copy-pasted the styles from Bootstrap and would have another cleanup round (some require a considerable amount of code refactoring, I so would rather split that work to a separate PR).

Here is the PR (over my fork) with the script and the Bootstrap usages it found: https://github.com/huyenltnguyen/freeCodeCamp/pull/373.

I also manually performed regression testing by going through each page and comparing the UI with production.

Note for reviewers: Be sure to run pnpm i when testing the PR locally.
Testing

Places I've checked (this is where I'm not methodical, I just wrote down a list of areas popped up in my head and checked them one by one)

Help modal
Donation modal
Completion modal
Shortcuts modal
Donation alert boxes
CTA buttons
Profile image and its responsiveness
Step-based grid
Lower jaw and upper jaw
Breadcrumb
C# challenges
C# exam
C# survey modal
RWD challenges
JS challenges
Python challenge
Certification project
A2 English challenges
Video-based lessons
The Odin project
Home page (/)
/learn
/settings
Profile page
/donate
/supporters
404 page
/blocked
Certification page
Solution modal (on /settings)
Search box (on the nav)
Nav menu
Nav language selector
Footer

The placeholders inside the card input seem no longer centred.

The border of the alert buttons seems affected:


test

qa

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


spicedb: 1.37.0 -> 1.37.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/authzed/spicedb/releases.
meta.description for spicedb is: Open source permission database
meta.homepage for spicedb is: https://authzed.com/
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.37.1 with grep in /nix/store/wzs310clnzfi2w7py3xjl7z8nf7pcfh1-spicedb-1.37.1
found 1.37.1 in filename of file in /nix/store/wzs310clnzfi2w7py3xjl7z8nf7pcfh1-spicedb-1.37.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

spicedb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wzs310clnzfi2w7py3xjl7z8nf7pcfh1-spicedb-1.37.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A spicedb https://github.com/r-ryantm/nixpkgs/archive/c8874bbb84758f60040818eb437ef92fcbefda15.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c8874bbb84758f60040818eb437ef92fcbefda15#spicedb

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wzs310clnzfi2w7py3xjl7z8nf7pcfh1-spicedb-1.37.1
ls -la /nix/store/wzs310clnzfi2w7py3xjl7z8nf7pcfh1-spicedb-1.37.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

spicedb

Maintainer pings
cc @thoughtpolice for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351541

x86_64-linux

:white_check_mark: 1 package built:

spicedb

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 351541

x86_64-darwin

:white_check_mark: 1 package built:

spicedb


Old Electron Version

This uses a very old version of electron (2.0.2 vs 3.*.  As a scaffolding for starter projects/learning, this would be much nicer if more up to date.  I will likely submit a PR when I get my micro type-script + electron app running...

I added a pull request for a version based on the current latest versions of electron and typescript


style lint reserved word error on gulp watch?

Just installed a new test environment to look at the recent changes to the theme, and after npm installing and find/replacing the namespace (air-light) i attempted to run my first gulp watch and received this error that i haven't run into before. Curious if this is a new bug or an issue you may be aware of and have some advice on?
`
gulp watch                                                                                ~
/themes/air-light/node_modules/stylelint/node_modules/cosmiconfig/dist/Explorer.js:54
for await (const place of this.config.searchPlaces) {
^^^^^
SyntaxError: Unexpected reserved word
at new Script (vm.js:51:7)
at createScript (vm.js:138:10)
at Object.runInThisContext (vm.js:199:10)
at Module._compile (module.js:624:28)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
`

I brought Node up to date and rebuilt node-sass - all good.

Yes, we've had package changes lately. Sometimes it's best to try to clean up node_modules (rm -rf node_modules) and rebuild all packages with npm install. Glad you got it solved!


AUIB UNI

UNI website: https://auib.edu.iq/
Location: IRAQ-BAGHDAD

@Abdullah-Hussein2 Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Vocable iOS - Upgrade adding phrases to Recents.

Describe the bug
If there are phrases in the My Sayings category, on upgrade the same phrases will be added to the Recents category.
To Reproduce

Delete the app if installed.
Install the Vocable app from the Apple App store.
Launch the app and add some phrases to the My Sayings category
Upgrade the app with the TestFlight version.
Launch the app after it is finished installing.
Navigate to the Recents Category

Expected behavior
Category should be empty since there hasn't been any recently used phrases.
Actual behavior
Category contains phrases added from My Sayings.
Device Information

Device: 7th gen iPad
OS: iOS 14.8.1

Will need further investigation.


Sync dictionary on multiple hosts

Thanks for the great tool first of all (I've been using mozc for more than 5 years on Ubuntu, Android and OSX)!!
How do people keep the dictionary synchronized on multiple computers?
Since I do not find a feature in mozc to do that AFAICT, what I do is to use file sync tool (e.g. Dropbox) to keep the exported dict file. That works ok but only ok since it can get cumbersome whenever adding changes to the dict, as the dict is read in by the mozc is separate from the exported dict file I think and I'll have to manually update the dict on every host (I use more than 4 hosts on daily basis).
If this usecase makes sense, would that be considered as an enhancement?

I see this ticket labeled obsolete and closed, but as an active user of mozc the usecase I described https://github.com/google/mozc/issues/426#issue-270101560 is still valid but not realized yet AFAIK.
Thanks for the great tool and maintenance.

Thank you for the update.
I have reopened this issue and removed the obsolete label.


#2238 - User Story 3.2 - Send email to user for successful submission

What does this pull request aim to achieve? 💯

Given a signed-in user click on submit then he should receive an automated email confirming successful submission.
_Please be concise and link any related issue(s):#2238

[ ] I have checked that no one else is working on similar changes.
[ ] I have read the latest README and understand the development workflow.
[ ] The name of this branch is: feature/<branch_name> for a regular feature, hotfix/<branch_name> for a hotfix, and service/<branch_name> for a microservice, where <branch_name> briefly describes the issue(s) resolved and is prefixed with the issue number(s) (e.g. 1127-1130-update-git-branching-model). The branch is created in a cloned version of this repo, not a forked repo.
[ ] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[ ] There are no merge conflicts.
[ ] There are no console warnings and errors.
[ ] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".
[ ] The title describes the issue(s) being addressed using format: <issue_numbers> - <brief_issue_description> (e.g. #1127/#1130 - Update Git Branching Model)

Feature cancelled


[Request Feature] Change resolution of preview window when play or pause (with canvas update like Unity)

To change the preview window size, adjust Target Size in Canvas component.
Unity like setting will be added later when have more time.


Structural Data - create derived tasks

Part 5. Structural Data

[x] LINQ query and methods syntax
[x] LINQ to object
[x] LINQ to SQL

Scope

[x] create derived tasks
[x] close this issue after all tasks have been mentioned.

Done


update to odbc-api 0.36.0

Hello Jorge,
this PR handles a breaking change in the newest odbc-api version. AnyColumnView now holds a TextColumnView and BinColumnView. You can get to the old iterator class by calling .iter() on them. This has been introduced to make reading text columns more similar to how other columns work. Also the view intermediare is a good place to have some other helper methods. I added content_length_at in order to figure out the length of the value (in the buffer) at any position and also raw_value_buffer, which allows direct access to the underlying text buffers.
https://docs.rs/odbc-api/latest/odbc_api/buffers/struct.TextColumnView.html
Cheers, Markus

Thanks, @pacman82 ! Makes a lot of sense

Cheers @jorgecarleitao , still busy and currently recovering from Covid, but let me know if any missing features are blocking you.


Could not find mkspecs for your QMAKESPEC

I'm using Ubuntu 13.10.  I've verified I'm using > 4 version of QT and QMake.
$ qmake -v
QMake version 2.01a

Building under ruby 2.1.1 for capybara-webkit 1.1.0 fails:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/user1/.rbenv/versions/2.1.1/bin/ruby extconf.rb
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:
	/opt/anaconda1anaconda2anaconda3/mkspecs
Error processing project file: /home/user1/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.1.0/webkit_server.pro
Command 'qmake -spec linux-g++ ' failed

Makefile not found

@justinwiley I'm also facing the same issue. Can you tell me did you fixed it?

I think I solved this by bumping ubuntu to 14 and getting the latest version of the library.

On Apr 3, 2014, at 18:21, Matthew Horan<EMAIL_ADDRESS>wrote:
Try setting the QMAKE environment variable to the path of your qmake
binary. It's possible your qmake binary has some suffix for version
number, or is in an unexpected place.
On Thu, Apr 03, 2014 at 05:33:01PM -0700, Justin Tyler Wiley wrote:

I'm using Ubuntu 13.10. I've verified I'm using > 4 version of QT and QMake.
$ qmake -v
QMake version 2.01a

Building under ruby 2.1.1 for capybara-webkit 1.1.0 fails:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/home/user1/.rbenv/versions/2.1.1/bin/ruby extconf.rb
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:
/opt/anaconda1anaconda2anaconda3/mkspecs
Error processing project file: /home/user1/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.1.0/webkit_server.pro
Command 'qmake -spec linux-g++ ' failed

Makefile not found

Reply to this email directly or view it on GitHub:
https://github.com/thoughtbot/capybara-webkit/issues/627
--
Matt Horan<EMAIL_ADDRESS>http://matthoran.com/
—
Reply to this email directly or view it on GitHub.

I had the same Anaconda Python issue, where it was added to the PATH

The simplest fix is to reinstall qt. My original version was 4.7.4, I opted to go with 4.8.6 while I was reinstalling. In anaconda (this is the approach that required minimal (re)installing):
conda update conda
conda install -c anaconda qt=4.8.6
I saw the same issue on OSX 10.10.5, py2.7.11 / 12.


Issue using the PostGresOperator

Specifically, what is expected with respect to the "conn_id" argument?
The code below successfully connects to Postgres. I then pass the db_conn object to the PostgresOperator and get an exception shown at the bottom
db_conn_string = "host='localhost' dbname='cousteau_dev' user='siddharth' password='secret'"
db_conn = psycopg2.connect(db_conn_string)
print "Successfully Connected to database\n    ->%s and conn=%s" % (db_conn_string, db_conn)

wait_for_new_data_in_db = PostgresOperator(
    task_id='wait_for_new_data_in_db',
    postgres_conn_id=db_conn,
    sql='select count(*) from receiver_domain_aggregate;',
    dag=dag)
wait_for_new_data_in_db.set_upstream(wait_for_first_sqs_message)

Here's the exception
2015-06-21 20:21:06,789 - root - INFO - Executing <Task(PostgresOperator): wait_for_new_data_in_db> for 2015-06-12 00:00:00
2015-06-21 20:21:06,801 - root - INFO - Executing: select count(*) from receiver_domain_aggregate;
2015-06-21 20:21:06,805 - root - ERROR - (psycopg2.ProgrammingError) can't adapt type 'psycopg2.extensions.connection' [SQL: 'SELECT count(*) AS count_1 \nFROM (SELECT connection.id AS connection_id, connection.conn_id AS connection_conn_id, connection.conn_type AS connection_conn_type, connection.host AS connection_host, connection.schema AS connection_schema, connection.login AS connection_login, connection.password AS connection_password, connection.port AS connection_port, connection.extra AS connection_extra \nFROM connection \nWHERE connection.conn_id = %(conn_id_1)s) AS anon_1'] [parameters: {'conn_id_1': <connection object at 0x10dabe640; dsn: 'host='localhost' dbname='cousteau_dev' user='siddharth' password=xxxxxxxx', closed: 0>}]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/airflow/models.py", line 746, in run
    task_copy.execute(context=self.get_template_context())
  File "/usr/local/lib/python2.7/site-packages/airflow/operators/postgres_operator.py", line 36, in execute
    self.hook = PostgresHook(postgres_conn_id=self.postgres_conn_id)
  File "/usr/local/lib/python2.7/site-packages/airflow/hooks/postgres_hook.py", line 25, in __init__
    if db.count() == 0:
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2734, in count
    return self.from_self(col).scalar()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2503, in scalar
    ret = self.one()
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2472, in one
    ret = list(self)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2515, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2530, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
    context)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
    cursor.execute(statement, parameters)
ProgrammingError: (psycopg2.ProgrammingError) can't adapt type 'psycopg2.extensions.connection' [SQL: 'SELECT count(*) AS count_1 \nFROM (SELECT connection.id AS connection_id, connection.conn_id AS connection_conn_id, connection.conn_type AS connection_conn_type, connection.host AS connection_host, connection.schema AS connection_schema, connection.login AS connection_login, connection.password AS connection_password, connection.port AS connection_port, connection.extra AS connection_extra \nFROM connection \nWHERE connection.conn_id = %(conn_id_1)s) AS anon_1'] [parameters: {'conn_id_1': <connection object at 0x10dabe640; dsn: 'host='localhost' dbname='cousteau_dev' user='siddharth' password=xxxxxxxx', closed: 0>}]

Since I can connect using psycopg2, I'm going to revert to using a PythonOperator. My flow is entirely made up of PythonOperators. I found it easier to use.

Hi @r39132,
The postgres_conn_id refers to a key in the Connection's model of the Python app. In the app UI, under Admin, there is a Connections view (http://pythonhosted.org/airflow/installation.html#connections) .  The connection can be defined there (with username, password and extra parameters if needed) and given a name or "conn_id". This id is the string that you want to pass to the Postgres operator.

Got it. Thx


sorted raw content file types alphabetically by file type

sorted raw content file types alphabetically by file type
also added some more file types
i consider this being useful for maintenance

Thanks!

Thank you for taking care on this :)


Sharing SSEs

Adds sses for

[x] share created/removed
[x] space membership created/removed
[x] item moved
[ ] space membership/share updated

Fixes https://github.com/owncloud/ocis/issues/8854
Fixes https://github.com/owncloud/ocis/issues/8708

SpaceUpdated currently not working on ocis. Investigating why.

no code changes - just rebased


Remove the death overlay if present upon hit points being increased

I was going to suggest adding a parameter to force a defeated state to toggleDefeated(), but toggleDefeated only applies to a single token and this unsets it from all, so not quite the same.


AdapterNotSpecified - Rake tasks not working

Hello,
just recently I installed this gem and wanted to put it to good use, followed the instructions, Sinatra app ran. But when I wanted to mess with the actual database via rake tasks I always get an error of "ActiveRecord::AdapterNotSpecified 'development' database is not configured".
I am using a config/database.yml file which has the following contents:
development:
  adapter: sqlite3
  database: db/development.sqlite3

test:
  adapter: sqlite3
  database: db/test.sqlite3

I don't know whether the error is on my side, or if there is just something incompatible.
Thanks in advance!

I guess I misunderstood or missed some documentation, but here’s an MWE to reproduce this issue
https://gist.github.com/FranklinYu/0bbce9dc3672c9a0c59da058572b0826
Note that database.yml needs to be moved to config sub-folder to reproduce this issue.

Your database.yml uses adaptor instead of adapter.


Require "redirect" param when init a RouteRecordRaw

Version
4.0.0-alpha.12
Reproduction link
https://jsfiddle.net/rdshe206/
Steps to reproduce
Nothing. It is an error from es-linter.
Property 'redirect' is missing in type '{ path: string; component: typeof import("[PATH]/node_modules/vue/dist/vue"); }' but req...

import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';
import Home from '../views/Home.vue';
const routes:RouteRecordRaw[] = [
        // I GOT THE ERROR HERE
	{
		path: '/',
		name: 'home',
		component: Home
	}
];
const router = createRouter({
	history: createWebHistory(process.env.BASE_URL),
	routes: routes
});
export default router;

Why redirect is required?
I checked the type and it is
export type RouteRecordRaw =
  | RouteRecordSingleView
  | RouteRecordMultipleViews
  | RouteRecordRedirectRaw

so one of the 3 options. But why it picks the RedirectRaw? it should pick the SingleView right?
My setup
"vue": "^3.0.0-beta.14",
"vue-router": "^4.0.0-alpha.12",
"vuex": "^4.0.0-alpha.2"

What is expected?
To pick the RouteRecordSingleView
What is actually happening?
It picks RouteRecordRedirectRaw

I couldn't reproduce in vue-router-next repository nor on a new project with TS. We have typing tests in a folder named test-dts. If you manage to reproduce it there, please open a pull request. There might be a difference on the tsconfig.json as well. This is the one I used for the new project:
{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "isolatedModules": true,
    "strict": true,
    "noUnusedLocals": false,
    "allowUnreachableCode": true,
    "noUnusedParameters": true,
    "experimentalDecorators": true,
    "lib": ["dom", "esnext"]
  },
  "exclude": ["node_modules", "dist"]
}

same issue in my case


Prefetching request not running or too late (v5)

Describe the bug
I have a component ("Post") that triggers a prefetch request and a suspense request as described here: https://tanstack.com/query/v5/docs/react/guides/prefetching#prefetch-in-components
When the component renderes, it seems, the prefetch request does not start to run.
You can see the behaviour in the sandbox app in the console, where it says, the first ("prefetch") request for a Comment starts only after the suspense request for the Post has been finished.
Also the UI should not display the fallback component for the Comment component, as the request data thanks to prefetching should be available at rendering time ("Post" request takes way longer than "Comment" request).
Your minimal, reproducible example
https://codesandbox.io/s/hopeful-neumann-qnr5s7?file=/src/App.js
Steps to reproduce

Start the app
have a look at the console log
you see that the Comment component renders and then the "comment" request starts.
But why is the comment request not running when it's prefeetch in the Post component?

Expected behavior
As a user, I would expect that the "comment" request is triggered as early as the Post component is rendered (even before the getPost query)
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

macOS, firefox

Tanstack Query adapter
react-query
TanStack Query version
5.0.0-rc4
TypeScript version
No response
Additional context
No response

yeah this doesn't work I'm afraid because of how suspense works. @Ephem I remember flagging this in the docs PR, but maybe we didn't adapt it in all places?
having useQuery do your prefetching only works if you useQuery, not if you useSuspenseQuery, so this code example is actually incorrect:
// Prefetch
useQuery({
  queryKey: ['article-comments', id],
  queryFn: getArticleCommentsById,
  // Optional optimization to avoid rerenders when this query changes:
  notifyOnChangeProps: [],
})

const { data: articleResult } = useSuspenseQuery({
  queryKey: ['article', id],
  queryFn: getArticleById,
})

useQuery only "schedules" a fetch - it doesn't fetch during rendering. But useSuspenseQuery "suspends" by throwing a promise to the SuspenseBoundary, so that scheduled fetch never happens, as effects and useSyncExternalStore subscriptions never run.
@Ephem I think we have to remove / tweak this example

probably prefetching from within the queryFn, or in your route loader, or on the server.

@nilshartmann Thanks for reporting this! This example changed a few times during writing and ended up in a bad place.
@TkDodo This example first used useSuspenseQueries, but you correctly pointed out that would block until the prefetch was done which is not what we wanted. You also pointed out in one of the SSR guides that even though prefetch+useSuspenseQuery works, maybe the guides should be using useQuery instead because of reasons, that I did change. This example, using suspense and wanting to prefetch a separate query, is completely legit and something we should support.
This is yet another good argument we should implement that usePrefetch hook that we've talked about. Maybe it's as simple as:
const usePrefetch = (...args) => {
  const queryClient = useQueryClient();

  // Runs in render, doesn't fetch if there's already data
  // so should not have observable side effects?
  queryClient.ensureQueryData(...args);

  // Could optionally prefetchQuery in an effect here if
  // we want to prefetch fresh data when safe
};

?
@nilshartmann The above is another approach you could try while we figure this out, though the options @TkDodo listed are the verified to work ones. 😄
I'll go ahead and remove this section from the docs until we've figured it out.

Hi @Ephem , thanks for your response! I already thought about the usePrefetch approach but was not sure, because calling ensureQueryData would be a (forbidden) side effect in render phase?

because calling ensureQueryData would be a (forbidden) side effect in render phase?

as @Ephem pointed out, side-effects are only disallowed in react if they are "observable", meaning they have an influence that other components could see. Priming a cache is highlighted specifically as an exception to this. hydration also puts data into the cache during render. However, what you shouldn't do is run the query if you already have data in the cache, because that data can be observed by another component already.
That's why ensureQueryData should be fine, because it only fetches if there isn't data in the cache already, so whatever side-effect it produces cannot be observed by other components.
@Ephem what do you think about, for now, we change the example to calling ensureQueryData in the component instead of useQuery ?

side-effects are only disallowed in react if they are "observable", meaning they have an influence that other components could see. Priming a cache is highlighted specifically as an exception to this

Didn't know that. Thanks!
I tried usePrefetch and it works!


fix #536

fix a problem when data to plot contains NaNs.
The fix is to return a numpy array instead of a pandas.Series

The failing test seems unrelated. I'm merging this. [@fidelram, you could have merged it yourself. :)]


Bundle : Create alternative ImmersiveWindows

Immersive windows works now in feature-128 pullrequest,
but menu integration still needs some work.


Blazor File upload gives exception

Describe the bug
When I try to upload an image file with an IAsyncEnumerable<byte[]> call there is an "Unexpected end of data when reading base64 content" error message.
To Reproduce
See attachement, this is the Blazor example with code to upload a file in the index.razor.
test.zip
It seems that the async/await is not properly synchronized.
The upload was based upon an (partly) example of https://github.com/max-ieremenko/ServiceModel.Grpc/issues/18
Any help would be greatly appreciated!

Depending on the uploaded image size, the attached implementation may not work.
GetFileAsync in Index.razor, see my comments:
while (bytesRead < content.Length)
{
	var bytesToRead = content.Length - bytesRead;
	var buffer = new byte[Math.Min(bufferSize, bytesToRead)];

	// the result of ReadAsync can be less than the number of bytes allocated in the buffer: (reallyRead != buffer.Length)
	var reallyRead = await content.ReadAsync(buffer, 0, buffer.Length);

	yield return buffer;
	bytesRead += bufferSize;
}

your example with changes:
private static async IAsyncEnumerable<byte[]> GetFileAsync(System.IO.Stream content)
{
	const int maxBufferSize = 4 * 1024;
	int totalBytesRead = 0;

	while (totalBytesRead < content.Length)
	{
		var bufferSize = (int)Math.Min(content.Length - totalBytesRead, maxBufferSize);
		var buffer = new byte[bufferSize];

		var bufferOffset = 0;
		while (bufferOffset != bufferSize)
		{
			var length = await content.ReadAsync(buffer, bufferOffset, bufferSize - bufferOffset);
			bufferOffset += length;
		}

		yield return buffer;
		totalBytesRead += bufferSize;
	}

	Console.WriteLine("Ready");
}

Hi Max,
Thanks for the quick response, and solution! I never considered that the number of bytes could not match the number requested but you are right about that. Unfortunately I also tested a version where I read all the bytes of the file into a memory stream and used that to send chunks to the server and that version had the same error message. I just tested your solution as well and unfortunately that produced the same error.
The file I use for testing is the MicrosoftTeams-image.png located in the wwwroot directory of the client.
Could there be some other error?
Thanks for your time!!
Cheers
I do not know if it helps but this is the stacktrace of the error
System.InvalidOperationException: Unexpected end of data when reading base64 content.
   at Grpc.AspNetCore.Web.Internal.Base64PipeReader.ReadAsync(CancellationToken cancellationToken)
   at Grpc.AspNetCore.Server.Internal.PipeExtensions.ReadStreamMessageAsync[T](PipeReader input, HttpContextServerCallContext serverCallContext, Func`2 deserializer, CancellationToken cancellationToken)
Exception thrown: 'System.InvalidOperationException' in System.Private.CoreLib.dll
Exception thrown: 'System.InvalidOperationException' in System.Private.CoreLib.dll
'BlazorApp.Server.exe' (CoreCLR: clrhost): Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.7\System.IO.MemoryMappedFiles.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Grpc.AspNetCore.Server.ServerCallHandler: Error: Error when executing service method 'UploadFile'.

System.InvalidOperationException: Unexpected end of data when reading base64 content.
   at Grpc.AspNetCore.Web.Internal.Base64PipeReader.ReadAsync(CancellationToken cancellationToken)
   at Grpc.AspNetCore.Server.Internal.PipeExtensions.ReadStreamMessageAsync[T](PipeReader input, HttpContextServerCallContext serverCallContext, Func`2 deserializer, CancellationToken cancellationToken)
   at Grpc.AspNetCore.Server.Internal.HttpContextStreamReader`1.<MoveNext>g__MoveNextAsync|9_0(ValueTask`1 readStreamTask)
   at ServiceModel.Grpc.Hosting.ServerChannelAdapter.ReadClientStream[T](IAsyncStreamReader`1 stream, ServerCallContext context)+MoveNext()
   at ServiceModel.Grpc.Hosting.ServerChannelAdapter.ReadClientStream[T](IAsyncStreamReader`1 stream, ServerCallContext context)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at BlazorApp.Server.Services.WeatherForecastService.UploadFile(IAsyncEnumerable`1 content, CancellationToken token) in C:\Application\test\TestStream\BlazorApp\Server\Services\WeatherForecastService.cs:line 58
   at BlazorApp.Server.Services.WeatherForecastService.UploadFile(IAsyncEnumerable`1 content, CancellationToken token) in C:\Application\test\TestStream\BlazorApp\Server\Services\WeatherForecastService.cs:line 58
   at ServiceModel.Grpc.Hosting.ServerChannelAdapter.UnaryCallWaitTask(Task call)
   at Grpc.Shared.Server.ClientStreamingServerMethodInvoker`3.Invoke(HttpContext httpContext, ServerCallContext serverCallContext, IAsyncStreamReader`1 requestStream)
   at Grpc.Shared.Server.ClientStreamingServerMethodInvoker`3.Invoke(HttpContext httpContext, ServerCallContext serverCallContext, IAsyncStreamReader`1 requestStream)
   at Grpc.AspNetCore.Server.Internal.CallHandlers.ClientStreamingServerCallHandler`3.HandleCallAsyncCore(HttpContext httpContext, HttpContextServerCallContext serverCallContext)
   at Grpc.AspNetCore.Server.Internal.CallHandlers.ServerCallHandlerBase`3.<HandleCallAsync>g__AwaitHandleCall|8_0(HttpContextServerCallContext serverCallContext, Method`2 method, Task handleCall)
Microsoft.AspNetCore.Server.Kestrel: Error: Connection id "0HM9S1DQN2SCF", Request id "0HM9S1DQN2SCF:00000006": An unhandled exception was thrown by the application.

Microsoft.AspNetCore.Connections.ConnectionAbortedException: The connection was aborted by the application.
 ---> System.InvalidOperationException: Reading is already in progress.
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.VerifyIsNotReading()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.TryReadInternal(ReadResult& readResult)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1MessageBody.OnConsumeAsync()
   --- End of inner exception stack trace ---
Uncaught Error: Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="Exception was thrown by handler.")The thread 0x0 has exited with code 0 (0x0).
The program 'JavaScript debug adapter: localhost:5000' has exited with code -1 (0xffffffff).
The program '' has exited with code -1 (0xffffffff).
The program '[1952] BlazorApp.Server.exe: Program Trace' has exited with code 0 (0x0).
The program '[1952] BlazorApp.Server.exe' has exited with code -1 (0xffffffff).

hi @FireSon,
yep, when i tested my .png was less then 4096 - client streaming with one yield return buffer works.
There is a nice gRPC-Web limitation:

gRPC-Web browser clients don't support calling client streaming and bidirectional streaming methods.
When using gRPC-Web, we only recommend the use of unary methods and server streaming methods.

workaround, but with LOH allocations (can be improved):
[ServiceContract]
public interface IService
{
	[OperationContract]
	Task UploadFile(byte[] file);
}

var resizedFile = await imageFile.RequestImageFileAsync("image/png", 300, 500);
using (var content = resizedFile.OpenReadStream(resizedFile.Size))
{
	var buffer = new MemoryStream();
	await content.CopyToAsync(buffer);

	await Service.UploadFile(buffer.ToArray());
}

or use pure asp.net (client/server)
public class TestController : Controller
{
	[HttpPost]
	public Task UploadFile(Stream stream)
	{
		// TODO ..
	}
}

Hi Max,
Thanks for the help. I was afraid it would be something like that, since I used basically the same code successfully in a none web environment.
Cheers


React package doesn't support changes to props

What is the problem?

When using the react package, if you have state changes to the props being passed to SelectionArea, those changes are not recognized. For example, if you want to use a ref on the container prop, if that container changes, Viselect doesn't recognize these changes.
What is the current behavior?

Changing a prop to the SelectionArea results in those changes not being recognized.
Please provide the steps to reproduce and create a CodeSandbox.
CodeSandbox Link

What is the expected behavior?

Whenever you change a prop, @viselect/react should be updating to use those new props
Your environment:
Toolset (e.g. webpack, vite, vue-cli...):
Version (@viselect/<insert package>):
Browser:
OS:

From my best guess, it's because of the empty dependency array in SelectionArea


feat(structure): some improvements on performance of SW and updates

Description

updated Disqus and Google Analytics snippets
added OneSignal snippet and configuration
corrected location of Google Analytics scripts (on all head of pages)
corrected bug on About page (mobile version, side bar can't trigger)
stopped error propagation on collapsed categories
added an .editorconfig to standardize the code style on team
added some entries in .gitignore to prevent files to be included if the current dir does compile
removed unnecessary app.js and sw.js (new plugin of SW and better register added instead)
updated all versions on Gemfile and added some great plugins to future implementations

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

How has this been tested

[x] I have run bash ./tools/build.sh && bash ./tools/test.sh (at the root of the project) locally and passed
[x] I have tested this feature in the browser

Test Configuration

Browerser type & version: Chrome 85.0.4183.83 (Official Build) (64-bit)
Operating system: Ubuntu 18.04.5 LTS
Bundler version: 2.1.4
Ruby version: 2.7.1p83
Jekyll version: 4.1.1

Checklist

[x] My code follows the Google style guidelines
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Any dependent changes have been merged and published in downstream modules

Signed-off-by: Felipe Rios<EMAIL_ADDRESS>

Wow, such a big PR, but sorry, it won't be merged, let me explain why.
The problems

updated Disqus and Google Analytics snippets

The change to Diqus is to discard lazy loading, which will slow down page loading.

added OneSignal snippet and configuration

At present, this project don't need it.

corrected location of Google Analytics scripts (on all head of pages)

Introducing JS code in the <head> will reduce web performance.

corrected bug on About page (mobile version, side bar can't trigger)

I haven't seen this bug yet, may be you can open a bug issue to describe it.

updated all versions on Gemfile and added some great plugins to future implementations

Only the plug-ins that need to be used should be introduced.
Conclusion
A large PR can be messy and difficult to track. It is recommended that you should be precise about the goal of PR.
I am glad that you recommended .editorconfig and jekyll-pwa-plugin for me, and I will learn more about whether they can meet my needs in the future.
Your enthusiasm should be appreciated, thanks again.


Optimize the fig dev env/build

Closes #344 - not ready to merge just yet, can someone check the README instructions make sense and work before merging?
So i tried using a persistent data volume beneath panoptes but fig up would recreate the containers on each launch, whic was no better than the existing setup with fig up --no-recreate. The solution I've settled on is to switch in a development dockerfile (with dev/test gems) before fig build to ensure all gems are installed. Then just manually migrate and seed the db before using fig up. This alleviates the need to install gems / migrate the DB on each run and we can recreate containers each time with minimal work to get started.

Closing in favour of #445


Need some help

hey guys i am new into android development and was trying to implement the wave visualization into my app that will play according to some mp3 that I  add to the app
i am really lost please help me

Hi.
Start from reading readme, then try to run sample app.

i tried that but i guess i am not able to understand how it works i tried running the example but its just allowing me to change colors nothing else

You need to start playing music in your music player app. Then you need to run sample app and choose first option. AudioVisualizer will detect music and start animation. Also you can select other two options without starting music playback. Those options will allow you to visualize your voice with speech detection or audio recording.

thank you so much man ...because u mention the options i noticed there were none coming up for me then i realised i was actually running the wallpaper ap by mistake :P btw is it possible to link a in built music library whiich the visualizer can play from rather than using a thirdparty app

You can do it simply. It is already demonstrated in the demo app.
See:- https://github.com/Cleveroad/WaveInApp/blob/master/app/src/main/java/com/cleveroad/example/AudioVisualizationFragment.java
Visualizer will automatically link it to default music stream and you can integrate it in your App. You might want to change session ID in line
audioVisualization.linkTo(DbmHandler.Factory.newVisualizerHandler(getContext(), 0));
From document
The audio session ID passed to the constructor indicates which audio content should be visualized:

If the session is 0, the audio output mix is visualized
If the session is not 0, the audio from a particular MediaPlayer or AudioTrack using this audio session is visualized

passing mMediaPlayer.getAudioSessionId() instead of "0" will attche visualizer to your media player.


Support multiple instances of aider, for parallel workflow

I'd like to be able to have multiple instances of aider running at a time so I can work on multiple tasks.
GPT-4 can be slow and  I spend a lot of time waiting.  I could use that time working on related tasks.
My current workaround is a separate branch in a git worktree, but it's very clunky.  I have to merge often.
Currently, problems with running two aider processes are: log files get overwritten, file contents might be stale, and work could get mixed when creating the diff.   Possible solutions:

Per-process logs.  Have an optional env var to specify a namespace as a file prefix.
Git lock file.  While creating the diff, create a lock file.  Other aider processes will wait if lock file exists.
Check added files after every prompt entry.   Reload any files that were changed (this might already be the case).

I've also noticed weird behaviour when I've multiple instances of Aider running, particularly around edits and Git commits (edits and commits would just fail some of the time). It's possible that it's an unrelated bug specific to handling the SEARCH/REPLACE and Git commit steps, however I didn't observe it while using one Aider instance, only when running more than one. Would be good to get some insight if that's your experience too @mikeslattery

My current workaround is a separate branch in a git worktree, but it's very clunky. I have to merge often.

Aider could very well manage it's own Git refs for each "transaction" and then merge them at the end of the conversation. This would work like branching and merging, but using custom refs instead of branches as to not clutter the user's Git experience. There are probably benefits to doing this separate from the parallel workflow story.

My current workaround is a separate branch in a git worktree, but it's very clunky. I have to merge often.

Aider could very well manage it's own Git refs for each "transaction" and then merge them at the end of the conversation. This would work like branching and merging, but using custom refs instead of branches as to not clutter the user's Git experience. There are probably benefits to doing this separate from the parallel workflow story.

Oh, that's an interesting idea.  /add could use git show <commit-id>:<file-path>.  After commit run git rev-parse HEAD to get commit-id.
For now, I'm going to refine my bash scripts to make git worktrees solve the problem.  I'll post here when done.

aider-tree <path> will create the worktree child directory and add commit hooks, and it will create a dedicated local branch.
The pre-commit hook will merge any changes from the parent path
The post-commit hook will merge the commit to the parent path
aider-tree --delete will delete the current worktree (if a child)

This is an interesting potential enhancement. One thing to keep in mind is that the repo may be dirty when aider sends the files and user request to GPT.
Currently aider only commits a dirty file when it gets a reply from GPT which contains an edit to that file.
There's probably a solution here in a world where aider is directly managing git refs and/or temporary branches, etc. Aider could speculatively commit the dirty repo, note git ref/branch, send the files+request to GPT, get the response and then based on the edits in the response decide whether to (partially) roll back the speculative dirty commit, etc.
This all seems doable, but it's a wrinkle which would need to be considered.

As a workaround, I wrote a sync utility, git-syncr.  You can fork off multiple directories from a feature branch.
git syncr add ../worktree2
cd ../worktree2
aider

And within aider you run /git syncr sync or /run git-syncr sync to synchronize the directories.

@mikeslattery Could you write a little bit more about your workflow here?
Thanks!


Phrase about edition superseding

Source issue: https://github.com/metanorma/metanorma-iso/issues/1089
The 2nd, etc. ISO publications from 1951 to 1971 contains the sentence about superseding the previous edition.
Need to add the localized resource.
Examples:

'en' - This second edition supersedes the first edition

'fr' - Cette deuxième édition annule et remplace la première édition

Is the phrase more generally "This n-th edition supersedes the n-1-th edition"? I'd have to assume so...

Is the phrase more generally "This n-th edition supersedes the n-1-th edition"? I'd have to assume so...

@opoudjis yes, sure.

For Russian, this will become the very first time we will have had to allow for case inflection in i18n (we will need both nominative and accusative). I will need to work out whether I hard code casing in i18n processing, or build a metalanguage like Fluent (if not Fluent itself) into the template. But unless we do a lot more Russian than we have been doing, that would be overengineering.
If it's Настоящее второе издание заменяет первое издание, then I see "edition" is neuter, with the same inflection for nominative and accusative, so in this one instance, I would not need to build case inflection. But that's a happy accident, and I want to be safe...

Again, while this solution is overkill for this instance ("edition" in Russian is neuter, so it's the same in the nominative and accusative), I'm using this as an opportunity to refactor i18n.
The current uninflected (so nominative) i18n templates for "first edition" and "1st EDITION" in Russian are:

edition_ordinal: "%Spellout ИЗДАНИЕ"
edition_ordinal_old: "%Ordinal ИЗДАНИЕ"

%Spellout and %Ordinal are special variables, to be populated from metadata, and formatted according to the word after %, and twitter-cldr-rb.
We have variables in general in our YAML, indicated by %, %1, %2, etc.
We now need to introduce case inflection on variables, and on words that already occur in our i18n.
 }

Fluent... as I said, does not actually do that much, other than passing attributes into the i18n word lookup. We're not going to get that much out of adopting it.
But it's clear that we should add the following functionality to our i18n manipulation of YAML:

Variables to be resolved in code, which should be cleaner than % vs %1 %2 (I've recently already run into trouble with that conflict); I'm reluctant to overhaul this to $1 $2 $3, but I'm ok to overhaul this to %1 %2 %3
Allow always for Liquid markup using the variables extracted in the Isodoc::Metadata class for this document, as {{ ... }}
Grammatical parameters on variables, which can be resolved by selecting for inflection; the functionality for selecting on grammatical information is already in place, but selectors at the moment are hard-coded.
The special variables %Ordinal %Spellout should instead be functions, to allow them to be applied to more than one variable.

With a conservative approach (allowing words to remain hard-coded if they do not vary), and allowing default values (which isodoc-i18n already knows about, given INFLECTION_ORDER = %i(voice mood tense number case gender person).freeze ), we can do:
Настоящее %Ordinal(nom) издание заменяет %Ordinal(acc) издание

If we unify variables and Liquid, and allow dynamic entry of word inflection, as a maximimalist solution, we end up with:
variable1 = ...edition
variable2 = ...edition - 1

{{ labels["this"] | inflect: sg,nom,neut }} {{ variable1 | ordinal | inflect: sg,nom,neut }} {{ labels["edition"] | inflect: sg,nom }} {{ labels["replace" | inflect: act,ind,pres,sg,3rd }} {{ variable2 | ordinal | inflect: sg,acc,neut }} {{ labels["edition"] | inflect: sg,acc }}

This is overkill. But if we do serious work with Russian or Arabic, we need this level of overkill; and even if we don't, we should not perpetuate ad hoc solutions to inflection. The solution I'll implement will be more conservative, and it will still make the foregoing possible:
variable1 = ...edition
variable2 = ...edition - 1

Настоящее {{ variable1 | ordinal | inflect: sg,nom,neut }} издание заменяет {{ variable2 | ordinal | inflect: sg,acc,neut }} издание

And I will gradually or suddenly replace %, %1, %2 with {{variable1}}, {{variable2}} in i18n.

Done:
<bibdata>
...
<ext>
...
<edn-replacement>Настоящее второе издание заменяет первое издание</edn-replacement>
</ext>
</bibdata>

Element will only appear if edition is > 1 and document scheme is 1951


pip install stucked in nvidia pytorch image

I am following the installation guide here https://vllm.readthedocs.io/en/latest/getting_started/installation.html
It will stuck at Installing build dependencies ... \ for hours, I have tried both build from source and using pip install vllm, both of them would stuck at the same place, does someone know how to achieve install?
There is all command and outputs from terminal
# docker run --gpus all -it --rm --shm-size=8g nvcr.io/nvidia/pytorch:22.12-py3

=============
== PyTorch ==
=============

NVIDIA Release 22.12 (build 49968248)
PyTorch Version 1.14.0a0+410ce96

Container image Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

Copyright (c) 2014-2022 Facebook Inc.
Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert)
Copyright (c) 2012-2014 Deepmind Technologies    (Koray Kavukcuoglu)
Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu)
Copyright (c) 2011-2013 NYU                      (Clement Farabet)
Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston)
Copyright (c) 2006      Idiap Research Institute (Samy Bengio)
Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz)
Copyright (c) 2015      Google Inc.
Copyright (c) 2015      Yangqing Jia
Copyright (c) 2013-2016 The Caffe contributors
All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

NOTE: Mellanox network driver detected, but NVIDIA peer memory driver not
      detected.  Multi-node communication performance may be reduced.

root@7a859a29dcdb:/workspace# pip uninstall pytorch
WARNING: Skipping pytorch as it is not installed.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
root@7a859a29dcdb:/workspace# ll
total 172
drwxr-xr-x 1 root root   4096 May 29 15:14 ./
drwxr-xr-x 1 root root   4096 Jul 12 12:36 ../
-rw-r--r-- 1 root root 148725 May 29 15:14 NVIDIA_Deep_Learning_Container_License.pdf
-rw-r--r-- 1 root root   2055 May 29 15:14 README.md
drwxr-xr-x 1 root root   4096 May 29 15:14 docker-examples/
drwxr-xr-x 1 root root   4096 May 29 15:14 examples/
drwxr-xr-x 1 root root   4096 May 29 15:14 tutorials/
root@7a859a29dcdb:/workspace# vim ~/.bashrc
root@7a859a29dcdb:/workspace# source ~/.bashrc
root@7a859a29dcdb:/workspace# proxy
root@7a859a29dcdb:/workspace# git clone https://github.com/vllm-project/vllm.git
Cloning into 'vllm'...
remote: Enumerating objects: 2376, done.
remote: Counting objects: 100% (1634/1634), done.
remote: Compressing objects: 100% (836/836), done.
remote: Total 2376 (delta 1111), reused 1089 (delta 789), pack-reused 742
Receiving objects: 100% (2376/2376), 3.08 MiB | 704.00 KiB/s, done.
Resolving deltas: 100% (1454/1454), done.
root@7a859a29dcdb:/workspace# cd vllm
root@7a859a29dcdb:/workspace/vllm# pip install -e .
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Obtaining file:///workspace/vllm
  Installing build dependencies ... \

I think I notice the same problem in a similar setting (building vllm inside a docker container but in a CI pipeline rather than interactively).
The pip install vllm step takes a long time and eventually kills the CI runner with an OOM error.

Upgrading pip on the target Docker image helped me with this issue.
FROM --platform=linux/amd64 nvcr.io/nvidia/pytorch:22.12-py3

ARG MODEL=meta-llama/Llama-2-7b-hf
# ARG MODEL=facebook/opt-125m
ENV HUGGING_FACE_HUB_TOKEN="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"

RUN pip install --upgrade pip
RUN pip install vllm

EXPOSE 8000

CMD python -m vllm.entrypoints.api_server --model meta-llama/Llama-2-7b-hf --host <IP_ADDRESS> --port 8000

I actually meet a different problem.
    RuntimeError:
    The detected CUDA version (11.8) mismatches the version that was used to compile
    PyTorch (12.1). Please make sure to use the same CUDA versions.

reinstall pytorch helped me solve cuda version issue


Laptop file structure

Since this is so early, theres little to no layout for laptops. I have the data for the Lenovo Y510P, and would like to submit, but do not know the proper way to structure this
So far I have
fwtr/lenovo/ideapad/y510p/74CN31WW/[results]
I wanted to verify this before pull requesting
I would also prefer to remove the asset tag and serial numbers, if that is acceptable

We already have a laptop result in /samsung/np940x3g/ami/P05ACJ.128.140819.dg/fwts/1.
We discussed how to store it in issue #3 according to the results.log file which includes who are the system (in your case laptop), bios and board vendors.
What matters most is how a end customer (you, me) can get the board:

if the motherboard is in the system's catalogue, then the motherboard vendor name should be used.
if the motherboard is specifically designed for another system, then the system vendor name should be used.

For example, in Samsung's NP940X3G laptop, AMI is the motherboard supplier but you won't be able to buy it yourself for your own usage.
Anyway, why can we accept errors? Because we have great search engines and I imagine people will look into fwtr copy/pasting their bios version, board name or anything that could identify their motherboard. And every information is stored in the results, so there would be a match.
Hope this helps. And again, do not hesitate to create your pull request. I'll review it and rework it if required :)


TOC Candidate Nomination for Jan von Loewenstein

Candidate Name: Jan von Loewenstein (SAP)
Nomination Statement: Jan is a very active member in the work around CF-for-K8S and Cloud-native Buildpacks.

@domdom82 can you add a reason that this was closed? Should we consider it a nomination, or should we consider the closing of the issue as meaning that you wanted to withdraw the nomination?

@chipchilders I would like to withdraw. SAP have not yet decided on a candidate.

@domdom82: Thanks for your patience ;-) See #130 (as well as #129, #131).


Fix a few memory issues

Coverage remained the same at 99.925% when pulling 1d79ac000b375af554a7803dc7e2b18da843adcd on ndawe:master into 96921a53d7989d49787072f482f0e3bc4f27ad55 on rootpy:master.


Update Abstract.md

Thank you for your contribution, but I want a negative abstract. Could you please rewrite your part?


[QUESTION] Array of sparse matrix?

Hello,
I’m wondering if Warp supports array of sparse matrices, particularly for parallelized sparse matrix multiplication. If not, are there any plans to add this feature, or any suggestions for implementing it?
Thank you for your help!

Hi @Qiuany , do I understand correctly that you would want batched sparse SGEMM for example?
Would problem sizes be constant through the batch?
While we don't have anything for this specifically I think you could roll your own fairly easily, at least for a naive implementation you can assign one thread per-output and simply write out the CSR multiplication. For a more efficient implementation please look out for the tile primitives coming in the 1.5.0 release which would allow you to use e.g.: one block of threads per-row.
Thanks,
Miles

Thank you for your quick reply.
I would like to handle sparse matrices in a similar way to passing wp.array(dtype=wp.mat33d) into a kernel and performing matrix operations on one matrix per thread. All matrices involved in the computation are of the same size. It seems that Warp currently supports arrays of scalars, vectors, matrices, and user-implemented structs, but does not directly support sparse matrices. Does this mean I need to implement a CSR matrix struct and the corresponding computation functions in Warp myself?
I am not very familiar with the details of CSR-related computations. Since Warp kernels do not allow the creation of arrays dynamically, does this imply that the rows, columns, and values in the CSR struct must be stored as vectors? Additionally, because the sparsity of matrices is not predetermined, it seems the lengths of these vectors can only be determined at runtime. Is my understanding correct?
Thanks,
Qiuan

Warp does actually support for BSR (block-sparse which is a superset of CSR) matrices:
https://nvidia.github.io/warp/modules/sparse.html
But yes, these types of sparsity formats are designed for 'runtime' sparsity with typically one large matrix at a time, not many small sparse matrices.
What kind of dimensions would you want for your case? And what kind of sparsity pattern / nnz would you expect? All these things would have quite a big impact on how to best implement sparse matrix support.
In general, sparsity probably makes the most sense when you can leverage sparse TensorCore instructions, which are available for certain datatypes / sparsity patterns (https://developer.nvidia.com/blog/accelerating-inference-with-sparsity-using-ampere-and-tensorrt/). It's not something we're exposing yet, but I would be interested in more details to understand what is required.
Cheers,
Miles


sqlalchemy.exc.NoForeignKeysError while watching a folder with empty model file

I get the following exception while watching a folder (when it reloads the content for the first time after changing a file):
sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship Post.tags - there are no foreign keys linking these tables via secondary table 'PostTag'.  Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify 'primaryjoin' and 'secondaryjoin' expressions.

where Post.yml looks as follows:
title: String
slug: String
summary: Text
date: DateTime
tags: Tag[] -> posts
content: Content

and Tag.yml is empty (i.e. only a pk field).

Fixed in release v0.3.3


R: Formatted article's reference section links

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@Chandra0505, everything LGTM! Thank you for helping us improve this section of the guide. Hope you don't mind, but I fixed one of your links. Looking forward to your next contribution! :+1: :+1:


[BUG] Fix critical CVE's

Is there a plan to solve the critical CVE's of Flowise?

critical CVE should be now resolved in v2.1.1


support SQS fifo queue (queue is considered fifo when its URL ends wi…

Ça marche aussi les PR master->develop !
support SQS fifo queue (queue is considered fifo when its URL ends with '.fifo')

CF https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html et la partie "MessageGroupId"


Need option to set Requests and limits for proxyscanner deployment

Lacework proxyscanner helm chart, didn't support pass resource Requests and limits values over values.yaml file.

@saviovettoor This has been added to the latest proxy scanner helm chart, thanks for the feedback! https://github.com/lacework/helm-charts/commit/bf691439b64602fa15df7d0216949dc5f3d7bf19


expvar: panic: interface conversion: interface is nil, not expvar.Var

What version of Go are you using (go version)?

$ go version
go version go1.17.6 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/catena/Library/Caches/go-build"
GOENV="/Users/catena/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/catena/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/catena/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/catena/go/src/github.com/catenacyber/go/src/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/pp/dc1dtf9x2js3v0jx_m010nqr0000gn/T/go-build4237848497=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version go1.17.6 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.17.6
uname -v: Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_X86_64
ProductName:	macOS
ProductVersion:	12.2.1
BuildVersion:	21D62
lldb --version: lldb-13<IP_ADDRESS>
Apple Swift version 5.6 (swiftlang-<IP_ADDRESS>3.62 clang-13<IP_ADDRESS>)
gdb --version: GNU gdb (GDB) 9.1

What did you do?
Run https://go.dev/play/p/L708GRIfgkv?v=gotip
What did you expect to see?
The program finishing and printing hello
What did you see instead?
panic: interface conversion: interface is nil, not expvar.Var

goroutine 1 [running]:
expvar.(*Map).Do(0xc000062240, 0xc000111ef8)
	/usr/local/go-faketime/src/expvar/expvar.go:227 +0x13c
expvar.(*Map).String(0xc000062240?)
	/usr/local/go-faketime/src/expvar/expvar.go:117 +0x9c
main.main()
	/tmp/sandbox2633615687/prog.go:14 +0x75

Program exited.

Found by https://github.com/catenacyber/ngolo-fuzzing on oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=48049
Seems like fix for #52719 was not complete

Or maybe gotip on playground does not have latest patch...

No,I see.

The playground has a slight lag for tip, you can get the version via fmt.Println(debug.ReadBuildInfo()), currently go	devel go1.19-ecc268aa26 Thu Jun 16 01:03:59 2022 +0000, 5 commits behind the expvar fix.
Or go to https://gotipplay.golang.org/ which is the backend.
Doesn't repro locally on tip / go version devel go1.19-9068c6844d Thu Jun 16 21:58:40 2022 +0000 linux/amd64

Duplicate of #52719

Thanks, I had wrongly read the fix was merged longer ago :-)


st2-self-check fails on older st2 versions

We YOLO-pull  st2tests master in st2-self-check script. This makes script broken on older st2 versions.
So st2-self-check should rely on versioned branches in st2tests.
TODO: Parse https://github.com/StackStorm/st2/blob/master/st2common/st2common/init.py to determine the correct git vX.Y branch to get.

In fact, this script needs some better love & refactoring: https://github.com/StackStorm/st2/issues/2997


Execute operation "model.generate_content(content).text" and cause error '*** IndexError: list index out of range'

Description of the bug:
model.generate_content(content).text
Actual vs expected behavior:
(Pdb) len(content)
31256
(Pdb) model.generate_content(content)
<google.generativeai.types.generation_types.GenerateContentResponse object at 0x116f2b350>
(Pdb) rep = model.generate_content(content)
(Pdb) rep
<google.generativeai.types.generation_types.GenerateContentResponse object at 0x11758c350>
(Pdb) rep.text
*** IndexError: list index out of range
Any other information you'd like to share?
No response

Hi, it would help to have a little more of the error detail, but this may be fixed in this commit: https://github.com/google/generative-ai-python/commit/0a9596f311f42aada40f8f11067411b4defe6e7f
Which was included in the 0.3.2 release.


YARN-1937

Can one of the admins verify this patch?

Some tests are failing

Merged with YARN-2049, I think that this solves the problem


Finalization of the project on multipart/form-data

Please add the project to multipart/form-data (add to query builder)

Implemented


Support for specifying amount of data in read-data-subset

What does this PR change? What problem does it solve?
To check the data users have to use restic check --read-data-subset=. The read-data-subset flag does not currently support specifying a random subset of X bytes. This PR adds support for the same.

Was the change previously discussed in an issue or on the forum?
Fixes #3490

Checklist

[x] I have read the contribution guidelines.
[ ] I have enabled maintainer edits.
[x] I have added tests for all code changes.
[x] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
[x] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

I have made the necessary changes. Please let me know if any more changes are required.

Please mark comments that have been addressed as resolved. From what I can see there are still few comments left that are still open.
Then rebase the commits on top of the current master branch and squash them (unless there's a reason to have separate commits). The PR is currently also missing a changelog entry, please add one based on the template .

I have rebased and squashed the commits. Please review and let me know if any more changes are required.

I have edited the changelog and also refactored the switch such that the determineReadDataSubsetType() method is no longer needed, along with the constants for readDataSubsetType. Kindly review

I have made the suggested changes. Kindly review

Thank you so much! ❤


@include throwing at-rule-no-unknown

I'm getting the following error when using @include

The configuration .stylelintrc
plugins:
  - stylelint-scss
extends:
  - stylelint-config-standard

Is this an error or have I configured something wrong?
Thanks

Hi. I tried the recipes described above, but still not working. I get the same error in this code
@function em($value, $anotherValue: 16) {
  @return $value / ($value * 0 + 1);
}

My deps
  "dependencies": {
    "prettier": "^1.18.2",
    "stylelint": "^10.1.0",
    "stylelint-config-prettier": "^5.2.0",
    "stylelint-config-standard": "^18.3.0",
    "stylelint-scss": "^3.8.0",
   }

  "lint-staged": {
    "src/**/*.scss": [
      "node_modules/.bin/stylelint",
      "prettier --write",
      "git add"
    ]
  }

and stylelintrc config
[
  "extends": [
    "stylelint-config-standard",
    "stylelint-config-prettier"
  ],
  "fix": true,
  "formatter": "verbose",
  "plugins": [
    "stylelint-scss"
  ],
  "rules": {
    "at-rule-no-unknown": [true, {
      "ignoreAtRules": ["function", "if", "each", "include", "mixin"]
    }]
  },
  "syntax": "scss",
]

Hi. I tried the recipes described above, but still not working. I get the same error in this code

Please set ”at-rule-no-unknown” to null and ”scss/at-rule-no-unknown” to true

You didn't look at my config code. As I said previously, I add these rules, but nothing is changes.

@kristerkari my fault, I've done a typo in my config file, instead of curly braces, I add square brackets.

@gadzhimari Good that you got it fixed.
When I looked at your message, the config looked different so that's why I replied like that. I guess that you edited it afterwards.


Make sure when argument corresponds with then arguments

Addresses #114
Basically if you use arguments to pass promises to Parse.Promise.when, then use arguments to pass the results to any resulting then call. If you use an array, then pass an array to the then call

Current coverage is 78.47%

Merging #115 into master will decrease coverage by -0.19% as of 485e01a

@@            master    #115   diff @@
======================================
  Files           37      37
  Stmts         2822    2824     +2
  Branches       677     678     +1
  Methods          0       0
======================================
- Hit           2220    2216     -4
- Partial        189     191     +2
- Missed         413     417     +4

Review entire Coverage Diff as of 485e01a

Powered by Codecov. Updated on successful CI builds.

Looks good


Issue with the required dependency

It seems that Azure did it again.
when installing azure-storage 0.37.0 pip raises a RuntimeError stating:
    Starting with v0.37.0, the 'azure-storage' meta-package is deprecated and cannot be installed anymore.
    Please install the service specific packages prefixed by `azure` needed for your application.

    The complete list of available packages can be found at:
    https://aka.ms/azsdk/python/all

    Here's a non-exhaustive list of common packages:

    - [azure-storage-blob](https://pypi.org/project/azure-storage-blob) : Blob storage client
    - [azure-storage-file-share](https://pypi.org/project/azure-storage-file-share) : Storage file share client
    - [azure-storage-file-datalake](https://pypi.org/project/azure-storage-file-datalake) : ADLS Gen2 client
    - [azure-storage-queue](https://pypi.org/project/azure-storage-queue): Queue storage client

Maybe you could add an upperbound to your install_requires in your setup.py or be a bit more verbose on your requirements.

@m4rk4l Just encountered the same issue

This seems to be an old repository and not 100% whether it is being maintained...

Yeah, I saw it, thinking about to fork it to create a version of my own with updated support of Azure Storage packages


WIP: Dynamic testcase loading and FuseSoC core files

Note: This is more intended as a RFC than a pull request
First patch replaces defines for elink stimuli with plusargs, so that stimuli files can be dynamically loaded in the testbench without recompiling. Icarus raises a warning about a size mismatch for stimarray, but this is harmless. I've used similar approaches with both icarus and modelsim before without problems. Simulators have a bit different syntax for plusargs, but with Icarus it's vvp  +=
The second patch adds .core files for FuseSoC. With these added, the plusargs can be specified as command line parameters, such as fusesoc sim elink --manual --stimfile=/path/to/file.memh

Great! Sorry for the slow reply...things have been pretty intense with the development last week, hopefully settling down now. A couple of requests before accepting PR:
1.) Please used "signed off by" method on all commits.(it could be worse. at least you don't have to send in an actual signed contract like with FSF:-)
2.) I would rather keep the root directory "clean". Is it possible to place a "fusesoc" folder in parallel with the other folders that contain all the fusesoc definitions. Alternatively, could there be one file inside each project folder (probably preferred..).
Andreas