Google OAuth for DAV

https://developers.google.com/google-apps/calendar/auth
Apparently we have to register the client at Google, not sure how we would keep the keys secret (if any) in an opensource project.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/1489356-support-oauth-google-services?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F574345&utm_medium=issues&utm_source=github).

Is the default token really needed? Looking at https://github.com/insanum/gcalcli/blob/master/gcalcli#L642, you just need to call OAuth2WebServerFlow from oauth2client.client to do the browser dance.

Yes, one has to call it with client-id and -secret. I myself don't have any incentive to work on this though.

Somebody mailed me in private and hinted that adding OAuth support to this is now easier since remoteStorage support is now merged into master, which already uses OAuth.

First of all, OAuth can't even be described as a proper standard. Many things can be described "OAuth-compatible", and I suspect that Google's OAuth implementation is vastly more complex than the one remoteStorage prescribes.
Concretely, remoteStorage requires us to implement what is called the "implicit grant". flow. Basically you acquire one access_token, and that token will be used for any further authentication at all times.
However, other variants of OAuth may require us to acquire a token to request another token that may be rotated every n days. For reasons I haven't looked into, this enhances security in case any credentials are stolen, but it's obviously harder to implement.
It also means that if we implement OAuth for Google, this form of OAuth probably can't be reused for other services that require OAuth too, since no two OAuth implementations look alike.

Google's CalDAV implementation is allegedly okay, while CardDAV seems to be abysmal. See http://evertpot.com/google-carddav-issues/ (already posted above).

As already outlined above, we'd have to register vdirsyncer as an application with Google, and then provide another token to Google to identify ourselves as that application. We have a problem here: Should we let the user "play developer" and register their own application, and then let vdirsyncer "impersonate" that application? Or should we ship with a default token?

If the user registers their own application, using vdirsyncer with Google becomes somewhat hard to use.

If we ship with default token, anybody can easily steal that token and use it in their own apps.

I think we should ship with a default token registered by me or whoever would maintain Google OAuth support.

Personally I won't be implementing this. I really don't care about supporting vendor-specific auth flows this complex.


Ability to choose the concept that the user wants to practice

Overview
Users need to be able to choose which concepts they want to practice.

I think a more appropriate issue name for this would be "Add a concepts picker to allow users to customize their session's concepts"


[1.5.7] Swiper view "disappeared" since upgrade

The basic layout of my app:
<View style={{ flex: 1 }}>
  <Swiper
    ref={(c) => { AppSwiper = c }}
    root={root}
    swiperView={this}
    onScrollBeginDrag = { onScrollBeginDrag }
    onResponderRelease = { onResponderRelease }
    onMomentumScrollEnd = { onMomentumScrollEnd }
    style={styles.wrapper}
    width={whSmall}
    height={whLarge - 20 - this.state.statusBarHeight}
    index={0}
    loadMinimal={ false }
    loadMinimalSize={ 2 }
    loop={true}
    bounces={true}
    horizontal={true}
    showsButtons={false}
    keyboardDismissMode='on-drag'
    directionalLockEnabled={true}
    dotStyle={{backgroundColor: 'rgba(0,0,0,.2)', width: 10, height: 10, borderRadius: 5, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3}}
    activeDotStyle={{backgroundColor: redHLrgba, width: 10, height: 10, borderRadius: 5, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3}}
    paginationStyle={{bottom: 11, backgroundColor: 'transparent'}}
  >
  {[...Array(11)].map((swiperView, v) =>
    <View key={'swiperView' + v} style={v == 0 ? styles.webView : styles.serView}>
    ...
    </View>
  )}
  </Swiper>
  <View style={{ flex: 1, flexDirection: 'row' }}>
  ... (NavBar icons)
  </View>
</View>

This creates a horizontal Swiper view (AppSwiper), with height={whLarge - 20 - this.state.statusBarHeight}. Followed by a View (NavBar) that forms a 20px high bar at the bottom below the AppSwiper.
With upgrade to 1.5.7 (from 1.5.5), the entire height of the AppSwiper vanished. Same for "swiping" on the 10 children views within. The NavBar that was at the bottom is now at the top, with nothing following it.
Before: (1.5.5)

After: (1.5.7)

Anyone else seeing similar layout busted on 1.5.7?

I have also the same problem. Installed latest version react-native and react-native-swiper (1.57). Can anyone help?

Same here. Updated react-native and react-native-swiper (1.5.7)

Is it the same issue than #495 ?

Looks like it.

@arribbar updated to 1.5.8, no dice. Exact same issues and resulting screenshots as I wrote above.
@mrdezzods re-open please.

Strange though. I tried all the examples and they worked fine. Maybe can you show your code?

@mrdezzods I've updated my original post with a self containing test case, along with my app's package.json in case it's due to conflicts with other packages, though I think unlikely.

Same issue.
"react": "16.0.0-alpha.12",
"react-native": "0.47.1",
with: "react-native-swiper": "1.5.5", => work, but not have onIndexChange function.
with: "react-native-swiper": "1.5.8", => not render every thing.

@nuocgansoi Can you try with RN Swiper 1.5.9 version ?

@fungilation Thanks for your time

Can you add in your example all the import and the style? Like this, I can try it on my own computer.
Also, it seems you are not using the last version of RN Swiper, 1.5.9. Can you try with the last version ?

@arribbar,

I updated my first post with my app imports
I tried 1.5.9. And every minor version > 1.5.5, all show the same symptom. 1.5.5 is the last known version that works without issue for my app.

Thanks for bug hunting with me.

Ok, your issue is not coming from RN Swiper but updates in style from RN.
You have to :

add style={{ flex:1 }} to your first view
remove in the first view of your nav bar, flex: 1

It works perfectly in my case.

That does work. Thanks @arribbar!
Though I don't fully understand why. And Swiper 1.5.5 did work so what changed on Swiper's side that requires a change in container styling? Would be useful to document for others with similar issues since upgrading from 1.5.5

I'm not sure.
In the changes between 1.5.5 and 1.5.6, there is a new prop containerStyle (https://github.com/leecade/react-native-swiper/blob/6fd0c3d314414f34acec9b9e83ef5198156705bf/src/index.js#L668) which can override container style (https://github.com/leecade/react-native-swiper/blob/6fd0c3d314414f34acec9b9e83ef5198156705bf/src/index.js#L26).
We also added flex: 1 to container style since 1.5.5.
You can try changing these values and check what is working best to you.


After upgrading to 16.09, cannot log in with GNOME 3.

Issue description
After upgrading NixOS to 16.09, trying to log in with GNOME 3 does not work: the screen is changing a few times and i am put back to the login prompt (lightdm).
I can still log in from console or with Xmonad.
Steps to reproduce
Try to log in with GNOME 3 desktop.
Technical details

NixOS: 16.09.680.4e14fd5 (Flounder).
Nix version: 1.11.4.
Nixpkgs version: 16.09.680.4e14fd5.

Please post the output of journalctl? (journalctl -xb)

Here: https://gist.github.com/alexeymuranov/76fcd6de31821b35f75e917ac5a3a696

Oct 05 21:50:47 nixos xsession[1159]: /nix/store/lyvi4r0v8jhv2n5qdcgrhrqrb74yqkpg-xsession: Window manager 'gnome3' not found.

Can you post the relevant part from your configuration.nix? (services.xserver.*)

{
  services.xserver.enable = true;
  services.xserver.layout = "us";
  services.xserver.xkbOptions = "eurosign:e";
  services.xserver.videoDrivers = [ "intel" "nouveau" ];

  services.xserver.windowManager.xmonad.enable = true;
  services.xserver.windowManager.xmonad.enableContribAndExtras = true;

  services.xserver.displayManager.lightdm.enable = true;
  services.xserver.desktopManager.gnome3.enable = true;

  services.xserver.multitouch.enable = true;
}

I have just discovered that i can log in as my second user, the one i could not log in in #19164 before switching back an forth between gdm and lightdm.  As i said, i am using lightdm now.  Weird.  I will try to investigate when i have time.

As I mentioned in the other issue, there are probably incompatibilities if you use only one part of gnome.
I don't know what should happen if you set desktopManager to gnome3 and windowManager to xmonad.
To be honest I don't even know what setting a desktopManager should do in general.
But judging from the error I extracted last time from your log and a quick glance at the code there seems to be a problem somewhere around https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/display-managers/default.nix#L112-L135
Setting services.xserver.desktopManager.gnome3.enable = true; should create a session with manage = desktop and setting   services.xserver.windowManager.xmonad.enable = true; should create a session with manage = window.
You should try to debug why that script thinks you want to use windowManager=gnome3. Maybe cfg.windowManager.default is somehow overwritten by the gnome desktopManager module or anything like that.
Can you check nixos-option services.xserver.windowManager, in particular nixos-option services.xserver.windowManager.default

Well, if i check nixos-option services.xserver.windowManager.default as a root from a console, i get Value: "none", etc.

I tried removing from my home directory all GNOME-related subdirectories i could find, but this did not fix the problem.  I start suspecting that this could indeed be NixOS-specific, maybe related to user-installed packages...

I have fixed it!  The problem was caused by gnome-session-<IP_ADDRESS> package that i had installed for the broken account (i do not even remember installing it or what it was for).  Upgrading NixOS from 16.03 to 16.09 upgraded gnome-shell from 3.18.3 to 3.20.3.  Apparently the version of gnome-session became incompatible.  It was enough to remove gnome-session-<IP_ADDRESS>.
Please feel free to close this issue if you do not consider it Nix related.

Hmm, it would be nicer if gnome wasn't broken by installing additional stuff, but it seems there's far too little manpower here to deal with such "nitpicks".


THRIFT-3842 Fix Dart generator for const structs

@tylertreat-wf
@stevenosborne-wf
@brianshannan-wf
ref: https://issues.apache.org/jira/browse/THRIFT-3842

+1

+1


Better description under title

I think we could have something better than ** CircleProgressView** as a description

Update cocoa pod description.


Error with PostCSS 8.2 / Next.js / Yarn 2

Just wanted to try this polyfill and see if it will fix flex-gaps in Safari, but I'm getting this error:
> Build error occurred
Error: flex-gap-polyfill tried to access postcss-value-parser, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: postcss-value-parser (via "postcss-value-parser")
Required by: flex-gap-polyfill@virtual:8155a6cfbfdfb46993d4580fc21eff83d1d0b0104b30d90fc21cb3d1cb6af424a8c7374ff66963ea16d49d22220c7d865f663773d2ac91294d0e55ae2e9a274c#npm:2.2.1 (via /doc/overlisted/Projects/overlisted/website/.yarn/$$virtual/flex-gap-polyfill-virtual-4373d3db4f/0/cache/flex-gap-polyfill-npm-2.2.1-63f7eb63dc-e9a27e7b0f.zip/node_modules/flex-gap-polyfill/)

Require stack:
- /doc/overlisted/Projects/overlisted/website/.yarn/$$virtual/flex-gap-polyfill-virtual-4373d3db4f/0/cache/flex-gap-polyfill-npm-2.2.1-63f7eb63dc-e9a27e7b0f.zip/node_modules/flex-gap-polyfill/index.js
- ...

Hi @overlisted thanks for reporting this. Could be something I've missed with the dependencies. You could try npm install postcss-value-parser --save-dev to if this resolves it. Meanwhile, I'll look into it further. Thanks!

Installing that package has fixed that, so yeah, you're probably missing that dependency

A question while we're at it: Is this plugin going to work with Tailwind? Because in Tailwind flex and gap-* are separate classes, I wonder how you will/did it.

Hmm. Good question. The plugin currently only polyfills   when display: flex/inline-flex and gap exist in the same selector rule. This is to avoid it affecting CSS Grid. I'm also not sure if it would polyfill any of the Tailwind CSS. It's been a while since I used Tailwind and I can't remember how PostCSS plugins effect it.
For now the only thing I can think of to work around this would be to override the `.gap-* class which Tailwind provides with your own.
.flex.gap-* {
  display: flex;
  gap: *;
}

Maybe this can be done as part of Tailwinds customisation features?

That's a great solution. We should ask what the Tailwind team thinks.

Hi @overlisted. I'm working on an option that adds support for Tailwind. I'm still testing it at the moment, but if all goes well, should be available in the next release.

Thank you! It would really come in handy!

I can't guarantee I'll be able to make it perfect but I'll try my best. I've published a pre-release if you want to give it a go. Just install using npm install flex-gap-polyfill@next --save-dev.
Pass options through plugin as:
module.exports = {
	plugins: {
		'tailwindcss': {},
		'flex-gap-polyfill': {
			tailwindCSS: true,
		}
	}
};

It currently works when the classes flex and gap-* are applied at the same time. I'll need to investigate what I can do when margin is applied, as margin-left and margin-top are used by the polyfill and will be overridden by Tailwind as it currently stands.

Would there also be a way to make it apply the polyfill just on all non-grid elements? Because display: flex is set to all (reasonable) elements by default (with a CSS selector) in my project.

(yeah sorry if this is becoming a sort of "everything this project lacks" issue at this point)

That's ok. It would be quite costly to polyfill because it would have to replace every occurrence margin in every CSS rule. It needs something to narrow it down. That's why I should be able to provide support for Tailwind because I can check the selector to see if it matches .gap* and then assume that it's used with a class of .flex.
Could you tell me a bit more about your project and what you're using to name your classes? It's still pre-release so if I can abstract it to make it more applicable to different use cases I'll try.
Failing this you could try this JavaScript polyfill that @jonathantneal created.
https://cdpn.io/jonneal/debug/YzGxGvo

Hi @overlisted . The polyfill now works with Tailwind by default. It's been rewritten from the ground up and may also work for you're use case of applying flex to every element, but I can't guarantee it. There are also some other new options in the readme which might come in handy.


[Unsplash] OAuth, Like/Dislike Image, UI Improvements

Description
This update introduces many new features and improvements.

✅ Like/dislike image with ⌘ L (partially closes #5671)
✅ Set image as wallpaper on every desktop with Opt Shift W (separate action of setting it from settings, closes #5116)
🔥 New UI for image and collection details.
🔧 Setting a random wallpaper will set the wallpaper for every monitor by default now.
🔧 Orientation option can now be chosen dynamically directly next to search bar.

🚧 OAuth was required to build these features, so the extension now needs additional steps (authorize, add secret key) to install which are listed clearly on the README.md
Screencast
https://user-images.githubusercontent.com/13917975/229457991-4c5a42b3-88c8-47fa-af73-0fd980c15c5c.mp4
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

sorry about the 2 years old commit history lol

Hey, love the liking images feature and the new detail view!
In the search images command, could you retrigger the search when there is a change in the grid dropdown? That way you would not need to search again as you did in the video.


Update user.py

Replaced double hyphens with colons as pr. the style of existing code
What issue are you solving? (Give #issuenumber)
This have not been added as an issue, but I just wanted to make sure we stay as consistent as possible
How do you solve it? (please write this so a human can understand it - bulletpoints are okay)
replace double hyphens with colons

A style update, I notice I must have overlooked this before I merged in. @garroadran or @sdkwok will one of you take a look and give an approving review if the changes are approvable?


[6.x] Prevent running RefreshDatabase trait in production

Presently running php artisan migrate:fresh warns the user that they will be deleting all production data if they proceed.
The same consideration is not made when testing, where RefreshDatabase is dropping all tables and re-running all of the migrations potentially directly on a production database. Obviously this is probably not intended behavior and I doubt there's a use-case where people depend on their production data all being wiped clean every time they run their test suites.
Please note that due to php artisan config:cache, people may not even be aware they are running their tests against production, thinking their phpunit.xml will override their config values, forgetting that the config is cached.

I'm curious to know in which scenarios where APP_ENV is not testing.

When the config is cached.

We could add the following file back to phpunit.xml.
<server name="APP_CONFIG_CACHE" value="bootstrap/cache/config.phpunit.php"/>

Or we check for Env::get('APP_ENV') === testing when trying to load cache config under Illuminate\Foundation\Bootstrap\LoadConfiguration.
Otherwise $this->app->isProduction() check should be preferable.

$this->app->isProduction() does make more sense - I have switched to this conditional.
I also found this article for anyone confused about the use-case this PR is trying to cover:
How I destroyed the staging database - Hackernoon. Of course the PR here is covering the worst case scenario of production rather than staging, which the article discusses.

I'm also curious as to how much of a problem this is. How often are test suites run when it has access to the production db?

It seems to me that it must happen often enough for the feature to exist in the php artisan migrate:refresh logic:

The issue here is that same artisan command is being run with the RefreshDatabase trait, but without the same console warning.

That is what RefreshDatabase is doing under the hood.

I'm not against this pull request but in my opinion this shouldn't be a problem on a production server. A production server should not have the dev dependencies and that would simply prevent running the tests because phpunit is not installed.

The first google result for phpunit in production is a stackoverflow with the top answer suggesting phpunit in production is fine:
Should I use PHPUnit in a staging/production environment?

Obviously here they are suggesting that you properly filter the test suite to a scope that is safe for production, but that tests in production could help to identify problems where testing/staging environments have some kind of difference with production.

suggesting phpunit in production is fine

You didn't quote all the parts, it also says:

However this needs care. If any of your unit tests are not self-contained they must not be run

I'll leave it to each own judgement what "self-container" means in the context of having database / integration tests.

PHPUnit should not even be installed in your production environment as it is a require-dev dependency of Laravel.

I've done it locally a couple of time where I couldn't figure out why testing database is always empty, then I realised the config is cached and I lost my proper database :/

A local instance should never ever connect to a live database, also this would not save you as I think your config is still set to local when connecting to a remote db.
I advise you that you also use different databases for local development and testing, this can be done by creating a .env.testing file.

@netpok I never said I connected to live database. Locally often enough when having couple requests in quick succession you end up with 500 error because it didn't manage to read env in time or whatever the case, so I often cache it to avoid it. And please don't add "I'm not getting those" etc. every machine, setup etc. is different and that problem is present for more people than just me.

Sorry if my comment came down as offending, it was never intended that way (but I'm not a native English speaker). Your problem is quite interesting, as far as I know test shouldn't use cached configs, but I'm may be wrong.

Sorry from me too, might be a little on edge today 😓 I do wish I didn't have to do it locally, but I wouldn't even realize that I need to cache the config to get rid of those errors without googling around. I would appreciate if tests ignored cached configs, that's what they should do really to avoid all those mishaps, because sometimes it does cost an hour or two just to figure out it was a cache problem and I do prefer not having to re-download >1 GB databases all the time it happens.

I never experienced problem with caching for tests but with cached service provider information in bootstrap/cache/.
I install a package with auto-discovery in a feature branch, it gets written to these files.
I switch back to the mater branch and 💥 => framework doesn't boot because of a reference to a class not available anymore.
My solution: I added a tests/bootstrap.php file looking like this:
<?php declare(strict_types = 1);

// Always ensure the cached bootstrap files are removed before running tests
// Especially important for auto-discover installed packages
// when switching branches
foreach (glob(__DIR__ . '/../bootstrap/cache/*.php') as $filename) {
    unlink($filename);
}

require __DIR__ . '/../vendor/autoload.php';

and referenced it in phpunit.xml.dist like this:
<phpunit bootstrap="tests/bootstrap.php"…

I just though I mentioned this, as it might be able to solve this in a similar way.

If you installed it with autodiscover feature it should not break on branch change, since the vendor folder stays intact, the only way that changes is when you run composer install, but that runs the discover command too

I'm aware but apologies for not being explicit: you can use this approach to ensure the cache is cleared before hand, if desired. I was just trying to give an inspiration.


Fallbacks for an array of symbolized keys given as default to I18n.t are not retrieved from backend, only the initial key

# Gemfile
# gem 'rails' etc...
gem 'devise'

# app/models/user.rb
class User < ActiveRecord::Base
  devise database_authenticatable, :registerable, :recoverable, :validatable
end

# config/locales/devise.en.yml
en:
  errors:
    messages:
      not_found: "not found"

# config/initializers/i18n.rb
require 'i18n/backend/active_record'
require "i18n/backend/fallbacks"

I18n.default_locale = :'en-US'
I18n.available_locales = [I18n.default_locale]
I18n.fallbacks = true
I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Fallbacks)
I18n.backend = I18n::Backend::ActiveRecord.new

# in rails console
User.new.errors.add :email, :not_found

# Generates the following SQL queries in the log file
   (0.3ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en-US' AND ("key" IN ('activerecord.errors.models.user.attributes.email.not_found') OR "key" LIKE 'activerecord.errors.models.user.attributes.email.not_found.%')
   (0.2ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en-US' AND ("key" IN ('activerecord.errors.models.user.not_found') OR "key" LIKE 'activerecord.errors.models.user.not_found.%')
   (0.2ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en-US' AND ("key" IN ('activerecord.errors.messages.not_found') OR "key" LIKE 'activerecord.errors.messages.not_found.%')
   (0.2ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en-US' AND ("key" IN ('errors.attributes.email.not_found') OR "key" LIKE 'errors.attributes.email.not_found.%')
   (0.2ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en-US' AND ("key" IN ('errors.messages.not_found') OR "key" LIKE 'errors.messages.not_found.%')
   (0.4ms)  SELECT COUNT(*) FROM "translations"  WHERE "translations"."locale" = 'en' AND ("key" IN ('activerecord.errors.models.user.attributes.email.not_found') OR "key" LIKE 'activerecord.errors.models.user.attributes.email.not_found.%')

# Console returns with output
[ "translation missing: en-US.activerecord.errors.models.user.attributes.email.not_found" ]

I think it should query all I18n keys given as defaults on the fallback locales too, not just the original, most significant key of the error message.
Whether the fallback queries should happen between each query for a default, or after all default keys have been tried for the original locale then the fallbacks, I think it should try the fallback for each fallback locale for the most significant key, then gradually going the least significant default key symbol and trying the fallback locales on the way.

Hi there,
Please submit a PR to fix this issue.
Thanks!


In VGT, Is it possible on different language?

Hi, Thanks for sharing nice work.
If I want to use this model in a different language, like Japanese or Korean... What should I do?
Am I just replacing the token embedding which made with different Bert model? (I think the pre-trained GiT is based on English)
Can I use this model in new language just fine-tuning VGT with new dataset?

@yellowjs0304  Hi! Did you try? Can you share the result?


stablelm-2-zephyr-1_6b-Q8_0.gguf does not work

Hello,
I've been working on getting the stablelm-2-zephyr-1_6b-Q8_0.gguf operational (link: https://huggingface.co/spaces/stabilityai/stablelm-2-1_6b-zephyr), especially since the 3B version seems to function quite well. However, I'm encountering an issue with the 1.6B version where it fails to initialize the context. Currently, I'm using the latest version of your master branch to compile the library. Is there a straightforward modification I can make on my end to resolve this?
from logs:
01-29 22:50:05.365  3017 20732 E RNLLAMA_LOG_ANDROID: llama_model_load: error loading model: done_getting_tensors: wrong number of tensors; expected 340, got 268
Thank you.

I quickly tested this, it seems to be non-functional on older versions of llamacpp, but works on latest. I suppose you could try pull the latest llamacpp files to fix this. Otherwise, @jhen0409 will have to bump the llamacpp version.

@Vali-98 Tried to update submodule to latest version, but still the same problem ... you can take a look at:
https://github.com/batrlatom/llama.rn

Supposedly its was added on this commit:
https://github.com/ggerganov/llama.cpp/commit/d6bd4d46ddb6926087c11e0f6633ab1c81da58c3
Checking the npm install that you suggested, seems to pull the incorrect version of llamacpp, these lines are missing:
// optional bias tensors, present in Stable LM 2 1.6B
layer.bq = ml.create_tensor(ctx_layer, tn(LLM_TENSOR_ATTN_Q,   "bias", i), {n_embd},     false);
layer.bk = ml.create_tensor(ctx_layer, tn(LLM_TENSOR_ATTN_K,   "bias", i), {n_embd_gqa}, false);
layer.bv = ml.create_tensor(ctx_layer, tn(LLM_TENSOR_ATTN_V,   "bias", i), {n_embd_gqa}, false);

Something seems to have gone wrong with your compilation.

solved, needed to run bash scripts/bootstrap.sh to update needed files


Compatibility Issue with Node.js 20

Compatibility Issue with Node.js 20
Description
I'm encountering an issue with the "strapi-content-type-explorer" plugin when trying to run it with Node.js version 20.10.0. The error message indicates an incompatibility with the Node.js version.
Environment

Plugin Version: 0.1.1
Strapi Version: 4.14.4
Node.js Version: 20.10.0
Operating System: ios

Error Message
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=14.19.1 <=18.x.x". Got "20.10.0"

Steps to Reproduce

Install the "strapi-content-type-explorer" plugin.
Set Node.js version to 20.10.0.
Run Strapi.

Possible Solutions
[If you have any suggestions for a solution or workaround, please provide them here.]

Thank you for reporting.
This should be fixed by updating the package.json file:
https://github.com/ShahriarKh/strapi-content-type-explorer/blob/1c2e3b3ed522eb8722e5db8fc966b80c0b73df98/package.json#L40
However, I need to review some code before publishing a new version. You can try modifying the file manually to see if it works until then.

Thanks @ShahriarKh  for your quick response. I tested it locally by adding support for Node.js version 20, and it works well! That's why I made this PR to officially support Node.js version 20.

Thanks for your contribution. Merged it.
I will release a new version with some other improvements soon.


POST repo.PurchaseData item quantity is not a string

Need to convert to a string from a uint64.

Not sure if it's related but I made a purchase with this as the payload:

After making a POST /ob/orderspend call to fund the order, the order details changed to AWAITING_FULFILLMENT as expected, but the quantity value in the this.contract.buyerOrder zero:

Also there are 3 keys for quantity...

Duplicate of #1814 and fixed in #1828


Changefeed to http sink puts change data in body of request

corresponding Zendesk ticket: https://cockroachdb.zendesk.com/agent/tickets/8457
Summarize the improvement needed:
In this section, add

In the case of the experimental-http sink, query parameters can be included if they are required by the endpoint. However, regardless of what parameters are used, the actual change data will be included in the body of the request that CockroachDB makes to the sink.

cc @kathancox, @amruss

experimental-http sink is not designed as a general purpose, webhook style sink, it instead co-opts the infrastructure we use to communicate with cloud storage. We're working on building out a more general HTTP sink.
I'm going to close this with the expectation that we will have a more production ready general purpose http sink this release cycle that we will fully doc.


Any examples demonstrating posting Java objects to PubSub and reading them in DataFlow

I'm looking for some code examples on writing Java objects to PubSub and retrieving them in DataFlow.

Unofrtunately, this repository deals with Pub/Sub, but not Dataflow / Apache Beam related.  A general web search might get you what you need.

I think I found what I needed. Thank you

@JustinBeckwith - do I need to do anything here ?

No action needed - apologies for the noise!


[resolves #2271] Stomp integration fails on EAP-7.1

ok to test

retest this please

We need to hold this one, pending some firewall tweaks on the build environment.

retest this please

retest this please


Preprocess of UCF101

thanks for your great work!
i want to know how to generate the /path/to/datasets/UCF101/train_256_list.txt for the UCF101 training。
After downloading the UCF101 videos, according to the paper "We extract 16-frame video clips from these datasets", are there any process scripts we can follow?

thanks for your great work! i want to know how to generate the /path/to/datasets/UCF101/train_256_list.txt for the UCF101 training。 After downloading the UCF101 videos, according to the paper "We extract 16-frame video clips from these datasets", are there any process scripts we can follow?

Hi, thanks for your interest.  train_256_list.txt contains the following information (video-class-name_video-name_frame):

As for the second question, please follow this link.

@maxin-cn  how can i generate the train_256_list.txt, is there some process scripts?

@maxin-cn how can i generate the train_256_list.txt, is there some process scripts? if I want to train with ucf101_img_train.yaml

Please refer to the following code (firstly transfer video to frames and resize at the same time):
import os
from tqdm import tqdm

ffs_image_root = '/UCF101/images_256/'
ffs_image_txt = '/UCF101/train_256_list.txt'

def get_filelist(file_path):
    Filelist = []
    for home, dirs, files in os.walk(file_path):
        for filename in files:
            Filelist.append(os.path.join(home, filename))
            # Filelist.append(filename)
    return Filelist

ffs_files = get_filelist(ffs_image_root)

for i in tqdm(ffs_files):
    relative_path = i.split(ffs_image_root)[-1]
    with open(ffs_image_txt, 'a+') as f:
        f.writelines(relative_path + '\n')

@maxin-cn how can i generate the train_256_list.txt, is there some process scripts? if I want to train with ucf101_img_train.yaml

Please refer to the following code (firstly transfer video to frames and resize at the same time):
import os
from tqdm import tqdm

ffs_image_root = '/UCF101/images_256/'
ffs_image_txt = '/UCF101/train_256_list.txt'

def get_filelist(file_path):
    Filelist = []
    for home, dirs, files in os.walk(file_path):
        for filename in files:
            Filelist.append(os.path.join(home, filename))
            # Filelist.append(filename)
    return Filelist

ffs_files = get_filelist(ffs_image_root)

for i in tqdm(ffs_files):
    relative_path = i.split(ffs_image_root)[-1]
    with open(ffs_image_txt, 'a+') as f:
        f.writelines(relative_path + '\n')

Hi, @maxin-cn
I processed the UCF101 dataset following your above suggestions and the data is organized as follows:

But when I try to start training using train_with_img.py, it gets frozen with a super high CPU occupation.
Any idea?
[2024-03-01 12:24:03] Experiment directory created at ./results_img/000-LatteIMG-S-2-F16S3-ucf101_img
Starting rank=1, local rank=1, seed=3408, world_size=2.
[2024-03-01 12:24:05] Model Parameters: 32,624,288
[2024-03-01 12:24:07] Dataset contains 2,507,914 videos (./data/UCF-101)

Hi, @maxin-cn
I processed the UCF101 dataset following your above suggestions and the data is organized as follows:
But when I try to start training using train_with_img.py, it gets frozen with a super high CPU occupation. Any idea?
[2024-03-01 12:24:03] Experiment directory created at ./results_img/000-LatteIMG-S-2-F16S3-ucf101_img
Starting rank=1, local rank=1, seed=3408, world_size=2.
[2024-03-01 12:24:05] Model Parameters: 32,624,288
[2024-03-01 12:24:07] Dataset contains 2,486,613 videos (./data/UCF-101)

@valencebond Hi, could you share any experience with @xszheng2020 ? Thank you very much~

Dear authors,
I really appreciate your exceptional open-source work. As a newcomer to the video field, I have been exploring your repository and have a couple of questions that I hope you can help clarify.

Training Step vs. Epoch: the training procedure specifies max_train_steps rather than max_train_epochs. My understanding is that when using multiple GPUs, the steps per epoch decrease, but the total number of epochs increases, which doesn't seem to leverage the acceleration benefits of multi-GPU training. Could you please explain the rationale behind this setting?

UCF-101 Dataset Training Details: I would also like to inquire about the training resources, time, and performance of the model on the UCF-101 dataset. According to the code, training the Latte-S/2 model on UCF-101 with two 32G NVIDIA V100 GPUs takes approximately 2.5 minutes for every 100 steps. This would translate to an 18-day training period for 1 million steps, which seems quite extensive. Could you provide details on the configuration used for training? Additionally, information on the training time and Inception Score (IS) precision for the Latte-S/2 model on the UCF-101 dataset would be invaluable.

Thank you for your time and for maintaining such a fantastic resource for the community.
Best regards,
Shun Lu

Dear authors,
I really appreciate your exceptional open-source work. As a newcomer to the video field, I have been exploring your repository and have a couple of questions that I hope you can help clarify.

Training Step vs. Epoch: the training procedure specifies max_train_steps rather than max_train_epochs. My understanding is that when using multiple GPUs, the steps per epoch decrease, but the total number of epochs increases, which doesn't seem to leverage the acceleration benefits of multi-GPU training. Could you please explain the rationale behind this setting? And why does the Fig.8 only use 150k training iterations at most but ffs_train.yaml and 'ucf101_train.yaml' adopt max_train_steps=1000k?
UCF-101 Dataset Training Details: I would also like to inquire about the training resources, time, and performance of the model on the UCF-101 dataset. According to the code, training the Latte-S/2 model on UCF-101 with two 32G NVIDIA V100 GPUs takes approximately 2.5 minutes for every 100 steps. This would translate to an 18-day training period for 1 million steps, which seems quite extensive. Could you provide details on the configuration used for training? Additionally, information on the training time and Inception Score (IS) precision for the Latte-S/2 model on the UCF-101 dataset would be invaluable. You mentioned that 8 cards were used for all experiments in Issue #39 and I wonder which type of GPUs are used.

Thank you for your time and for maintaining such a fantastic resource for the community.
Best regards,
Shun Lu

Hi, thanks for your interest.

The max_train_steps parameter in ffs_train.yaml does not necessarily mean that the model needs to be trained up to 1000k steps; you can consider it as a maximum value.
The configuration in this repository is almost the same as the configuration I used. I use 8 A100 GPUs (80G) to conduct all the experiments shown in the paper (except for LatteT2V).

If you have any questions, please let me know.

Dear authors,
I really appreciate your exceptional open-source work. As a newcomer to the video field, I have been exploring your repository and have a couple of questions that I hope you can help clarify.

Training Step vs. Epoch: the training procedure specifies max_train_steps rather than max_train_epochs. My understanding is that when using multiple GPUs, the steps per epoch decrease, but the total number of epochs increases, which doesn't seem to leverage the acceleration benefits of multi-GPU training. Could you please explain the rationale behind this setting? And why does the Fig.8 only use 150k training iterations at most but ffs_train.yaml and 'ucf101_train.yaml' adopt max_train_steps=1000k?
UCF-101 Dataset Training Details: I would also like to inquire about the training resources, time, and performance of the model on the UCF-101 dataset. According to the code, training the Latte-S/2 model on UCF-101 with two 32G NVIDIA V100 GPUs takes approximately 2.5 minutes for every 100 steps. This would translate to an 18-day training period for 1 million steps, which seems quite extensive. Could you provide details on the configuration used for training? Additionally, information on the training time and Inception Score (IS) precision for the Latte-S/2 model on the UCF-101 dataset would be invaluable. You mentioned that 8 cards were used for all experiments in Issue #39 and I wonder which type of GPUs are used.

Thank you for your time and for maintaining such a fantastic resource for the community.
Best regards,
Shun Lu

Hi, thanks for your interest.

The max_train_steps parameter in ffs_train.yaml does not necessarily mean that the model needs to be trained up to 1000k steps; you can consider it as a maximum value.
The configuration in this repository is almost the same as the configuration I used. I use 8 A100 GPUs (80G) to conduct all the experiments shown in the paper (except for LatteT2V).

If you have any questions, please let me know.

Great thanks to your prompt and insightful response. I have two more questions when reproducing the results:

Training Steps and Duration for Latte-XL/2 on UCF-101: Could you please specify the exact number of training steps and the training time when training the Latte-XL/2 using eight A100 GPUs on the UCF-101 dataset?

Availability of Latte-S/2 Model on UCF-101: Have you trained the Latte-S/2 model on the UCF-101 dataset? If so, would it be possible for you to share such a model for reference? It would be useful for me to verify my experiments.

Thank you once again for your time and support.
Warm regards

Dear authors,
I really appreciate your exceptional open-source work. As a newcomer to the video field, I have been exploring your repository and have a couple of questions that I hope you can help clarify.

Training Step vs. Epoch: the training procedure specifies max_train_steps rather than max_train_epochs. My understanding is that when using multiple GPUs, the steps per epoch decrease, but the total number of epochs increases, which doesn't seem to leverage the acceleration benefits of multi-GPU training. Could you please explain the rationale behind this setting? And why does the Fig.8 only use 150k training iterations at most but ffs_train.yaml and 'ucf101_train.yaml' adopt max_train_steps=1000k?
UCF-101 Dataset Training Details: I would also like to inquire about the training resources, time, and performance of the model on the UCF-101 dataset. According to the code, training the Latte-S/2 model on UCF-101 with two 32G NVIDIA V100 GPUs takes approximately 2.5 minutes for every 100 steps. This would translate to an 18-day training period for 1 million steps, which seems quite extensive. Could you provide details on the configuration used for training? Additionally, information on the training time and Inception Score (IS) precision for the Latte-S/2 model on the UCF-101 dataset would be invaluable. You mentioned that 8 cards were used for all experiments in Issue #39 and I wonder which type of GPUs are used.

Thank you for your time and for maintaining such a fantastic resource for the community.
Best regards,
Shun Lu

Hi, thanks for your interest.

The max_train_steps parameter in ffs_train.yaml does not necessarily mean that the model needs to be trained up to 1000k steps; you can consider it as a maximum value.
The configuration in this repository is almost the same as the configuration I used. I use 8 A100 GPUs (80G) to conduct all the experiments shown in the paper (except for LatteT2V).

If you have any questions, please let me know.

Great thanks to your prompt and insightful response. I have two more questions when reproducing the results:

Training Steps and Duration for Latte-XL/2 on UCF-101: Could you please specify the exact number of training steps and the training time when training the Latte-XL/2 using eight A100 GPUs on the UCF-101 dataset?
Availability of Latte-S/2 Model on UCF-101: Have you trained the Latte-S/2 model on the UCF-101 dataset? If so, would it be possible for you to share such a model for reference? It would be useful for me to verify my experiments.

Thank you once again for your time and support.
Warm regards

You can refer to https://github.com/Vchitect/Latte/issues/58. I remember training on an 8 A100 for 2 days or so and the model could generate video.
I have only trained models of different sizes on the FFS dataset, and I can share these models with you if you need them.

r

Sincere appreciation for the valuable information.

Could you kindly inform me about the exact/approximate training steps required to reach an accuracy of 68.53% on UCF101 for the model listed in Table 1?
Additionally, I really need these models on the FFS dataset and the exact/approximate training steps. I kindly request them at your convenience to my email<EMAIL_ADDRESS>
Really thanks for your generous support.

r

Sincere appreciation for the valuable information.

Could you kindly inform me about the exact/approximate training steps required to reach an accuracy of 68.53% on UCF101 for the model listed in Table 1?
Additionally, I really need these models on the FFS dataset and the exact/approximate training steps. I kindly request them at your convenience to my email<EMAIL_ADDRESS>
Really thanks for your generous support.

I can't tell you exactly the exact number of training steps for the model that achieved this Inception Score because I forgot which model was used. But it must have taken a long time.
I have uploaded these models to here (all models training about 250k iterations).

r

Sincere appreciation for the valuable information.

Could you kindly inform me about the exact/approximate training steps required to reach an accuracy of 68.53% on UCF101 for the model listed in Table 1?
Additionally, I really need these models on the FFS dataset and the exact/approximate training steps. I kindly request them at your convenience to my email<EMAIL_ADDRESS>
Really thanks for your generous support.

It is difficult for me to tell you the exact number of training steps for the model that achieved this Inception Score because I forgot which model was used. But it must have taken a long time (about several weeks).
I have uploaded these models to here (all models training about 250k iterations).

Got it and thanks a lot.


mostly vectorized phase restriction calculation

I made a version of the phase shift calculation that has pretty much everything outside the for loop. It is about 3x faster in the test. Hard to say how it would perform with higher resolution data set. This was mostly an exercise to see what would be required to speed this up. I am not going to say whether we should actually merge this or not.

Codecov Report

Merging #67 (1bb7887) into main (f64b61e) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #67   +/-   ##
=======================================
  Coverage   98.76%   98.76%
=======================================
  Files          38       38
  Lines        1458     1459    +1
=======================================
+ Hits         1440     1441    +1
  Misses         18       18

Flag
Coverage Δ

unittests
98.76% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

reciprocalspaceship/utils/phases.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

This seems better than what was there, so it looks good to me


Bump to v2.29.1

It’s about a month since last release, and there’s only been a couple of bugfixes. So it’s a patch release this time.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

Feel free to merge. The gem should get released automatically afterwards.


Support for DDS? PNG and TGA are great but don't support mipmaps.

Trying to mod the new yugioh game.

For importing or for exporting? UABE normally generated mipmaps for png and tga files so they didn't have to be included with file when importing. UABEA doesn't support mipmaps at all (even when reimporting). If you need them for exporting, then that's probably a good usage, although ImageSharp doesn't support dds right now.

For the edit texture plugin. Loading textures on the Texture2D type.

Are you okay with uabea generating mipmaps for pngs? That would make things much easier.

I am I think... I'm not too savvy about any of this. I just know I need mipmaps haha.

UABEA doesn't support mipmaps
UABE normally generated mipmaps

As far as I remember (I do not have the UABE source code now)
All PNG's converted to DDS with DXT compression + mipmaps generating and all it depend on asset's setting for each textures while importing (used PVRTexTool Library)
Also DXT1-5 depend on alpha type (may ignore asset's settings)

Export or import DXT compressed DDS it makes no sense, because with each DXT recompressing operation the quality will be lost
PNG - the best solution
Never use TGA (often editors uses non standartd RLE encoding and exiF table)
There may be unpredictable consequences when importing textures

UDP (offtop)
Possible issue:
Need excepting exporting some DDS textures (3d\cube, but stored as 2D)
Exporting and reimport will broke this textures.
When I have time, I'll take a look and report what needs (may not need anything)

textoolwrap.cpp
crn_mipmap_params mip_params;
mip_params.m_gamma_filtering = true;
mip_params.m_mode = cCRNMipModeNoMips; //cCRNMipModeGenerateMips

Add here check for m_mipCount in Asset Data for current texture
m_mipCount = 1 then mip_params.m_mode = cCRNMipModeNoMips (no mips)
m_mipCount > 1 then mip_params.m_mode = cCRNMipModeGenerateMips (rebuild mips)
Thats all

@nesrak1 Hey, sorry for the ping, but is this still a planned feature? Kind of need it for a project, and this issue looks rather stale.

It's definitely a planned feature and I've even started work on it (but not pushed it). I had a few issues with certain texture formats and I haven't touched the code in a few months to fix it. On top of that, I added switch texture support which might complicate things a bit. I'll make the priority on this feature higher (hopefully to make it into next release.)
School has started up again though, so I'll be a little short on time...

Thank you, I really appreciate it. It's a really essential feature if you want to mod 3d games :D.


nixosTest: Fix infinite recursion involving hasContext testScript whe…

…n useNixStoreImage = true
The involved test was nixosTests.nextcloud.basic21.
It has a testScript that is strict in nodes.nextcloud.config.system.build.vm,
in assertions about imagemagick being in the system closure.
The recursion was introduced in 329a4461a7a1898b3aad13968a232a054422c4fb from
https://github.com/NixOS/nixpkgs/pull/140792

Motivation for this change
Unbreak nixos-unstable channel.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build nixosTests.nextcloud nixosTests.gitlab
nextcloud: offending evaluation
gitlab: example of a test that uses useNixStoreImage

So ofborg has a build failure in these tests, but that doesn't matter. They now evaluate, unblocking the channel.

The tests pass locally, so that's another reason to ignore ofborg's build failures.

Continued discussion: https://github.com/NixOS/nixpkgs/pull/140792#issuecomment-955767246


Add Sidebar component

Add a Sidebar component that opens the side of the screen on desktop and mobile in the bottom side of the screen, you should see a menu icon, and once opened you'll get 90-80% of the screen with a Drawer containing that sidebar. The behavior should be mostly exactly like the YouTube sidebar of subscriptions, my channel, watch later, etc.

@SilvianAchim
I hope that this will work fine. There is an example in the docs
link: https://ui.shadcn.com/docs/components/drawer#responsive-dialog
Replace the Dialog components with the Sheet components
Note: link to the useMediaQuery hook used in the component
link: https://github.com/shadcn-ui/ui/blob/main/apps/www/hooks/use-media-query.tsx

@SilvianAchim
I hope that this will work fine. There is an example in the docs link: https://ui.shadcn.com/docs/components/drawer#responsive-dialog
Replace the Dialog components with the Sheet components
Note: link to the useMediaQuery hook used in the component link: https://github.com/shadcn-ui/ui/blob/main/apps/www/hooks/use-media-query.tsx

what if i want to use the drawer as a sidebar? because i want to be able to swipe off the menu on mobile, and only a drawer can do that. i've built this. but then the biggest problem is scrolling.. scrolling within the navigation bar inside the drawer component doesnt work. either scrolling works but swiping off doesnt or vice versa

@MilanObrenovic
Refer to issue #2602

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Sr. SharePoint Analyst

It would be very helpful to know what permissions are required in order to run each command.  The SPO Developer documentation says that SPO Admin is all that is needed.  Yet, as an SPO Admin, I cannot run this command to see whether CDNs exist.

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

ID: 5a1cbddc-26b2-84bd-cbce-7d47b34d7da2
Version Independent ID: 19bba570-f209-9d5d-f9cc-50413b46071f
Content: Get-SPOTenantCdnEnabled (sharepoint-online)
Content Source: sharepoint/sharepoint-ps/sharepoint-online/Get-SPOTenantCdnEnabled.md
Service: sharepoint-powershell
GitHub Login: @techwriter40
Microsoft Alias: kirks

@ellenkong Thank you for this feedback
It should be the only permissions you need, as this is not working I want to get you over to support for hands on help.
I think the best way forward is if you can open a service ticket in your tenant so this can get resolved ASAP. Based on outcome let me know if it is something that can be called out in the docs.
Here is a quick video on opening a ticket: https://www.youtube.com/watch?v=puuOy0sEg1Y
If you don't mind please keep us posted here on the resolution and I really want to get this information you are discovering back into the docs.


Fixed an issue with satisfies "resolving" generic types of references

fixes https://github.com/microsoft/TypeScript/issues/52394
fixes https://github.com/microsoft/TypeScript/issues/60698

@typescript-bot test it


Mark all CNG handles as Send-safe

cc @teythoon

Thanks!  You created a patch faster than I could write the bug report :)
For context:  This is important to make them usable in async environments.  I'm working on https://gitlab.com/sequoia-pgp/sequoia/-/issues/615

Adding Send here should be safe - these handle wrappers all have corresponding destructors, if we clone structures we use a corresponding API call (e.g. BCryptDuplicateHash in impl Clone for Hash) and to the best of my knowledge these don't reference thread-local memory or anything of the sort. These should be safe to send to different threads.
I'm not 100% sure about Sync, though. As CNG states here:

Any functions that modify the same area of memory at the same time (critical sections) when being called from separate threads are not thread safe.

Thread safety disclaimer, as stated above, is somewhat cryptic. We don't know the implementation details and it might be possible that some innocent-looking CNG API calls that only accepts a handle can modify some CNG-internal buffer. If we had a &self method on a handle wrapper that would do something like that, while also sharing such a reference across threads, then we might find ourselves violating thread safety as described above.
It's worth noting that unique, mutable &mut references do not have this problem, as they're proven to be unique by the compiler, so &mut methods would be safe.
I think we should err on the safe side and if the user wants to have a Sync-implementing wrapper, they can always wrap it in a Mutex or other MT lock. Task systems usually care about futures being Send in order to send them between worker threads, so this PR enables exactly this use case and it should be safe to do so.

The Send and Sync traits are automatically implemented if all of the contained types implement this as well. Because BCRYPT_*_HANDLE types are effectively raw pointers and those are considered Send/Sync, the requirement wasn't upheld before. Now other structs like AsymmetricAlgorithm, which contains AlgoHandle (rather than raw BCRYPT_ALG_HANDLE) should be automatically considered as Send/Sync as well.
I should add a test for that.

Added Send tests in https://github.com/emgre/win-crypto-ng/pull/35/commits/9b001b82e995290e7db8e1a4c187fc2a316512ea.

It would be really good for us to fix this soon, because we want to make our 1.0 release on 2020-12-16, and this is blocking https://gitlab.com/sequoia-pgp/sequoia/-/issues/615

I can't approve/merge this myself
cc @emgre

@emgre thank you!

0.3.1 is now released containing this change: https://crates.io/crates/win-crypto-ng/0.3.1

Sweet, thank you :)


[Bug]: Invalid Privacy Manifest Error when Submitting App to App Store

Mapbox Implementation
Mapbox
Mapbox Version
10.17.0
React Native Version
0.73.6
Platform
iOS
@rnmapbox/maps version
10.1.21
Standalone component to reproduce
I have implemented the rnmapbox/maps package in my React Native Expo project. When I tried to submit the app to the App Store, I received the following error via email:
ITMS-91056: Invalid privacy manifest - The PrivacyInfo.xcprivacy file from the following path is invalid: “Frameworks/MapboxCommon.framework/PrivacyInfo.xcprivacy”. Keys and values in any privacy manifest must be in a valid format. For more details about privacy manifest files, visit: Apple's Documentation.
Here is version of mapbox, react native and expo
"@rnmapbox/maps": "^10.1.21",
"react-native": "0.73.6",
"expo": "^50.0.0",
Pod file:

How can I fix this issue? Any help would be greatly appreciated.
Thanks in advance!

See thread in https://github.com/rnmapbox/maps/issues/3447,
https://github.com/rnmapbox/maps/issues/3447#issuecomment-2094284167


changed max data retention to 730 days

@jurajsucik : Thanks for your contribution! The author, @mgoedtel, has been notified to review your proposed change.

@jurajsucik - Thanks for making the time to submit your proposed change.  It appears the max days retention changed from what was originally supported when the feature was updated a few months ago and I wasn't notified.  Based on this I'm approving your change.  #sign-off.


Strange redirect url issue

Hi,
trying to move our auth-code (Polymer SPA application) from using adal.js to oidc-client. We use ADFS (version 2016 or above) as SP and have implemented a scenario where we use popup-signin initially and then falling back to silent if the token can be refreshed.
Maybe my issue is caused by using the parameters in the same way as with adal, since they have the same name, but right now I´m just confused.
The issue I´m facing is that with oidc-client the popup window loads the start page of my application which turns into a loop. (find the configuration below)
It seems to open the popup with my redirect_url as startUrl, instead of making the request towards the ADFS-server. The redirects should be to our main page where the users auth-state will be checked. But how do I make the popup show the ADFS-login prompt?
I must have completely misunderstood how to use the library, compared to adal.js. So I would really appreciate your help! If you need more information I´ll be happy to send what I can.
     authority: ourADFS,
     client_id: this.settings.clientId,
     extraQueryParams: {resource: ourADFS},
     popup_redirect_uri: this.baseURI,
     silent_redirect_uri: this.baseURI,
     post_logout_redirect_uri: this.baseURI,
     popupWindowTarget: ourADFS,
     response_type:"id_token token",
     scope:"openid profile email",
     filterProtocolClaims: true,
     loadUserInfo: true,
     accessTokenExpiringNotificationTime: 60,
     automaticSilentRenew: false,
     metadata:  {
       issuer:ourADFS,
       authorization_endpoint: ourADFS + 'oauth2/authorize',
       userinfo_endpoint: ourADFS + 'userinfo',
       jwks_uri: ourADFS+ 'discovery/keys'
     }

leave the popupWindowTarget out of your config. This is only to specify the name of the window in which the page loads (see here for further info: [https://www.w3schools.com/jsref/met_win_open.asp](click me))
the popup_redirect_uri and silent_redirect_uri should lead to 2 seperate html-files, that each invoke UserManager.signinPopupCallback() and UserManager.signinSilentCallback() respectivly.
See here for an example: [https://identityserver.github.io/Documentation/docsv2/overview/jsGettingStarted.html](click me)

I have added the html-files according to the docs and now the login popup is displayed correctly, thanks!
Though I wonder if it would be possible to use any type of file that has the callback? Polymer 3 uses module templates with the files being javascript and the html as a property within the template, so I´d prefer not adding html-files. I see in some of the sample implementations (Vue, React etc) that the callback resides in "non-html" files, but I'm not familiar with those techniques. What is the requirements from oidc-client´s perspective, what does it need in the callback files?
This aside, as you see in my configuration, I have created the metadata property to overcome CORS issues, but I still get a CORS error:
"Access to XMLHttpRequest at 'ourADFS/adfs/userinfo' from origin 'http://<IP_ADDRESS>:8081' has been blocked by CORS policy".
Any idea on why I get this and how it can be fixed? The CORS issues is one of the reasons that we are trying this library instead of adal.js, and from the documents I got the impression that using the metadata property would work around the problem?

Update, of course userinfo problem was a simple mistake from me. It works like a charm to disable loading user info. BUT, if I REALLY would like to get that information. Is it possible and how do I do that?

For anyone interested, I got this working the way I wanted by creating the redirect_uris as Polymer (3.x) - elements and adding routing elements to these so that they can react to the ADFS responses.
Once again, thank you for doing the heavy-lifting for us!


Change md whitelist to blacklist

Description
Changes the md creation logic to make it easier to track the remaining work. Having a blacklist (instead of a whitelist) allows us to build all the pages available and makes it clearer to see those that still have issues.

@pettinarip IMO keeping the allowed list is better as it make explicit which pages are migrated and can be QAd. We have this task to keep track of the progress, all the pages are listed there https://www.notion.so/efdn/Migrate-to-NextJS-5f30feea1793493aa781808193a908e1?p=139b4551bbe441a9aeae33ad51ec5bfa&pm=s

Sure, that makes sense as well @nhsz.
I was thinking that given that we have so many pages, we could start releasing and QA all of them at once and only keep track of those which have conflicts, the same as what we do with the components.
In the end, both serve the same purposes and if we have a plan in place let's stick with it.


fix: Custom plugin

Description
tested validated and ported the content to 3,0
Testing instructions
Preview link:
Checklist

[x] Review label added
[x] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

Hi @mheap  in the command to patch the deployment. I was not able to add the kubectl apply command. I kept getting YAML parsing errors when I tried to use itin the code block. Please commit the change in the PR that would use kubectl apply to patch the deployment.


Getting started causes Error: Package subpath './lib/sidebars/generator'

Started by trying to bootstrap a normal project:
npx create-docusaurus-openapi pizza
cd pizza
npm start

After which i get this error:
[ERROR] Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/sidebars/generator' is not defined by "exports" in<EMAIL_ADDRESS>    at new NodeError (internal/errors.js:322:7)
    at throwExportsNotFound (internal/modules/esm/resolve.js:322:9)
    at packageExportsResolve (internal/modules/esm/resolve.js:545:3)
    at resolveExports (internal/modules/cjs/loader.js:450:36)
    at Function.Module._findPath (internal/modules/cjs/loader.js:490:31)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:888:27)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)
    at Object.<anonymous> (/Users/rasmus/Desktop/DEV/Work/pizza/node_modules/docusaurus-plugin-openapi/lib/sidebars/index.js:14:21)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)

node --version: v14.18.1
npm --version: 6.14.15
By the way, absolutely love this project! Would like to create a pull request to fix this but at the moment I have absolutely no clue how to get around this.

Hey @skoshx! Thanks for opening an issue, I'll take a look :)

It seems like Docusaurus 2.0.0-beta.15 has broken some things. Even though we pin the version to 2.0.0-beta.14 it ends up also installing newer versions due to Docusaurus depending on itself. As a temporary workaround, you can add this to your package.json:
"resolutions": {
    "@docusaurus/core": "2.0.0-beta.14",
    "@docusaurus/preset-classic": "2.0.0-beta.14",
    "@docusaurus/mdx-loader": "2.0.0-beta.14",
    "@docusaurus/plugin-content-docs": "2.0.0-beta.14",
    "@docusaurus/types": "2.0.0-beta.14",
    "@docusaurus/utils-validation": "2.0.0-beta.14",
    "@docusaurus/utils": "2.0.0-beta.14"
},

@bourdakos1 Hello, thanks for the quick reply! Your workaround works perfectly! Thanks :) Should I close this issue or keep it open to reference when a possible fix is available?

Let’s leave this open, thanks 😊

Help. Solution above doesn't work for me

<EMAIL_ADDRESS>start
docusaurus start

╭────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│                     Update available 2.0.0-beta.14 → 2.0.0-beta.15                     │
│                                                                                │
│   To upgrade Docusaurus packages with the latest version, run the following command:   │
│                            npm i @docusaurus/core@latest                             │
│                                                                                │
╰────────────────────────────────────────────────────────────────────────────────────────╯
[INFO] Starting the development server...
[ERROR] Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/sidebars/generator' is not defined by "exports" in<EMAIL_ADDRESS>at new NodeError (node:internal/errors:371:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:453:9)
at packageExportsResolve (node:internal/modules/esm/resolve:729:3)
at resolveExports (node:internal/modules/cjs/loader:482:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/Users/ilya/my-website/node_modules/docusaurus-plugin-openapi/lib/sidebars/index.js:14:21)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1155:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)

@Misotech Are you using yarn or npm? I don't know if npm supports resolutions in package.json

Try deleting yarn.lock and node_modules

@bourdakos1 don't work it

Can you upload a copy of your package.json and yarn.lock?

@Misotech You have to help us help you, you gotta give us more to go on than "don't work it". What steps did you do exactly to come to your error? What happens if you reproduce exactly your steps? What is your node version, what is your yarn version?
My steps to get it to work:
$ npx create-docusaurus-openapi pizza
$ cd pizza
$ # Here add `resolutions` to package.json, then:
$ yarn start

My steps:
$ npx create-docusaurus-openapi pizza
$ cd pizza
$ # Here add resolutions to package.json, then:
$ yarn start
Node version 16.14.0
Yarn version 1.22.17
Archive with package.json and yarn.lock
Archive.zip

You should have to run “yarn install” after adding the resolutions. I won’t have access to a computer this weekend, so I can take a closer look on Monday

@bourdakos1 Thanks! This is work

Have you tried the workaround?

@bourdakos1 Workaround still works, but I can't seem to get the docusaurus to look exatly as it does on https://docusaurus-openapi.netlify.app/petstore/add-a-new-pet-to-the-store. I think the new look on the deployed netflify looks amazing but I don't understand how to get the same look :smile:

Oh yea, thanks :) I added some custom css here to make it look different: https://github.com/cloud-annotations/docusaurus-openapi/blob/main/demo/src/css/custom.css

Oh ok, thanks a lot! Will defenitely steal it :wink: Btw, I was thinking of adding a feature where the openapiPath could be an URL, and the OpenAPI spec would get fetched from there instead of disk, are there any problems you could think of for a feature like that or should I get on it and submit a PR?

The only issue is if you expect the site to change if the spec at the given URL changes. Since the docs are statically generated, it would only fetch the spec from the URL when the production build is run.
If that’s the expected behavior, go ahead and submit a PR :)

Yeah, figured as much from reading the code. Since we have an API where the OpenAPI definitions are subject to change at this time, there would have to be some way of regenerating the docs, so have to think more about this…
By the way, do you know the root cause of this issue? Is this just an upstream docusaurus issue and there is no fix for it? I don't want to sound archaic but would be nice for docusaurus-openapi to work with npm aswell :D

I'm also having the same issue, I'm currently on beta.18 for docusaurus and I'm getting the error of ERR_PACKAGE_PATH_NOT_EXPORTED.
Adding the resolutions to package.json (and then removing node_modules / yarn.lock - yarn install) resulted in a different error:
[ERROR] TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined

So it is kinda deadend for me it appears 🥲
Here is my package.json:
{
  "name": "example-docs",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "docusaurus": "docusaurus",
    "start": "docusaurus start",
    "build": "docusaurus build",
    "swizzle": "docusaurus swizzle",
    "deploy": "docusaurus deploy",
    "clear": "docusaurus clear",
    "serve": "docusaurus serve",
    "write-translations": "docusaurus write-translations",
    "write-heading-ids": "docusaurus write-heading-ids"
  },
  "dependencies": {
    "@docusaurus/core": "^2.0.0-beta.18",
    "@docusaurus/plugin-content-docs": "^2.0.0-beta.18",
    "@docusaurus/preset-classic": "^2.0.0-beta.18",
    "@mdx-js/react": "^1.6.21",
    "@svgr/webpack": "^5.5.0",
    "clsx": "^1.1.1",
    "docusaurus-plugin-openapi": "^0.5.0",
    "file-loader": "^6.2.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "url-loader": "^4.1.1"
  },
  "resolutions": {
    "@docusaurus/core": "2.0.0-beta.14",
    "@docusaurus/preset-classic": "2.0.0-beta.14",
    "@docusaurus/mdx-loader": "2.0.0-beta.14",
    "@docusaurus/plugin-content-docs": "2.0.0-beta.14",
    "@docusaurus/types": "2.0.0-beta.14",
    "@docusaurus/utils-validation": "2.0.0-beta.14",
    "@docusaurus/utils": "2.0.0-beta.14"
  },
  "browserslist": {
    "production": [
      ">0.5%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "axios": "^0.21.2"
  }
}

I'm seeing the same happening as @YanDevDe.
Running yarn run docusaurus --help gives more information for where the error is located:
yarn run v1.22.15
$ docusaurus --help
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at new NodeError (internal/errors.js:322:7)
    at validateString (internal/validators.js:124:11)
    at Object.join (path.js:1148:7)
    at getTranslationsDirPath (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/server/translations/translations.js:84:50)
    at getTranslationsLocaleDirPath (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/server/translations/translations.js:87:32)
    at getCodeTranslationsFilePath (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/server/translations/translations.js:91:32)
    at readCodeTranslationFileContent (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/server/translations/translations.js:94:39)
    at loadContext (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/server/index.js:58:97)
    at async externalCommand (/home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/lib/commands/external.js:13:21)
    at async file:///home/pi/git/TC-SP-API-Docs/node_modules/@docusaurus/core/bin/docusaurus.mjs:267:3 {
  code: 'ERR_INVALID_ARG_TYPE'
}
error Command failed with exit code 1.

Hi! I also faced the same issue related to Error: Package subpath './lib/sidebars/generator' but applying the given solution caused me to run into a different issue.
Error faced:

><EMAIL_ADDRESS>start C:\Users\Prakash\Desktop\Repositories\pocs\docusaurus\ma-website
> docusaurus start

   ╭────────────────────────────────────────────────────────────────────────────────────────╮
   │                                                                                │
   │                     Update available 2.0.0-beta.14 → 2.0.0-beta.20                     │
   │                                                                                │
   │   To upgrade Docusaurus packages with the latest version, run the following command:   │
   │                         `yarn upgrade @docusaurus/core@latest`                         │
   │                                                                                │
   ╰────────────────────────────────────────────────────────────────────────────────────────╯

[INFO] Starting the development server...
[SUCCESS] Docusaurus website is running at http://localhost:3000/.
(node:25964) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
(Use `node --trace-deprecation ...` to show where the warning was created)

✖ Client
  Compiled with some errors in 7.11s

Module not found: Error: Can't resolve 'url' in 'C:\Users\Prakash\Desktop\Repositories\pocs\docusaurus\ma-website\node_modules\postman-code-generators\codegens\http\node_modules\postman-url-encoder\encoder'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "url": require.resolve("url/") }'
        - install 'url'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "url": false }

Setup Steps:
yarn create docusaurus-openapi ma-website
# Update package.json with resolutions mentioned above
yarn install
yarn start

Installed versions:
node: v14.16.1
yarn: 1.22.15
npm: 6.14.12
I'm not able to understand how I can start solving this. Any help would be appreciated. Thanks!

The same issue is happening on Docusaurus beta.21.

@bourdakos1 any indication on how to potentially fix the issue for the latest version of docusaurus? I'd like to create a pull request

Even after setting the resolutions, deleting node_modules and yarn.lock, it still displays "<EMAIL_ADDRESS>in yarn.lock. and the error happens ...

Docusaurus made a couple functions that we use private, so you can either make a pull request to Docusaurus making them public or make a pull request here reimplementing the logic of the private functions

[ERROR] TypeError: (0 , utils_1.getDataFilePath) is not a function
at Object.pluginContentBlog [as plugin] (C:\Users\TEMITAYO\Desktop\zeehDocs\node_modules@docusaurus\plugin-content-blog\lib\index.js:39:66)
After adding the resolution, This is the new error that gets generated, How to fix this please?


Fixes9

https://github.com/rancher/rancher/issues/6666
https://github.com/rancher/rancher/issues/6157


lax.conv_general_dilated: validate padding in shape rule

Fixes #11517
The code from that issue now gives this result:
In [1]: import jax
   ...: def fn(lhs, rhs):
   ...:     window_strides = [1, 1]
   ...:     padding = [[5, 16], [-5, 1]]
   ...:     return jax.lax.conv_general_dilated(lhs, rhs, window_strides, padding)
   ...:
   ...: mykey = jax.random.PRNGKey(83725540)
   ...:
   ...: lhs = jax.numpy.array([[[[-7.0950737, 20.612083, 53.864067], [-12.116554, -16.742317, -7.050851 ]]]])
   ...: rhs = jax.numpy.array([[[[29.074692, 40.518192], [21.685156, 41.867775]]]])
   ...:
   ...: fn(lhs, rhs)
---------------------------------------------------------------------------
ValueError
.
.
.
~/github/google/jax/jax/_src/lax/convolution.py in conv_shape_tuple(lhs_shape, rhs_shape, strides, pads, batch_group_count)
    814                                               axis=1))
    815   if np.any(lhs_padded < 0):
--> 816     raise ValueError("Negative padding is larger than the size of the corresponding dimension: "
    817                      f"got padding={pads} for lhs_shape[2:]={lhs_shape[2:]}")
    818   out_space = core.stride_shape(lhs_padded, rhs_shape[2:], strides)

ValueError: Negative padding is larger than the size of the corresponding dimension: got padding=((5, 16), (-5, 1)) for lhs_shape[2:]=(2, 3)

The initial version of this is wrong... discussed here: https://github.com/google/jax/issues/11517#issuecomment-1189372136

OK, I think it's correct now.


Enhance the cluster resource type a bit.

I was trying it out with a GKE cluster, and noticed a few issues:

we require a username for everything, even if we're using CA auth.
we weren't checking token auth.

This should really be switched to a declarative system where resources can
specify optional params, but that can come as part of the larger refactor.
This makes things a bit nicer tot use in the meantime.

Changes

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[X] Includes tests (if functionality changed/added)
[X] Includes docs (if user facing)
[X] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes

/test pull-tekton-pipeline-build-tests


NSelect: no way to know the group of an option

This function solves the problem (这个功能解决的问题)
If multiple SelectOption in different SelectGroupOption have the same value, there is no way to distinguish which one the user have selected.
This problem happens with this really common use case:

We fetch list A, B and C from API
Each list have their own id auto increment (dedicated table in database) and so there is the same ids in each list
We want to use each list as a SelectGroupOption in the same NSelect
Because there is the same value (aka id) 1 (for example) in list A, B and C, we have no way to know which SelectOption the user have selected :sob:

Expected API (期望的 API)
A very flexible way of handling that could be a new option-as-value boolean prop.
Once set to true, the value prop (and corresponding update:value event) while now deal with the whole SelectOption object instead of only the value. Because it's an object, it become easy to add a group property which contains the corresponding SelectGroupOption key (or even the whole SelectGroupOption object after all :man_shrugging:).
In addition, if the developer provides extra properties to SelectOption objects, he will be able to better identify which one is selected based on that extra properties.

Select doesn't support options with same value, whether they are in same group. If you need to distinguish them, you should convert options first.

You can concat group key to option value after partial list is fetched.

Hi @07akioni thanks for your reply.

You can concat group key to option value after partial list is fetched
It's exactly what I'm doing for now, as a workaround.

Select doesn't support options with same value, whether they are in same group
Please don't mix two different things: the value used for each option must be uniq, ok, and adding the group key is an easy way to do it, no problem.
BUT that doesn't means it's then easy to retrieve the original option (the one without added group key) with the current state of the NSelect component!

In my use case, I have a remote search and the search is clear after the user select an option (normal and needed behavior) so the list from my API is "reset". At the end, it's excessively complicated to find the selected entry from API list and I need some extra properties (I mean, other than value aka id) to display them to the user.
Currently I have more than 100 lignes of code just to build the options from API, transform the user selection from API (I store and retrieve the previous user selection if any) to NSelect value and transform back NSelect update:value event in API option object format... :exploding_head:
All that complicated things could be avoid if I can directly pass the objects coming from API as options (ok, I will still need a few computation to build groups) and value and retrieve them as update:value event!
The use case I'm experiencing (remote search, needs of extra properties in options and get them back on the user selection) seems excessively common (at least, I have to deal with that multiple times in the past three years with other UI framework) and so, please please consider adding the option-as-value prop as a general, really useful enhancement :pray: :pleading_face:

onUpdate:value will pass original option as the second param.

onUpdate:value will pass original option as the second param.

:scream: :scream: :scream: Hoooo I'm sooooo sorry! I miss that part in the documentation!! I apology for the useless noise.
Thanks a lot for your quick answer and patience :hugs: :heart:

@07akioni how do I pass the index into on-update? I can't find any way to actually know WHICH select was triggered (I have multiple dynamic rows of a form)
          <n-select
            v-model:value="part.name"
            :on-update:value="onSelect(index)"
            :options="itemsForSelect"
            size="medium"
            filterable
          />

@9mm you could probably do something like this:
          <n-select
            v-model:value="part.name"
            :on-update:value="(_, { index }) => onSelect(index)"
            :options="itemsForSelect.map((item, index) => ({ ...item, index }))"
            size="medium"
            filterable
          />

@M1CK431 awesome, thank you! Great idea


Runservice: added runDataCleanerLoop for deleting older logs/workspace data

fix #47

@sgotti can you do the review please?


be more specific about error fetching user details

>> ocm-share-create -grantee marie -idp https://revanc2.docker /home/my-folder
error: code=CODE_INTERNAL msg="error fetching remote user details" support_trace="0b9e389c583245ee3046bf7e9c018c5d"

it instead could say "idp not found", available idps are: ...

Also seeing this one now:
022-11-14 12:33:15.581 ERR ../../reva/internal/grpc/services/ocminvitemanager/ocminvitemanager.go:148 > error fetching remote user details error="error: not found: marie" pid=7 pkg=rgrpc traceid=e3ce0992bc9aa56eab6566a023e38a46

ocminvitemanager is doing status.NewInternal(ctx, err, "error fetching remote user details"), which seems right, it seems the error="error: not found: marie" comes from the err there.


Fix installation on Ubuntu 18.04 bionic, and pretty much all kitchen tests

Description
The default_major_version function in the helpers library was missing a definition for Ubuntu 18.04 (Bionic), which was breaking installs.   This PR fixes that.
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable

Signed-off-by: Irving Popovetsky<EMAIL_ADDRESS>

For reasons I don't yet understand,  newer mysqls seem to refuse to start unless the /etc/mysql/my.cnf file exists:
Jul 22 02:16:39 dokken mysql-systemd-start[1297]: MySQL configuration not found at /etc/mysql/my.cnf. Please create one.
Jul 22 02:16:39 dokken systemd[1]: mysql-master.service: Control process exited, code=exited status=1
Jul 22 02:16:39 dokken systemd[1]: mysql-master.service: Failed with result 'exit-code'.
Jul 22 02:16:39 dokken systemd[1]: Failed to start mysql_service[mysql-master].

but that's exactly what we do here:
https://github.com/sous-chefs/mysql/blob/master/libraries/mysql_service_base.rb#L39-L44
FWIW, that code was introduced 4 years ago with 6.0.0:  https://github.com/sous-chefs/mysql/commit/28f33de550ee4f6d4fb59262fa5986526576b577

Brill. Thanks for this nice tidy up!


Special icons with a full url are not displayed

The icon generation assumes that each url is an icon that is from the local extension. But some have a real url in them, like for webgo. https://www.webgo.de/assets/images/logo.svg
That results in an api.thegreenwebfoundation.org/image/https://www.webgo.de/assets/images/logo.svg
20x20.gif url.

Icons for the page action/browser action are supposed to be loaded from local.


fix(Combobox): Allow array type for modelValue and defaultValue

🔗 Linked issue
Resolves #698
❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This is a simple PR that improves the type of ComboboxRootProps. Since the ComboboxRoot component allows multiple to select more than one value, the modelValue and defaultValue can also be an array.
📝 Checklist

[x] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

Great 😄 I'm glad to help!


Markers not displaying properly on small intervals

Markers not displaying properly on small intervals, when using mplopengl.
When n = 1000, the markers are slightly offset

When n = 100000, the markers are totally broken

On Qt5Agg backend, there is no such issue.

import matplotlib
# matplotlib.use("Qt5Agg")
matplotlib.use('module://mplopengl.backend_qtgl')
import numpy as np
from matplotlib import pyplot as plt
sample_size = 1000
X = np.linspace(100079, 100090, sample_size)
Y = np.random.random(sample_size)

fig, (ax1) = plt.subplots(1, 1, sharex=True, sharey=True)

ax1.plot(X, Y, linestyle='solid', marker='*')

plt.pause(30)
if __name__ == '__main__':
    pass

It turns out due to precision loss in draw_markers(). Here's a temporary fix by moving float32 matrix on GPU to float64 matrix on CPU.
   def draw_markers(self, gc, marker_path, marker_trans, path,
                     trans, rgbFace=None):
        positions = path.vertices
        if len(positions) == 1:  # single markers don't need a particle shader to draw
            positions = trans.transform(positions)
            translation = Affine2D().translate(*positions[0])
            return self.draw_path(gc, marker_path, marker_trans + translation, rgbFace)

        marker_path = marker_trans.transform_path(marker_path)
        polygons = self.path_to_poly(marker_path, rgbFace is not None)

        # for precision
        positions = trans.transform(positions)
        arr_data = numpy.array(positions).astype(numpy.float32).tobytes()
        pos_vbo = self._gpu_cache(self.context, hash(arr_data), VBO, arr_data)

        with ObjectContext(self.particle_shader) as program, ClippingContext(gc):
            program.bind_attr_vbo("shift", pos_vbo)
            program.set_uniform3m("trans", Affine2D().get_matrix(), transpose=True)
            program.set_attr_divisor("pos", 0)
            program.set_attr_divisor("shift", 1)

            for polygon in polygons:
                arr_data = numpy.array(polygon).astype(numpy.float32).tobytes()
                poly_vbo = self._gpu_cache(self.context, hash(arr_data), VBO, arr_data)
                program.bind_attr_vbo("pos", poly_vbo)

                if rgbFace is not None and len(polygon) >= 3:
                    col = get_fill_color(gc, rgbFace)
                    program.set_uniform4f("color", *col)
                    glDrawArraysInstanced(GL_POLYGON, 0, len(polygon) - 1, len(positions))

                if gc.get_linewidth() > 0:
                    with StrokedContext(gc, self):
                        col = get_stroke_color(gc, self)
                        program.set_uniform4f("color", *col)
                        glDrawArraysInstanced(GL_LINE_STRIP, 0, len(polygon), len(positions))

Yes, when the zoom or translation gets to large you quickly see the difference between 32 and 64 bit precision. However fixing this correctly is complicated (you can't do it every time on the CPU) and I am not sure how often that kind of accuracy is really needed.

I use nanosecond precision. so when I do zooming in, it gets inaccuracy (and this time number of points is small). This the PR is a potential fix to this


Log all CoregistrationUI statusbar messages via logger.info() too

This makes it such that all messages we display on the status bar will also be sent to our logger (log level "info"). We had discussed adding some kind of logging system to the GUI in the past, and this here is just a very straightforward (cheap?) way to get some basic logging.
WDYT @GuillaumeFavelier @agramfort?

yes 👍

Indeed, _display_message() seems like a good place to me

Cool, so let's get this in, and we can iterate in the future :)

Thanks @hoechenberger !


Version bump to 0.5.1

<!-- Make sure you have read http://napalm.readthedocs.io/en/latest/contributing/index.html --!>

Coverage remained the same at 79.901% when pulling db0f556a0dd81fdaaa0e6f9ba4eb0bf8115b7d68 on rel-0.5.1 into 61793ce20dbc500499896f4d9d8f305e4ac00567 on develop.

+1


_changes does not match Apache CouchDB with "since=now" support

In Apache CouchDB, the _changes option for since can be specified either as a sequence number, or "now" as an alias for the most recent sequence number.
http://docs.couchdb.org/en/stable/api/database/changes.html
The implementation does not support the second case. Router assumes since is an integer, resulting in a 400 Bad Request response.
Sohva is currently an example of a CouchDB client library which assumes since=now is permissible.
(Tested with couchbase-lite-java-core 1.2.0, but cause verified in current master.)

@tjdett, Currently CBL does not support now value for since parameter. We will discuss it.

I created the API issue here : https://github.com/couchbaselabs/couchbase-lite-api/issues/164.


Setting progress of audio instance resets progress to 0

Whenever I run this code to update the progress of a given track, it returns the progress to zero regardless of what the percent is (I'm using a range from 0 to 1).
this.sound.setProgress(pct)
I've also tried the following with no luck
this.sound.progress = pct

Reverting to 1.7.3 fixed the issue


Add continuous deployment for Scala Common Enrich

We could set this up so you do this by pushing two tags: one to deploy SCE and one to deploy RT (real-time). But then there's a bit of a race condition - the build for the second tag can fail because the build for the first tag hasn't made the latest SCE version available fast enough. So maybe we just manually wait between pushing the SCE tag and pushing the RT tag?

We need a tag syntax that supports expressing both right? Because they have
to be the same code commit, because they have an inter-dependency...
On 3 Jun 2016 2:33 p.m., "Fred Blundun"<EMAIL_ADDRESS>wrote:

We could set this up so you do this by pushing two tags: one to deploy
SCE and one to deploy RT (real-time). But then there's a bit of a race
condition - the build for the second tag can fail because the build for the
first tag hasn't made the latest SCE version available fast enough. So
maybe we just manually wait between pushing the SCE tag and pushing the RT
tag?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/snowplow/snowplow/issues/2702, or mute the thread
https://github.com/notifications/unsubscribe/AAMPP5A9YaPzR2Pi9Wcuc2bPLf-bW1VMks5qIC0NgaJpZM4ItiPI
.

done in #3216