Refactor/migrate to ssr

Overview
Refactor for SSR.

Prisma setup :heavy_check_mark:
tRPC seetup :heavy_check_mark:
next-auth :heavy_check_mark:
server sessions and auth :heavy_check_mark:
MongoDB :heavy_check_mark:
Database Schema(few fields are missing though and some relations are kind of janked) :heavy_check_mark:
Onboarding moved to SSR :heavy_check_mark:
Templates Data setup on DB :heavy_check_mark:
Firebase and Redux Purged(almost) :heavy_check_mark:
Added schema for env variables :heavy_check_mark:

Things that still suck or don't work as of now

Credit data is kind of in the mud, but that's an easy fix
Creating new plans is messed up because I can't figure out all the generic types mess right now. Should be done in a few days hopefully.
Updating profile or adding credits, just need to create the endpoint but I got too lazy to do that.
Email login works with magic links but not with credentials because I was too lazy to do that too.

Stuff that I've not touched yet

The main planner page because updating the whole plan on each drag and drop is really bad, so I'm trying to think of some optimizations.

Things that need to be changed

DIfferent pages for the different sidebar tabs, otherwise Next13 layout system won't work.
Updating DOCS and creating a guide for the Mongo setup.

Functionalities added

Plan creation, deletion :heavy_check_mark:
semester deletion :heavy_check_mark:

Haven't done courses CRUD and semester creation yet, it's the same but I don't have a way to test it right now because I have all the drag and drop components disabled on my local version.
Hurdles
DB schema needs to be improved for storing the user Profile and credits info. This is making a lot of things messy right now
The schema I created does not exactly match our old data types, so I cant just use the data from the Mongo DB.


Improve "bot-detection" evasion techniques

I am opening this issue because https://github.com/dgtlmoon/changedetection.io/discussions/1979 was deleted apparently without a final state (rejected/accepted).
Obersvation: Pure changedetection (no paid services, no proxies in place, ...) is more and more incapable of scraping websites.  There are potential counter measures out there that need to be evaluated. More details were in the discussion mentioned.
If this feature request will be rejected it automatically means, that users will be inreasingly be forced to use paid services. Which is fine but I would lile to know where this repository is heading to.
Thanks in advance :)

So there are four sides to this

The browser side fingerprint (useragent, sec-ua user agent header, and all the other GPU card fingerprinting ettc tcetc) (note - setting just the 'user-agent' is deprecated and replaced by SEC-UA headers and internal JS navigator object in modern browsers!! https://filipvitas.medium.com/how-to-set-user-agent-header-with-puppeteer-js-and-not-fail-28c7a02165da)
"smart" work arounds for getting around Cloudflare (with some head-ful browser that first grabs the right pass-through-cookies etc)
The fingerprint of the actual TCP/IP connection, look up JA3 https://github.com/LyleMi/ja3proxy
Final extra bit - the reputation of your IP address

thanks @stevenengland , it was deleted because of the pushy disrespectful comments from a a some people using this software that we all love
I want remind everyone that the software is fully opensource and i'm open to any new PR's that you want to submit, if you want
However being a bully towards myself, demanding things from myself, when I dont know you, when I'm donating my free software to help you in your daily life, when i'm providing free support in my own time right here on github will be absolutely not tolerated and you will be banned from posting in this project on github

On the topic of "IMPLEMENT XYZ PLUGIN THAT I FOUND ON GITHUB!!"
I'm open to it - but i've tried all those plugins and I am unable to see any improvement in reducing error rates when you use the same IP address
please, try to think logically about it and find some way to prove to me that XYZ plugin reduces error/access rates other than just making demands that I do something for you, for free, without any evidence that it's going to help

Hi again, no offense, I stepped into the thread late and I hope that I am not the person you recognized to be pushy because that was not my intention. And because I know the thread I must say, I personally also did not find the other comments really pushy (also not thaaat nice but also not pushy or rude) but of cause you may feel differently when reading them.
Anyway: Let me rephrase my intention: I thought that it is one of the main goals of the project to also provide "stealth-ability". And if so I wanted to remark, that this goal can't be achieved for more and more sites anymore except if you use paid services out there. If "stealth-ability" is not a goal it is fine as well as it is fine if you say you do not have the resources for it. But in the sense of a feature request: I just want to know if you do not want to follow the path or just don't have the resources. I understood: You would be open for this but don't have the resources, would appreciate PRs. So the FR here could be left open?

That would be my requirement as well. Because there are bot detections out there that block my request from behind a dynamic IP at the very first attempt crawling a site with CD. Whereas from a real Browser behind this dynamic IP all subsequent calls of the page are succeeding. So there ist clearly a way of fingerprinting CD browsers without even using the IP information.

mentioned here a long time ago, but havent got a PR  https://github.com/dgtlmoon/changedetection.io/issues/1930

Looks interesting. Thanks for the hint.

I just used my own anti bot bypass solution: https://github.com/unixfox/pupflare
And it works flawlessly with changedetection.
The only issue is that the HTML code given to the client is a bit broken so you get a page without CSS.

Perhaps switching my Playwright container to use something like this? https://github.com/CheshireCaat/playwright-with-fingerprints

This is JS-only :( so its not possible to use it

This is something bypasses Cloudflare challenges. Works pretty much fine with Jackett
https://github.com/FlareSolverr/FlareSolverr/blob/master/src/flaresolverr_service.py#L252

I actually use that now with my arrr apps. Thanks for your comment but I
don’t think that’s going to work in this use case.
On Sun, Feb 25, 2024 at 4:13 AM Ashutosh Prusty @.***>
wrote:

This is something bypasses Cloudflare challenges. Works pretty much fine
with Jackett
https://github.com/FlareSolverr/FlareSolverr/blob/master/src/flaresolverr_service.py#L252
—
Reply to this email directly, view it on GitHub
https://github.com/dgtlmoon/changedetection.io/issues/2198#issuecomment-1962866322,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRLEACRVCWWZT7HEHGHYBTYVL6B7AVCNFSM6AAAAABDL3GHMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSHA3DMMZSGI
.
You are receiving this because you commented.Message ID:
@.***>

Hello.
In the following discussion https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/1388#issuecomment-1823730675 regarding the CloudFlare detection such a project was mentioned https://github.com/g1879/DrissionPage.
Maybe it's worth taking a look at it?
PS. Last week was horrible - almost all my watches stopped working due to the CloudFlare captcha:(
I tried working through both Chromedriver and Playwright, but no luck so far.
PPS. BTW, please, correct the following on https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher
Docker Compose based
In docker-compose.yml uncomment PLAYWRIGHT_DRIVER_URL under environment, and the playwright-chrome section under services.
to
Docker Compose based
In docker-compose.yml uncomment environment and PLAYWRIGHT_DRIVER_URL under it, and the playwright-chrome section under services.

one thing to add to this. not sure if there is a way to do it automatically but whenever i had issues with cloudflare blocking any bots i used to find the direct ip of the server behind cloudflare and put that into the local hosts file so it went direct to the end server and not via cloudflare.
im sure this is potentially blocked now in some form or another but works for some sites quite well still for me.

How did you find the direct IP?
On Tue, Apr 16, 2024 at 10:00 AM siparker @.***> wrote:

one thing to add to this. not sure if there is a way to do it
automatically but whenever i had issues with cloudflare blocking any bots i
used to find the direct ip of the server behind cloudflare and put that
into the local hosts file so it went direct to the end server and not via
cloudflare.
im sure this is potentially blocked now in some form or another but works
for some sites quite well still for me.
—
Reply to this email directly, view it on GitHub
https://github.com/dgtlmoon/changedetection.io/issues/2198#issuecomment-2059168488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRLEAH3MEBSDOXQYM32K3LY5UVGTAVCNFSM6AAAAABDL3GHMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJZGE3DQNBYHA
.
You are receiving this because you commented.Message ID:
@.***>

dgtlmoon great project first and foremost.
For everyone else, I switched over to sockpuppeteer and had 10 or more watches give me varying 4** errors, I guess it is profiled much easier but I just pulled headers from my actual browser to include on any watches which were failing. Changing headers has solved them all. I am not requesting any same url less than 10 minutes though. You definitely want proxies if you are hammering them.

@drabgail
Could you please elaborate what sockpuppeteer you use?

@drabgail Could you please elaborate what sockpuppeteer you use?

Just the one from the docker compose on the changedetection repo: dgtlmoon/sockpuppetbrowser:latest
When provided with headers it works on just about everything..

I was using browserless/chrome:latest before. It worked better, didn't need any additional tweaks and was almost never flagged. I started getting 'websocket closed' errors which I couldn't debug last week and noticed the repo was showing a different container to use so switched.

@drabgail
Thanks a lot!

If you can paste which headers+values you used that solved the access problems, that would be super nice!
On 24 May 2024 15:13:48 UTC, iG8R @.***> wrote:

@drabgail
Thanks a lot!
--
Reply to this email directly or view it on GitHub:
https://github.com/dgtlmoon/changedetection.io/issues/2198#issuecomment-2129790918
You are receiving this because you commented.
Message ID: @.***>

I went here on my browser (just current version of edge, don't judge)...
https://www.supermonitoring.com/blog/check-browser-http-headers/
...and copied whatever I got for these headers:
Accept:
User-Agent:
Content-Type:
Upgrade-Insecure-Requests: 1
Sec-Ch-Ua-Platform:
Sec-Ch-Ua-Mobile:
Sec-Ch-Ua:
Cache-Control: max-age=0
Accept-Encoding:
I'll give you my exact headers if you want but it's probably best to keep the variation and have people user whatever their setup provides as this is more a 'real user' representation. If you're planning to incorporate this more than just the same headers then maybe a 'copy my headers' button somewhere on either the main settings or per watch request settings?.. The browser would of course know them.

How did you find the direct IP?

I would search dns changes for when they activated cloudflare.
search for any subdomains that might be on same server but cloudflare is not active for.
ftp.
dev.
cpanel.
webmail.
if its wordpress there was a pingback technique you could use for the website to reveal its ip also. ill try and find the info on that if i still have it saves somewhere.

I went here on my browser (just current version of edge, don't judge)... https://www.supermonitoring.com/blog/check-browser-http-headers/
...and copied whatever I got for these headers: Accept: User-Agent: Content-Type: Upgrade-Insecure-Requests: 1 Sec-Ch-Ua-Platform: Sec-Ch-Ua-Mobile: Sec-Ch-Ua: Cache-Control: max-age=0 Accept-Encoding:
I'll give you my exact headers if you want but it's probably best to keep the variation and have people user whatever their setup provides as this is more a 'real user' representation. If you're planning to incorporate this more than just the same headers then maybe a 'copy my headers' button somewhere on either the main settings or per watch request settings?.. The browser would of course know them.

Can you tell me how you added these or where you added these headers?


Questions about the setting

I have two type of user IDs,  facebook:10204911533563856,  b0d0d782-7fe2-4c55-8fcb-c73aab87538e, when start the request with the code below, i get AlgoliaSearchError {name: "AlgoliaSearchError", message: "filters: Unexpected token string expected numeric at col 8"} ,
I think it can be the (:) or (-), to workaround over this i have to create a reference user id like this:
facebook10204911533563856,  b0d0d7827fe24c558fcbc73aab87538e,

In base the code below and this gist https://gist.github.com/romelgomez/c98991b90fb3b57981b5 how set the setting to get only the record or publications by userID or attribute reference, i should use tagFilters https://github.com/algolia/algoliasearch-client-js#category-search-parameters

      var client = algolia.Client('······················', '······························································');
      var index  = client.initIndex('publications');

      $scope.content = {};
      $scope.query = '';
      $scope.hits = [];

      $log.info('$scope.account.user.uid',$scope.account.user.uid);
      // facebook:10204911533563856
      // b0d0d782-7fe2-4c55-8fcb-c73aab87538e
      // AlgoliaSearchError {name: "AlgoliaSearchError", message: "filters: Unexpected token string expected numeric at col 8"}

      function search (){
        index.search($scope.query, {
            //facetFilters: 'userUid='+$scope.account.user.uid,
            filters: 'userUid='+$scope.account.user.uid,
            hitsPerPage: 25
          })
          .then(function searchSuccess(content) {
            //if(content.query !== $scope.query){
            //  search();
            //}
            $scope.content = content;
            console.log(content);
          }, function searchFailure(err) {
            console.log(err);
          });
      }

      $scope.$watch(function(){
        return $scope.query;
      },function(){
        search()
      });

Best regards

@romelgomez : Did you fix your issue?

Hi, @pixelastic,
Yes, I made a mistake:
This line:
filters: 'userUid='+$scope.account.user.uid,
Should be:
filters: 'userUid:'+$scope.account.user.uid,
I use (:) instead of (=)

I'm reading the docs again to improve my current settings:
var settings = {
attributesToIndex: ['barcode','title','unordered(description)'],
customRanking:['desc(views)'],
attributesForFaceting: ['categories','userID'],
numericAttributesToIndex:['price','releaseDate']
};
The releaseDate should be numericAttributesToIndex?

Thanks, Best regards

Good, nice to know you found the issue :)


Configure Azure Pipelines

This configuration builds the application and produces builds for both Debug and Release configurations.

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


Make Labels in tree configurable

Need more flexible options to generate the label of nodes in the tree. In particular, SAP/HANA uses the package name for the catalogs, and the view name (calculated view or analytical view) as the cube name. This leads to a particularly user-unfriendly rendition of the initial treeview.
In SAP HANA, the Description of the cubes could be used as the human friendly name provided the view author is aware it could be used that way. But even then there will be cases where the views are created in advance by people that have no such considerations, and it would be necasssary for system integrators to simply provide labels of their own.

Some steps have been taken to remedy this. I'm not entirely happy with how it's implemented now but at least it can be controlled through configuration.
Complete list of options to do this so far:
    //determines which field to use as caption for datasource nodes
    useAsDatasourceCaption: ["DataSourceName", "DataSourceDescription"],

    //configure whether to use the CUBE_CAPTION or the CUBE_DESCRIPTION as caption for cube nodes in the tree.
    //Most XML/A providers have a CUBE_CAPTION but SAP/HANA does not; the DESCRIPTION usually contains the human friendly name in that case.
    useDescriptionAsCubeCaption: false,


overwrite flag doesn't work for Model.batchPut

Summary:
Attempting to prevent overwriting an item in the database via the overwrite flag will not work if the batchPut method is invoked.
Code sample:
Schema
const schema = new dynamoose.Schema({
  pk: {
    type: String,
    hashKey: true,
  },
  sk: {
    type: String,
    rangeKey: true,
    index: {
      global: true,
      rangeKey: 'pk',
      name: 'ORG-LOOKUP',
    }
  },
  first: {
    type: String,
  },
  last: {
    type: String,
  },
  type: {
    type: String
  },
  "verified": {
    type: Boolean
  },
  "blocked": {
    type: Boolean
  },
  "locked": {
    type: Boolean
  }
},
{
  timestamps: {
    createdAt: 'creationDate',
    updatedAt: 'lastUpdateDate'
  }
});

Model
module.exports.model = dynamoose.model(process.env.db, schema, dynamoDbOptions);

General
schema.statics.createNewContact = async function(org, body) {
  const item = body
  item.pk = item.contact
  delete item.contact
  item.sk = org
  options ={
    overwrite: false,
    condition: 'attribute_not_exists(pk)'
  }
  return this.batchPut([item], options);
}

Current output and behavior:
With the static method I pasted above,  the entry will be updated if the record already exists.  If I change the method to use Model.create instead of batchput, the update is correctly rejected.
Expected output and behavior:
Upon attempting to add an already existing item a ConditionalCheckFailedException should be raised.
Environment:
Operating System: Mac OS X
Operating System Version: 10.14
Node.js version (node -v): v10.16.3
NPM version: (npm -v): 6.9.0
Dynamoose version: 1.11.1
Dynamoose Plugins:
None
Dynamoose Plugins:

[ ] Yes, I believe that one or multiple 3rd party Dynamoose plugins are effecting this issue
[x] No, I believe this issue is independent of any 3rd party Dynamoose plugins I'm using
[ ] Unknown, I'm unsure if Dynamoose plugins are effecting this issue
[ ] I am not using any Dynamoose plugins

Other information (if applicable):
Type (select 1):

[x] Bug report
[ ] Feature suggestion
[ ] Question
[ ] Other suggestion
[ ] Something not listed here

Other:

[x] I have read through the Dynamoose documentation before posting this issue
[x] I have searched through the GitHub issues (including closed issues) and pull requests to ensure this issue has not already been raised before
did find this: https://github.com/dynamoosejs/dynamoose/issues/355 but no resolution
[x] I have searched the internet and Stack Overflow to ensure this issue hasn't been raised or answered before
[x] I have tested the code provided and am confident it doesn't work as intended
[x] I have ensured that all of my plugins that I'm using with Dynamoose are listed above
[x] I have filled out all fields above
[x] I am running the latest version of Dynamoose

Apparently batch put with key condition isn't supported by Dynamo:
https://github.com/dynamoosejs/dynamoose/issues/529


chore: update node and npm

https://nodejs.org/en/blog/release/v22.12.0
 No matching version found for Node: ^22.12.0
 Scalingo supports the latest Stable version of Node.js as well as all
 active LTS (Long-Term-Support) versions, however you have specified
 a version in package.json (^22.12.0) that does not correspond to
 any published version of Node.js.
 You should always specify a Node.js version that matches the runtime
 you’re developing and testing with. To find your version locally:
 $ node --version
 v6.11.1
 Use the engines section of your package.json to specify the version of
 Node.js to use on Scalingo. Drop the ‘v’ to save only the version number:
 "engines": {
   "node": "6.11.1"
 }


Skipping 403 Error on S3 Transfer Desperate for Help PLEASE URGENT

Ok, so I have a Parse.com app I've been working on way too long trying to get migrated. My original Parse class had some file images in it, and I tried using the parse-files-utils tool to move them all over to S3. I did this, but something went wrong in the process and it renamed all the image files on Parse, while not actually moving them to S3. So, I deleted all the images (this is after the mongoDB has already been set up) and re-uploaded files, this time they had different image names. I then set everything up and run the parse-files-utils to upload to S3 and I get this:
I have even edited files in my mLab database with Mongo to make sure that the picture file listed in the database matches what it is searching for here, but to no avail.  I am desperate for help.
Initializing transfer configuration...
Connecting to MongoDB
Successfully connected to MongoDB
Initializing s3 adapter
Fetching schema...
Fetching all objects with files...
Processing 41 files
Saving files with s3
Failed request (403) skipping: https://fritchdirectory.s3.amazonaws.com/tfss-1ae62b0d-d71c-415a-838a-51f4fc515085-chisum.jpg
Failed request (403) skipping: https://fritchdirectory.s3.amazonaws.com/tfss-c06d523

When I go to the Parse site itself and check on one of those images to download, the filename matches EXACTLY.

I am having same problem, did you get the solution ?

I got the problem, It was because of the file-key was wrong in parse server app.

@jigneshk which file-key? the one on your parse-server config? Because there's no file-key in this utils config file, is there?

Never did solve anything @jigneshk

@spiderguy84 Looks like your serverURL is pointing to your server and it cannot find the files. You may want to try pointing to parse serverURL:  "https://api.parse.com/1"


Cannot install moshi-mlx

Backend impacted
The PyTorch implementation
Operating system
Linux
Hardware
CPU
Description
`INFO: pip is looking at multiple versions of moshi-mlx to determine which version is compatible with other requirements. This could take a while.
Collecting moshi_mlx
Using cached http://mirrors.tencentyun.com/pypi/packages/95/bc/f1952075f7eb11155cd818ac6a42a5dfd31f3fe7ae94856eb405bae18aa1/moshi_mlx-0.0.0-py3-none-any.whl (1.4 kB)
ERROR: Cannot install moshi-mlx==0.0.0 and moshi-mlx==0.1.0 because these package versions have conflicting dependencies.
The conflict is caused by:
moshi-mlx 0.1.0 depends on mlx<0.18 and >=0.17.2
moshi-mlx 0.0.0 depends on mlx<0.18 and >=0.17.2
To fix this you could try to:

loosen the range of package versions you've specified
remove package versions to allow pip to attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
`
Extra information
`conda create -n moshi python=3.10
conda activate moshi
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
curl https://sh.rustup.rs -sSf | sh # install Cargo, the Rust package manager
. "$HOME/.cargo/env" # source Cargo
pip install moshi      # moshi PyTorch, from PyPI
pip install moshi_mlx  # moshi MLX, from PyPI`
blocked at pip install moshi_mlx
Environment
Fill in the following information on your system.

Operating system version:

If the backend impacted is PyTorch:

Python version:
PyTorch version:
CUDA version (run python -c 'import torch;  print(torch.version.cuda)'):
GPU model and memory:

If the backend is MLX:

Mac model:

You cannot install the mlx version (designed for Apple Silicon) on Linux. Try with the CUDA version if you have a GPU. CPU-only doesn't work yet afaik.

closing as @do-me  summarized the situation :)

Sure that should work with the normal cuda version. Just make sure the install the right backend (not -mlx).


Accept slashes in imports in Python code

(Original issue 676 created by coolrr on 2011-07-06T16:29:35.185306+00:00)
I put this line into a code sample in Sphinx:
{{{
from garlicsim_wx.widgets.general_misc.cute_window.
bind_savvy_window import name_parser as name_parser_module
}}}
And it made either Sphinx or Pygments to stop thinking that this is a Python code segment, and so the sample wasn't color-coded.
Is this a bug in Pygments?

(Original issue 676 last updated on 2011-07-10T09:15:30.231450+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2011-07-10T09:15:30.222811+00:00)
It's indeed a bug in Pygments. Fixed in <<changeset 0c79170a29bc>>.


plexus-form up for adoption

As I have mentioned several times before, I cannot really spare the time to maintain this code as a proper project, so as of now, I am officially declaring it abandoned. I may or may not be able to pick things up at some point in the future, but would then almost certainly do a complete rewrite from scratch.
If anyone has a fork or otherwise related project that they are planning to maintain for some time and would like people to know about, please comment below and I will add a link to the readme. Also feel free to use this thread for coordinating future efforts.
Since my employer holds the copyright to the code, I cannot pass this repository over to a new maintainer, and I will also have to hold on to the name plexus-form on npm.
Cheers,
Olaf

Hello,
I don't mind to keep my fork active by accepting PR and fix some issues.
So, if no one else volunteers to fully maintain it, you can point out to my fork on the readme.
btw, thanks for the work you have done here, and to AppliedMathematicsANU.

@ismaelga Cool. :+1:
Maybe it would be the best if we could get the npm version point at that? If that's not possible, then you would have to pick a different name to publish it under.

It's up to you. You could add me as a package contributor on npmjs.com so I can release new versions of it. If not, I can create my own package.

@ismaelga One alternative might be to see if we could get the project under rackt. I can ask around to see if there's interest.

Sure! That would be awesome :+1:
If it helps, you can tell them I'll contribute to its development/maintenance.

@ismaelga Ok, I opened the discussion. We'll see how that goes.
CC @ryanflorence

@ismaelga No dice so far... Perhaps the best idea would be to fork the project, rename, and start developing. Let me know if you need help with some bits. I've done my share of work with plexus-form.

I think a fork with a new name would be best. I have a number of small packages with the plexus- prefix, which doesn't really mean anything outside of our internal project here at ANU which they were created for.
If at some point I get around to doing more active work on form generation for React apps, I'll be happy to contribute back to the forked project.

Should I also fork the plexus-* dependencies? Or you will keep maintaining them?

I wouldn't mind maintaining those as long as it's just a matter of adding bug fixes and small tweaks here and there, which seems likely. But there's probably an argument to be made for just pulling them into the plexus-forms code base. They're each just a single, relative small source file right now.
The idea for having plexus-validate separately was that people could plug in their own validator, but then they can still potentially do that even if it's included. It would make more sense for it to be a separate package if it were meant to be a complete JSON-Schema validator, but that was never my intention. If you're interested in extending plexus-validate in that direction, it might be best to fork it.
As for plexus-objective, that's really just a collection of small utility functions to make mangling objects and arrays a bit more pleasant. Even though I use them all over the place, I'm now finding it easier to copy and paste the ones I need between code bases rather than synchronizing with a separate repo.
So long story short, it's up to you. If you're not planning on changing much, keep using the existing projects, otherwise fork them or pull them in, depending on your preferences.

I think I will go with pulling them to main package then.
Hopefully, next week I will have some time to work on the fork, and release it as a new package. Will come back to you when it feels ready to me.

@ismaelga how is this coming? can i help? i'd love to find a well maintained json-schema and react forms solution

@datapimp Sadly I haven't done anything yet. Will do my best to get things done on the weekend.
Sure you can help! For starters, finding a new name for the project :smile: Also, I can give you contributor permissions to the repo if you want.

Finally got time for this. I decided that react-json-editor is a good name and here it is https://github.com/ismaelga/react-json-editor
@odf will you add it to plexus-form README or you want me to send a PR for that?

@ismaelga Many thanks for stepping up! I've added the link now. If you want to change the wording, though, I'm happy to accept your PR.


Make CBO row count test more robust

Signed-off-by: Andy Grove<EMAIL_ADDRESS>Due to the non-deterministic nature of AQE (query stages run concurrently and can result in different final plans depending on the order of completion), one of the new CBO tests was sometimes failing in CI. This PR makes the test less specific.

build


Upgrade to akka-persistence-spanner 1.0.0-RC5

See https://github.com/lightbend/cloudstatemachine/issues/2534 for details.

Following the good practices of OSS development and common sense there should be an open description here. Otherwise, it should be opened in some private LB repository.

Following the good practices of OSS development and common sense there should be an open description here. Otherwise, it should be opened in some private LB repository.

@sleipnir sorry for that!
Actually everything should be covered here in open: https://github.com/akka/akka-persistence-spanner/issues/99
TL'DR: Bug in akka-persistence-spanner, fix in the RC5 release.

@sleipnir sorry for that!
Actually everything should be covered here in open: https://github.com/akka/akka-persistence-spanner/issues/99
TL'DR: Bug in akka-persistence-spanner, fix in the RC5 release.

@hseeberger Thank you very much for the clarifications

@hseeberger Thank you very much for the clarifications

@sleipnir, you're welcome. BTW, the PR does not pass CI and I cannot see how this should be related to my tiny change. If you have some time to take a look, that would be highly appreciated.

@sleipnir, you're welcome. BTW, the PR does not pass CI and I cannot see how this should be related to my tiny change. If you have some time to take a look, that would be highly appreciated.

It looks like some layers of the 'cloudstateio/cloudstate-go-tck:latest' docker image were not downloaded in time.

It looks like some layers of the 'cloudstateio/cloudstate-go-tck:latest' docker image were not downloaded in time.

@hseeberger To prevent this type of errors ([info] java.lang.AssertionError: timeout 60 seconds expired) I suggest increasing the test timeout time to double the current time

@hseeberger To prevent this type of errors ([info] java.lang.AssertionError: timeout 60 seconds expired) I suggest increasing the test timeout time to double the current time

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

Obiviously, this change is orthogonal to what happens with the TCK for some time now. Checking the last couple of PR's shows the same issue over and over again, with changes unrelated to the failure in the CI run. As @sleipnir explained possible reasons for the CI run breaking, the explanation has nothing to do with this PR, obiviously.

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

The suggestion by @sleipnir to increase a timeout is a general improvements suggestion, for sure not to be done with this PR but opening a another one and then try that out there.
I took some time, like @sleipnir did, to investigate this a bit:
Seeing the PR CI runs of the last few days, many failed like:
https://travis-ci.com/github/cloudstateio/cloudstate/jobs/473092960#L1211
and one, in between, succeeded:
https://travis-ci.com/github/cloudstateio/cloudstate/jobs/471982238#L1316
and a short test in a devcontainer where the TCK runs with no issues, I assume no functional issue here.
This leaves the timeout suggestion by @sleipnir a good one we should try, where I'd prefer the option not racing with a timeout but getting the images before running the TCK.
What is not clear to me is, that despite a few re-runs of the travis job I did, always the fs layers of the same image (cloudstate-go-tck) got retries, which is no coincidence I think.

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

Obiviously, this change is orthogonal to what happens with the TCK for some time now. Checking the last couple of PR's shows the same issue over and over again, with changes unrelated to the failure in the CI run. As @sleipnir explained possible reasons for the CI run breaking, the explanation has nothing to do with this PR, obiviously.

Thanks, @sleipnir. I am unsure if I should increase the timeout here in this innocent little PR.

The suggestion by @sleipnir to increase a timeout is a general improvements suggestion, for sure not to be done with this PR but opening a another one and then try that out there.
I took some time, like @sleipnir did, to investigate this a bit:
Seeing the PR CI runs of the last few days, many failed like:
https://travis-ci.com/github/cloudstateio/cloudstate/jobs/473092960#L1211
and one, in between, succeeded:
https://travis-ci.com/github/cloudstateio/cloudstate/jobs/471982238#L1316
and a short test in a devcontainer where the TCK runs with no issues, I assume no functional issue here.
This leaves the timeout suggestion by @sleipnir a good one we should try, where I'd prefer the option not racing with a timeout but getting the images before running the TCK.
What is not clear to me is, that despite a few re-runs of the travis job I did, always the fs layers of the same image (cloudstate-go-tck) got retries, which is no coincidence I think.

Thank you @marcellanz  for your time analyzing this innocent TCK problem.
I opened an issue to address the question where I suggested, as you also suggested here, download the images locally before the tests run. But unfortunately I don't have time to elaborate a PR right now, but I think we left all the necessary information here on which way to go in solving this problem, right!?
I believe that this should resolve the issue without having to change the timeouts for the tests, which should make other CloudState contributors more comfortable with their PRs.
Thank you @marcellanz  once again for your detailed analysis.

Thank you @marcellanz  for your time analyzing this innocent TCK problem.
I opened an issue to address the question where I suggested, as you also suggested here, download the images locally before the tests run. But unfortunately I don't have time to elaborate a PR right now, but I think we left all the necessary information here on which way to go in solving this problem, right!?
I believe that this should resolve the issue without having to change the timeouts for the tests, which should make other CloudState contributors more comfortable with their PRs.
Thank you @marcellanz  once again for your detailed analysis.

@marcellanz  about the layers that always undergo retries seems to me to be a problem in the Docker Hub Registry, probably these layers are common to many repositories.

@marcellanz  about the layers that always undergo retries seems to me to be a problem in the Docker Hub Registry, probably these layers are common to many repositories.

@sleipnir Thanks, see my comment in the issue of yours: https://github.com/cloudstateio/cloudstate/issues/514#issuecomment-763605809 we can track this there. The CI run for this issue went green after a few tries.

@sleipnir Thanks, see my comment in the issue of yours: https://github.com/cloudstateio/cloudstate/issues/514#issuecomment-763605809 we can track this there. The CI run for this issue went green after a few tries.

@sleipnir Additionally, I saw the TCK timing out similarly when a language TCK did not respond the initial discover call by the proxy properly. This happenend implementing one of those language TCK images and might be a bug. I'll check if this is still the case. Saying that, the main cloudstate branch always can have failed TCK runs in CI as the :latest tags bring potentially effects of incompatibility when the main project and language supports diverge. Currently, I have not running the Nightly TCK runs anymore as travis decided to stop running them with out of free-time-credit issues. We might run them elsewhere.

@sleipnir Additionally, I saw the TCK timing out similarly when a language TCK did not respond the initial discover call by the proxy properly. This happenend implementing one of those language TCK images and might be a bug. I'll check if this is still the case. Saying that, the main cloudstate branch always can have failed TCK runs in CI as the :latest tags bring potentially effects of incompatibility when the main project and language supports diverge. Currently, I have not running the Nightly TCK runs anymore as travis decided to stop running them with out of free-time-credit issues. We might run them elsewhere.

Great job @marcellanz

Great job @marcellanz

I did nothing 🤷♂ I only pushed CSS buttons 😆

I did nothing 🤷♂ I only pushed CSS buttons 😆

I'll close this issue now, since #513 is merged and there's #514 for the docker pull timeout.

I'll close this issue now, since #513 is merged and there's #514 for the docker pull timeout.

Thanks, @pvlugter, I forgot to close it 😬

Thanks, @pvlugter, I forgot to close it 😬


WebGL implementation of calculations

(this is a continuation of the discussion started in #11, so it can be 'closed' cleanly)

...  jpcnn, which in turn relies on underscore ...

Hmm - that is a lot of machinery to include 100-200 lines of WebGL.  The least-intrusive method for including the end result (i.e. what the client sees) would be to have a separate convnet.webgl.min.js which, if it's there, sets up a webgl flag for the regular convnet.min.js to call into - or even overwrite the re-implemented methods themselves.
On the source side, however, I've got to think there's a more direct way of making the BLAS.js code ready-to-use.  I also think it makes sense to go the BLAS-compatible route, since it's a standard, and one avoids having to continuously re-invent the wheel...  I'll have a poke around for a cleaner set of includes.
All the Best
Martin
:-)

@Maratyszcza do you think that it could take a speedup using fusion.js? Do you have done a benchmark against glmatrix?

@bhack I am not related to fusion.js project.
If you mean Furious.js, it does not aim at small matrix manipulations.

Yes sorry I meant Furious.js.  So your effort "blis for the web" it was not related to Furious?

@bhack It is intended to be integrated into Furious.js, but it is not there yet. And in any case, it would only help for large matrices/NDArrays

@karpathy Just wondering if there's been any progress on this, as I haven't been able to find much else about it online.
I'd like to use your deep q learning code to try and train an agent on Go, as most of the necessary additional code is already available online in javascript, but I'm not sure how slow training would be without the speedup of a gpu.

I'm thinking about pulling together all the pieces on this topic (GPU acceleration via WebGL) into a standalone library (possibly using the jetpac code as a starting point) for accelerating deep learning and other machine learning applications in the browser.
My hope is to provide a base for libraries like this one (and new entrants) to build on, and (hopefully) get performance gains that approach those found in Caffe. Do people think this could be useful?

@waylonflinn Definitely. GPU acceleration right from the browser could lead to some very cool and useful demo pages that don't need any extra setup to run - not to mention the wide applicability if you didn't tie it to ConvNetJS specifically.

@ssampang Glad to hear! I created a repository to track progress. No code there yet, but expect a basic implementation of gemm in the next couple of days!
weblas
I also have an update on the GPU gemm code from the Deep Belief SDK. It looks like it doesn't run in Chrome anymore (and possibly has issues in a few other browsers). If anyone is interested in troubleshooting or contributing a fix, you can track that in issue 57 of their repository. In the meantime I'm working from an alternate base implementation.

Wanted to post a quick update here, for interested parties. I've fully converted the jetpac demo to use weblas, producing close to a 2x speedup. The GEMM function, in particular, is about 4x faster.
The key to this speedup was a combination of the factors that @mdda outlines above. Namely: transposing the second matrix, full packing of RGBA elements and using a single GPU instruction (dot) to process four elements at a time.
A good next step here might be to convert the work @karpathy links to above to make use of this, and see if more impressive speedups ensue. If no one else steps in to take up the torch, I'll likely start on it in the next few days.

There's been a release of a library for converting JS functions to GPU calculations with fallbacks to JS which could make it pretty easy to have complex matrix math done on the GPU while not having to worry about doing it in both GLSL and JS.

hi guys, i am really interested in this. what is the current state?

any update?

Hey everyone. I'm about to resume development on my convolutional neural net library powered by weblas (an in browser computation library powered by the GPU). Weblas was about five to ten times faster than gpu.js on the relevant functions last time I checked.
Library is here: https://github.com/waylonflinn/webnn

I've made some experiments with network I have. Numbers are confusing:
Chrome without webgl: 44ms/tick
Firefox without webgl: 100ms/tick
Chrome with webgl: 72ms/tick
Firefox with webgl: 42ms/tick

o_O


CI: fix publishing

paritytech dockerhub creds are protected to use on protected branches only, thus this job should only be executed only on master branch. Or in some rare cases, you can return the line
     - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/                         # PRs

and protect the branch you want to experiment on. Also won't hurt to add an experimental tag to the image to not to mess production.

The gitlab-publish-sccache-dist is failing again - that's weird, I'd expect the CI to run with changes already included in the PR... maybe it's done differently due to pull mirroring or something, idk. I'll merge this as-is, thanks!

fixed here https://github.com/paritytech/sccache/pull/82


add replication delay command

Related issue: https://github.com/openark/orchestrator/issues/1266
Description
This PR adds a command to delay replication on a specific instance keeping the current replication threads status.
Please make sure that:

[ ] contributed code is using same conventions as original code

Please make sure the PR passes CI tests. For your information, CI tests the following:

[x] - code is formatted via gofmt (please avoid goimports)
[x] - code passes compilation
[x] - code passes unit tests
[x] - code passes integration tests with MySQL backend
[x] - code passes integration tests with SQLite backend
[x] - There are no orphaned docs/ pages (there's some link in the docs to point to any page)
[x] - upgrade from previous version (master branch) is successful

@shlomi-noach I added the modifications you suggested. Thank you for the review.


pull request for e2e test at 01/13/2017 14:26:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Cannot un-refine a selected Menu item

Do you want to request a feature or report a bug?
A bug.
What is the current behavior?
When instantiating a Menu React component, I expect a click on a refined item to remove the refinement. It's not the case so far.
If the current behavior is a bug, please provide all the steps to reproduce and a minimal
JSFiddle example or a repository on GitHub that we can npm install
and npm start.
<Menu attributeName="category" />

Click on an item -> refined
Click on the same item -> SHOULD un-refine

Are you using the latest npm release or the V2 branch?

2.0.0-beta.18

Confirmed bug on v2, thanks


fix installation error

Hi Phill,
Have hopefully fixed issue raised here with these commits.  I renamed the data in the saleData object before converting from French to English, to remove the unrecognised characters in some variable names.
Also changed rvest::read_html to xml2::read_html, it appears as though read_html isn't imported by rvest and then exported, so if someone forgets/doesn't want to run library(rvest) then the getTatts function fails.

Thanks for fixing this install error. It worked fine on my Linux box, but obviously caused problems for you on Windows. The fix makes sense and removes the issue.

Glad to help :smile:


Azure CXP fixes document table formatting

Fixing Tables formatting

@CHEEKATLAPRADEEP-MSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.

The fixes to table formatting look good; I added another. Merging now. Thanks @CHEEKATLAPRADEEP-MSFT


Fix typo in App Builders

Conference Name: App Builders
Conference URL: https://www.appbuilders.ch
Why it should be added to awesome-mobile-conferences:
[x] Conference has a website
[x] Conference has start/end date (if one day only conference write the same date)
[x] Check address using Geocoder to get clean address
[x] Updated contents.json instead of README
[ ] Is the conference at the bottom of the array?

Ops mi era scappata una s, sorry! Alla prossima conf @BalestraPatrick !


Context menu functionality

Hey) I found that you have an event listener for this

And now when I add links inside my cell there is no option to click on them to open in a new tab (middle button of the mouse). So can you make this listener optional or add the opportunity to rewrite it? Thank you!

I would like to see this feature too, so I implemented it in #290 . Fortunately, it was not that difficult :)

Is there any way that  I can use default browser context menu on right click @jxn-30  @0SilentFox0 ?

As far as I know not yet but with my PR that would be possible by passing the prevent-context-menu-row prop with a value of false.

Please use the latest version: 1.5.44


Verify Amazon Linux 2 Support

See https://aws.amazon.com/about-aws/whats-new/2017/12/introducing-amazon-linux-2 for details, should verify this role works and if so much the README/tests/etc.

This is automatically tested but, I verified that with https://github.com/sensu/sensu-ansible/pull/125 in, we can now run this on Amazon Linux 2. I plan on including that in more additional integration tests as well but, for now, I think we're all set here.


fix(Turborepo): Start moving cookie watching to downstream services

Description
Filewatching cookies were ensuring that the filewatching task was up to date, but not downstream, filewatching-backed services. This change moves the filesystem cookie synchronization into a downstream service (glob watching) to ensure that RPCs are serviced by a task that has seen at least all of the operations that a client has done.
The process is as follows:

A client of a filewatching-backed service uses a CookieWriter to stamp its request with a serial.
The CookieWriter requests a cookie file be written, and the serial returned to the client
The client forwards the request, now with a serial, to the filewatching-backed service
The service observes cookie files being created, and keeps track of the highest serial it has seen via a CookieWatcher. When a cookie file is observed, some pending requests may be returned as ready for servicing.
When the service gets a request, it checks via CookieWatcher if it has already seen the serial. If so, the request is handled immediately
If not, the service, again via the CookieWatcher, saves the request until the correct serial has been observed (step 4).

This means that timeouts need to be handled by clients, but also gives clients the freedom to set their own timeouts.
Testing Instructions
Most cookie watching tests are gone, as is most of the logic. Instead, the mechanism is exercised via tests of downstream services.
Closes TURBO-2244

I took the "Cookie" term from Watchman


Exceptions thrown from before templates should not be added to Preconditions

What problem are you trying to solve?
When a before template throws a specific exception, that now makes it's way into the preconditions, as seen in https://github.com/openrewrite/rewrite-migrate-java/commit/4bfadd20f38ec86ccbe80aaa77789c23d3ec3cd7.
That means the templates will fail to match, since the exception is unlikely to be used in the matched template.
Describe the solution you'd like
Do not add exceptions to preconditions.
Have you considered any alternatives or workarounds?

Enforce throws Exception from lambdas, rather than specific ones; not ideal, as it loses specificity on the user's side.

Additional context

https://github.com/openrewrite/rewrite-migrate-java/commit/4bfadd20f38ec86ccbe80aaa77789c23d3ec3cd7

Had some discussions with @knutwannheden around this; excluding the declared thrown exceptions from the lambda seems right, although we might want to double check if that is even an issue still.

We should be able to collect the imports using something like this:

 Set<Symbol> allImports = new HashSet<>(ImportDetector.imports(template.getBody()));
 allImports.addAll(ImportDetector.imports(template.getReturnType()));
 template.getParameters().forEach(p -> allImports.addAll(ImportDetector.imports(p)));
 template.getTypeParameters().forEach(p -> allImports.addAll(ImportDetector.imports(p)));

Excluding the method's throws clause is important as it will otherwise add wrong UsesType preconditions. One example would be when the template's throws clause lists runtime exceptions. The code being matched might not have any corresponding catch or throws, so there should not be any corresponding UsesType.


Remove median filters hard scipy dependency

Two of the tests were relying on scipy.

It is a non-sense to check the median filter on ordered data.

1 - That test checks if the two median filters implementations are accessible from image. Nothing else.
2 - A median filter with a (1,1) kernel is non-sense on ANY data.

Those test are in image module. Image module is calling opencl and math median filters. The goal is just to check that the link between those is done and not to test directly tests (which are already in math and opencl modules).
But maybe those test are just overkilled.


Randomize HTTP server port (streamer)

See: https://github.com/edrlab/readium-desktop/blob/feature/r2-navigator-refactor/docs/navigator.md#streamer-http-server

Closing this as obsolete.


consider adding gdb to the Dockerfile

Just makes it easier to debug tests especially memory and pointer bugs

@bd2357 Ceedling 1.0.0 is nearing release along with a suite of updated Docker images. The new Ceedling includes a new backtrace feature for identifying the source of crashed tests. One option for this feature depends on gdb, and gdb is now in all the Ceedling Docker images.

Thanks, looking forward to using it.  Also looking forward to a
official release that works with a default ruby install since I am not a
ruby programmer.
On Wed, Oct 2, 2024 at 6:46 AM Michael Karlesky @.***>
wrote:

@bd2357 https://github.com/bd2357 Ceedling 1.0.0 is nearing release
along with a suite of updated Docker images. The new Ceedling includes a
new backtrace feature for identifying the source of crashed tests. One
option for this feature depends on gdb, and gdb is now in all the
Ceedling Docker images.
—
Reply to this email directly, view it on GitHub
https://github.com/ThrowTheSwitch/MadScienceLabDocker/issues/2#issuecomment-2388687284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHHMMENNCHBSQXI2YEY2FLZZP2LVAVCNFSM6AAAAABPHW6HWSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBYGY4DOMRYGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Don’t let not knowing what you’re doing stop you from getting started. —
THE ARDUINO TEAM


Allow modifying or deleting last message and by Mattermost message ID

Store the Mattermost message ID of the most recent message sent to channel. With that, we can use 'last' to modify or delete. e.g.
|21:15  Test
|21:15  s//Update last test message
|21:15  s//
Also add support for modifying messages using the Mattermost message ID. e.g.
|21:14  Test [@@o5ctj8u3qfgtxf5icisewtdyty]
|21:14  s/o5ctj8u3qfgtxf5icisewtdyty/Update
|21:14  Update (edited) [@@o5ctj8u3qfgtxf5icisewtdyty]
|21:14  s/o5ctj8u3qfgtxf5icisewtdyty/
|21:14  Update (deleted) [@@o5ctj8u3qfgtxf5icisewtdyty]

Should there be any documentation update to go along with this change ?

Should there be any documentation update to go along with this change ?

Updated docs with how to update/modify or delete.

Would I need a mutex with this change?

Hello, will this be merged any time soon ? Thanks !

@42wim, free to take a look at this one?
Thanks!

That last commit is what @jetpackdanger saw with just PrefixContext/SuffixContext. Thought I'll bundle the fix with this PR, happy to separate it out if you want @42wim.

I'm testing this, but the s// or s//blah only works one time, then it stops working.
You don't have this issue?

I'm testing this, but the s// or s//blah only works one time, then it stops working.
You don't have this issue?

@42wim, Ah sorry, 9a80c59 broke it. I've fixed it now.

|01:54 <hloeung> Test from web UI [@@f4fc…]
|01:54 <hloeung> s/f4fck99awfgg98crxpturrzwdr/Modify post from web UI
|01:54 <hloeung> Modify post from web UI (edited) [@@f4fc…]
|01:55 <hloeung> Test new one
|01:55 <hloeung> s//Modify the last 'Test new one'
|01:55 <hloeung> Test
|01:55 <hloeung> s//
|01:55 <hloeung> Test
|01:55 <hloeung> s//Test update
|01:55 <hloeung> s//Test update again

Produces:

Also with matterircd generated message/thread IDs:
|02:07 <hloeung> Test from web UI [007]
|02:07 <hloeung> s/007/Update message from web UI
|02:07 <hloeung> Update message from web UI (edited) [007]
|02:07 <hloeung> s//Update again
|02:07 <hloeung> Update again (edited) [007]
|02:07 <hloeung> New message
|02:07 <hloeung> s//

(yes, it really is 2am here heh)

Looks a lot of change, but it's basically just early returns where possible.
Thanks for this cool feature :)

Looks a lot of change, but it's basically just early returns where possible.
Thanks for this cool feature :)

Ah yes, they all seem good to me. I didn't want to make too many changes blowing out the diff. Thanks for reviewing, let me try convince github to commit those.

sorry, seems my suggestions broke it :(

sorry, seems my suggestions broke it :(

All good, pushed up a fix. Built and am quickly testing :)

LGTM
|02:48 -!- Irssi: Join to #haw-test was synced in 21 secs
|02:48 <hloeung> Test
|02:48 <hloeung> ... [@@51fo…]
|02:48 <hloeung> s//Update last
|02:48 <hloeung> s/51foucr9gffi3mditz61djb5rh/Update by msg ID
|02:48 <hloeung> Update by msg ID (edited) [@@51fo…]
|02:49 <hloeung> s//update last, this is @@51fo
|02:49 <hloeung> update last, this is @@51fo (edited) [@@51fo…]
|02:49 <hloeung> Test, will be deleted
|02:49 <hloeung> s//
|02:49 <hloeung> @@51foucr9gffi3mditz61djb5rh replying to thread
|02:49 <hloeung> s//Update reply to thread...

View from my IRC client, irssi:

🎉

View from my IRC client, irssi:

Oh FWIW, the shortened message IDs, that's with this irssi script which I just pushed to GitHub - https://github.com/hloeung/matterircd-complete (does message/thread ID tab completion, key binding for most recent message/thread IDs and more...)


feat(starr): centralize CF data

Pull Request
Purpose
The purpose of this PR is to centralize all the custom format data into the respective json files to make future scoring changes easier to maintain and more intuitive.
Approach
Add the necessary score sets to a new CF json object and update the guide accordingly to use those score sets.
Open Questions and Pre-Merge TODOs

[x] Add a json object with the default score set to every CF with a set score
[x] Replace trash_score occurrences in the mkdocs files with the new default score set
[x] Update json to correctly use integers without quotation marks
[x] Add the remaining score sets to the json object

[x] SQP guide
[x] Anime guide
[x] French guide

[x] Replace hardcoded scores in guides with the newly added score sets

[x] SQP guide
[x] Anime guide
[x] French guide

[x] Tidy / reformat all guide scoring tables

[x] Main guide
[x] SQP guide
[x] Anime guide
[x] French guide

[x] Update CONTRIBUTING.md to reflect changes
[ ] Go over all markdown tables and jsons again and check for formatting

Requirements

[x] These changes meet the standards for contributing.
[x] I have read the code of conduct.

Looks good to me. Probably want the others to review it too. May have missed something given how big the change is

Nice one - yeah, I somehow failed to tag everyone here but lots of us have been involved so we'll probably all get notified anyway 😄

needs changelog added just prior to or just after committing

needs changelog added just prior to or just after committing

with a PR that existed for a long time, i normally do if after committing. because the changelog could have updates in the mean time


How to properly set the manifest "parts" from a PlatformIO project

We're using PlatformIO for our ESP32-based firmware, and would like to know how to properly fill out the "parts" part of the manifest for our project, as well as which files we'd need to include.
When we build we can see the files at .pio/build/nodemcu-32s/, but which files do we include and how do we get the right offsets? We also have a partitions.csv file, but we don't see the equivalent files in the build section.
Sorry for being so ignorant about this kinda stuff, but I'd really appreciate the help because being able to update our firmware on the web would be so cool and useful!

Hi @zakaton
The required binary files along with their offsets for an environment are listed in the platformio idedata json structure (platformio run -t idedata).
Jesse

I ran the command, and under extras/flash_images I found 3 files with their offsets (bootloader_dio_40m.bin, partitions.bin, boot_app0.bin), and added them to the manifest, but it still didn't work.
Then I looked at the manifest example in the readme and looked for an esp32.bin, which I finally realized referred to the firmware.bin in the build folder, and assumed the offset was 65536 just like in the example, and now it works! Thank you so much, this is so cool!


Add ServiceAccountName to ContainerSource and KES

Fixes #49
Proposed Changes

Add ServiceAccountName to ContainerSource and pass it through to the Deployment.
Add ServiceAccountName to KES and pass it through to the ContainerSource.

Release Note

ContainerSource now supports ServiceAccountName for setting the service account of
created Pods.

KubernetesEventSource now supports ServiceAccountName for setting the service
account of created Pods.

/cc @vaikas-google @n3wscott

/lgtm
We should also add a doc with the 'standard' Source fields. I think so far they are:

serviceAccountName
sink

We should also add a doc with the 'standard' Source fields. I think so far they are:

Sure, where should this live? Is it part of this PR?

/retest

Oops, shouldn't have merged master - didn't mean to remove lgtm

/lgtm

/retest pull-knative-eventing-sources-go-coverage

/test pull-knative-eventing-sources-go-coverage

We should also add a doc with the 'standard' Source fields. I think so far they are:

Sure, where should this live? Is it part of this PR?

I'm not sure where in the repo it should live. But it should be linked from the 'make a new source' readme (which I assume is the main repo's readme for now).


Return Proxy object from JavaScript

Summary
I am (trying) to write bindings to a TypeScript / Node library called WebR
I can successfully call a few of the methods no problem. However, the WebR.evalR() method returns a Promise to a Proxy object. It appears this cannot be cast to a JsValue by wasm-bindgen.
wasm-bindgen bindings: https://github.com/JosiahParry/webr-js-rs/blob/b4da698f4e505d75a635813bf516d2029cec094a/src/bindings/webr.rs#L24-L25
use wasm_bindgen::prelude::*;
#[wasm_bindgen(module = "https://webr.r-wasm.org/latest/webr.mjs")]
extern "C" {
    #[derive(Debug, Clone)]
    #[wasm_bindgen(js_name = WebR)]
    pub type WebR;

    #[wasm_bindgen(constructor)]
    pub fn new() -> WebR;

    #[wasm_bindgen(method, catch, js_name = "evalR")]
    pub async fn eval_r(this: &WebR, code: String) -> Result<JsValue, JsValue>;
}

This results in an error when used (see test here)
error output:
panicked at tests/wasm.rs:39:47:
called `Result::unwrap()` on an `Err` value: JsValue(TypeError: Cannot read properties of undefined (reading 'evalR')
TypeError: Cannot read properties of undefined (reading 'evalR')

Additional details
This isn't a bug in the WebR library because the following code runs:
<html>
<script src="./test.js"></script>
</html>

import('https://webr.r-wasm.org/latest/webr.mjs').then(
    async ({ WebR }) => {
        const webR = new WebR();
        await webR.init();
        const res = await webR.evalR("print('Hello, world!')");
        console.log(res);
    }
);

which shows it is returning a Proxy(Object)
How might i be able to return the Proxy(Object) from this library in a way that works with rust or at minimum doesnt panic?

That error is coming from this line in WebR, not wasm-bindgen: https://github.com/r-wasm/webr/blob/c07d8997ddbb58f63002e8d46792be54edcd134c/src/webR/webr-main.ts#L401
I think it's because you need to call webr.init().await first, the same as you do in your JS example. Doing that fixes the error for me.


Suppress react-hooks/exhaustive-deps in hackernews example

LGTM -- the linter-preferred version better to me, unless @skiplabsdaniel sees some problem


update 1.0.2-RC1 change log

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report

Merging #370 (96ffd66) into master (78b8f64) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #370   +/-   ##
=======================================
  Coverage   41.24%   41.24%
=======================================
  Files         115      115
  Lines        6593     6593
=======================================
  Hits         2719     2719
  Misses       3703     3703
  Partials      171      171

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


Remove IVF_SQ8H from VecIndexFactory

Signed-off-by: yudong.cai<EMAIL_ADDRESS>

/lgtm

/kind improvement


typo: fix code block for consistency

Description (required)
Typo
inconsistent backslash in title of code-block removed
dashes removed for YAML, since there is content "above"

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Lunaria Status Overview
🌑 This pull request will not trigger status changes.

Learn more
Lunaria automatically ignores changes on specific PRs by adding a ignored keyword in its title. Found: typo.
You can change this by either removing the keyword above from the PR's title, or modifying the ignoreKeywords property in your Lunaria configuration file.

Tracked Files

[!NOTE]
The notes below indicate what would happen if the pull request is merged when triggering status changes. Since a ignored keyword was found in the PR's title, the status changes indicated below won't be applied.

Locale
File
Note

en
tutorial/5-astro-api/2.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


feature request: support const type parameters from typescript V5

Summary
use const type parameters feature from typescript version 5.0 to enhance type safety for queries and mutations.
Problem
const getTodo = c.query({
  method: "GET",
  path: "/todos/:id",
  responses: {
    200: todoSchema,
    404: notFoundSchema,
  },
})

Query or mutation needs to be passed as property of another router, however type information for path property gets lost as typescript does not try to 'narrow' types by default. To fix this behavior, objects must be const asserted to correctly narrow type of path to /todos/:id.
Solution
https://github.com/ts-rest/ts-rest/blob/32d7167bff3c1f08dfb61ce90c21473725b5df50/libs/ts-rest/core/src/lib/dsl.ts#L182-L186
change to const type parameter for query (and other objects meant to be passed in to another object), for example:
 /**
  * A single query route, should exist within
  * a {@link AppRouter}
  */
query: <const T extends AppRouteQuery>(query: T) => T

Video demo
https://github.com/ts-rest/ts-rest/assets/54838975/cc1f5017-3471-438c-a79f-37aad579bf89
https://github.com/ts-rest/ts-rest/assets/54838975/29249467-8b4c-4b75-ba1d-49d669db3325
Others
I'm interested in submitting a PR. However, this would be considered a breaking change as this requires bumping minimum required typescript version to 5.x.

Thank you for the suggestion! Yeah, const modifiers on generics can improve so many things but at the moment it would be hard to introduce this as part of the exported declarations as it is indeed a breaking change. Even if we intend to release a major version for another reason, I think it would be hard to introduce this still as many users might still not be ready to upgrade to TS 5

Agree with @Gabrola, I think this is out of scope for now. We will eye this closely and take another look after TS 5 has had some time to mature.


⚠ CIOOS Pacific ERDDAP dataset ECCC_MSC_BUOYS has degraded performance

In eabe9aa, CIOOS Pacific ERDDAP dataset ECCC_MSC_BUOYS (https://data.cioospacific.ca/erddap/tabledap/ECCC_MSC_BUOYS.htmlTable?wmo_synop_id&time>now-3hours&distinct()) experienced degraded performance:

HTTP code: 503
Response time: 10735 ms

Resolved: CIOOS Pacific ERDDAP dataset ECCC_MSC_BUOYS performance has improved in 6c4998f after 6 minutes.


AuthMetadataProcessor response_metadata is non-functional

Is your feature request related to a problem? Please describe.
I attempted to use AuthMetadataProcessor for jwt auth and rate limiting, however the header data added to response_metadata never ends up in the response. Running with debug logs prints that its not supported for now, but this is not noted anywhere in the documentation.
Describe the solution you'd like
Implement support for response_metadata or at least make clear that it's not supported.
Describe alternatives you've considered
I am currently storing the headers (prefixed) in AuthContext, but this is broken as well because of #28809 .
The only working solution I can think of right now is keeping a global map indexed by something that stays constant during the call.
Additional context
AuthMetadataProcessor is considered stable, but has major bugs (this & #28809) and short comings (#28807), which makes me seriously wonder if I am maybe just using it wrong.

Running with debug logs prints that its not supported for now
Can I please take a look at the logs?
BTW, I am not sure if you've seen it already, but https://github.com/grpc/grpc/blob/master/test/cpp/end2end/end2end_test.cc#L1747-L1770 is an example on how to implement your own MetadataPlugin and start your call credential authentication. It might be helpful if you want to build your own JWT authentication.

Can I please take a look at the logs?

D0210 12:33:26.148489405    7556 ev_posix.cc:172]            Using polling engine: epollex
D0210 12:33:26.148999411    7556 lb_policy_registry.cc:42]   registering LB policy factory for "grpclb"
D0210 12:33:26.149418488    7556 lb_policy_registry.cc:42]   registering LB policy factory for "priority_experimental"
D0210 12:33:26.149436728    7556 lb_policy_registry.cc:42]   registering LB policy factory for "weighted_target_experimental"
D0210 12:33:26.149447938    7556 lb_policy_registry.cc:42]   registering LB policy factory for "pick_first"
D0210 12:33:26.149459168    7556 lb_policy_registry.cc:42]   registering LB policy factory for "round_robin"
D0210 12:33:26.149470118    7556 lb_policy_registry.cc:42]   registering LB policy factory for "ring_hash_experimental"
D0210 12:33:26.149487027    7556 dns_resolver_ares.cc:495]   Using ares dns resolver
D0210 12:33:26.150006683    7556 certificate_provider_registry.cc:33] registering certificate provider factory for "file_watcher"
D0210 12:33:26.150023313    7556 lb_policy_registry.cc:42]   registering LB policy factory for "cds_experimental"
D0210 12:33:26.150035633    7556 lb_policy_registry.cc:42]   registering LB policy factory for "xds_cluster_impl_experimental"
D0210 12:33:26.150046963    7556 lb_policy_registry.cc:42]   registering LB policy factory for "xds_cluster_resolver_experimental"
D0210 12:33:26.150058603    7556 lb_policy_registry.cc:42]   registering LB policy factory for "xds_cluster_manager_experimental"
I0210 12:33:26.150192042    7556 server_builder.cc:327]      Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2, CQ timeout (msec): 10000
I0210 12:33:26.163206200    7556 socket_utils_common_posix.cc:353] TCP_USER_TIMEOUT is available. TCP_USER_TIMEOUT will be used thereafter
I0210 12:33:29.081174200    7561 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.081806815    7561 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.082399420    7576 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.082950046    7561 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.083541491    7576 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.084118727    7561 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...
I0210 12:33:29.084659372    7576 server_auth_filter.cc:142]  response_md in auth metadata processing not supported for now. Ignoring...

The relevant line is the last one which is printed once for each request after AuthMetadataProcessor returns.  The place where it is printed is here: https://github.com/grpc/grpc/blob/17c6a486cd2d71716bb7eb071d6e67160ae370cf/src/core/lib/security/transport/server_auth_filter.cc#L148
Which is the callback invoked with the results from AuthMetadataProcessor::Process().
I've seen that example and don't get me wrong: AuthMetadataProcessor works just fine for very basic authentication, like decoding a jwt and saying YES/NO. But as soon as you want to do anything slightly more advanced it doesn't work as expected (at least not the way I expected it). Theres no real way to pass any information from it to Interceptors or the function.
What I in my specific case wanted to do is to parse the jwt in the auth processor, reject the call completely if the jwt is invalid or doesn't have a scope coresponding to the method and then forward the information within (claims like the user, etc..) using the auth_context to the call itself (See #28809). Another example (which is more relevant to this exact problem is rate limiting, in which case I wanted to put information about the remaining quota (used, total, time till reset) in the response metadata to give the client some information about how to pace requests and/or when to retry. My alternative solution whould have been to attach said information to the authcontext, and copy it to the headers in an interceptor, but that aint working either cause the authcontext is peer channel.

Yeah, that seems to be a TODO we never got a chance to fix. I will make that in the document clear as well, and take that ToDO.

Please see the updated documentation in https://github.com/grpc/grpc/pull/28985. I will close this issue; let's continue our discussion in that PR. Thanks!


feat: lock file + eslint updated

PURPOSE
This PR aims to:

yarn.lock + eslint updated

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


assignPermSetsPostDeployment have to be executed after postDeploymentScript

Describe the bug
postDeploymentScript is executed before PermissionSet assignments.
To Reproduce
Steps to reproduce the behavior:
Try to execute any script that requires permission set assignment before postDeploymentScript.
Expected behavior
Execute first permission set assignments then execute postDeploymentScript

Thanks @dieffrei  I am refactoring this area and have noticed it. Stay tuned


Error encountered when trying to use the add_need API

I'm trying to add my own directive from which I'd like to add new needs.
As a small basic step to get me started I've added the following to add a single hardcoded need
add_need(
  app=self.app,
  state=self.state,
  docname=self.state.document.settings.env.docname,
  lineno=self.lineno,
  need_type='testcase',
  title='Title of the unit test',
  content='content',
  id='HULLU-1'
)

But I get the following error when I'm building the documentation
# Sphinx version: 2.4.2
# Python version: 3.7.6 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 3.0.0a1
# Last messages:
#
#   looking for now-outdated files...
#   none found
#   pickling environment...
#   done
#   checking consistency...
#   done
#   preparing documents...
#   done
#   writing output... [  6%] all-needs
# Loaded extensions:
#   sphinx.ext.mathjax (2.4.2) from /usr/local/lib/python3.7/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_applehelp-1.0.2-py3.7.egg/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_devhelp-1.0.2-py3.7.egg/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (1.0.3) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_htmlhelp-1.0.3-py3.7.egg/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.4) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_serializinghtml-1.1.4-py3.7.egg/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_qthelp-1.0.3-py3.7.egg/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /usr/local/lib/python3.7/site-packages/alabaster-0.7.12-py3.7.egg/alabaster/__init__.py
#   sphinxcontrib.needs (0.5.6) from /usr/local/lib/python3.7/site-packages/sphinxcontrib_needs-0.5.6-py3.7.egg/sphinxcontrib/needs/__init__.py
#   sphinx.ext.todo (2.4.2) from /usr/local/lib/python3.7/site-packages/sphinx/ext/todo.py
#   sphinx_rtd_theme (unknown version) from /usr/local/lib/python3.7/site-packages/sphinx_rtd_theme/__init__.py
#   sphinxcontrib.test_reports (0.3.3) from /usr/local/lib/python3.7/site-packages/sphinx_test_reports-0.3.3-py3.7.egg/sphinxcontrib/test_reports/__init__.py
#   sphinx.ext.graphviz (2.4.2) from /usr/local/lib/python3.7/site-packages/sphinx/ext/graphviz.py
#   sphinxcontrib.plantuml (unknown version) from /usr/local/lib/python3.7/site-packages/sphinxcontrib/plantuml.py
#   sphinxcontrib.images (2.4.2) from /usr/local/lib/python3.7/site-packages/sphinxcontrib/images.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/sphinx/cmd/build.py", line 276, in build_main
    app.build(args.force_all, filenames)
  File "/usr/local/lib/python3.7/site-packages/sphinx/application.py", line 349, in build
    self.builder.build_update()
  File "/usr/local/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_update
    len(to_build))
  File "/usr/local/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 361, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/local/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 535, in write
    self._write_serial(sorted(docnames))
  File "/usr/local/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 542, in _write_serial
    doctree = self.env.get_and_resolve_doctree(docname, self)
  File "/usr/local/lib/python3.7/site-packages/sphinx/environment/__init__.py", line 537, in get_and_resolve_doctree
    self.apply_post_transforms(doctree, docname)
  File "/usr/local/lib/python3.7/site-packages/sphinx/environment/__init__.py", line 588, in apply_post_transforms
    self.events.emit('doctree-resolved', doctree, docname)
  File "/usr/local/lib/python3.7/site-packages/sphinx/events.py", line 99, in emit
    results.append(callback(self.app, *args))
  File "/usr/local/lib/python3.7/site-packages/sphinxcontrib_needs-0.5.6-py3.7.egg/sphinxcontrib/needs/directives/needlist.py", line 113, in process_needlist
    ref['refuri'] += '#' + need_info['target_node']['refid']
  File "/usr/local/lib/python3.7/site-packages/docutils-0.16-py3.7.egg/docutils/nodes.py", line 625, in __getitem__
    return self.attributes[key]
KeyError: 'refid'

Am I doing something obviously wrong?

To add some more context, I've added a custom directive in source/_extensions with the following code
from docutils import nodes
from sphinxcontrib.needs.api import add_need
from sphinx.util.docutils import SphinxDirective

class TestCoverage(nodes.General, nodes.Element):
    pass

class TestCoverageDirective(SphinxDirective):

    has_content = True

    def run(self):
        add_need(
            app=self.env.app,
            state=self.state,
            docname=self.state.document.settings.env.docname,
            lineno=self.lineno,
            need_type='testcase',
            title='Title of the unit test',
            content='content',
            id='HULLU-1'
        )
        return []

def setup(app):
    app.add_directive("test-coverage", TestCoverageDirective)

    return {
        'version': '0.1',
    }

I'm using the following versions

sphinx: 2.4.2
sphinxcontrib-needs: 0.5.6
sphinx-test-reports: 0.3.3

Success in my minimum example 🥇
Ok, I was doing something stupid 😅  If my change my code to return the result of add_need like this
from docutils import nodes
from sphinxcontrib.needs.api import add_need
from sphinx.util.docutils import SphinxDirective

class TestCoverage(nodes.General, nodes.Element):
    pass

class TestCoverageDirective(SphinxDirective):

    has_content = True

    def run(self):
        need = add_need(
            app=self.env.app,
            state=self.state,
            docname=self.state.document.settings.env.docname,
            lineno=self.lineno,
            need_type='testcase',
            title='Title of the unit test',
            content='content',
            id='HULLU-1'
        )
        return need

def setup(app):
    app.add_directive("test-coverage", TestCoverageDirective)

    return {
        'version': '0.1',
    }

Then I'll get my need rendered.
Failure in what I'd actually like to achive 😕
What I'd actually like to do is create multiple needs from my single directive. From what I can read here the run method of the directive must

return a list of Docutils/Sphinx nodes

If my modify my code to return [need] then I get the following error:
Exception occurred:
  File "/usr/local/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2157, in run_directive
    % (type_name, i, result[i]))
AssertionError: Directive "test-coverage" returned non-Node object (index 0): [<target: >, <Need: <paragraph...>>]

If I return [need[0], need[1]] it works. Any ideas? 🤔
Thank you for any input 🙌

Ah ok, I've realized my mistake. add_need already returns a list of Sphinx nodes, so the solution is to have the following if I'd like to create multiple needs.
result = []
result += add_need(...)
result += add_need(..)
return result


Azure improvements

Description
Adopt official Azure crates.

Currently, there's a failing test due to https://github.com/Azure/azure-sdk-for-rust/issues/651

create_table_and_commit() passes now.

Thank you for your PR @thovoll!
LGTM 👍
My only remaining suggestion would be to make sure to warn the developer by displaying a message explanining to run the Azure ignore's tests when the azure feature is enabled with cargo test. The CI will not be our safeguard anymore but we could accept to have potential regressions on future releases.
I'm really interested in your opinion on this @houqp 😄

Thanks for your reviews @fvaleye! The end-to-end Azure tests were always ignored in CI actually, as described in #497. I'm going to soon work on the record/playback solution discussed in the same issue #497. Then, we'll have at least some protection in CI.

Thank you for your PR @thovoll!
LGTM 👍
My only remaining suggestion would be to make sure to warn the developer by displaying a message explanining to run the Azure ignore's tests when the azure feature is enabled with cargo test. The CI will not be our safeguard anymore but we could accept to have potential regressions on future releases.
I'm really interested in your opinion on this @houqp 😄

Thanks for your reviews @fvaleye! The end-to-end Azure tests were always ignored in CI actually, as described in #497. I'm going to soon work on the record/playback solution discussed in the same issue #497. Then, we'll have at least some protection in CI.

Thank you for sharing more details with me 👍
I wait for @houqp approval before merging your PR 🚀

good news that we won't need to maintain a release branch anymore.


Profile: add save changes button in profile

This is an UX issue: image and nickname saves fine to API without it, but a user might still miss a button for this action.

Or: of Google style, we need to add an indicator that something has been saved.


Questions and Answers

Write the object containing all questions and answers

also figure out how to display a free answer question

what color is the sky?

These are the questions I came up with: https://docs.google.com/document/d/1JmOqu9Sj3iYulTwTd_3u40i6JZAfpSO_nUEtCgQTKGc/edit?usp=sharing


Fix issue #191

Description
Added missing error check.
Fixes #191
Type of change

Bug fix (non-breaking change which fixes an issue)

Codecov Report

Merging #232 into master will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #232      +/-   ##
==========================================
- Coverage   40.13%   40.10%   -0.03%
==========================================
  Files          11       11
  Lines        1368     1369       +1
==========================================
  Hits          549      549
- Misses        803      804       +1
  Partials       16       16

Impacted Files
Coverage Δ

server/server.go
26.49% <0.00%> (-0.23%)
:arrow_down:

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 12edca3...3f0223e. Read the comment docs.


Image not working as expected

This might be connected to https://github.com/Niels-IO/next-image-export-optimizer/issues/45 but I am not sure.
I noticed that when I load an image with priority, it won't load optimized images anymore. Here's a picture without priority:

Here's one with:

Notice there's no webp and all images are the same. I wonder if the way I load it might be causing it. This is my setup:
import poster from "assets/images/home/lead/main-marketing-video-poster.jpg";
const placeholder: ExportedImageProps = {
  src: poster,
  alt: "GuestBell",
  sizes: posterSizes,
  priority: true,
  placeholder: "empty",
};

This is then passed to another component which is the one that renders the actual ExportedImage component. Might this be the reason? Naturally, it should still work, but I am thinking the fact that I load the image in a different file than where I use it could be messing up something in the build process.

A couple of new findings:

This behavior is non-deterministic so it might be difficult to replicate
It's apparently caused (or rather announced) by a few things
a) You will see this error popup:
Image with src "/_next/static/media/main-marketing-video-poster.157bf3ec.jpg" has a "loader" property that does not implement width. Please implement it or use the "unoptimized" property instead.
b) If you pop into the networks tab, you will notice that the loading of the image was canceled:

As a result, I assume the loading state of the image changes to error here
That will cause the loader to switch to the fallback loader here
As a result, only the original version is loaded

So the culprit as it seems is the canceled loading of the image, why this happens I assume is the question here.
Also, we could possibly be more lenient when determining the onError? Maybe let canceled through? Although still, not sure what happens then. Will it actually load the correct image after the canceled one? Does this maybe have something to do with layout movement? Like ... it first wants to load some resolution, then it changes its mind mid-way, and decides to load a different one. Cancels the prior ... maybe that's what's going on? Maybe that's what's making it flaky.

Removing the error handling as it is currently would be very dangerous. Right now, it always falls back to the original src, which is good behavior.
Have you noticed the bug also in production or only in the dev mode?

Yeah, removing it certainly isn't an option. Just did that for us for the time being as we can pretty much guarantee the ok images are there. Struggling to find a way to tell fake errors apart from real ones. Yes production too.

I can't reproduce the error right now, so I'm going to close this for the time being. If you figure out how to reproduce it, please give me a heads-up!

Yeah, I still see this issue with the current version. I am using my fork where the error handling is disabled. No idea what this is about. Maybe somebody in the future will find this and be the wiser. The problem is people might be getting this, but never realizing it as it's not reliable. I only got it ~10% time, and only noticed when Lighthouse reported bad results for image compression. Subsequently, I've also replicated directly by testing on my machine. That's all I can give you so far. Feel free to keep it closed, I'll reopen if I find something. What I would say though, it might not be a terrible idea to add a flag that disables this fallback.


readme: replace licence badge with fossa badge

fossa actually parses and checks the licenses in the repo
Signed-off-by: sevki<EMAIL_ADDRESS>

this is what the badge looks like :point_down:

Commits 3e89ea6920f93c8a9cf739db04a27dcc7ea5686f and 3538c2ce456825e1751bcfc7e9169c4e5adefc3f are not signed-off.
Please fix these issues:

ron minnich has not signed-off 3e89ea6.
ron minnich has not signed-off 3538c2c.

If you'd like more information on how to sign your commits please visit signed-off-by.me


noOptionsFound event return null instead of search value

When I'm typing and this object is not found, the event "noOptionsFound" is triggered and call my addictional function, but how i can find something if search value = null ? I think it's must look like:
(noOptionsFound)="search($event)"
And will be nice if here will delay e.g. 1 sec before start searching. That's allow to user type more in input field. And anyway best way it's triggering some event for each typing, not only if options not found (with some delay). For example i have 10 persons in list. They are sorted in alphabetic. First 5 persons has surnames (A,B,C,D,E) other 5 person has same surname (F). And in database i'm also has 5 persons with surname F which don't contains in select. I make search by surname and When i'm typing "F" in search field i want to see 10 persons with family "F" but i will see 5.

Some kind of filter / debounce might help you.
See SO post for guidance.
Posting specific code example / plunkr might help us understand the issue further.

http://angular-ui.github.io/ui-select/demo-basic.html


Provide Multi-AZ AutoScalingGroup for the workers

A general step towards HA.

Already working on the develop branch


Sample table from Bootstrap rendering twice in nuxt app.

Hi Group, I've made an new app with npx create-nuxt-app and then a new file in the pages folder. I've added in a sample datatabe from bootstraps website and I see that the table is rendering twice? Has anyone experienced this before? Is this a bug with nuxt or bootstrap?
Here's a sandbox with the issue replicated.
https://7wo3jr51.sse.codesandbox.io/Table
Thanks

Hi Group, I've made an new app with npx create-nuxt-app and then a new file in the pages folder. I've added in a sample datatabe from bootstraps website and I see that the table is rendering twice? Has anyone experienced this before? Is this a bug with nuxt or bootstrap?
Here's a sandbox with the issue replicated.
https://7wo3jr51.sse.codesandbox.io/Table
Thanks

for "how-to" type questions, use stackoverflow or similar please. see https://github.com/twbs/bootstrap/blob/master/.github/CONTRIBUTING.md#using-the-issue-tracker


Sling 7612

@bdelacretaz There was positive feedback on the mailing list. Can we go forward with this?

+1


Allow building TextBrush without using SurfaceConfiguration

This would be very helpful for using wgpu-text for rendering to offscreen textures or for headless rendering. Right now, I can see that we use SurfaceConfiguration for only the output format and dimensions, so we can easily create an alternative build function that allows us to supply the format and dimensions separately.
For the moment I've implemented the new build function as a separate function, in order to maintain back-compatibility.

Looks pretty good. I'll try to polish it and soon publish the 0.6.7 release.


Invalid SQL query for ManyToMany relations using some, none or every when querying

Describe the bug
Using a query operator like $some, $none or $every on a ManyToMany relation results in an invalid query, if the Entities start with the same Letter.
This error is from the provided reproduction:
select count(*) as "count"
from "user" as "u0"
where
    "u0"."id" in (
        select "u0"."id"
        from
            "user" as "u0"
            left join "user_labels" as "u1" on "u0"."id" = "u1"."user_id"
            inner join "public"."user_label" as "u1" on "u1"."user_label_id" = "u1"."id"
        where
            "u1"."user_label_id" = 1
    )

table name "u1" specified more than once
Reproduction
I used docker compose to start a postgresql instance.
https://github.com/NicklasKnell/reproduction/tree/illegal-query-for-manytomany
When renaming the Entity UserLabel to Label it will work.
What driver are you using?
@mikro-orm/postgresql
MikroORM version
6.1.5
Node.js version
v20.11.0
Operating system
Ubuntu
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Slack.
[X] The provided reproduction is a minimal reproducible example of the bug.

I guess I see it, we clone the QB (which resets the alias counter), but then use the original QB instance to get the next alias here.


feat(datepicker): date format utils vue3

Date format utils
#1060

Styles migrations will be tackled in another PR. Because this one is not related to that.


CSS Updates for UI - style.css and full_list.css

Description
Changes to the two css files, style.css and full_list.css.
Changes regardless of browser window width:

List pane scrollbar does not extend into header.
Momentum scrolling added for both main doc & list pane.
List pane header adjusted to avoid incorrect search text input box placement in iOS.
Enlarged the target area for 'Class List' tree open/close.  On a tablet, one has a fighting chance of opening a 'Class List' node without also loading the node.

Changes for browser window width less that 920 pixels in width:

List pane show/hide control (a#full_list_link) is locked to the right window side, not the right document side.  Previously, for 'over-width' docs, it would require horizontal scrolling to make the control visible.
List pane is limited in height to the window height.
Changes the layout of constant code block, it will now wrap text.  Previously, many constants that were long lists of items would cause the doc page to   overflow the window width.  This corrects that, but may cause issues when a  constant is defined by lines of code wider than the screen. View the following in a narrow browser window:
http://www.rubydoc.info/github/lsegal/yard/YARD/CodeObjects

General changes:

Correctly ordered vendor prefixed css properties, of course, per convention.

Tested with:

Current desktop versions of Chrome and Firefox
iOS Safari and Chrome

Completed Tasks

[X] I have read the Contributing Guide.
[X] The pull request is complete (implemented / written).
[X] Git commits have been cleaned up (squash WIP / revert commits).
[ ] NOT APPLICABLE - I wrote tests and they pass (if code is attached to PR).

Coverage increased (+0.5%) to 93.539% when pulling f517e1febeb50e11742744f2a326ea3e13c41b79 on MSP-Greg:browser into 2794c05972600de14793e43510a2f9153b389cdb on lsegal:master.

Forgot to mention, demo of YARD using the PR css at
https://msp-greg.github.io/yard-no-t2/

I noticed that you're doing some work on the css & js.
Should I close this or would you like to leave it around for a bit?
BTW, re yard-t2 css, html, & js, much of it I need to modify to bring into YARD due to the structural changes I've made.
One example, re the Class List

Created a larger 'node open/close' target for nested lists, hence different structure.  I tried with the existing YARD structure, but just couldn't do it.  The target now extends all the way to the left node margin, regardless of level.
Moved the indenting to css.
Simplified the class list used on the nodes.
Since loading is now via XMLHttpRequest, removing the iFrame changed the structure, css, & js.

As a general change, all the graphics are svg.
Finally, if you'd like any help, I'd be happy to check changes you make on the browser side.

I'm having trouble giving this a proper review because there are a number of changes and it's fairly difficult to figure out which changes are meant for which bullet points.
It would be easier to merge this as individual changes rather than wholesale. Could you do me a favor and split this PR up into separate PRs for smaller separable changes (scrolling, controls, height issues, etc) so I can see how these rules are being applied?
Thanks!

Yes, I can do so.  I'd appreciate if you could check it 'as is' on (if possible) a desktop & tablet.
I'd like to know -

Does it appear to work
Is there anything you don't want changed

It does appear to work on a desktop (I don't own an iOS device), though I noticed minor issues that can be discussed in respective PRs. As for anything not being changed-- it's hard to know as a complete set. That said, it does look like the last item:

Changes the layout of constant code block, it will now wrap text.

Will probably not be accepted in its current form. The change seems to remove code pre-formatting, which means anything with newlines will become garbled. Consider ENCODING_BYTE_ORDER_MARKS in the two URLs:
Original: http://www.rubydoc.info/github/lsegal/yard/YARD/Parser/SourceParser#ENCODING_BYTE_ORDER_MARKS-constant
vs.
Proposal: https://msp-greg.github.io/yard-no-t2/YARD/Parser/SourceParser.html#ENCODING_BYTE_ORDER_MARKS-constant
If you can make pre-formatting work with wrapping, feel free to open that separately.

Apology, somehow I missed this message.
Re the constant & cvar source/value blocks, I did change that to show a horizontal scrollbar, rather than trying to force a wrap.
I will get back to this, but I'll probably look at that odd parser issue first.


Import is unrecoverable broken

When I import and don't specify passwords, I run into this

Then the app is unrecoverable broken

Possibly a duplicate of https://github.com/k9mail/k-9/issues/4676

Duplicate of #3691