Fixes regex as described in #788.

Any of the checked boxes below indicate that I took action:

[X] Reviewed the Contribution Guidelines.
[X] Signed the Gradle CLA.
[X] Ensured that basic checks pass: ./gradlew quickCheck

For all non-trivial changes that modify the behavior or public API:

[X] Before submitting a pull request, I started a discussion on the Gradle developer list,
the forum or can reference a JIRA issue.
[ ] I considered writing a design document. A design document can be
brief but explains the use case or problem you are trying to solve,
touches on the planned implementation approach as well as the test cases
that verify the behavior. Optimally, design documents should be submitted
as a separate pull request. Samples
can be found in the Gradle GitHub repository. Please let us know if you need help with
creating the design document. We are happy to help!
[ ] The pull request contains an appropriate level of unit and integration
test coverage to verify the behavior. Before submitting the pull request
I ran a build on your local machine via the command
./gradlew quickCheck <impacted-subproject>:check.
[ ] The pull request updates the Gradle documentation like user guide,
DSL reference and Javadocs where applicable.

This PR fixes the integration test regex problem discussed in #788.

This was merged in https://github.com/gradle/gradle/commit/2aa3afc8a7a89dbf0972cc0ff417dbdbb1155a56 and I further relaxed the assertions in https://github.com/gradle/gradle/commit/55378135a9e20d98e42aae4539c4e540d154efdf because that's what we're doing elsewhere like in RecoverFromBrokenResolutionIntegrationTest


Visual Studio 2019 for mac Xamarin.Android debugger Does Not Work

Hi.
Recently, I have been programming on two similar Apps with Xamarin. For one app, the debugger for Xamarin. Android works fine. However, for the other one, the debugger just won't work at all. According to the doc that on your website (https://docs.microsoft.com/en-us/visualstudio/mac/debugging?view=vsmac-2019), there should be control buttons for stepping through the codes. But the app just doesn't show these buttons and ignored all of the breakpoints. Is there anything special settings for the app itself?

Hi @ethanyuxinzhang, please use the Report a problem menuitem in Visual Studio for Mac. If the debugger works fine for one project but not another project, it may be a problem with Visual Studio or the project - but for us to diagnose we need a lot more information, which is automatically gathered when you use that menuitem.
Thanks.


Fix mapping a ValueProvider with configuration caching

When using a mapped value source in a ListProperty, then the build failed on a configuration cache hit with:
Could not load the value of field `transformer` of `org.gradle.api.internal.provider.TransformBackedProvider` bean found in field `providers` of `org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingProvider` bean found in field `...` of task ...

This PR fixes this by converting the lambda used in Collectors to a serializable lambda.

@bot-gradle test and merge

OK, I've already triggered a build for you.


Paper

would you mind sharing the paper?

+1

+1

+1

+1

+1

+1

+1

Paper: https://arxiv.org/abs/2103.14006


$mysqli has to be sent through as parameter in every database class function thus making every method private

fixed it with $this->mysqli and a protected variable $mysqli


align spec and api implementation.

/hold
Please review, but holding merge until people get a chance to look at this.

/unhold


Socket events not filtered after a REST get subressource

Requesting GET /bean/1/carrots through my socket doesn't subscribes my socket to "carrots that belong to bean 1", but to "every carrots", and that's very surprising. Is that the way it's supposed to be ?
Thus, making some
io.socket.on('carrot', function(msg) {
  //msg "created" triggered
});

io.socket.get('/bean/1/carrots', function serverResponded (body, JWR) {
  //something
});

and POST /bean/2/carrots makes the on callback called with a "created" verb and the data

If you have sails.config.blueprints.autoWatch set to true (the default), then anytime you access an entity via sockets, you'll be subscribed to all create events on that entity's model.  That's the intended behavior.  But you can also get notifications when something has added to.  For example, if you're subscribed to the bean with ID 2, you'll get a notification after POST /bean/2/carrots with the verb set to addedTo and information about the carrot that was added.


License issues?

First, I will express my greatful thanks for this nice project.
This solved my problem, may I use this code in my project? is this MIT License?

I've added MIT license to the project. Glad it was of help to you. :+1:


Configurable handler

Currently, I saw the index.js handler is hardcoded, it would be nine if this can be configurable.

Agreed 👍


Using generic in baseclass

Hi, I am working on an angular project which uses typescript and was trying to use polytype.
I have a case where I am trying to use polytype in something like:
class WriteService<T> {
    create(t: T): T;
    update(t: T): T;
}

export class UserService extends WriteService<UserModel> {
    ...
}

i.e. my BaseService is defining a bunch of functions for my Type - and then I inherit this into a UserService with my UserModel.
When I try to use polytype:
export class UserService extends classes(WriteService<UserModel>) {
    ...
}

it gives me an error - so, I tried a few variations of this (without much understanding of the magic polytype does), but was not able to figure out how to handle this case with polytype.
Some variations I tried:

Sending as a generic: export class UserService<T> extends classes(WriteService<T>)
Giving classes an explicit type: export class UserService extends classes<[WriteService<UserModel>]>(WriteService)
Giving classes an explicit type: export class UserService extends classes<[typeof WriteService<UserModel>]>(WriteService)

I guess the argument to classes is a class. So, I can't pass the <> there... ?

In TypeScript 4.7,
export class UserService extends classes(WriteService<UserModel>) {
    // ...
}

is now allowed. The syntax WriteService<UserModel> for a value is what they call an instantiation expression, something that TypeScript has been missing for a really long time.
If you work with an older version version of TypeScript, the simplest workaround I'm aware of is introducing an intermediate class:
class UserWriteService extends WriteService<UserModel>
{ }

export class UserService extends classes(UserWriteService) {
}

As a note, support for TypeScript < 4.7 will be removed in a future version of Polytype, so if you have a chance to upgrade TypeScript to the latest version now, that would be the best.

For typescript 4.7 - looks like I will have to wait for angular 14 to be released based on the compatibility matrix at:
https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3
Looks like it might be right around the corner as they are already in an RC2 - https://github.com/angular/angular/releases
The UserWriteService approach seems to be cumbersome - but I get it.
I did find another solution which seems to work:
export interface UserService extends WriteService<UserModel>;

export class UserService extends classes<any>(WriteService) {
}

The classes<any> makes the actual class ignore the typing from there (If not done it conflicnts with the interface).
And I can provide typing separate with declaration merging

So, angular 14 was released sometime last week - and I tried out the approach you suggested above
But it seems to give me an error: Value of type 'typeof BaseClass' is not callable. Did you mean to include 'new'?(2348)

I created a reproducible stackblitz here: https://stackblitz.com/edit/angular-14-polytype?file=src%2Fapp%2Fapp.component.ts
Could you check if I am using polytype correctly ?

Your app.component.ts looks fine to me. I tried running
npx tsc --target es2017 --moduleResolution node --experimentalDecorators src/app/app.component.ts

and it worked perfectly with TypeScript 4.7.3. Probably StackBlitz is still using an older version of TypeScript for code highlighting, but with the latest version there are no errors.

Thanks - you were right. Looks like even my VSCode is using an older version of typescript (2.6) for the TS errors.
I assume stackblitz linter was using the older typescript too :)
Thanks!

No problem and thanks for your feedback.

@fasttime I had earlier used the workaround because angular / vscode were using typescript <4.7
But now, vscode uses 4.9 and angular14 uses 4.8
So, I was trying to remove my workarounds and noticed this was still not working how I expected it to work.
There is no syntax error anymore. But the function .getAll() seems to be returning any instead of the {id: number} I was expecting it to show:

This is reproducible in the same stackblitz as earlier:
https://stackblitz.com/edit/angular-14-polytype
(Looks like stackblitz has also upgraded to typescript 4.8+ as it works there now)

Hm, it seems that you need to specify "moduleResolution": "Node16" or "moduleResolution": "NodeNext" in the "compilerOptions" of the tsconfig file (this works also in Node.js 14 despite the name). The module resolution used in Polytype has changed in version 0.15 and I totally missed to document the setting. "NodeNext" is supposed to become the new default one day but for now it needs to be specified manually.
But there is another problem: StackBlitz doesn't know how to resolve the .d.ts file despite the correct tsconfig settings, probably because it uses the Monaco editor of Visual Studio Code, which has the same issue. That is why it's treating all imports from Polytype as if they had type any. I don't know if/how this can be changed at this time.
Alternatively, you could revert to the previous version 0.14.1 which is not affected by this problem, as long as the editor has not implemented the new module resolution.
I'm sorry for the inconvenience. Keep in mind that this library has not reached a stable release yet, and that's simply because the technology is still changing.

Hey there, thanks for the quick replies !
Firstly, I feel like polytype is the most robust implementation of its kind to solve my needs. So, minor inconveniences are not a issue. Happy to debug with you to make it more stable !
Second, I am still using 0.14.1 (My stackblitz happened to be on 0.15)
I have used 0.14.1 on my local and also in stackblitz and the issue is still there:

In my 0.14.1 setup locally, I tried to configure: "moduleResolution": "Node16", and that still did not fix the issue for me
I tried the same in stackblitz (i.e. moduleResolution: Node16 + polytype 0.14.1) and the issue still exists
Do you happen to have a working stackblitz example I could inspect and see what could be the culprit

Ah okay, thanks for the clarifications. In this case I'll have to take a closer to see what is wrong.

polytype is the most robust implementation of its kind

I know... 😉

I fixed a problematic type definition and released new version 0.16.0. @AbdealiLoKo could you please test this again? It's showing this for me when I hover over cls.getAll();
(method) BaseClass<{ id: number; }>.getAll(): {
    id: number;
}[]

Unfortunately, I haven't managed to get this working in the online editor. As already mentioned, it seems that StackBlitz doesn't like "moduleResolution": "Node16".

I upgraded to polytype 0.16 in my project.
When I try to use "moduleResolution": "Node16" it starts to give me errors in my existing imports
The first import in every file (mostly angular imports like: import { Injectable } from '@angular/core';)
VSCode started giving:
The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("@angular/core")' call instead.
  To convert this file to an ECMAScript module, change its file extension to '.mts', or add the field `"type": "module"` to '/repos/myrepo/package.json'.ts(1479)

I did not want to mess with the import things because I am not very proficient with them.
So, I reverted back to our old value of "moduleResolution": "node"
And then I get this error in VSCode:
Could not find a declaration file for module 'polytype'. '/repos/myrepo/node_modules/polytype/lib/polytype.cjs' implicitly has an 'any' type.
  Try `npm i --save-dev @types/polytype` if it exists or add a new declaration (.d.ts) file containing `declare module 'polytype';`

VSCode: 1.74.2
Typescript: 4.8.4
Angular: 14.2.5

Thanks a lot for testing @AbdealiLoKo! It seems the error you are receiving with "moduleResolution": "Node16" is related to other settings of the package configuration that start to become important when the module resolution changes.
I was able to fix the error by setting "type": "module" in package.json. I also had to change the versions of all @angular packages in the "devDependencies" to make them match the version in the "dependencies" (Yours is "^15.0.4"). Finally, I added a "devDependency" on "ajv", required to support npm <7. The result is here: https://stackblitz.com/edit/angular-14-polytype-evzdvv?file=package.json
With these changes, I was able to run npm install and then npm run serve and get the Angular test app running on my local machine.
Now, for an existing real-world application, the changes required to switch module resolution could be very complex, if possible at all (I didn't even take care of karma.conf.js). Plus, editor support is still very poor: StackBlitz doesn't recognize "moduleResolution": "Node16" and VSCode complains about relative imports in app.module.ts. For these reasons I'm thinking that changing the module resolution in Polytype so early was maybe not the best decision.

I tried downloading your stackblitz and opened it up locally - and that works correctly :+1:
Now what would be your recommendation ?

Do you plan on supporting the older moduleResolution: node with this fix ? Or maybe backporting the fix to v1.14.x series ?
Or do I need to figure out how to move my application to use type: module ?

I tried the type: module and as you said karma.conf.js, .eslintrc.js, and even some of my custom eslint rules etc started throwing errors as everything is being processed as a ES module instead of CommonJS module ... so it would be a fair amount of work to make everything work

Just re-added support for "moduleResolution": "node" in version 0.16.1. I simply reverted some of the changes in 6363f5c064b14d1973b199c072ce9518e4f85adc. This should hopefully work well for the time being. I'm still unsure whether to keep the rest of the work done to support "Node16" or undo it completely until support for the new module resolution improves in the ecosystem.

Great! Thanks for reporting and testing this, your help is very appreciated 👍🏻


support for Jpeg and Bitmap images read from SPIFFS

This is limited to GUIslice_drv_tft_espi.<h,cpp> along with the addition of a new image format
  GSLC_IMGREF_FMT_JPG     = (4<<4),   ///< Image format is JPG (ESP32/ESP8366)

The various config files esp-tftespi-*.h have added
  // Enable support for SPIFFS File System access
  // - Set to 1 to enable, 0 to disable
  // - Note that this requires the inclusion of TFT_eFEX library
  #define GSLC_SPIFFS_EN               0

Plus a new example ex44_bld_spiffs.ino
You may want to rename this.

Since you are on vacation I decided to take the time to add error message if users request SPIFFS fies but don't have GSLC_SPIFFS_EN set to 1.  Also, move and clean up spiffs example.


C#: Optimize Variant conversion callbacks

These callbacks are used for marshaling by callables and generic Godot collections.
C# generics don't support specialization the way C++ templates do. I knew NativeAOT could optimize away many type checks when the types are known at compile time, but I didn't trust the JIT would do as good a job, so I initially went with cached function pointers.
Well, it turns out the JIT is also very good at optimizing in this scenario, so I'm changing the methods to do the conversion directly, rather than returning a function pointer for the conversion.
The methods were moved to the Variant struct, and were renamed from GetFromVariantCallback/GetToVariantCallback to As/From.
The new implementation looks like it goes through many if checks at runtime to find the right branch for the type, but in practice it works pretty much like template specialization. The JIT only generates code for the relevant branch. Together with inlining, the result is very close or the same as doing the conversion manually:
godot_variant variant;

int foo = variant.Int;
int bar = Variant.As<int>(variant);

If the type is a generic Godot collection, the conversion still goes through a function pointer call.
The new code happens to be much shorter as well, with the file going from 1057 lines to 407.
Side note: Variant.cs was mistakenly created in the wrong folder, so I moved it to the Core folder.

I made an example with some stubs in SharpLab to help visualize these optimizations (change the results view to JIT Asm):

SampleVariantFrom
SampleVariantAs

For Godot projects, I don't know how to visualize JIT generated code (I trusted the SharpLab output in this case). If you enable NativeAOT, you can use objdump with the compiled library.

Thanks!


⚠ Processors has degraded performance

In 3a7cc88, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 50 ms

Resolved: Processors performance has improved in 0a70d2f.


Updated watchdog version

Signed-off-by: Krystian Wojcicki<EMAIL_ADDRESS>
Description
Updated the classic-watchdog to the latest version and updated Dockerfiles to add watchdog all in the same format. Verified by building functions locally + verify.sh
Motivation and Context
Now we can use the newer watchdog features such as max_inflight :D
Which issue(s) this PR fixes

Fixes #
How Has This Been Tested?
Verified by building functions locally + verify.sh
Types of changes

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

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Please can you confirm that you tested the java change that you made?

Subject to testing from yourself this PR looks good to go.

@alexellis  yup I tested all the none arm changes using verify.sh and any dockerfiles that I modified more than just the version I also tested by manually deploying :)

ah crap fixing the merge conflict using githubs online editor was a mistake. Once I get home will fix the DCO.

Don't worry.
I've taken the version bumps through, but not the other changes.
Please can you raise a new PR when you get home and include your other changes?

CONTRIBUTING.md note on verify.sh
the changing out of curl to get the watchdog for the multi-stage approach (not needed in the java* templates now)


ORC-512: Fix C++ build on CentOS 6.

The only serious change was the one where I needed to drop the default of {} on getBloomFilters. Other than that, it was all dealing with the older C++ from centos6.
Changes:

use ORC_NOEXCEPT instead of noexcept
use orc::to_string instead of std::to_string to work around the strange types
add a new test for constexpr
if the compiler doesn't have constexpr use const instead, which isn't perfect.
explicitly deal with the unique_ptr to shared_ptr conversion


⚠ Bofrost.be has degraded performance

In 47f0d0e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1416 ms

Resolved: Bofrost.be performance has improved in 243c5cb after 13 minutes.


fix #62112 - merge overlapping delete operations

There are more details at the issue #62112 page

I could write unit tests for the function _getLinesToRemove if that's advisable. If I do I think it would be better for the signature to be _getLinesToRemove(selections: Selection[]) so that we don't have to mock the editor.
Please tell me if I should do that and if yes if I should add it to this pull request.


Dataset.to_netcdf netcdf4 bytes

I understand that the Dataset.to_netcdf function will return bytes if no path is passed but will use the scipy backend for NetCDF creation and only supports version 3. Has anyone found a way of getting a NetCDF version 4 file as bytes?

I agree this would be nice to have. In principle, this could be done with either netCDF4's diskless datasets (https://unidata.github.io/netcdf4-python/netCDF4/index.html#section15) or h5py/h5netcdf's support for Python file-like objects (http://docs.h5py.org/en/stable/high/file.html#python-file-like-objects).

OK, I'll have a go at a PR for this

Dupe of #23.


Improve Maven support

Improve Maven support.
As of now, we go to the Maven central repository, grab the pom.xml, parse it and read the licenses in it.
This may be improved by use of some REST API, if some were to be found.

Check source code of license-maven-plugin or better yet parse its output


Relax requirements on index signatures to 'any' when a type also contains a string index signature to 'any'

Fixes #43064
When checking compatibility between two types, TypeScript should not require an index signature if the target side index signature maps to any and the target side has any string index signature to any.
So an index signature like in
{ [x: number]: any }

is still required of a source type, but neither index signature in
{ [x: number]: any, [x: string]: any; }

should be required; however, the number index signature in
{ [x: number]: number, [x: string]: any; }

should always be required because the number index signature doesn't map to any.

@typescript-bot pack this

@typescript-bot pack this

One thing I just thought of - when #26797, I think it would be best not to relax the requirements to other index signatures since this is just meant to unbreak code.


Moved unit test project to the /test folder

Current coverage is 5.21% (diff: 100%)

Merging #67 into master will not change coverage

@@            master       #67   diff @@
========================================
  Files            4         4
  Lines          115       115
  Methods         76        76
  Messages         0         0
  Branches        13        13
========================================
  Hits             6         6
  Misses         109       109
  Partials         0         0

Powered by Codecov. Last update 1dc8059...cb2defc


Add Binary Search Tree

Implemented Binary Search Tree in C

Please add it to the README file too .

@saru95 Added it to the Readme

👍


'PaymentCancelledByUser' is not a subtype of type 'PaymentSessionFinished'

Describe the bug
How to handle Cancel by user, by using button back on the Adyen widget ?
I am currently facing exception "type 'PaymentCancelledByUser' is not a subtype of type 'PaymentSessionFinished' in type cast".
I would like to know how to handle it correctly.
To Reproduce
Steps to reproduce the behavior:

Open the dropin as if you want to pay
Click on back button to close the widget
Exception is raised:
"type 'PaymentCancelledByUser' is not a subtype of type 'PaymentSessionFinished' in type cast"

Current Code
      import 'package:adyen_checkout/adyen_checkout.dart' as adyen;

      final adyen.PaymentSessionFinished dropinResponse =
          await adyen.AdyenCheckout.session.startDropIn(
        dropInConfiguration: dropInConfiguration,
        checkout: sessionCheckout,
      ) as adyen.PaymentSessionFinished;

      if (dropinResponse.resultCode != adyen.ResultCode.authorised) {
      ...

Hi @matmicro,
You can handle the different outcomes of DropIn by using this example code.

Start DropIn and wait for the PaymentResult:

final PaymentResult paymentResult = await AdyenCheckout.session.startDropIn(
     dropInConfiguration: dropInConfiguration,
     checkout: sessionCheckout,
);

Check the different outcome of the PaymentResult. It can either be PaymentSessionFinished, PaymentCancelledByUser or a PaymentError:

    if (paymentResult case PaymentSessionFinished()) {
      print("Result code: ${paymentResult.resultCode.name}");
    } else if (paymentResult case PaymentCancelledByUser()) {
      print("Cancelled by user");
    } else if (paymentResult case PaymentError()) {
      print("${paymentResult.reason}");
    }


Cards in .card-deck do not always have same width

This is with respect to bootstrap v4.
Here is a link to reproduce the issue:
http://paradite.github.io/d3card/
By clicking the buttons to change to font size of the card-title, the cards will either have equal width or unequal width. I believe the correct behaviour should be that cards always have equal width.
A possible reason may be due to the image size, but then again the whole point of the card deck is to dynamically fit the image into the cards and fit the cards into the screen I believe.
OS: OS X 10.11.3
Browser: Chrome 49.0.2623.87

Confirmed.
CC: @mdo

I think I found the cause of the issue, it is the width: 1% inside .card-deck .card
I was able to fix the issue by using
.card-deck .card {
    width: initial;
}

Work for me:
.card-deck {
width: 100%;
}
But why????

My guess as to why this works is because <table> cells (by default) resize depending on the content that is inside (if a width is not defined).
However with a "reset" style like width: 100%, it forces all of them to be the same width.
Similar to in flexbox if you did flex: 1 to children elements of a parent with display: flex.

I have a problem with the card-deck, he is breaking the width of the size of the body / html, creating horizontal scrolling, following image and test html
`

test nivo

            Card 1

            Card 2

            Card 3

            Card 4

`

@rubenscd That should have been opened as a separate issue, but I see the problem: all the content in the <body> should be wrapped in a <div> with .container or .container-fluid.

@RyanZim thanks, I will open in another task, but with .container-fluid same problem.

Improvements coming in #19885.


⚠ Jenkins Plugins Artifactory has degraded performance

In 1e42a46, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1212 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 0e2e973 after 12 minutes.


Support setting termination grace period on the DevWorkspace pod

Description
Currently, the termination grace period of the DevWorkspace pod is hardcoded to 1s, if I am not mistaken. It would be good to provide a way of configuring that (either globally or somehow in the devworkspace object).
Additional context
Che server has a global configuration option for this, applying it to all workspaces of all users.

Let's set the grace period to an higher value (e.g. 10s) but still hardcoded.


added data scraping methods for player

Hi, I have added some methods in the Player class for scraping player's data like career averages, summary and match by match data. This is my first open-source contribution so I don't know if it's the right way to do. Would really appreciate your feedback.

@wally1002 Thanks very much for this! It would be ideal if the methods you added returned Python objects rather than CSV files. I think dictionaries would work well for this purpose. Would that be doable?

@dwillis
def get_data(self, file_name=None, match_format=11, data_type='allround', view='match'):

        """Get Player data match by match sorted by date

        Arguments:
            file_name {string}: File name to save data
            match_format {int}: Match format (default is 11) (1-Test), (2-Odi) (3-T20I), (11-All International), (20-Youth Tests), (21-Youth ODI)
            data_type {string}: Data type (default is allround) (allround, batting, bowling, fielding)
            view {string}: View type (default is match) (match, innings, cumulative, reverse_cumulative, series, tour, ground)

        Return:
            Data in csv file
        """
        self.match_format = match_format
        self.data_type = data_type
        self.view = view
        self.file_name = file_name

        if self.file_name is None:
            self.file_name = f"{self.player_id}_{self.match_format}_{self.data_type}_{self.view}.csv"

        self.url=f"https://stats.espncricinfo.com/ci/engine/player/{self.player_id}.html?class={self.match_format};template=results;type={self.data_type};view={self.view}"
        html_doc = requests.get(self.url)
        soup = BeautifulSoup(html_doc.text, 'html.parser')
        tables = soup.find_all("table")[3]
        table_rows = tables.find_all("tr")
        scores =[]
        match_data = []
        for tr in table_rows:
            scores.append(tr.text)
        for row in scores:
                match_data.append(row.splitlines()[1:])
        match_data[0][-1] = 'match_id'
        self.data = dict([(f'{self.view}_{self.match_format}_{self.data_type}', match_data)])

Every time the method gets called, it will save the data to a dictionary data with key {self.view}_{self.match_format}_{self.data_type}. But the keys become slightly complex.
To access the data, the user should format the key in a specific format.
from espncricinfo.player import Player
kohli = Player('253802')
kohli.get_data(match_format=2)
# to access the data
kohli.data['match_2_allround']

Will this way help? If yes, we can add a save argument and give the user a choice to save if needed?


[iCloud+ Global Price Comparison] Let the user compare local prices in other currencies than CNY

Extension
https://www.raycast.com/elonwoo/icloud-global-pricing-comparison
Description
The extension allows the user to compare prices of iCloud+ plans in different geographical regions, listing the price in the local currency and CNY. It would be desirable to be able to choose the comparison currency so that the user can see their local equivalent.
Who will benefit from this feature?
All users outside of mainland China
Anything else?
No response

@raycastbot assign me

@wyan thank you very much for your suggestion. I am currently on the National Day holiday in China. After the holiday, my partner and I will proceed with your new request.

Thank you so much for considering this issue :)


Is zoomLevel working on lens mode?

It seems zoomLevel is not working. I have a single image not 2.
Maybe as a workaround I could use scrollZoom : true, and then manually set the delta without the user using the mousewheel, but I did not find how to do it.
What can I do on this case?

yes of course its working ;)
See the example page:
http://igorlino.github.io/elevatezoom-plus/examples.htm
You were already correct. I just added the scrollZoom:true and the example of lens works with the scrolling, which has 1 image.
$(document).ready(function () {
	$("#zoom_07").ezPlus({
		zoomType: "lens",
		lensShape: "round",
		containLensZoom: true,
		scrollZoom: true,
		lensSize: 200
	});
});

Maybe otherwise you could create a plunker example to reproduce any isssue.

Is it possible to zoom in more, if I need to see a more detailed part. Thanks


PROPOSAL to cache imported modules

Dart currently import from http, but not cache the module
My proposal inspired on https://deno.land:
you don't need to eliminate pubspec.yaml, you can mantain the 2

Dart already do:
// main.dart
import "https://gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart";

void main()=> sayHello();

to cache fragmenteded on .pub-cache, you could do like this:
// main.dart
import "https://gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart" cachefragmentededon ".pub-cache";

void main()=> sayHello();

this would be cached on .pub-cache/https/gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart

to cache on a folder inside .pub-cache, you could do like this:
// main.dart
import "https://gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart" cacheon ".pub-cache/module/version";

void main()=> sayHello();

this would be cached on .pub-cache/module/version/test.dart

to cache fragmenteded in other folder out of .pub-cache, would be:
// main.dart
import "https://gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart" cachefragmentededon "/home/user/folder/";

void main()=> sayHello();

this would be cached on /home/user/folder/https/gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart

to cache in other folder out of .pub-cache, would be:
// main.dart
import "https://gist.githubusercontent.com/mraleph/7f937d8545f247f98de78e323cdbc3f1/raw/4165c1202b5882558952ea1894de5528ece3b41c/test.dart" cacheon "/home/user/folder/module/version";

void main()=> sayHello();

this would be cached on /home/user/folder/module/version/test.dart

It is unclear from your description above as to what exactly you are proposing, can you make a small write up describing the enhancement you are proposing and what use case/problem it solves.

It is unclear from your description above as to what exactly you are proposing, can you make a small write up describing the enhancement you are proposing and what use case/problem it solves.

@a-siva ok, let's go
nowadays to use @required in Dart I need:
1: create a pubspec.yaml
name: "myproject"

dependencies:
  meta: ^1.1.8

2: create the main.dart
import "package:meta/meta.dart";

2 files, 4 lines

would be:
import ".pubcache/${SOURCEFRAGMENTED}/meta.dart" source "https://github.com/dart-lang/sdk/tree/master/pkg/meta/lib/meta.dart";

or
import ".pubcache/modules/meta/1.1.8/meta.dart" source "https://github.com/dart-lang/sdk/tree/master/pkg/meta/lib/meta.dart";

1 file, 1 line, 2 options

Issue moved to dart-lang/language #919 via ZenHub


Scale the N/A font in Geode's own desc page smaller plz

Geode Version
v3.0.0-alpha2
Related Problem
I mean the label in the manage menu, it's a bit too large isn't it?

Your Solution
It will looks better if it's set to the same scale value with the mod name label
Additional Information
No response

Imo a minor UI thing isn't too important within all this 2.206 chaos.

sure but it's still an issue/


Add drain and cordon functions.

Issue:
https://github.com/kubernetes-incubator/client-python/issues/188
Hello,
I worked on drain and cordon function prototypes and I wanted to get feedback before getting going further.
Can I get a code review on this. I will still need to write tests. Error handling seems to be OK since we are using other api's in the system.

Codecov Report

Merging #32 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #32   +/-   ##
=======================================
  Coverage   93.93%   93.93%
=======================================
  Files          11       11
  Lines         824      824
=======================================
  Hits          774      774
  Misses         50       50

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 84d1284...13aa5f2. Read the comment docs.

@huseyinyilmaz before you spend more time on this, I think we need to reach a decision/timeline for moving this functionality to server. It look like to me that is the best option. I would not have any objection to add this as beta to the client if the timeline for kubernetes/kubernetes#25625 is not working for us but need to be aware of that and even put our efforts there to fix this for all clients.

@mbohlool, I was not aware that this functionality was being moved to server which seems like a better option than implementing the functionality for each client.I think we should close this pr for now. We can always reopen it if implementation on server is delayed.

Implementation on server is labeled as "help-wanted", so I'm not sure if anyone is working on it, but for sure it won't land on server till at least 1.9 (as 1.8 is already on beta).
@huseyinyilmaz probably you will help to resolve the issue.
On the other hand, we can implement it here and remove when the support for the first version on which is implemented is dropped. But I don't like to much the idea to implement something that will be removed.

Agreed. There is no need to repeat the the effort if it is going to be implemented anyway. Iw ill just close this and take a look at the issue on server.
Thanks @pokoli


Width and Height configuration for children of Rows and Columns

Problem Statement
I’ve got a column where I’d like to configure the minimum size of a child element. Perhaps something like this:
  @Composable
  Column {
    ...
    Button(
      layoutModifier = LayoutModifier
        .horizontalAlignment(CrossAxisAlignment.Stretch)
        .minHeight(40),
      text = theButtonLabel,
      ...
    )
  }

For this occurrence I think I want to specify a minimum height, because if the row’s contents exceed that height (perhaps due to a long label text-wrapping), I’m happy with the element being taller than that size.
In another part of my layout I’d like to specify an element’s exact width=0 with grow(1.0) so that I can achieve 50/50 balance for adjacent elements:
  @Composable
  Row {
    Button(
      layoutModifier = LayoutModifier
        .horizontalAlignment(CrossAxisAlignment.Stretch)
        .width(0)
        .grow(1.0),
      text = "LEFT",
    )
    Button(
      layoutModifier = LayoutModifier
        .horizontalAlignment(CrossAxisAlignment.Stretch)
        .width(0)
        .grow(1.0),
      text = "RIGHT",
    )
  }

Without locking the width in at 0, the side-by-side elements only balance if their contents are the exact same width.
Syntax
I’d like to express these layout goals in the API. The above syntax is illustrative; I’m not at all attached to it. Borrowing terms from HTML or iOS or Android would be ideal.
Margin, Padding, Size
We have to decide if width and height includes padding or not. My preference is we follow the standard CSS Box Model and not include padding in width or height.
I’d also like for us to rename Padding to Margin, if that’s closer to its behavior. In particular, if an element doesn’t paint its background in the padding area we should probably rename it to margin.

This is relatively straightforward to implement - we could override a child's minimum width/height by overriding the return value of Measurable.minWidth/Measurable.minHeight. Likewise, we can override an item's width/height by overriding the return value of Measurable.measure. That said, do we want to provide this level of control in Redwood? I think I'm OK with it as we can always deprecate/remove these functions later if they cause issues. Also I think your proposed syntax is good.
As for renaming Padding, that makes sense to me - it does behave more like Margin at the moment. My only minor concern is margin is less discoverable (at least to me). Agreed that Margin shouldn't be counted as part of width/height.
Also semi-related, but I'm planning to introduce a Dp type (similar to Compose UI's Dp class) to give us better type safety. It'll enforce the value is positive in the guest code and include utils in the host code to convert Dp values into platform pixel values. So we would have:
Button(
  layoutModifier = LayoutModifier
    .horizontalAlignment(CrossAxisAlignment.Stretch)
    .width(0.dp)
    .grow(1.0),
  text = "RIGHT",
)

Regarding Dp, I like it. CSS has valid use cases for negative margins (explainer) so I don’t think that requiring non-negative values there is necessarily a win.

We have to decide if width and height includes padding or not. My preference is we follow the standard CSS Box Model and not include padding in width or height.

I think we should opt for the "alternative CSS box model", where the width and height does include the padding.
I've often seen * { box-sizing: border-box; } included in many (slightly-opinionated) CSS reset styles (1, 2). It didn't make it into the de-facto CSS reset style by Eric Meyer, but that is probably because box-sizing wasn't a consistently supported property in 2011.

As for renaming Padding, that makes sense to me - it does behave more like Margin at the moment.

@colinrtwhite Is this still the case? After adding some margin to the Row in Emoji Search, it looks like it's behaving like padding.


Update dependency symfony/yaml to v6.2.2

This PR contains the following updates:

Package
Type
Update
Change

symfony/yaml (source)
require
patch
6.2.0 -> 6.2.2

Release Notes

symfony/Yaml
v6.2.2
Compare Source
Changelog (https://github.com/symfony/yaml/compare/v6.2.1...v6.2.2)

bug #48331 fix dumping top-level tagged values (xabbuh)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: composer.lock
Command failed: docker run --rm --name=renovate_sidecar --label=renovate_child -v "/tmp/renovate/repos/github/renovate-reproductions/symfony-flex-backend":"/tmp/renovate/repos/github/renovate-reproductions/symfony-flex-backend" -v "/tmp/renovate/cache":"/tmp/renovate/cache" -v "/tmp/containerbase":"/tmp/containerbase" -e COMPOSER_CACHE_DIR -e COMPOSER_AUTH -e BUILDPACK_CACHE_DIR -e CONTAINERBASE_CACHE_DIR -w "/tmp/renovate/repos/github/renovate-reproductions/symfony-flex-backend" docker.io/renovate/sidecar bash -l -c "install-tool php 8.2.0 && install-tool composer 2.5.0 && git stash -- composer.json && composer install --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins && git stash pop && composer update symfony/yaml --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins"
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
fatal: detected dubious ownership in repository at '/tmp/renovate/repos/github/renovate-reproductions/symfony-flex-backend'
To add an exception for this directory, call:

	git config --global --add safe.directory /tmp/renovate/repos/github/renovate-reproductions/symfony-flex-backend


Start using best resilience expansion in SIL

Follow-up to #23263.
Peeling patches from https://github.com/apple/swift/pull/23170 to identify the code size regression. These are the first two patches in the series that actually change behavior; they should have minimal impact either way though.
rdar://problem/24057844, https://bugs.swift.org/browse/SR-261.

@swift-ci Please benchmark

@swift-ci Please smoke test

@swift-ci Please test source compatibility

Performance: -Osize

TEST
OLD
NEW
DELTA
RATIO

Improvement

StringBuilderWithLongSubstring
1540
1430
-7.1%
1.08x (?)

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci Please smoke test Linux


Error message when clicking "Show Window"

Hi, here to report this message:

Using Windows 10, when clicking on the Show Window label (note that the check mark still appears/disappears despite the message.
Occurs when enabling or disabling the option.

@Mxywes thanks for the report, keep them coming.  The reported issue and lots of others have been fixed, as well as new features introduced, in the new version 2.0.0.
Please review, feedback is much appreciated.


riak_core_info_service

This PR implements the riak_core_info_service set of processes - a supervisor and one or more children that are created to support NIFs that need to call in to Riak to get information.

riak_core_info_service - API
riak_core_info_service_sup - supervisor for riak_core_info_service_process processes.
riak_core_info_service_process - a lightweight process that can respond to a specified request by invoking a function and calling a callback to return the results.

See riak_core_app.erl for an example of registering and starting a service.
TODO:

[x] Decide if hard-coding the eleveldb service registration is acceptable, or if we want to use a more indirect method of registering the callbacks in this case (cuttlefish schema perhaps? Do we have other ways of doing this that don't require eleveldb to directly call in to riak_core?)
[x] Perhaps make the riak_core_info_service_process a gen_server at this point.
[x] Add copyright banners

I'm reasonably certain the whitelist for mapreduce will prevent this from being misused, but it's worth verifying my memory is correct.

I think I'm about ready to call this sufficient. Want to add a bit of testing first.

Ready for review.

+1

+1

With the new error handling code, this has definitely reached a point where riak_test is indicated. Will do the needful.

Rather than do ugly stuff with riak_test to expose the callbacks to the devrel node(s), I did less-ugly stuff with a unit test inside riak_core_info_service.
I also caught some glitches along the way: dialyzer fix, create a shutdown callback for eleveldb. That last one will require some careful thought by someone not awake until 5am (i.e., not me).

Test failure is interesting. Also interesting that the status box on this PR doesn't make it obvious that there is a failure with the build: https://github.com/basho/riak_core/pull/898#issuecomment-283011210
The two new tests pass when running eunit on just the module locally, now trying eunit across entire project.

Testing problem identified, fixed. Also some other cleanup on the tests. Ready for re-review.

+1

xref and dialyzer are unhappy because Thumbs doesn't support multiple unnerved branches yet. Both pass locally using the proper eleveldb branch.
I agree it's reasonable to remove the indirection anyway. Will do.
Sent from my iPad

On Mar 3, 2017, at 7:39 AM, Ted Burghart<EMAIL_ADDRESS>wrote:
@tburghart commented on this pull request.
In src/riak_core_app.erl:

@@ -152,8 +152,11 @@ register_capabilities() ->
%% TODO: This belongs in riak_kv - an issue will be created to move it, but time constraints.
start_eleveldb_info_service() ->
Registration = {eleveldb, set_metadata_pid, []},

Shutdown = {?MODULE, start_eleveldb_info_service, []},

Shutdown = {?MODULE, shutdown_eleveldb_info_service, []},
Changing this to {eleveldb, remove_metadata_pid, []} should shut xref and dialyzer up, with the added benefit of being consistent with registration and eliminating the separate shutdown_eleveldb_info_service/1 function altogether.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

+1 9eda941

+1


Terraform provider for Autostopping load balancer

Describe your changes

Adding terraform provider for the load balancers - AWS proxy, AWS ALB, Azure gateway, Azure proxy, GCP proxy
Acceptance tests for the above load balancers
Examples that show how to use these resources

Comment Triggers

PR Check triggers

Build: trigger build
Sub Category Field Check: trigger subcategoryfieldcheck

trigger gitleaks

This PR has been automatically closed due to inactivity.


Feature proposal : Tag Panel

Hey Florian !
I've developed a script that displays all glyphs from a tag in the UI for easier navigation and content preview. While it's functional, I think integrating a feature similar to the "Glyph Panel" into GutenTag could be really useful. Specifically, the feature could use a PopUpButton to filter glyphs based on tags.

Hi, thanks for this proposal. It might be interesting to combine such a feature with other glyph properties; not just tags. Maybe that would belong into Glyphs directly.

This is still interesting, but I works like it to be more general and made separately. Closing for now.


Fix LYWSD02MMC support on new firmwares

Gateway: ZNDMWG03LM
Firmware: 1.5.5_0006
Integration: XiaomiGateway3
Home Assistant 2023.7.3
Frontend 20230705.1 - latest
Hi Alexx,
By default LYWSD02MMC was handled as device id 5860 (regarding devicey.py), but no temperature and humidity information was shown in HA.
I tried overriding in configuration.yaml with device id 9538, but didn't work and following kind of errors appeared in log:
2023-09-21 14:57:15 [D] <IP_ADDRESS> [MQTT] central/report b'{"id":418856877,"_to":128,"type":6,"method":"properties_changed","params":[{"did":"blt.4.1fa41hmokgk00","siid":3,"piid":1001,"value":26.299999,"tid":214}]}'
2023-09-21 14:57:15 [E] <IP_ADDRESS> | ERROR processing MQTT: central/report b'{"id":418856877,"_to":128,"type":6,"method":"properties_changed","params":[{"did":"blt.4.1fa41hmokgk00","siid":3,"piid":1001,"value":26.299999,"tid":214}]}'|  File<EMAIL_ADDRESS>line 170, in mqtt_message|    await self.dispatcher_send(SIGNAL_MQTT_PUB, msg=msg)|TypeError: 'NoneType' object is not iterable|

I don't know why it didn't work, but I ended up swapping the 5860 and 9538 device identifiers around lines 1282 and 1348 in devices.py. I didn't change anything else, just swapped the device identifiers.
Would you change the device ids in repository or i need to create my own external converter by copying de relevant part into a separate .py file with some different device id?
Could you provide a correct example of overriding a BLE device in configuration.yaml?
Thanks in advance

Please show device diagnostics

I have attached
devicediag.txt

Thanks! https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v3.3.3


feature/add-gitmoji-in-front-of-merge-commit-title

Close #73

@Lyokolux The label here is just for the UI rendering so it's not a real issue 👍 I just ignored it. Feel free to re-review it and validate the PR ✅


Create Mock calls constructor

Im trying to setup mock object like thus
let account: TypeMoq.Mock<IAccount> = TypeMoq.Mock.ofType<IAccount>(Account);
Account class has a constructor, and this constructor is called during Mock object creation.
Im not sure if this is made intentionally or not, but obviously when we write test we want to avoid any logic in mocked classes

A workaround is to overload the constructor.
Declare function used for mock creation:
function getMockInstance(classToMock: any) {
  // Save current class prototype
  var oldPrototype = classToMock.prototype;
  // Create empty type and copy the saved prototype
  var newClass = function () {
    return;
  };
  newClass.prototype = oldPrototype;
  // Create a mock of the new class (empty constructor with same functions as classToMock)
  var newInstance = new newClass();
  return TypeMoq.Mock.ofInstance(newInstance);
}

Create mock:
var mockLoggerService: TypeMoq.Mock<LoggerService> = getMockInstance(LoggerService);

@travelerspb I can confirm the constructor is called intentionally during mock creation.
Having a fully initialized object makes it possible to call the base class implementation when there's no overriding setup (this behavior may be enabled by setting mock.callBase = true).
Still I believe you've made a valid point.
So while callBase appears to make sense for Mock.ofInstance, for Mock.ofType maybe not so much and the constructor call wouldn't be needed after all.
@matthieubouvierthales Thanks for providing a workaround.
Let me know what you think.

I agree that the original class's constructor should not be called.
We are attempting to mock Angular 2's Router class, and aren't able to because the constructor for Router is complex and has several expectations of how the various fields behave that don't matter for our test. We only care about the external interface of the object, not its internals.

@nertzy Have you tried to construct a Router mock by providing mocks as constructor arguments?
Not sure what ctor params has Router, but you could try smth like Mock.ofType(Router, MockBehavior.Loose, arg1, arg2...) where arg1, arg2 are mock objects.
Related to what would happen if the constructor is not called by Mock.ofType, based on the output from TypeScript, it looks like if the constructor is not called then the instance properties are not getting defined and so they're not mockable anymore.
E.g.
class Bar {
        value: string = '';
    }

TS output:
var Bar = (function () {
        function Bar() {
            this.value = '';
        }
        return Bar;
    }());

Closing this. IMO losing access to mock instance properties is show stop.
To avoid running constructor logic irrelevant for mock classes, you could provide mocks as constructor arguments.
E.g.
class Type1 {
...
}
class Type2 {
...
}
class Foo {
    constructor(p1: Type1, p2: Type2) {
    ...
    }
}

let mockA1: TypeMoq.Mock<Type1> = TypeMoq.Mock.ofType(Type1);
let mockA2: TypeMoq.Mock<Type2> = TypeMoq.Mock.ofType(Type2);
let mockFoo: TypeMoq.Mock<Foo> = TypeMoq.Mock.ofType2(Foo, [mockA1.object, mockA2.object]);

What if one of the constructor arguments also has a constructor that requires arguments?
It's unfortunate if there are technical limitations preventing a proper solution. In its current state however, I find TypeMoq to be unusable for me.

If a constructor argument has a constructor that requires arguments, you can mock the args as necessary.
E.g.
class Type1 {
...
}
class Type2 {
...
}
class Type3 {
...
}
class Type4 {
    constructor(p1: Type1, p2: Type2) {
    ...
    }
}
class Foo {
    constructor(p1: Type3, p2: Type4) {
    ...
    }
}

let mockA1: TypeMoq.Mock<Type1> = TypeMoq.Mock.ofType(Type1);
let mockA2: TypeMoq.Mock<Type2> = TypeMoq.Mock.ofType(Type2);
let mockA3: TypeMoq.Mock<Type3> = TypeMoq.Mock.ofType(Type3);
let mockA4: TypeMoq.Mock<Type4> = TypeMoq.Mock.ofType2(Type4, [mockA1.object, mockA2.object]);
let mockFoo: TypeMoq.Mock<Foo> = TypeMoq.Mock.ofType2(Foo, [mockA3.object, mockA4.object]);

But if another and another mock also have constructor arguments I can get crazy setup for simple test.

You can omit any constructor argument if undefined is an acceptable value.
For the example above, creating mockFoo can be as simple as:
let mockFoo: TypeMoq.Mock<Foo> = TypeMoq.Mock.ofType(Foo);

or if just one of the constructor params needs to be mocked:
let mockA3: TypeMoq.Mock<Type3> = TypeMoq.Mock.ofType(Type3);
let mockFoo: TypeMoq.Mock<Foo> = TypeMoq.Mock.ofType2(Foo, [mockA3.object]);

IMO, no matter how complex, I should be able to mock FooService without any other consideration than Mock.ofType<FooService>(). For Angular testing, I've been forced to move all of my instance initialization to lazy property initialization because of this:
private cache;
constructor(private cacheService) {
  cache = cacheService.get('myCache');
}`

becomes:
private _cache;
constructor(private cacheService) {}
private get() {
  if (!this._cache) {
    _cache = this.cacheService.get('myCache');
  }
  return this._cache;
}

I'd like to avoid:

Catering my implementation logic to testing limitations
Adding (in my opinion unnecessary) testing overhead to mock potentially unlimited dependency chains in order to test a single system-under-test's dependency

I wouldn't mind opting out of constructor consideration: Mock.ofTypeWithoutConstructor(FooService). Without knowing internals or project opinions, is this feasible?

Starting with version 1.0.0, typemoq supports dynamic mocking that does exactly what you want.
Simply create the mock like this and the constructor of your class is not going to get called:
const mock = TypeMoq.Mock.ofType<FooService>();


chore: prepare 0.8.18 release

0.8.18 release

One of the CI tests (Acceptance tests / check-deploy ) complained about no description in the PR, I added jus a char there.


Revert "erofs-utils upgrade to 1.8"

Reverts NixOS/nixpkgs#334894
Unless someone finds a different solution within hours, let's unblock for the time being.

(parts of this wouldn't need a revert, but I think it's easier this way)


Export plot as video

Hello I have created animated choropleth map, per example on plotly.js https://plotly.com/javascript/map-animations/
Grafana Dashboard is online here: https://intermittency.int.mog.se/d/fa529e06-ff34-415d-adf1-dde1a6f28350/prices-plotly-map?orgId=1
There is a export plot as image button in top right.
But is it possible to export each frame in the animation somehow? Either as separate images that can be combined to animated gif or video or as a video?
Maybe plotly-nline JS function for downloading screenshot can be called from the animation loop?
Also the animation becomes very sluggish for longer timeranges which increases need for video export, but I don't think this is related to your grafana plugin.
Thanks!

I think this would be a bit out of scope for this plugin since Plotly doesn't support this feature either. I think you may need to clean up your JavaScript in terms of the performance. You could attempt iterating through the data and triggering the event tied to the <a> tag with data-title="Export plot as an image" but I would just recommend trying this in. Python if you need that. I would try fetching the json if you're able to.
// Fetch geojson
async function fetchData() {
  if (!window.geojson) {
    try {
      console.log("Fetching!");
      const response = await fetch('https://raw.githubusercontent.com/electricitymaps/electricitymaps-contrib/master/web/geo/world.geojson');
      window.geojson = await response.json();; // Store it in window object
    } catch (error) {
      console.log('Error:', error);
    }
  }
}
fetchData();
geojson = window.geojson;

Thanks!
The geojson is modified, removing all shapes outside of Europe increased performance.
I do not have a place for static files atm. It's only loaded once so not an issue, and not too bad to scroll past, but yes should fix.
My code is as clean as the example on plotly, but agree the example is messy. https://plotly.com/javascript/map-animations/
Removing the slider fixed the performance. I posted on plotly forum about it. Anyhow, unrelated to grafana. https://community.plotly.com/t/choropleth-slider-animation-sluggish-with-many-frames/77857
Thanks I will try clicking the  element. I thought about using plotly.py or even selenium but I would rather not if possible.
Altho could probably render a super smooth animation with python!
Thanks for advice, much appreciated.


[WIP] feat: add documentation links in schema

What kind of change does this PR introduce?
feature, add links to show in the error output.

Did you add tests for your changes?
WIP

Does this PR introduce a breaking change?
no

What needs to be documented once your changes are merged?
Nothing

@alexander-akait With the current stacks of the webpack document site (A single page application hosted on github pages), we can't support server side redirects. However we can support client side redirection for urls of https://webpack.js.org/r/webpack/?option=output/chunkLoadTimeout pattern with just one intermediate page - r/webpack.mdx in this case. Pattern like https://webpack.js.org/webpack-options/output/chunk-load-timeout would require us to generate a lot of intermediate pages.
Do you think it's reasonable with a pattern like https://webpack.js.org/r/webpack/?option=output/chunkLoadTimeout? It's not the best option to me -- a server side redirect would be much better in my opinion, but it's the best trade-off we can have as far as I know.
Another option is to host the site on maybe vercel alike service which does support server side redirects.

@chenxsan I agree server side redirects are better, but maybe we can emulate right now redirects using <meta http-equiv="refresh" content="0; url=http://example.com/" /> and then discuss  about migrate on vercel/etc

@chenxsan I agree server side redirects are better, but maybe we can emulate right now redirects using <meta http-equiv="refresh" content="0; url=http://example.com/" /> and then discuss about migrate on vercel/etc

That would require us to generate a lot of intermediate pages as far as I know.
E.g., with a url like https://webpack.js.org/webpack-options/output/chunk-load-timeout, we need to generate a html file under dist/webpack-options/output/chunk-load-timeout/index.html with content like:
<meta http-equiv="refresh" content="0; url=https://webpack.js.org/configuration/output/#outputchunkloadtimeout" />

Here's an example we already have https://github.com/webpack/webpack.js.org/blob/gh-pages/loaders/file-loader/index.html which is created by RedirectWebpackPlugin. But I want to remind you that it won't work against urls with a hash like #amd, see https://github.com/webpack/webpack.js.org/pull/5146#discussion_r663510210.
The client side redirect might be the only feasible one besides the server side redirect at the moment.

@chenxsan Then let's do this for now and improve this in future


Doubles near Float.MIN_VALUE/2 are incorrectly converted to zero floats

Describe the bug
Following the fix of #5647, most 32-bit float subnormal operations work correctly. However, double values just above Float.MIN_VALUE/2 are incorrectly being rounded to zero.
To Reproduce
The issue was observed when emulating FLOAT2FLOAT with a 64-bit input just above Float.MIN_VALUE/2 and a 32-bit output. The result should be rounded to Float.MIN_VALUE. However, the emulator produces 0.0 instead. This can be observed with the following bit of Python code:
>>> from ghidra.pcode.floatformat import FloatFormat, FloatFormatFactory
>>> import struct
>>> f4 = FloatFormatFactory.getFloatFormat(4)
>>> val, = struct.unpack("<d", struct.pack("<Q", 0x3690000000000001))
>>> rounded, = struct.unpack("<f", struct.pack("<f", val))
>>> print(val.hex()) # original double value
0x1.0000000000001p-150
>>> print(rounded.hex()) # correctly rounded float value
0x1.0000000000000p-149
>>> print(f4.getEncoding(val)) # incorrectly rounded result from FloatFormat.getEncoding
0

Expected behavior
Subnormals near Float.MIN_VALUE/2 should be rounded correctly; specifically, the final output above should be 1 (the encoding of Float.MIN_VALUE).
Attachments
Environment (please complete the following information):

OS: macOS 12.6.7
Java Version: 17.0.7 GraalVM CE 22.3.2
Ghidra Version: 10.3.2
Ghidra Origin: official GitHub distro

Additional context
The root cause is an incorrect case calculation in FloatFormat.getEncoding:
// subnormal
exp = 0;
int n = value.scale - value.fracbits + lb_unscaled + bias + frac_size;
if (n < 0) {
  // XXX is it possible to round up to a non-zero in this situation?
  return getZeroEncoding(value.sign < 0);
}
fraction = roundToLeadBit(value.unscaled, n); // XXX round into normal case?

In the buggy case with 0x1.0000000000001p-150, we get n = -1 and thus drop into the n < 0 case. The XXX comment is apt: it is indeed possible to round up to a non-zero in this situation. It's probably sufficient to change the check here to n < -1 and let n == -1 be handled by roundToLeadBit.
Note that the same bug is present in both overloads of getEncoding.

@nneonneo resolving this is a very low priority relative to our other efforts.  I would welcome any code fix you could offer via a Pull Request.


Support stdlib (use.std::math::u64 etc) in miden repl

Related:

https://github.com/0xPolygonMiden/miden-vm/issues/637

This probably doesn't work because miden repl commands are placed between begin and end, and you'd need to do the import on the top-level.
One option would be to allow the miden repl command to take in a "include"/"top-level"/"definitions"-file that is executed on the top-level before begin/end (and which itself doesn't contain begin/end), but only imports and custom procedures.
Example of how it could work (includes.masm):
use.std::math::u64

proc.u64checked_add3
    exec.u64::checked_add
    exec.u64::checked_add
end

Then, we can execute the repl like so:
$ miden repl --includes=includes.masm

========================== Miden REPL ============================

Available commands:

!stack: displays the complete state of the stack
!mem: displays the state of the entire memory
!mem[i]: displays the state of the memory at address i
!undo: remove the last instruction
!program: display the program
!help: prints out all the available commands

>> push.0xffffffff.0x00000000
0<PHONE_NUMBER> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> push.0xffffffff.0x00000000
0<PHONE_NUMBER> 0<PHONE_NUMBER> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> push.0xffffffff.0x00000000
0<PHONE_NUMBER> 0<PHONE_NUMBER> 0<PHONE_NUMBER> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> exec.u64checked_add3
2<PHONE_NUMBER> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

If the includes-file contains begin/end, this part could be ignored - meaning it becomes easier to play around with existing miden programs in the repl.

This could work, but I wonder if for imports specifically we could just add another command to REPL. Maybe something like !use. So, to import a module we'd be able to type something like:
>> !use std::math::u64

We would need to add a command line argument to REPL to make sure it starts up with the right libraries loaded. This could be done via a path to the library file to be loaded (though, for stdlib could could be a special flag). For example:
$ miden repl --use-stdlib

Closed by #1162.


CMake Idiom for Single DLL all the Formats (windows and linux)

so right now we have target_add_wrapper blah stuff which is cool and makes wrapper seasy
but what we want to be able to do is something glike
... cmake to make a clap in clap_target ...

some_cmake_function(TARGET clap_target)

which doesn't change clap_target to a vst3 or change its name or anything but which does link in the various libraries and entry points
This amounts to taking target_add_vst3_wrapper and breaking it into two parts. The first is target_link_with_vst3_wrapper and the second is ... all the other stuff in add_vst3_wrapper we dont want. Then add_vst3_wrapper calls link_with and bobs your uncle.
A good clap to test this with is https://github.com/baconpaul/clap-c99-distortion

With #91 in placethis is easy to do, so if that merges we can mark this done. Since #91 or something like it will be merged I'm gonna mark this 'solved in next'


terraform: add var.extra_build_env_vars, closes #413

This PR adds a Terraform input variable I so far named extra_build_env_vars (suggestions welcome).
This allows passing in a map of attributes from Terraform to expose to nixos-anywhere's build step to make them available as environment variables within a NixOS configuration.
For this implementation I opted to leave actually passing the info to the user, so people stay in control over what info gets exposed where.
I opted to focus on allowing to pass info thru environment variables here figuring that would be less prone to fighting flakes over what is staged to Git, as committing info to be passed here may be undesirable both for ephemeral noise (if not also over sensitive info - tho any info passed this way lands in /nix/store/ as well).
To pull this off I used --impure plus eval - feedback on this would be great.
On the Terraform side as a consumer, to best enjoy this I have had to resort to some more involved logic as well, that gets easy when using Terraform from Nix. As an example (based on Hetzner Cloud), using the lib.tfRef function from Terranix I would use something like:
let
  servers = ...;
  variable = ...;
  data = ...;
  resource = ...;
in
{
  inherit variable data resource;
  module =
    lib.mapAttrs (server_name: _server_config: let
    in {
      # pin module version by nix flake inputs
      source = "github.com/numtide/nixos-anywhere?ref=${inputs.nixos-anywhere.sourceInfo.rev}/terraform/all-in-one";
      ...
      extra_build_env_vars = {
        # all variables
        # TF_VARS = lib.strings.toJSON (lib.mapAttrs (k: _: lib.tfRef "jsonencode(var.${k})") variable);
        # non-sensitive variables
        TF_VARS = lib.tfRef "jsonencode(${lib.strings.toJSON (lib.mapAttrs (k: _: var k) (lib.filterAttrs (_k: v: !(v ? sensitive && v.sensitive)) variable))})";
        TF_DATA = lib.tfRef "jsonencode(${lib.strings.toJSON (lib.mapAttrs (type: instances: lib.mapAttrs (k: _: lib.tfRef "data.${type}.${k}") instances) data)})";
        TF_RESOURCES = lib.tfRef "jsonencode(${lib.strings.toJSON (lib.mapAttrs (type: instances: lib.mapAttrs (k: _: lib.tfRef "resource.${type}.${k}") instances) resource)})";
        TF_SERVER = lib.tfRef "jsonencode(resource.hcloud_server.${server_name})";
        SERVER_NAME = server_name;
      };
    })
    servers;
}

You can then verify their contents from your nixosConfigurations like:
          lib.nixosSystem {
            inherit system;
            modules = [
              {
                environment.etc = {
                  TF_VARS.text = builtins.getEnv "TF_VARS";
                  TF_DATA.text = builtins.getEnv "TF_DATA";
                  TF_RESOURCES.text = builtins.getEnv "TF_RESOURCES";
                  TF_SERVER.text = builtins.getEnv "TF_SERVER";
                  SERVER_NAME.text = builtins.getEnv "SERVER_NAME";
                };
              }
            ];
          };

-> ls /etc/ -> cat /etc/TF_SERVER
(in practice one would instead probably parse these back to nix values to grab specific properties from, e.g. like: lib.strings.fromJSON (builtins.getEnv "TF_SERVER"))

@mergify queue

This is obsolete now.


Using of BigInt values cause UI to freeze

When I was testing on emulator the login UI works fine. But on a real device (especially iOS) the UI just freeze and I was not able to display loading. So I debugging to the source code found out that the cause of this was operations on BigInt values. For my case I separate some of the functions to be run on Isolate (to not be run on the main thread). Now it works fine. I implemented this only on login. To be implemented in the whole library will be much more work. And I am not sure is there a better solution?

I can confirm I am seeing similar behaviour. Login takes 10+ seconds on iOS device, elsewhere only a couple seconds. But still in general a couple times slower than e.g. amplify react-native.
@BobbyStatev would you consider posting an example (or fork/PR) of how you are using isolates to work around it? I only desire a speedy login, as well.

Unfortunately doesn't make the process of login faster. But at least doesn't freeze the UI. Maybe if some of the calculations are made before clicking on the login button it can be faster. Also, I found out there is a general problem in Flutter with Big Int calculation on iOS. https://github.com/flutter/flutter/issues/24827. I hope they fix it in the future.
Here is the example of parsing Big Int value in Isolate.
`parseBitIntInIsolation(SendPort sendPort) async {
// Open the ReceivePort for incoming messages.
var port = new ReceivePort();
// Notify any other isolates what port this isolate listens to.
sendPort.send(port.sendPort);
await for (var msg in port) {
var data = msg[0];
SendPort replyTo = msg[1];
replyTo.send(BigInt.parse(data, radix: 16));
port.close();
}
}
Future parseBigIntAsync(String hexCode) async
{
var receivePort = new ReceivePort();
await Isolate.spawn(parseBitIntInIsolation, receivePort.sendPort);
var sendPort = await receivePort.first;
var result = await sendReceive(sendPort, hexCode);
return result;
}
Future sendReceive(SendPort port, msg) {
ReceivePort response = new ReceivePort();
port.send([msg, response.sendPort]);
return response.first;
}
final String initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' +
'29024E088A67CC74020BBEA63B139B22514A08798E3404DD' +
'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' +
'43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';
example() async {
var result = await parseBigIntAsync(initN);
}`
Hope this will help. Also I was thinking of uploading it to a separate repository. Or maybe to make a pull request in the future.

Hmm, I may have to try that!
Thanks for indicating that flutter repo issue, sounds like iOS release mode will not be affected, so that's good enough for me.
FWIW, I am also using the flutter_sodium package, and the performance from the native wrapping of libsodium is great. Maybe it's an option for this repo, too?


factor overwrites the factor of other breakpoints

When I apply paroller to an element and I'd like to have a default behavior/factor, I can't override that default with breakpoint-specific factors (e.g. factorMd, factorXs).
Javascript:
$("#annoncer-screen").paroller({ factor: 0.3, factorMd: 0, type: 'foreground', direction: 'vertical' });

SCSS:
#annoncer-screen {
    width: 116.667vw;
    overflow: visible;
    z-index: 5;
    position: relative;
    left:8.333vw;
    img {
        width: 100%;
        transform: rotate(10deg);
        box-shadow: 0.5rem 4rem 4rem -1rem rgba(45, 62, 80, 0.6), 1rem 1rem 2.5rem 0rem rgba(0, 0, 0, 0.7);
    }
}
@media (min-width: 1024px) {
    #annoncer-screen {
        position: absolute;
        width: 1000px;
        left: 8.333vw;
    }
}

The breakpoint-specific values seem to work, as long as I do not set the 'default' factor value. In the code example above, factorMd seems to be overwritten or ignored when scrolling.
This seems to happen regardless of:

Factor value (I tried 0, a positive value and a negative value)
Positioning of the Paroller'd element (I've tried setting both to position: absolute, as well as the styling above)

Is this intended behavior? If so, how could I have a specific value for factorMd, which having a 'default' factor value for anything above that breakpoint?

I had the same problem. Little modifying the jquery.paroller.js worked perfectly for me.
Just setting up the breaktpoints yourself in the file (Starts at line 57). So you can easily set the XL breakpoint from (width <= 1920) to – for example – (width > 1920) instead and work with your own values without using the 'default factor'.
Hope this helps

Thanks. Of course it would be nice to have something implemented into Paroller like a factor value that catches anything over <=1920 (e.g. factorMax or factorOverXl) which would indeed be width > 1920. Ideally, it should not replace factorXl, but remain the final step beyond it.


fix: gas limit retry

This pr parses the error message received from the submitted transaction that respected the config gas price value and proceeds to the controlled recursive call modifying block gas price according to the need.

does'nt seem to work...

Merging, looks fine


Preserve file permissions

beku should preserve the permissions files generated from templates or copied to the destination folder.

Done.


pinnwand: use poetry-core instead of poetry

to reduce build-time closure

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

@GrahamcOfBorg test pinnwand

@GrahamcOfBorg test pinnwand

Thanks!

Thanks!


Included TypeScript declaration files not working

Environment details

OS: Ubuntu 18.04
Node.js version: 8.11.4
npm version: 6.4.1
@google-cloud/storage version: 2.0.0

Steps to reproduce

Create a new TypeScript Node.js project (with npm init and npm i -D typescript)
Install the library with npm i @google-cloud/storage..
Import the library in a source code file with import Storage from '@google-cloud/storage'.

I notice that the library is now coded in TypeScript and that the declaration files are included in the published NPM package. However, when I try to use the library in a TypeScript project without installing the @types package, which should now be deemed deprecated, I get an error message from the TypeScript compiler saying that it can't access the declaration files:
[ts]
Could not find a declaration file for module '@google-cloud/storage'. <EMAIL_ADDRESS>implicitly has an 'any' type.
  Try `npm install @types/google-cloud__storage` if it exists or add a new declaration (.d.ts) file containing `declare module 'google-cloud__storage';`

Is the work to port the library over to TypeScript still a work in progress? If it's considered complete, there is likely an issue with the configuration for the type definition file generation.
Here's an example repo that reproduces the problem. It will not compile with the project TypeScript compiler. The command npm run build will fail.

The release #375 should fix this.

@jkwlui  I have the same issue with using @google-cloud/vision

@sal-g Looks like they have a repo for the Vision NPM package: https://github.com/googleapis/nodejs-vision
I'd suggest raising an issue there.


csv_dataset is not reading csvs properly

Issue:
When i try to import a csv, the first column name, which is 'input', is being read in with a byte order mark.
Which is causing the value error 'no input in dataset'.
Expected behaviour:
csv_dataset should be flexible enough to handle this.
Example output:

from inspect_ai.dataset import csv_dataset, json_dataset
import pandas as pd
dataset1 = csv_dataset("dataset1.csv")
{'\ufeffinput': 'which cheese is from switzerland', 'target': 'swiss'}
Traceback (most recent call last):
File "", line 1, in

raise ValueError("No input in dataset")

ValueError: No input in dataset

pd.read_csv("dataset1.csv")
input target
0  which cheese is from switzerland  swiss

nevermind, found the encoding argument!


Improve decoding speed affected by commit 1a29187

Adding Unmarshaler decreased decoding speed in commit 1a2918702e980f0776663d11290dfe40e20a8c08.  This affects all data types.
Make it faster by caching the result of reflect pkg's Type.Implements().

Commit 726c4236fd0fcf0805db7287323b21a8c6995747 closes this issue.


Closing org

@Grinkers  please transfer this repository to your ownership. I'm closing the organization as the repos have been achieved

@Grinkers please transfer this repository to your ownership. I'm closing the organization as the repos have been achieved

I don't have permissions.
https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository#transferring-a-repository-owned-by-your-organization
Is this helpful? Alternatively, you can just keep the org. I think it's harmless?

You should have permission now

You should have permission now

Still nothing.

@naomijub
This has been fully captured
https://github.com/Grinkers/clojure-reader/tree/main/fuzzer
Feel fee to delete/remove/whatever.


Undo shortcut not working

Hello
I have issue with not working Undo. Shortcut is detected, but panel appears with Undo Reload From Disk? but when click on ok, nothing happens. If I click icon instead of shortcut it works fine.
I use ctrl + z and I also tried alt + backspace.
Environment:
Diagrams.net: 0.2.4
System: Linux (Corporate distro based on Ubuntu)
Pycharm 2024.1
Possibly conflicting plugins: VSCode Keymap

Day after (after computer restart it works). Closing the issue. Great tool btw...


Can we add .NET Framework 4.5 support?

Describe the feature request
I find the code can support the .NET Framework 4.5 version. And some of my projects use the  .NET Framework 4.5 and they can not update to  .NET Framework 4.5.2
Can I add .NET Framework 4.5 support?
Thank you

This would mean to support an outdated version of the framework: https://dotnet.microsoft.com/download/dotnet-framework...
Or adding support for NetStandard 1.1: https://dotnet.microsoft.com/platform/dotnet-standard or 1.0... I'm not sure if this is a good idea.

I agree that 4.5 is out of support since several years. 4.5.2 on the other hand is still supported.
One thing we can try is to downgrade from netstandard 1.3 to 1.1 but I don't think this is possible because I already tried that.

Many APIs are missing in netstandard 1.1. It's may be impossible to downgrade to netstandard 1.1.
Can we replace net452 to net45 directly? They are almost identical.

Sorry but for me this is no option. Even 4.5.2 bothers me a little but since it is still officially supported I will keep support for that but 4.5 is way too old.
But you can fork this project and start maintaining a custom 4.5 build (including nuget releases).

@chkr1011 Thank you


[BUG] default profile image text is not visible in dark mode

Has this bug been raised before?

[X] I have checked "open" AND "closed" issues and this is not a duplicate

Where did you find this bug?
https://www.biodrop.io/EddieHubCommunity?tab=testimonials
Version of BioDrop (for example "v1.2.3")
v2.95.1
Description
When activating dark mode the grey text in the default profile picture (which is some text) changes to white.
This makes the text (on the white background) disappear.
It is still there as it can be selected, see screenshot.
Steps to Reproduce

Go to the page's testimonial tab
change from light mode to dark mode via sun/moon symbol in top right page menu
Now the profile picture text of user "LinuxGamer" disappears (but can still be selected)

Screenshots

Do you want to work on this issue?
No
If "yes" to above, please explain how you would technically implement this
No, as I don't know how to solve this exactly.
When inspecting the profile picture in Google Chrome I see that the style attribute of the img tag ist not set.
In the other profile pictures that are actual images and not text, it is set to style="color: transparent;".
If I add style="color: black;" inside of the inspected img tag, the profile picture becomes visible.
Maybe an automatically added default placeholder profile image instead of default text would be the solution. It would also look better than the cut-off default text.

Thanks for raising the issue, This is happening because the user doesn't exist on GitHub.

@eddiejaoude

I see the problem
LIGHT MODE

DARK MODE

Hey @eddiejaoude, I would like to work on this issue.

Hey, @j-grosse
I viewed your profile, no issues about your profile picture.
Your profile picture appears on https://www.biodrop.io/LinuxGamer however disappears on https://www.biodrop.io/EddieHubCommunity?tab=testimonials.
So, just try changing your profile picture and check whether the issue exists

Hey, @j-grosse I viewed your profile, no issues about your profile picture. Your profile picture appears on https://www.biodrop.io/LinuxGamer however disappears on https://www.biodrop.io/EddieHubCommunity?tab=testimonials.
So, just try changing your profile picture and check whether the issue exists

Thanks, but it‘s not my profile. If the user has no profile picture on Github an automatically added default placeholder profile image would be the solution. But here the user does not even exist on Github anymore. So there was a picture from the user. Maybe just a very seldom case. Maybe close the issue @eddiejaoude ?

Thank you @j-grosse
It might be that they changed their username.  However I do agree and this issue should be closed, which I will do now.


"Type property can't be changed" error in Checklist demo

I get the following error when I run the Checklist demo (http://vitalets.github.io/angular-xeditable/#checklist):
Error: type property can't be changed
    at Function.jQuery.extend.error (http://localhost:5000/assets/jquery.js?body=1:552:9)
    at Object.jQuery.extend.attrHooks.type.set (http://localhost:5000/assets/jquery.js?body=1:2603:13)
    at jQuery.extend.attr (http://localhost:5000/assets/jquery.js?body=1:2545:66)
    at Function.jQuery.extend.access (http://localhost:5000/assets/jquery.js?body=1:863:6)
    at jQuery.fn.extend.attr (http://localhost:5000/assets/jquery.js?body=1:2228:17)
    at link (http://localhost:5000/assets/checklist-model.js?body=1:48:48)
    at nodeLinkFn (http://localhost:5000/assets/angular.js?body=1:6227:13)
    at compositeLinkFn (http://localhost:5000/assets/angular.js?body=1:5637:15)
    at compositeLinkFn (http://localhost:5000/assets/angular.js?body=1:5640:13)
    at publicLinkFn (http://localhost:5000/assets/angular.js?body=1:5542:30) <input type="checkbox" checklist-model="$parent.$data" checklist-value="s.value" class="ng-scope">

I'm using angular 1.2.9.
Is this a bug, or am I doing something wrong?

I don't see this error being thrown on the site, I think this can be closed.


Added BUILD_NUMBER to explicit license file.

What does this PR (Pull Request) do?
Adds BUILD_NUMBER to the explicit license file.

[x] This PR is not related to any Issue

Which Traffic Control components are affected by this PR?
weasel license checking.

What is the best way to verify this PR?
Create a BUILD_NUMBER file at the root like is done for releases. Then ./pkg weasel. It should run clean.

If this is a bug fix, what versions of Traffic Control are affected?

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

add to whitelist


Does NextAuth store any state on the server?

Please refer to the documentation, the example project and existing issues before creating a new issue.
Your question
Does NextAuth store any state (session / token / etc) on the server (hence making the server stateful?)

when using SQLite as database (should be "yes" for this option as it creates a SQLite instance in memory?)
when using MySQL/MariaDB/...
when using no database

What are you trying to do
I want to know whether (or when) the library works on serverless environments (e.g. vercel), or under a horizontal scaling group (e.g. Azure webapp / elastic beanstalk).
Deeper down the question is "how does session work in NextAuth" (assuming it is server-side session?).
Does the server save it in memory? in a SQLite instance?
or are there actually no session, but a logic that compare JWT with a SALT?
Documentation feedback
Documentation refers to searching through online documentation, code comments and issue history. The example project refers to next-auth-example.

[ ] Found the documentation helpful
[ ] Found documentation but was incomplete
[x] Could not find relevant documentation
[ ] Found the example project helpful
[ ] Did not find the example project helpful

@mingyeungs

Does NextAuth store any state on the server?

I am pretty sure the answer is no, unless you count possible caching, so I would think this is safe for a serverless environment. The tagline is afterall "Authentication for Next.js & Serverless".
Regarding where the session data is persisted: The documentation seems to imply that the session data is persisted in your choice of database and or JWT. You can choose database only, or you can choose JWT only, or you can choose database+JWT.
Regarding SQLite: This is from the v3-beta documentation:

SQLite is intended only for development / testing and not for production use.

So just don't try to use SQLite as your production database and your app will work fine in serverless environment.

Thanks @zenflow , I know how silly it must have sounded, and thanks for the confirmation.
Somehow I was under the assumption that session means server-side session, and was wondering why the library uses session with JWT; Though if session simply means user session, I guess the question no longer exists...
Anyway I might just leave this question open until getting a confirmation from the library author? Thanks a lot!

Hi there! Thanks for answering @mingyeungs!
RE: State
I can confirm NextAuth.js is stateless.
It does take advantage of persistence in a Lambda Serverless function to re-use database connection handlers (and handles re-establishing dropped connections when a function is suspended etc) but it doesn't depend on them and doesn't need a database.
It is designed to work well with Serverless (Vercel, AWS Lambda) and Docker containers / horizontal scaling groups / etc. with and without a database.
The example repo uses SQLite as the database, which is a bit of a hack just to support the simple demo site. It is good enough for a demo Serverless instance to use to support email sign in for a demo (as on a low traffic site you are only ever hitting 1 concurrent instance of a function and they stay memory resident for a couple of hours) but that is really just to support the demo site and should not really use SQLite with Serverless on a production site.
You shouldn't use SQLite at all with NextAuth.js, unless you are using it to avoid the need to run an SQL database locally or when running tests.
RE: Sessions
Yes the situation is a little confusing, I'm trying to improve that in the v3 docs, with the FAQ that @zenflow linked to!

If using database sessions, the Session Token is a random value used as a key in the database, that is used to look up a user ID and populate the session object returned from /api/auth/session.
If using JWT sessions, the Session Token is a JWT and the data for the session object returned from /api/auth/session is  read directly from the token instead of looking it up from a database.
The contents of the 'session' object is what the client (browser) sees as the session object. You can add properties to the session object with the session callback.

I think this should be answered now, but feel free to follow up if not.


Randomization into folds

Some (?) learners use the existing order of observations when splitting into folds.
Maybe add a fold option to randomise the initial order of observations (with sortpreserve so it's restored afterwards)?

@markeschaffer do you have an example?


Update "About" screen to show logo and version

#3225 should enable the About screen to show the Firezone logo and version number, similar to the Apple client:

For the part in parentheses, is there a build number from CI I should get, or can I just drop the Git commit ID in there?

Git commit ID works great.


add explicitly encode type when export.

use this to avoid encoding error in Windows.(in Windows, the default encoding is cp950)

The problem should be solved in current master branch by adding a .encode("UTF-8") call. Can you confirm this is a acceptable solution too.


Add more tests for UbiquiStick and UbiquiStickSale

Add more tests for:

src/ubiquistick/UbiquiStick.sol
src/ubiquistick/UbiquiStickSale.sol

Test coverage right now:

File
% Lines
% Statements
% Branches
% Funcs

src/ubiquistick/UbiquiStick.sol
42.31% (11/26)
39.29% (11/28)
0.00% (0/12)
57.14% (8/14)

src/ubiquistick/UbiquiStickSale.sol
0.00% (0/13)
0.00% (0/15)
0.00% (0/6)
0.00% (0/6)

Consolidated into https://github.com/ubiquity/ubiquity-dollar/issues/489


Assumptions about pg_stat_statements not mentioned in docs

pg_stat_statements is not on by default in Postgres.  In fact, the library has to be loaded with the server and is an extension that has to be installed.
It also can be cleared out very easily on a busy system, and thus is in no way guaranteed to contain the query in your logfile.  So there are 2 issues here:

It is not mentioned in the docs that the pg_stat_statements extension is required
If it is required, you will have difficulty relying on it because based on its configuration, it may not contain your query.

Why is pg_stat_statements required if you already have the SQL statement in the logs?  You should be able to use this alone to plan the query and compare.

Hey @jfinzel, pg_stat_statements is one option an alternative to logs as the source of queries. Is there something that makes you think it's required?

I misread your code.  I'm not super great at ruby :).
Can you at least add something brief on the docs related to it, if it's supported?  I searched there and didn't find any mention of it.  Thanks.  You can close this.