Search function please !

I assume this is the same team that writes the code for the iOS authenticator app ? Please can you   introduce a search function... I have a large number of 2FA sources and its not possible to search, I have to scroll manually through the long list

Standard FYI: The version in Google Play Store / Apple App store is not the same as this opensource version. They've diverged. This opensource version is also unlikely to end up in the app stores. This open source version doesn't get much love, but I'll accept well-written pull requests. But don't expect this feature to be implemented by Google.

I'd love if this was added also! :)

Dupes: #601 #628

Thanks. I've closed the others.

Standard FYI: The version in Google Play Store / Apple App store is not the same as this opensource version. They've diverged.

Is there s side-by-side comparison?

This opensource version is also unlikely to end up in the app stores.

It would be possible to publish it though if someone is willing to pay the fees right?

This open source version doesn't get much love, but I'll accept well-written pull requests. But don't expect this feature to be implemented by Google.

Your comment was in 2016, do you hold the same position?

Standard FYI: The version in Google Play Store / Apple App store is not the same as this opensource version. They've diverged.

Is there s side-by-side comparison?

Not that I know of.

This opensource version is also unlikely to end up in the app stores.

It would be possible to publish it though if someone is willing to pay the fees right?

I've never done it, but isn't it free to publish an app in the stores? This is not an official answer, and I'm not a lawyer and have not even read the app store publishing ToS, but I'd imagine that you can't call it "Google Authenticator" because "Google" is not publishing it.

This open source version doesn't get much love, but I'll accept well-written pull requests. But don't expect this feature to be implemented by Google.

Your comment was in 2016, do you hold the same position?

Yeah.

I've never done it, but isn't it free to publish an app in the stores? This is not an official answer, and I'm not a lawyer and have not even read the app store publishing ToS, but I'd imagine that you can't call it "Google Authenticator" because "Google" is not publishing it.

You don't need to be a lawyer or read the app store ToS to figure out the basics of trademarks ... "Google" is a trademark, so that would likely trump any other consideration such as app store ToS.  :wink:
But if you're effectively saying  "I'm not going to publish it, but I don't mind if someone takes the code, removes the word 'Google' from it, and publishes it" ... that's another matter which could simplify things a lot !  Although given the code is on the google github repo, there are questions about who owns it ?
Must be said though, I suspect many people will be like me ... they gave up waiting and started using another TOTP tool already available on the app store that does support searching.

Yeah I'm just being extra careful as while I'm a Google employee to make sure that I'm not giving any form of permission or implying that you can't, since I'm not in a position to say yes or no.
I don't mind anything, personally. And while I can't speak for Google I would assume that anything the license text (Apache 2.0), trademark law, and app store ToS allows is fine.
You can't, of course, remove the "Google" from "Copyright ... Google...", but from the name of the app, yes, I'd assume.

Although given the code is on the google github repo, there are questions about who owns it ?

Google has copyright on the code, and it's licensed under the Apache 2.0 license. Patches coming in need to be from authors who've signed the CLA (there's a bot that tells you how to do this when you create a pull request), but of course that only applies if you want to update this repo. A forked repo has a more complex ownership structure, so if ownership (as opposed to licensing) matters then that can be tricky.
E.g. Google has copyright on the code, and can therefore choose to change the license for future versions, but you can't in any fork. Again, I'm not a lawyer and am not giving legal advice nor representing Google's views.

Has google really become so deaf and dumb that it no longer listens to users when they ask for something that google is known for?  please add search to authenticator!!!

A big company famous with Best Search algorithm.
Their app: Don't have search/filter function.

4 years and I still come back to this thread. Amazing. 👴

@spacemudd your pull request must have gotten lost in the mail.

@ThomasHabets Oh I'm sorry.  Amazing. 👴

Just switch to andOTP. Google Authenticator is not worth your time at this point.

I didn't even have a GitHub account when this pr: open and now I work as a full-stack web developer 😂😂😂.
I remember this was one of the first projects I ever attempted to contribute to, and I remember reading this same chat thread and feeling so confused.
You want to know what my advice is now, do what I did and just spend $50 to get a Titan Key 😂😂😂

Or a Yubikey, given Google's track record supporting some of their software hint hint.

I assume by that you are referring to all the projects and non-proprietary builds that held no value to Google because there was no profit to be made. (sarcastic tone) I never see them neglecting the Cloud Platform or GSuite 🤔

I assume by that you are referring to all the projects and non-proprietary builds that held no value to Google because there was no profit to be made. (sarcastic tone) I never see them neglecting the Cloud Platform or GSuite 🤔

That's what I thought about Google Inbox. To this day my email anxiety is higher because of that.


can't parse array in appsettings.json; can't handle number string as key in object

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
What package version of the SDK are you using.
61e4e5dde95f7fa1dca8330ae3d833b622ca22c6
Describe the bug
Give a clear and concise description of what the bug is.

When there is array in appsettings.json, it is not treated as array.
When a json object uses number string as key, it is not handled

To Reproduce
Steps to reproduce the behavior:

clone https://github.com/xieofxie/botbuilder-dotnet/tree/hualxie/array_bug
start Microsoft.Bot.Builder.TestBot.Json
type 2
See error

Expected behavior
Give a clear and concise description of what you expected to happen.

value
current
expected

settings.array
object
array

settings.object
System.Object[]
object

settings.array['1']
use '1' as key
use 1 as key i.e. array

json({'123':'234'})
crash
work correctly

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
[bug]

@cleemullins Could you take a look at this?

Per @tomlm the issue probably is in settings memory scope.

Hi, I have made some investigations on this issue. Here are some achievements:

appsettings.json  does not support direct reading of array data. reference
There are several workarounds here, but they are not suitable for the dynamic data in this situation.
So, currently, the logic of BotBuilder is: if the last key of data is number, treat it as an array item.
For example:

  "object": {
    "123": "456"
  }

The original data is:"object:123" -> "456"
The last key can be parsed into integer, so the value of object is an array with 124 items, and the first 123 elements are null, the 124 item is string 456. just like: [null, null, ..., "456"]
Another example in your case:
  "array": [
    "e1",
    {
      "obj": "e2"
    }
  ]

The original data from reading the configuration is:
   "array:0" => "e1",
   "array:1:obj" =>  "e2"

The key point is that it is impossible to distinguish whether this is a list or an object with an int as the key.
As the result, settings.array ->
{
“1”: {
"obj": "e2"
},
“0”: “e1”
}

settings.object -> object[] but not object,
and
settings.array['1'] -> {"obj": "e2"}

The json({'123':'234'}) issue
You may misuse the property of Microsoft.SetProperty.
The Property is StringExpression, So, if the expression does not start with "=", SDK would treat it as the string interpolation of Expression. The result of "${turn.data}" is an empty string, because turn.data is null. However, the empty string is not a valid key in dailogstatemenager.
The solution is to change it to "turn.data".
Another tip:"value": "${json({'123':'234'})}" is not a common usage, it would convert the result to string. If you want to set a json value into a certain property, could use =json({'123':'234'}) instead.

Thanks

@Danieladu Thanks!
But comparing these two, I think it is better we treat the first one as object with key 123, so they are the same logic
  "object": {
    "123": "456"
  },
  "array": [
    "e1",
    {
      "obj": "e2"
    }
  ]

The SetProperty is my fault..

@xieofxie that will drop all list feature totally. For example:
 "array": [
    "e1",
    "e2"
  ]

Originally, the array property would treat as a real array => ["e1", "e2"]
If we disable this feature, all the plain array would be treated into object.
hmm. I have no idea about this one..

@Danieladu Another thought is that we require the user not to use number as key so we can easily treat number key as index in array.
I think array of objects is a more common usage than number of object key.

@xieofxie  this is a breaking change. Maybe @tomlm  can give some suggestions?
{
"option": {
  "1": "a",
  "2": "b"
 }
}

Would be treated into :
{
"option":[
  "a", "b"
]
}

@Danieladu right.. I think you missed a null here. The root cause is the way that dotnet treats appsettings, sad story.

The result after triaged is try to reverse the flatten result as array as possible, otherwise turn it into dict.


update rotten links in README

You're welcome:) Came here from "Nerding out with Viktor", loved your explanations!


Repeat: Add my first file.

Repeat: I created a new branch, created a file, and made a commit.

My first commit.


Switch to @ycm.jason/svg-to-img

Codecov Report

Merging #8 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #8   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          11     10    -1
=====================================
- Hits           11     10    -1

Impacted Files
Coverage Δ

lib/index.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Group click statistics by PR/issue ID

The current statistics only show how many clicks there were on a given type (i.e. pull request or issue), it'd be nice to see how many times a PR or issue was clicked.
Note: PR and issue ID are in the same namespace (i.e. there will never be a PR with the same ID as an issue)

👋  @Agares does the proposed format in #56 match your expectation?

Looks great 🚀


Have a course close/open button

as discussed in #57, would allow course staff to "close" the queue by blocking new questions from being added. would get rid of the need for a course to keep deleting and recreating queues daily.

Is this still open, or merged in the close queue PR?

Yep, this was handled in #128!


JWKS doc does not include the x5c param's description

Issue: Latest doc [1] does not include the x5c param in the table

Improvement: Either mention the full list of params with description as in JWKS response or keep the reference to RFC Spec [2] only.
Related Issue: https://github.com/wso2/product-is/issues/6686
[1] https://is.docs.wso2.com/en/latest/references/concepts/authentication/jwks/
[2] https://tools.ietf.org/html/rfc7517#section-4.7

Please fix this in the doc for next release. Because its missing the RFC spec


Added undo and reset button

#Fixed issue #21
https://github.com/malivinayak/Tic-Tac-Toe/assets/143418802/1e8ff70f-5f1f-48df-bcfd-1328120ad829

@malivinayak  Please ckeck my PR

@Avinash-31 is already working on same at #23
I suggest you introduce a new feature with opening new issue

Closing PR as #23 accepted

[x] #23


Provide TypeScript interface while extending Model class

[x] Objection.js version:  3.0.1
[x] Type of update:  Feature

This affects TypeScript users.
My company prefers to use interfaces to type things over classes if we don't expect to run new on them.  For instance, if we get a request from the API with the shape of a model to create or update, we have an interface for it.  As such, we would be using an interface for the req.body and then feeding that into Objection to create/update an item.
Currently, we have model classes that are created and only specify the static getters (such as tableName and jsonSchema) and a separate interface that contains properties and expected values for them.  This also results in no record information from .query calls on the class itself.  There is also currently no way to provide an interface and have that populate the fields you will get back from the record.
I've seen some extension of query building classes that can do something similar (as far as I can see) and another option that doesn't change Objection itself would be to specify the properties (again) (and possibly through an implements <interface-name>, for type-safety).
But the solution I'd prefer follows a path like:
class User extends Model<UserInit> {
    // no need to redefine "UserInit" properties--they come from the generic type
}

I tried modifying the typing file itself in my local node_modules folder because I wanted to see what it would take to resolve it.  I came across many things that don't work and one that works okay for my needs.
First, I want to explain one way that doesn't work:
class Model<PropertyType extends object = object> extends PropertyType { // generic ignored; as good as extending `object`...

The result that works the best uses type initialization since it's blending things (by necessity) by using unions between the types.
The changes look like this (to the typings/objection/index.d.ts):
class _Model { // renamed from "Model"
...
}
export type Model<PropertyType extends object = object> = _Model & PropertyType;
export const Model: typeof _Model & (new <PropertyType extends object = object>() => Model<PropertyType>);

The biggest drawback of this I can see is that the generic (even with the auto-assignment) doesn't like to not be filled with something.  As such, every usage of Model requires a generic to be included with it:
class User extends Model<UserInit> {} // Works

class UserProfile extends Model {} // Breaks

Is there any chance we could get something like the change I made into the package?  The biggest problem is that it's a breaking change, but I'm not sure what I can do about it.  This discussion could include some of the notes I made during the course of sussing out a better solution.

I might bump here, but if anybody would like to have the workaround I put into the project I'm working on, I made the same changes as above, but I moved them into one of my own files.  Instead of using Model directly, I'm assigning it to a different variable (in this case, Db) and setting that type instead.
Meaning, the final code that I export (and use everywhere else in the application instead of the Model class directly) looks like:
import { Model } from 'objection';

// register the knex instance, etc.

export type Db<PropertyType extends object = object> = Model & PropertyType;
export const Db: typeof Model & (new <PropertyType extends object = object>() => Db<PropertyType>) = Model as any; // type cast here because it'll complain otherwise

Still would be better to have that capability baked in, but whatever works, I suppose.

@cwadrupldijjit Agreed 100%
I am personally taking this approach:

type UserQbType<T extends Model> = (
    QueryBuilder<T> & {
        someFn(): QueryBuilder<T>
    }
)

export interface User extends TimestampableInterface {

    id: string;
    email: string;
    confirmed_at: Nullable<Date>;
    tags?: Tag[]

    QueryBuilderType: UserQbType<this>;

}

export class User extends Model {

    static QueryBuilder = MyUserQueryBuilder;

    id!: string;
    confirmed_at!: Nullable<Date>;
    invited_by_id!: Nullable<string>;

    static tableName = 'users';

    static relationMappings = {

        tags: {
            modelClass: __dirname + '/Tag',
            relation: Model.ManyToManyRelation,
            join: {
                from: 'users.id',
                through: {
                    from: 'user_tags.user_id',
                    to: 'user_tags.tag_id',
                },
                to: 'tags.id',
            }
        }
    };
}

Works well and merges interface User {} with class User {} and you can extend the interface with multiple other interfaces.
 If you define it on the interface however, it still will pick it up and merge with the class. It's less hacky that needing to do some weird generic that extends some kind of AnyConstructor

This seems interesting, @damusix.  Does the class automatically get updated along with the same-named interface when the interface is adjusted or does the class still need to be updated along with the interface?  At this point, I'd want both to be updated at the same time, and if this solution does that, then I'm willing to try that out for this project.

@cwadrupldijjit Yes it's going to assume anything you add to either side exists. Class is the implementation, interface is the typings. In fact that second of declarations on the class is useless for typings given that the values will be filled by the query on instantiation, but that's all objection's implementation.
class ... {
    // useless
    id!: string;
    confirmed_at!: Nullable<Date>;
    invited_by_id!: Nullable<string>;
}

Hi when i used these method, for async function that will return a Promise< User >, TS give me error for Type 'Model[]' is not assignable to type User[] cause it missing those fields in Model. Can you give me some pointers on how to take care of this error?

I'm using readonly so that other people can't accidentally edit them as if that were to actually modify the values in the database. But it feels rather hacky to this to have the typings.
class PersonModel extends Model {
	static override get tableName() {
		return "public.person";
	}

	static override get idColumn() {
		return "id";
	}

	static override get jsonSchema() {
		return {
			type: "object",

			properties: {
				id: { type: "string" },
				foo: { type: "string" },
				...
			},
		};
	}

	static override get relationMappings() {
		return {
			pets: {
				relation: Model.HasManyRelation,
				modelClass: PetModel,
				join: {
					from: "public.person.id",
					to: "public.pet.owner",
				},
			},
			...
		};
	}

	readonly id!: string;
	readonly foo!: string;
	...

	readonly pets?: PetModel[];
}```


Join procedure EU

Hello,
I am not 100% sure but according to the lorawan specification page 35 table 13 those are the 6 frequencies to join wan.
But in code there are defined MULTI channels that means any out of
{ 0xD9, 0x06, 0x8B }, //Channel [0], 868.1 MHz / 61.035 Hz = 14222987 = 0xD9068B
{ 0xD9, 0x13, 0x58 }, //Channel [1], 868.3 MHz / 61.035 Hz = 14226264 = 0xD91358
{ 0xD9, 0x20, 0x24 }, //Channel [2], 868.5 MHz / 61.035 Hz = 14229540 = 0xD92024
{ 0xD8, 0xC6, 0x8B }, //Channel [3], 867.1 MHz / 61.035 Hz = 14206603 = 0xD8C68B
{ 0xD8, 0xD3, 0x58 }, //Channel [4], 867.3 MHz / 61.035 Hz = 14209880 = 0xD8D358
{ 0xD8, 0xE0, 0x24 }, //Channel [5], 867.5 MHz / 61.035 Hz = 14213156 = 0xD8E024
{ 0xD8, 0xEC, 0xF1 }, //Channel [6], 867.7 MHz / 61.035 Hz = 14216433 = 0xD8ECF1
{ 0xD8, 0xF9, 0xBE }, //Channel [7], 867.9 MHz / 61.035 Hz = 14219710 = 0xD8F9BE

so these lines:
#elif defined(EU_868)
freq_idx = random(0,8);
LoRa_Settings.Channel_Rx=freq_idx;      // same rx and tx channel
can return also frequensies 867 for join but it is not correct? Only first 3 channels are allowed

Hello @sky59
Thank you for reaching out to us.
We appreciate your bringing this to our attention, we would like to understand better this issue/discrepancy, so please share with us the link of the LoRaWAN specification document with which you obtained the table you mentioned.
We request this information since we are not sure what version of the LoRaWAN Specification documentation are you referring to.
Greetings.

@sky59
Thank you for sharing this screenshot with us.
I will refer my reply to the LoRaWAN Regional Parameters documentation version RP002-1.0.4.
Section 2.4.2 EU863-870 Band Channel Frequencies.

The following table gives the list of frequencies that SHALL be used by end-devices to broadcast the Join-Request message. The Join-Request message transmit duty-cycle SHALL follow the rules described in chapter “Retransmissions back-off” of the LoRaWAN [TS001] specification document.

Section 2.4.4 EU863-870 Join-Accept CFList (Channel Frequency List)

The EU863-870 band LoRaWAN implements an OPTIONAL CFList of 16 octets in the Join Accept message for both CFListType 0 and CFListType1. When receiving a CFListType 1, it SHALL be interpreted according to the channel list definition in Section <IP_ADDRESS> (800 MHz Fixed Channel List Definition)

Section <IP_ADDRESS> 800 MHz Fixed Channel List Definition

The 800 MHz fixed channel list defines 40 channels that may be created. Channel-ID 0 is 863.1 MHz; channels increase at 200 kHz spacing to Channel-ID 34 at 869.9 MHz. Five additional channels, identified as 35 to 39, are defined at 865.0625 MHz, 865.4025 MHz, 865.6025 MHz, 865.785 MHz.

Thank you for dealing with this "problem"
But am I right at this moment in the code is defined MULTI even for join procedure that means any of 8 defined channels can be used that is not correct? (see my original input) Should not it be only first three as you posted screenshot?

@sky59
The library uses the definition MULTI (channels) for all the functions and not exclusively for the JOIN. It is true that the Join process is must be only over the three defined frequencies by the LoRaWAN Alliance.
If we take a look at the library code in the lorawan-arduino-rfm.cpp file, the class join uses MULTI to set the join request channel, which includes all the defined frequencies channels in the library and the frequencies 868.10, 868.30 and 868.50 MHz. Meaning that at some point of the join process the library will use any of these three frequencies to send the join request.
We invite you to share your findings or modifications that enhance the functionality of the library with these particular channels frequencies opening a Pull request.
Greetings

Sorry, I am lost. Is the code correct or not? (I think not correct)
Anyway, I modified library for 433MHz usage "the easy way" 👍  Using only first 3 frequencies, though I defined all
void LoRaWANClass::randomChannel()
{
unsigned char freq_idx;
#ifdef AS_923
freq_idx = random(0, 9);
// limit drate, ch 8 -> sf7bw250
LoRa_Settings.Datarate_Tx = freq_idx == 0x08? 0x06 : drate_common;
#elif defined(AS_923_2)
freq_idx = random(0, 8);
LoRa_Settings.Channel_Rx=freq_idx;      // same rx and tx channel
#elif defined(EU_433)                       // ** sky59 **
freq_idx = random(0,3);                 // bolo (0,8) ale iba 3 prve kanaly pouzijem koli Join
LoRa_Settings.Channel_Rx=freq_idx;      // same rx and tx channel
#else // US_915 or AU_915
freq_idx = random(0, 8);
LoRa_Settings.Channel_Rx = freq_idx + 0x08;
#endif
LoRa_Settings.Channel_Tx = freq_idx;
}

static const PROGMEM unsigned char LoRa_Frequency[9][3] = {//[433.175 - 434.665] MHz
//  32MHz / 2exp(19) = 61.03515625 Hz  ** sky59 **
{ 0x6c, 0x4b, 0x33 }, //Channel [0], 433.175 MHz / 61.03515625 Hz = 0x6C4B33   pouzijem iba toto aj pre Join
{ 0x6c, 0x58, 0x00 }, //Channel [1], 433.375 MHz / 61.03515625 Hz = 0x6C5800   pouzijem iba toto aj pre Join
{ 0x6c, 0x64, 0xcc }, //Channel [2], 433.575 MHz / 61.03515625 Hz = 0x6C64CC   pouzijem iba toto aj pre Join
{ 0x6c, 0x71, 0x99 }, //Channel [3], 433.775 MHz / 61.03515625 Hz = 0x6C7199   nepouzit
{ 0x6c, 0x7e, 0x66 }, //Channel [4], 433.975 MHz / 61.03515625 Hz = 0x6C7E66   nepouzit
{ 0x6c, 0x8b, 0x33 }, //Channel [5], 434.175 MHz / 61.03515625 Hz = 0x6C8B33   nepouzit
{ 0x6c, 0x98, 0x00 }, //Channel [6], 434.375 MHz / 61.03515625 Hz = 0x6C9800   nepouzit
{ 0x6c, 0xa4, 0xcc }, //Channel [7], 434.575 MHz / 61.03515625 Hz = 0x6CA4CC   nepouzit
{ 0x6c, 0xaa, 0x8f }, // RX2 Receive channel 434.665 MHz / 61.03515625 Hz = 0x6CAA8F   pevna frekvencia
};

I am still waiting for some components so I could not test 433 yet. I am in Klosterneuburg and on the thethingsnetwork.org/map it shows a gateway should be present, but I have no idea if it is also for 433MHz - I can not find this info anywhere. There are no buildings so I took ma bicycle and went there. What I found was surprise also for me, so I give it a big chance! :) See photos

@sky59
The code is correct, but not perfect, since the library supports various bands and channels it is way easier to use MULTI instead of writing each frequency channels for each supported bands.
Additionally, we really appreciate you shared your modification, if you have any other suggestions please let us know.

Really sorry being "ignorant" but if a random function returns number 3,4,5,6,7 (because of MULTI) then selected frequency is not correct for Join procedure, or?
Then it must be repeated another Join attempt until the random function returns 0,1 or 2?

@sky59 Correct, the function will be repeated until the correct frequency channel is selected, and it performs the join process. We really understand that in order to join the channels are already defined by LoRa alliance for each band.
Our library, which you can modify to fit your needs, uses MULTI which choose a random frequency of the band to perform the LoRaWAN functions, not only the Join process, making it not necessary to be testing the frequencies one by one to know which one works correctly. Hope you can understand we are doing this to provide a more user-friendly user of the library.

Thank you for explanation.
I have a last question as you know much more than me : where can I find info about public gateways? thethingsinternet/map does not provide any good information

@sky59
This information depends entirely on the LoRaWAN Network service you use (TTN, Chirpstack, etc), so we cannot give an accurate or approximate information. There is a website called ttnmapper, you may find it helpful but as its name states this is a map only for the registered gateways in TTN and may not be up-to-date.
Lastly, we appreciate your observations you made on the library and your feedback. Let us know if you have any other questions.

@sky59
We will close this issue now, however, please feel free to reach out to us again in case you have further suggestions, encounter an issue, or you would like to contribute.
We eagerly anticipate witnessing the remarkable creations you will bring forth! Visit hackster.io/ElectronicCats, where you can see others projects and share yours!
Wishing you a fantastic day ahead!


fix[2/2]: compare resource references in field comparator

Since we have registered all resources (file-level, message-level) in database #92 at file_set level, we can simplify the resources comparison in field comparator level.

resource ref is added:
- check the database, if the resource is not existing - breaking change.
- the resource exists in the database, minor change, non-breaking.
resource ref is removed:
- check the local message option (google.api.resource)
a. the resource ref is defined by type, compare the type with the message resource directly. Breaking if
the resource type is not identical.
b. the resource ref is defined by child_type, get the parent resources from the database, if the message
resource is one of its parents, non-breaking. Else it's a breaking change.
existing resource ref is changed:
- both defined by type or child_type, directly compare them for consistency.
- one defined by type and another one is defined by child_type:  get the parents resources from database for the child type. See if the resource is one of the parent resources, if it is, compare the patterns with the parent resource to make sure the patterns for the resource are compatible.

All the added logic are tested by unit tests in #95


Date fields without day field

Hello! Our service has date fields that look like this:

It would be nice if the date field component allowed this pattern.
Currently we still use it but we hide the day field using display: none in CSS. This has the downside of breaking the link from the error summary (because it points to the day field).

This should be pretty straightforward to add with an additional param include_day that skips day and adds link_errors to the month input instead (see here).


Support of feathers 4.0 crow authentication changes

Support of feathers crow authentication changes
The feathersClient will get some internal updates to the authentication part with crow.
How will the new version be supported?
I tried to already use it, but there are some calls to old functions like:
return feathersClient.passport
          .verifyJWT(response.accessToken)
          .then(function(payload) {
            commit('setPayload', payload)

As feathers is now longer working with passport this part is failing.
Possible fix
Use something like const jwt = await feathersClient.getAccessToken() and commit its result to the store.
System configuration
    "@feathersjs/authentication-client": "^^4.3.0-pre.1",
    "@feathersjs/feathers": "^^4.3.0-pre.1",
    "feathers-vuex": "^2.0.0-pre.62"
    "vue": "^2.6.10",
    "vuex": "^3.1.0",

This is one of two things that are required before I can ship 2.0.  Any information you can add about your findings will be greatly appreciated.

Here's what I did. When calling makeAuthPlugin() I overrode actions.responseHandler() with my own custom function. I'm using Auth0 to authenticate on the client side and not using feathers to generate an access token. I needed to add a few properties and custom logic to the auth plugin. My implementation ends up looking something like:
// src/store/services/auth.js
import { feathersClient, makeAuthPlugin, models } from '@/services/api'

export default makeAuthPlugin({
  userService: 'users',
  state: {
    my_custom_prop: null,
    ...
  },
  actions: {
    responseHandler: async ({ commit, state }, response) => {
      // my custom implementation
    }
  },
  mutations: { ... },
  getters: { ... }
}

I didn't need to verify or decode the token returned from feathers (which is exactly the same one I sent them from the client) and the new JWTStrategy already sends you back a decoded token by default (I think it's in response.authentication.payload).
There's probably a lot of stuff that's only relevant to my particular app, but if you're interested, you can take a look at my implementation here

feathersClient.getAccessToken is not a function
is what I get when I try to use this method on feathers-vuex auth-module-actions.js in order to replace feathers.
I'm using on my frontend
"@feathersjs/authentication-client": "^^4.3.0-pre.2",
"@feathersjs/feathers": "^^4.3.0-pre.2",
"feathers-vuex": "^2.0.0-pre.69"
and I updated my backend as well to same @feathersjs/* version
Documented function is verifyAccessToken(accessToken)
authService.verifyAccessToken(accessToken, [options, secret]) -> Promise verifies the access token. By default it will try to verify a JWT using configuration.jwtOptions merged with options (optional). Will either use configuration.secret or the optional secret to verify the JWT. Returns the encoded payload or throws an error.
Same outcome, it's undefined on feathersClient object
I checked the same variable after initialization in my frontend after theese lines
const feathersClient = feathers()
.configure(socketio(socket))
.configure(auth({ storage: localStorage }));
same outcome...
I can't figure this out, I'm sorry.

My current workaround is based on the suggestion by @morphatic.
    "@feathersjs/authentication-client": "^4.3.0-pre.2",
    "@feathersjs/feathers": "^4.3.0-pre.2",
    "@feathersjs/socketio-client": "^4.3.0-pre.2",
    "feathers-vuex": "^2.0.0-pre.69",

// src/store/services/auth.js
import { makeAuthPlugin } from '@/utils/feathers-client';

export default makeAuthPlugin({
  userService: 'users',
  state: {
    accessToken: localStorage.getItem('feathers-jwt') || null,
  },

  getters: {
    isAuthenticated: state => !!state.accessToken,
  },

  mutations: {
    setAccessToken(state, accessToken) {
      state.accessToken = accessToken;
      localStorage.setItem('feathers-jwt', accessToken);
    },
  },

  actions: {
    responseHandler({ commit }, response) {
      if (response.accessToken) {
        commit('setAccessToken', response.accessToken);
        // Decode the token and set the payload, but return the response
        // Populate the user if the userService was provided
        // if (state.userService && payload.hasOwnProperty(state.entityIdField)) {
        //   return dispatch('populateUser', payload[state.entityIdField]).then(() => {
        //     commit('unsetAuthenticatePending');
        //     return response;
        //   });
        // }
        commit('unsetAuthenticatePending');
        return response;

        // If there was not an accessToken in the response,
        // allow the response to pass through to handle two-factor-auth
      }
      return response;
    },
  },
});

In this workaround you're giving up the payload and the user object population... you keep only the JWT Token and nothing else... are you doing the decoding and user details retreival in your vue components?
So... basically, it is my understanding that from feathersClient you can't have access in any way at the AuthenticationService as defined in docs and in feathers backend app object.
Please, correct me if I'm wrong.
@marshallswain what is your intent with your library code? Keep current support to buzzard and make possible any kind of support to crow libs if feathersClient.passport is undefined? Or upgrade everything to crow, dropping passport calls completely?

This is my complete workaround defined in my auth.ts file
import { makeAuthPlugin } from '../feathers-client';
import decode from 'jwt-decode';
import { models } from '../feathers-client';

function getValidPayloadFromToken(token: any): any {
  if (token) {
    try {
      const payload = decode(token);
      return payloadIsValid(payload) ? payload : undefined;
    } catch (error) {
      return undefined;
    }
  }
  return undefined;
}

export function payloadIsValid(payload: any): boolean {
  return payload && payload.exp * 1000 > new Date().getTime();
}

export default makeAuthPlugin({
  serverAlias: 'fantagiornata',
  userService: 'users',
  actions: {
    responseHandler({ commit, state, dispatch }: any, response: any) {
      if (response.accessToken) {
        commit('setAccessToken', response.accessToken);

        const payload = getValidPayloadFromToken(response.accessToken);
        if (!payload) {
          return response;
        }

        commit('setPayload', payload);

        let user = response[state.responseEntityField];

        // If a user was returned in the authenticate response, use that user.
        if (user) {
          if (state.serverAlias && state.userService) {
            const Model = Object.keys(models[state.serverAlias])
              .map((modelName) => models[state.serverAlias][modelName])
              .find((model) => model.servicePath === state.userService);
            if (Model) {
              user = new Model(user);
            }
          }
          commit('setUser', user);
          commit('unsetAuthenticatePending');
          // Populate the user if the userService was provided
        } else if (state.userService && payload.hasOwnProperty(state.entityIdField)) {
          return dispatch('populateUser', payload[state.entityIdField]).then(() => {
            commit('unsetAuthenticatePending');
            return response;
          });
        } else {
          commit('unsetAuthenticatePending');
        }
        return response;
      } else {
        // If there was not an accessToken in the response, allow the response to pass through to handle two-factor-auth
        return response;
      }
    },
  },
});

This is my complete workaround defined in my auth.ts file
// src/services/auth.ts
import { makeAuthPlugin } from '../feathers-client';
import decode from 'jwt-decode';
import { models } from '../feathers-client';

function getValidPayloadFromToken(token: any): any {
  if (token) {
    try {
      const payload = decode(token);
      return payloadIsValid(payload) ? payload : undefined;
    } catch (error) {
      return undefined;
    }
  }
  return undefined;
}

export function payloadIsValid(payload: any): boolean {
  return payload && payload.exp * 1000 > new Date().getTime();
}

export default makeAuthPlugin({
  serverAlias: 'xxxxxxxxxx',
  userService: 'users',
  actions: {
    responseHandler({ commit, state, dispatch }: any, response: any) {
      if (response.accessToken) {
        commit('setAccessToken', response.accessToken);

        const payload = getValidPayloadFromToken(response.accessToken);
        if (!payload) {
          return response;
        }

        commit('setPayload', payload);

        let user = response[state.responseEntityField];

        // If a user was returned in the authenticate response, use that user.
        if (user) {
          if (state.serverAlias && state.userService) {
            const Model = Object.keys(models[state.serverAlias])
              .map((modelName) => models[state.serverAlias][modelName])
              .find((model) => model.servicePath === state.userService);
            if (Model) {
              user = new Model(user);
            }
          }
          commit('setUser', user);
          commit('unsetAuthenticatePending');
          // Populate the user if the userService was provided
        } else if (state.userService && payload.hasOwnProperty(state.entityIdField)) {
          return dispatch('populateUser', payload[state.entityIdField]).then(() => {
            commit('unsetAuthenticatePending');
            return response;
          });
        } else {
          commit('unsetAuthenticatePending');
        }
        return response;
      } else {
        // If there was not an accessToken in the response, allow the response to pass through to handle two-factor-auth
        return response;
      }
    },
  },
});

+1 it works for me

This is my complete workaround defined in my auth.ts file

Could you please point out HOW to get this running? I don't have a makeAuthPlugin, is this purely based on the v2.0 TS branch? (https://github.com/feathers-plus/feathers-vuex/tree/typescript)

@chris-aeviator Yes.  This is all based on the 2.0 version.  I do not have the availability to manage both versions.  Check out the PR, here on how to get up and running with 2.0.  It is a MUCH better experience than the previous version.

I've implemented support for<EMAIL_ADDRESS>authentication in<EMAIL_ADDRESS> Since the new Feathers auth plugin (on the server) returns the user by default, it allowed me to simplify the responseHandler and remove some unneeded code.
I've added very brief docs to  #216 (at bottom of the first comment) on how to restore compatibility with previous versions of Feathers.


FileSystemException: Getting current working directory, Dart SDK 2.5.0-dev.1.0

This tracker is for issues related to:

Analyzer

I launched vs code this morning an got an analyzer crashed message.
Versions

Dart SDK 2.5.0-dev.1.0
Visual Studio Code 1.36.1
Dart Code 3.2.1
gLinux

Analyzer Info
The analyzer was launched using the arguments:
/usr/local/google/home/bhalverson/Downloads/dart-sdk/bin/snapshots/analysis_server.dart.snapshot
--client-id=Dart-Code.dart-code
--client-version=3.2.1

Exception
Analysis failed: /google/src/cloud/bhalverson/feature_mySystems/google3/security/authorization/sphinx/fe/client/component/my_systems/test/sphinx_my_systems_test.dart
FileSystemException: Getting current working directory failed, path = '' (OS Error: No such file or directory, errno = 2)
#0      _uriBaseClosure (dart:io-patch/directory_patch.dart:64:5)
#1      Uri.base (dart:core-patch/uri_patch.dart:21:41)
#2      current (package:path/path.dart:84:17)
#3      Context.current (package:path/src/context.dart:62:57)
#4      Context.toUri (package:path/src/context.dart:1008:43)
#5      _OverlayFile.createSource (package:analyzer/file_system/overlay_file_system.dart:222:57)
#6      FileSystemState.getFileForPath (package:analyzer/src/dart/analysis/file_state.dart:1098:36)
#7      AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1393:31)
#8      AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1228:17)
<asynchronous suspension>
#9      AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2188:24)
<asynchronous suspension>
#10     AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:2118:5)
#11     new AnalysisServer (package:analysis_server/src/analysis_server.dart:208:29)
#12     SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:86:26)
#13     StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37:18)
#14     Driver.startAnalysisServer.<anonymous closure> (package:analysis_server/src/server/driver.dart:542:21)
#15     _rootRun (dart:async/zone.dart:1124:13)
#16     _CustomZone.run (dart:async/zone.dart:1021:19)
#17     _runZoned (dart:async/zone.dart:1516:10)
#18     runZoned (dart:async/zone.dart:1463:12)
#19     Driver._captureExceptions (package:analysis_server/src/server/driver.dart:627:12)
#20     Driver.startAnalysisServer (package:analysis_server/src/server/driver.dart:540:7)
#21     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:444:9)
#22     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:49:6)
#23     Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:439:43)
#24     CompilerContext.runInContext.<anonymous closure>.<anonymous closure> (package:front_end/src/fasta/compiler_context.dart:122:46)
#25     new Future.sync (dart:async/future.dart:224:31)
#26     CompilerContext.runInContext.<anonymous closure> (package:front_end/src/fasta/compiler_context.dart:122:19)
#27     _rootRun (dart:async/zone.dart:1124:13)
#28     _CustomZone.run (dart:async/zone.dart:1021:19)
#29     _runZoned (dart:async/zone.dart:1516:10)
#30     runZoned (dart:async/zone.dart:1463:12)
#31     CompilerContext.runInContext (package:front_end/src/fasta/compiler_context.dart:121:12)
#32     CompilerContext.runWithDefaultOptions (package:front_end/src/fasta/compiler_context.dart:140:56)
#33     Driver.start (package:analysis_server/src/server/driver.dart:439:21)
#34     main (file:///b/s/w/ir/cache/builder/sdk/pkg/analysis_server/bin/server.dart:12:11)
#35     _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:49:6)
#36     main (file:///b/s/w/ir/cache/builder/sdk/pkg/analysis_server/bin/server.dart:10:10)
#37     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#38     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

Diagnostics requested after the error occurred are:
[
    {
        "name": "/google/src/cloud/bhalverson/feature_mySystems/google3/security/authorization/sphinx/fe",
        "explicitFileCount": 0,
        "implicitFileCount": 0,
        "workItemQueueLength": 0,
        "cacheEntryExceptions": []
    }
]

I see this in the error message:

FileSystemException: Getting current working directory failed, path = '' (OS Error: No such file or directory, errno = 2)

Any sense for why tha may be happening on your system?

Not sure. I did prodaccess then code /location/to/my/code and saw that analytics crash message popup
I closed and reopened vscode and the message didn't come back

fyi @scheglov - it looks like we can have trouble getting the cwd internally at times
also cc @DaveShuckerow

@benhalverson This is a quirk of the g3 workspaces.  I'll message you more information.

I am experiencing something similar via Flutter, after MacOS Big Sur upgrade:
https://github.com/flutter/flutter/issues/70940
any chance these would be related issues?
and what does "a quirk of the g3 workspaces" mean?

Other than the Big Sur issue (https://github.com/dart-lang/sdk/issues/44509), this issue has not been reported since Dart 2.5.

Other than the Big Sur issue (https://github.com/dart-lang/sdk/issues/44509), this issue has not been reported since Dart 2.5.


[BUG] EWW_TIME not recognised as variable

Checklist before submitting an issue

[X] I have searched through the existing closed and open issues for eww and made sure this is not a duplicate
[X] I have specifically verified that this bug is not a common user error
[X] I am providing as much relevant information as I am able to in this bug report (Minimal config to reproduce the issue for example, if applicable)

Description of the bug
Having updated to the newest EWW version by rebuilding it from the main branch I tried to use the new {EWW_TIME} variable. However I get this error when trying to use it:
error: No variable named `EWW_TIME` in scope
   ┌─ /home/arch/.config/eww/dashboard/eww.yuck:67:30
   │
67 │     (label :text {formattime(EWW_TIME, "%H") >= 5 && formattime(EWW_TIME, "%H") < 11 ? "Morning" :
   │                              ──────── Used here
   │
   → Hint: Either define it as a global variable, or add it to the argument-list of your `defwidget` and pass it as an argument
   → Hint: If you meant to use the literal value "EWW_TIME", surround the value in quotes

I am pretty sure I have updated eww correctly, but i could of course be wrong and this just be me not doing that part correctly.
Reproducing the issue
For me this code gets the same issue:
(defwidget time []
    (label :text {formattime(EWW_TIME, "%H")}))

(defwindow time
    :monitor 0
    :geometry (geometry :x "0%"
                        :y "1%"
                        :width "90%"
                        :height "5%")
    :stacking "fg"
    :exclusive false
    (time))

Expected behaviour
To get the UNIX time from EWW_TIME
Additional context
As I said above, this might just be me who did something wrong while rebuilding EWW

Have you tried restarting the daemon (eww kill, or simply rebooting) ?

Same thing here

Also happening to me.

This feature was recently added. See 4d63f6d.
So check if your eww is updated and if it's synced with git. For example, for Arch, I found eww-x11-git and eww-wayland-git. I haven't tried them out, so I recommend taking a look if you're going to install it.
Anyway, what I'm doing is compiling the master branch from source following the instructions. I can use things like EWW_TIME and formattime function without problems:
(label :text {formattime(EWW_TIME, "%H:%M:%S | %d/%m/%Y")})

Yea, I assume you're on an outdated version of eww here -- ensure you're compiling from latest master! if that doesn't fix it, feel free to reopen the issue

Yea, I assume you're on an outdated version of eww here -- ensure you're compiling from latest master! if that doesn't fix it, feel free to reopen the issue

Yeah that was it as I was using the version in the fedora copr

This is now an old issue, but as I have gotten back into my configs I finally fixed my issue.
It was that I had installed eww through a package manager, so even though I did compile everything correctly, I still used the old binary file


Link Broken in ReadMe

When clicking the link which is embedded in the text This is an extract from the introduction demo. you are brought to this page (screen shot below).

@spprichard Thanks. Should be fixed now.


Density Subsection

Big Number

I don't see the data for this. Is it 2010 population ÷ land mass? Can we nix the acres and put it there?

I think so, but defer to the customer.  I think the issue is what to use as the denominator, but we can start with that.

@kerrygathers @amirapu @jorgeh01 Where should this go? Do we have the data for it?

@andycochran @chriswhong I added density to the new version of the static profiles, and did just what you suggested. Drop acres, add, population/square mile
CD Profile - General Redesign_101.pdf

Alright - thanks @kerrygathers. Is there a data update step in Carto?

@kerrygathers I think if we can just figure out which columns to use, we can add this. Thanks!

@allthesignals is the land mass section getting square miles from the carto table? Should I add a column to it for density that's 2010 pop/square mile?

See note in https://github.com/NYCPlanning/labs-community-portal/commit/7001c8cce5acee2625ba880a84964a5fa4a1eb95#comments


91 use new method

close #91

Current coverage is 68.27%

Merging #92 into master will increase coverage by +1.49% as of edf410d

@@            master     #92   diff @@
======================================
  Files           45      45
  Stmts         1120    1075    -45
  Branches       286     265    -21
  Methods          0       0
======================================
- Hit            748     734    -14
+ Partial         66      55    -11
+ Missed         306     286    -20

Review entire Coverage Diff as of edf410d

Powered by Codecov. Updated on successful CI builds.


Add JADX Collaboration

Adding a plugin that adds collaboration support to JADX. Not sure what category it would go under, so putting it under other.

@Oshawk nice plugin :+1:
Now it can be installed from Preferences -> Plugins -> Available section


Update the installation instructions on Windows

The Windows installation instructions are updated such that no external dependency is required. The download and the archive extraction is done with built-in Powershell tools.

@wagdav Cool, thanks. I wish there was also an easy way to extract just a single file form the zip archive. Since that command will extract everything, but only stack.exe is of interest:
Expand-Archive stack.zip -Destination .


Give user a chance to change tabline option

here is my setting of your plugin:
    set showtabline=1
    let g:buftabline_numbers=2
    let g:buftabline_show=1
    let g:buftabline_indicators=1

I have noticed that tabline option is empty when tab is opened.
This will cause visual differences in mccvim and gvim .

I think #22 would cover this case, wouldn’t it?


Unable to connect to an existing backend though CLI

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
No response
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
5.3.0
What operating system are you using?
mac
Amplify Categories
Not applicable
Amplify Commands
pull
Describe the bug
No Amplify backend project files detected within this folder. Either initialize a new Amplify project or pull an existing project.
- "amplify init" to initialize a new Amplify project
- "amplify pull " to pull your existing Amplify project. Find the  in the AWS Console or Amplify Admin UI.
Expected behavior
It should display the status of the backend resources.
Reproduction steps
  Created a new folder
  ran `amplify pull --appId XXX --envName XX`
  ran `amplify pull`
  ran `amplify status`
  got Error

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

@ShehryarKh the status command is fully reimplemented in 5.3.1 that was released Today, give it a try, that error message was not showing when I tried to reproduce the error.
During pull if you answer No to the Do you plan on modifying this backend? question your backend files will not be downloaded, but everything that is needed to regenerate your frontend configuration files will be there, in this case since there are no backend files downloaded, it is expected that normal CLI commands that requiring an initialized project will give you a friendly error message.
If you answer with 'Yes' to that question, amplify status and other commands will behave as expected.
Closing the issue as the question has been answered.


Fix word spelling, update new UUID package

Thank you for continuing to upgrade and maintain this package. I am currently using this extension package and hope to contribute to it.

Thank you!


What if one day youtube restrict the ApiKey that using in this project ?

I have a concern about the ApiKey, it being fixed, where can i find a replacement ? I try using my apiKey that enabled Youtube Api Data but it's not working

If for some reason the key changes you can update it by:
Open a Video on Youtube.
Look at the HTML and search for: INNERTUBE_API_KEY.
You will find a key there.

Thanks, you solved my problem

The other API keys can be found by intercepting requests the mobile apps make, for example using Burp Suite as a proxy


Change default value of TiDBMonitorSvcType to NodePort.

Signed-off-by: Weiwen Chen<EMAIL_ADDRESS>What problem does this PR solve?
集群监控 grafana service 类型默认使用 NodePort #332
What is changed and how does it work?
Change default value of TiDBMonitorSvcType to NodePort.
Check List
Tests

Unit test

Code changes

Has Go code change

Side effects

Breaking backward compatibility

Does this PR introduce a user-facing change?:

NONE

LGTM


Black menu when app is woke up from background

New Issue Checklist

I have read the guidelines for contributing and I understand:

[x] My issue is happening in the latest version of SideMenu.
[x] My issue was not solved in the README.
[x] My issue can not be answered on stackoverflow.com.
[x] My issue is not a request for new functionality that I am unwilling to build and contribute with a pull request.
[x] My issue is reproducible in the demo project.

Issue Description

Hello,
If i run the demo app, open one side menu, send the app to background and then wake it up, the side menu turns black.
I'm testing on an iPad device with iOS 10.1
Best Regards,
Yann

@yMiecie you found a localized issue to iOS 10 on iPad. Thanks for reporting it. I've fixed this in 2.3.2.

@jonkykong i have same issues with using SideMenu (2.3.3) on my iPhone 6s 10.3.3

@kohdesmond please debug further. I am unable to reproduce this on 10.3.1.

@jonkykong i found out that if i dismissed with
self.window?.rootViewController?.dismiss(animated: false, completion: nil) in     func applicationDidEnterBackground(_ application: UIApplication) i will get the black screen.

@kohdesmond Yes... that is not a bug with SideMenu. You're dismissing your rootViewController. Don't do that.

@jonkykong sure, it works now after i removed that line.


Easy usage (for non-Julia folks)

Binary? -> https://github.com/JuliaLang/PackageCompiler.jl
Script that installs and runs everything?
...

Script approach by @lukas-mazur in https://github.com/pc2/GPUInspector.jl/tree/main/bin:

Doesn't install Julia
Doesn't install/instantiate the environment

https://github.com/LilithHafner/Quickdraw/blob/main/script


[python] Dataset params back up before training

to fix #775 , @guolinke can you help check the logic?

@guolinke both solved.


Capitalization problem with composer autoloader

Using gfonts-downloader as specified in a Linux environment I find I get fatal errors:
PHP Fatal error:  Uncaught Error: Class "GFontsDownloader\GFontsDownloader\GFontsDownloader" not found in /path/to/fontdownloader.php:14
The problem is due to the capitalization of files in the Composer directories. Composer expects the filename and class to have the same capitalization, therefore vendor/gfontsdownloader/gfontsdownloader/src/gfontsdownloader.php will not load because called classname is GFontsDownloader\GFontsDownloader\GFontsDownloader.
Changing gfontsdownloader.php to GFontsDownloader.php solves the problem.
It's possible/probable this isn't an issue on Windows machines.

I created a pull request with a fix that works for me:
https://github.com/Jeremy-Vaud/gfonts-downloader/pull/2

Yes it wasn't an issue on Windows.
Thank you


NoClassDefFoundError when generating test reports with ScalaTest

I have a multi module project having both Java and Scala sources.
After upgrading to scalatest 3.1.0, I can no longer run tests from the sbt console because of following error:
java.lang.NoClassDefFoundError: com/vladsch/flexmark/ast/Node          at org.scalatest.tools.ReporterFactory.createHtmlReporter(ReporterFactory.scala:194) ...
This error occurs with sbt 1.2.8, 1.3.4 and 1.3.8.
It is the same as bug #5308 - it was not fixed, it seems.

@liebichw Thanks for the report. Could you follow the issue reporting guidelines https://github.com/sbt/sbt/blob/develop/CONTRIBUTING.md#what-to-report please? Specifically we are looking for a way to reproduce your problem on our machines.

It is the same as bug #5308 - it was not fixed, it seems.

I don't think this is the exact same bug since I am unable to reproduce the issue using the repro steps in #5308.

OK, I try to describe first the project where this issue came up:
It is a somewhat bigger multimodule project, which started out as pure Java project, and which is now a mixed project, with some modules having a mixed Java/Scala sources, some only Java sources. The project contains 49 sub-projects.
The project still uses Java 8, and when the error occurred, it used Scala 2.12.10. It also occurs after switchting to Scala 2.13.1, though.
The sbt version I used has as launcher sbt 1.2.8. Initially I also used this as the build version. I experimentally switched to sbt 1.3.8 - the same error occurred here.
I did not yet try to update the launcher yet.
After I upgraded the scalatest library version from version 3.0.8 to 3.1.0, suddenly I could no longer run the "test" task from within sbt.
I only got the exception described above.
Later on I tried out also scalatest 3.1.1 - it showed the same behavior.
Further details:

I ran this test on gentoo linux (64 bit).
I tried to set up a minimal test project to reproduce the error. It immediately cropped up as soon as I tried to run "test" from sbt, even though the project contained no sources at all.

Update: After explicitely adding "com.vladsch.flexmark" % "flexmark-all" % "0.35.10" % Test to my scalatest dependencies, my tests work again - this is a bug in scalatest, not in sbt (because the scalatest library does not indicate that it needs this dependency).

I mistakenly took this as an sbt issue - in fact it is an issue with scalatest.


⚠ Cioos National CKAN has degraded performance

In b1d994b, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 5188 ms

Resolved: Cioos National CKAN performance has improved in eec8e57 after 9 minutes.


Change from using row-based tile indexing to ID-based

This is fixed in this PR https://github.com/digitalearthafrica/datakube-apps/pull/132


Map/6 Navigation from the own location to a POI.

As a user unfamiliar with the HPI and the best ways to get around, I want to be able to navigate from one place on campus to another with a route, just like at google maps. I want to enter a POI (point of interest) or tap a buildings and hit navigate to get the shortest route there. it is enough if you only include routes outside of buildings (,not for example the route from campus 1 to 2 through the UP main building). it should display the route as a line in the map, preferrably in light blue to stay in line with other popular navigation services (not a must). entering a POI might seem difficult, but is a must. This should be possible by a search bar. (maybe a different team works on this i am not sure).

to clarify, a line is preferred over the dotted line

Planning Poker (just edit this):
Nikkel: M

Also, I would suggest maybe splitting this story into two stories, where the base-story doesn't have the requirement of having a search-bar for entering POI's, as I think that that behaviour can be disconnected from the base functionality quite easily. (Base functionality would be clicking on a point on the map, I think @felix-20 already experimented with this) @hpi-swt2/fnhp21

Planning Poker: L


Xmake can't recognize bundled library of qt when building wasm application

Xmake Version
v2.7.4+202212240813
Operating System Version and Architecture
18.04.1-Ubuntu
Describe Bug
When building binary file for wasm with qt, xmake files on linking stage, complaining not found symbol of bundled library such as pcre.
Expected Behavior
Xmake recognize QtBundled*.so and add them to system include, e.g. -isystem QtBundledPcre.so
Project Configuration
No response
Additional Information and Error Logs
Qt is installed by aqt via following command:
aqt install-qt linux desktop 6.4.3 wasm_32
aqt install-qt linux desktop 6.4.3 gcc_64

Associated error log here:
https://github.com/XmacsLabs/mogan/actions/runs/4542217632/jobs/8005354108?pr=547

libpcre not found for wasm, maybe need improve here to support for wasm.
https://github.com/xmake-io/xmake/blob/884ec302caa4751a18a5a85de04e64a42ac8b210/xmake/rules/qt/load.lua#L59

done


[Feature] Service Worker network events

Similar to the experimental feature in https://github.com/microsoft/playwright/issues/15684

Service worker support is still experimental in Playwright. We follow the general rule of not exposing experimental APIs in language ports. If we move it out of experiment we can add it to Java API as well.


Enable lint rules for React

Enables a bunch of lint rules for React

Coverage decreased (-81.9%) to 0.0% when pulling f680d65c5b29593242605f815a2a98f126c280a1 on react-lint-rules into 2a6a17094e2493262ab1d3240aaeecbffce1f2f3 on dev.


Enable subsequent requests through managing cookies

Is your feature request related to a problem? Please describe.
It is daunting to manage cookies manually especially when you want to do subsequent requests to make sure a user is authentic and authorized.
Describe the solution you'd like
final HttpLink httpLink = HttpLink(
uri: 'https://api.github.com/graphql',
credentials: 'include' // As it's seen from the apollo-link-http package in React.
);
Describe alternatives you've considered
I am manually managing the taken created from the server using the JWT instead of using cookies
Additional context
Add any other context or screenshots about the feature request here.

Have you tried the AuthLink which provides authentication to a GraphQL Link?

Closing in favor of #592 because the thread is more active there


Get number of active clients

get list of active owners, made a resercation in the last year, that have not made reservations in the last 2 months.

added feature with commit https://github.com/AntiAnt/gingr_reports/commit/b1016356eb0c5258a5786ff7a3b1a451c469c186


solution codes added

Solution of problem code: ALTSTR, BALLOON, BROKPHON, MAXFUN are added.

star the repo if u can , thanks :)


docs: start page isn't correct

https://db-ui.github.io/elements/?path=/story/00-intro-welcome--page

Sorry, I thought that I've opened the general URL https://db-ui.github.io/elements/ and would have been redirect to this one.

Ahh found it the links of the cards are wrong


Updating release deletes custom_parameters.yaml

StephansJoubert original integration did not delete the file custom_parameters.yaml when used in the inverter_definitions folder. This was to allow tweaks to be made of an existing parameters file and ensure that it survive an update. This functionality appears to have been lost with the latest 24.07.24 update.

https://github.com/StephanJoubert/home_assistant_solarman/blob/main/customization.md

Yeah sure but there is nothing what says to hacs to not delete it though...

I just tried re-downloading from HACS and it definitely removes it, no idea how SJ achieved it....I'll have a dig..

it does, that's for sure. Maybe it's cause of the fact that this integration is added as custom repository?

v24.07.25 pre-release
It's important to redownload this beta (pre-release) version twice for hacs configuration to take effect!

Confirmed working.


update icon links on mobile

https://github.com/codeigniter4projects/website/issues/173

cc @MGatner


Tall layout engine

feat/tall-layout-engine currently contains a tall layout engine implementation. However, it seems that the tree layout engine will be able to replace all the functionality of the stack layout engines.

Closed in favor of the tree layout engine


Shortcut for increase and decrease windows sound volume

Description of the new feature / enhancement
Please add shortcut for increase and decrease windows sound volume.
Scenario when this would be used?
increase and decrease windows sound volume
Supporting information
increase and decrease windows sound volume

Related to #7584

@mammadkoma ,
It's possible to achieve this with the "Keyboard Manager" PowerToy.
Try to map shortcuts into the "Volume Up" and "Volume Down" virtual keys.

@mammadkoma , It's possible to achieve this with the "Keyboard Manager" PowerToy. Try to map shortcuts into the "Volume Up" and "Volume Down" virtual keys.

@mammadkoma Does @Franky920920's keyboard shortcut work via the Keyboard manager?

@mammadkoma , It's possible to achieve this with the "Keyboard Manager" PowerToy. Try to map shortcuts into the "Volume Up" and "Volume Down" virtual keys.

Thank you , I set Shift+ for Volume Up and Shift- for Volume Down.


Add end-to-end tests for authentication pages

We have encountered repeated bugs with the authentication pages. Since there are many different application parts working (or not working) together here end-to-end tests should be added as a first step to make this application part more stable.

Done in #199


Configuring additional files to ignore when copying the project

Is your feature request related to a problem? Please describe.
I have a couple of large folders that are needed for development, but not as part of building the wheel.  I would like to ignore those folders when the .prepare_xxx directory is created.  Copying these makes building the project noticeably slower.
Describe the solution you'd like
I see that you already have a place in copy_project where you are using shutil.ignore_patterns. But I would love it if there was a way to configure the pyproject.toml file with additional files/folders to ignore.

Poetry has support for configuring files and folders to exclude when building wheels and sdists. Maybe this will solve the building part of it? https://python-poetry.org/docs/pyproject/#include-and-exclude
I'll make sure the build-project command will use the exclude section when copying the contents and will have a look at it right away. I'll write an update here in this issue when there is a new version of the multiproject plugin available.
My initial idea is to append the existing shutil exclude pattern with what's configured in the tool.poetry.exclude section, when using the defaults. If there is a wheel only exclude, the copying will still be done (to be able to build a proper sdist).
What do you think about this approach?

I think using the existing exclude mechanism would be perfect.

@bnmnetp There's a new version out (v1.6.0) that will append any existing exclude patterns.
This is using the Poetry featurea and is per-project: the exclude pattern should be added in the project-specific pyproject.toml files.
I hope this solves the issue and makes the builds faster!

Thank you very much.   A huge difference in build time!


Issue in oandav20store.py line 879 for Python3

Hi,
Please refer to line 879:
del self._trades[key]
you should not delete an item while looping a dict or orderedDict, it will throws this exception:
File "/media/jimfoo88/Media/linux_files/anaconda3/envs/jimtfgpu/lib/python3.8/site-packages/btoandav20/stores/oandav20store.py", line 894, in _process_trades
    for key, value in self._trades.items():
RuntimeError: OrderedDict mutated during iteration

Please make a shallow copy before iterating the items, like this: self._trades.copy().items()

thanks for fixing the issue

thanks for showing this issue :) will commit this into this repository, too

No probs, glad to help
On Tue, 18 Aug 2020, 19:08 happydasch<EMAIL_ADDRESS>wrote:

thanks for showing this issue :) will commit this into this repository, too
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/ftomassetti/backtrader-oandav20/issues/55#issuecomment-675414971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBQTQSBMAX6ROHD5IYTYYLSBJOMTANCNFSM4P3LE7XQ
.


Fix code scanning alert - Missing catch of NumberFormatException

Tracking issue for:

[ ] https://github.com/kiwiproject/dropwizard-config-providers/security/code-scanning/19

This needs kiwi 2.6.0 which is not yet released


Failed to compile a file on Linux that runs on arm

My linux is centos7.4
Error is:

Probably, you don't install cross C compiler for amd64 (not for arm)

Did you check out some of the other issues about cross compling?

@xuwenjj251 All good? Close this?

@mattn Close this?

老铁，在arm上编译，你搞定了吗

oracle 官网不支持.你没办法


Driver: Failed to open the serial port: Error: Not a tty setting custom baud rate of 115200 (ZW0100)

I am currently migrating from RHEL 8 to Ubuntu 22.04. I have the Aeotec USB Z-stick 7 attached to a VM on vSphere. I can read the information from the USB device:
root@k3s-staging-1:/home/ansible# lsusb -d 10c4:ea60 -v

Bus 001 Device 004: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x10c4 Silicon Labs
  idProduct          0xea60 CP210x UART Bridge
  bcdDevice            1.00
  iManufacturer           1 Silicon Labs
  iProduct                2 CP2102N USB to UART Bridge Controller
  iSerial                 3 40807fee5284e911a58b4992d6f3a178
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

The device is then forwarded to a k3s pod. I can see the device inside the container. However I cannot query it (this is the same behavior on RHEL 8 where it does work).
/usr/src/app # lsusb -d 10c4:ea60 -v

> Bus 001 Device 004: ID 10c4:ea60
Bus 001 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 0e0f:0003
Bus 002 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 0e0f:0002

In the front-end I see the following error:

I cannot find anyone else with the same error in zwave-js-ui. So I'm a bit lost what else I can check.

What exactly did you configure as the port in the settings?

Hi AlCalzone,
I configured my OS udev to set it to a fixed value:
/etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="ttyUSB-ZStick-5G"
Then I assigned it in the container like this:
  values:
    image:
      repository: ghcr.io/zwave-js/zwave-js-ui
      tag: 8.23.0@sha256:573869081f6e0a2cc95ee086ccda26d41f49278539692e4fac1ddfe932440aea
    ...
      usb:
        enabled: true
        type: hostPath
        hostPath: /dev/ttyUSB-ZStick-5G
        hostPathType: CharDevice

It showed the device inside the container:
/usr/src/app # lsusb -d 10c4:ea60 -v

> Bus 001 Device 004: ID 10c4:ea60
Bus 001 Device 001: ID 1d6b:0001
Bus 001 Device 002: ID 0e0f:0003
Bus 002 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 0e0f:0002

I couldn't be bothered to troubleshoot this further, I already spend too much time on it. I migrated the container to my TrueNAS Scale system where the forwarded does work. In the future I will migrate thius to a Raspberry PI device so it can be fully outside my cluster, and in a more central place in my home.

If you want to get away from USB forwarding, using TCP may be an alternative:
https://zwave-js.github.io/node-zwave-js/#/usage/tcp-connection


FFMPEG::Movie.new(path) errors not being surfaced

Setting path of something like /tmp/Rampaging+Ocelot20150923-7319-af1aq3.mov

Running FFMPEG::Move.new(path) would "hang" indefinitely with no output in Ruby console, logs, etc.

Running ps auxw would show this:

owner     xxxx  0.0  0.0   xxxx   xxxx ?        S    16:03   0:00 sh -c /usr/bin/ffprobe -i /tmp/Rampaging+Ocelot20150923-7319-af1aq3.mov -print_format json -show_format -show_streams -show_error
owner     xxxx  0.0  0.4 xxxx xxxx ?        S    16:03   0:00 /usr/bin/ffprobe -i /tmp/Rampaging+Ocelot20150923-7319-af1aq3.mov -print_format json -show_format -show_streams -show_error

Those tasks would also show indefinitely.

Running that task as sudo from the command line directly would show the error -- ffprobe does not like the filename:

/tmp/Rampaging+Ocelot20150923-7319-af1aq3.mov: No such file or directory
    "error": {
        "code": -2,
        "string": "No such file or directory"
    }
}

Changing the filename to something without reserved URL characters (eg. /tmp/rampaging_ocelot.mov or a SecureRandom.uuid) and it works fine.

It would be preferred if it raised an error for a filename it can't process!

I just volunteered to get some movement on this project. Thanks for the ticket. Be patient while we get up to speed.


Update Java API Documentation.

Update CassandraJavaUtil.java#mapToRow(Class, Map<String, String>) and CassandraJavaUtil.java#mapToRow(Class, Pair[]) javadocs to get more clear view on usage.
Detailed Java API user guide with code examples.

This remains binary compatible right? Since it's just renaming the parameters?

@RussellSpitzer yes, of course it is fully compatible. Parameter renaming is only to get more clear view on parameters content and purpose.

Sounds good to me then, thanks for the contribution


chore: improve mutable/immutable split by optimizer

very wip but the snapshots should give an idea

this was merged


Missing dependency on package.json

Error: Cannot find module 'functions-have-names'
Require stack:

/home/nolddor/gems-steam-bot/node_modules/set-function-name/index.js

+1

+1

+1

+1

+1

Same problem, package is a dependency of Quill and can't build my app.

As a quick workaround you can just run npm i -D functions-have-names (or equivalent yarn command).
In this way the dependency is fulfilled locally.

Yes, we did the same on our project.

+1

+1 broke production release flow

+1

As a quick workaround you can just run npm i -D functions-have-names (or equivalent yarn command).
In this way the dependency is fulfilled locally.

@madpilot78 I tried and didn't work for me, I don't know too much about npm. It allows me to install a tool (cdktf) that uses this, but when I try to run it says it doens't found the module. Do I need to do another thing?
npm i -D functions-have-names
npm install --global cdktf-cli@latest
cdktf get --language java #Fails

As a quick workaround you can just run npm i -D functions-have-names (or equivalent yarn command).
In this way the dependency is fulfilled locally.

@madpilot78 I tried and didn't work for me, I don't know too much about npm. It allows me to install a tool (cdktf) that uses this, but when I try to run it says it doens't found the module. Do I need to do another thing?
npm i -D functions-have-names
npm install --global cdktf-cli@latest
cdktf get --language java #Fails

Yours is a completely different situation. You're installing your tool with the --global npm flag, so you should also install functions-have-names using --global, I guess. But yours is a different situation and I cannot be sure it will be solved this easily.
So, try with --global, but I'm not sure this can fix it in your use case. You'd better ask the cdktf people though.

It worked! Thank you!

@ljharb man, this is breaking a lot of builds that use @testing-library/cypress and @testing-library/dom Could you please issue a patch asap?

This is the commit that broke things:
https://github.com/ljharb/set-function-name/commit/f5e4771266c95567d87f6dc2cff94c986bc7e074

@ljharb man, this is breaking a lot of builds that use @testing-library/cypress and @testing-library/dom Could you please issue a patch asap?

He is sleeping. Its 4:40 AM at his location. I bet he merged it and went to sleep without testing it much :smile:

@micreas i tested it plenty; all of the places I'm using it already had functions-have-names in node_modules, so I didn't notice this.
I was indeed sleeping; v2.0.1 is now published, which should fix this issue.

At least some people (including me) were affected when installing CLI tools, such as cdktf-cli, with npm i --global. A good learning experience though, not a good idea to install tools from npm without a lockfile!

Indeed, virtually nothing should be globally installed :-) CLI tools should be in package.json and invoked with npx.

For us, this was somewhat deep dependency chain: pdfkit -> fontkit -> deep-equal -> regexp.prototype.flags -- not sure why our lockfile didn't help there though 🤔
But oh well, anyway, thanks for the quick fix ❤

FWIW, eslint-plugin-import has a no-extraneous-dependencies rule that catches dev deps being used at runtime.

@akx yes, thanks, i'm aware since i'm the maintainer for eslint-plugin-import. i haven't included it in my shared config yet because eslint v8.9 broke parsing for my use case, and I can't update.

@micreas i tested it plenty; all of the places I'm using it already had functions-have-names in node_modules, so I didn't notice this.
I was indeed sleeping; v2.0.1 is now published, which should fix this issue.

We have a monorepo setup that uses Lerna. We have one lockfile for the monorepo that works locally but for production, the services are being deployed individually without a lockfile because Lerna does not generate individual lockfiles for each service/package. We found out about it when our services started failing in production after deployment because the module was missing and our instances could not start.


How could I get the pool_size and pool_stride information from built graph_json?

Hi all,
I have run the test example in  test_pass_partition_graph.py.
It's OK to export the graph_jason, lib.so and the parameters.
However, when I try to insert the nn.maxpool2d operator, the information of pool_size and pool_stride is missing in graph_json file.
Could someone tell me how to get the above information in graph_json file?
What files should I modify?
Thank you.

The following code is the inserted nn.maxpool2d in test_dnnl_fuse() in test_pass_partition_graph.py.
def get_net(include_bn=True, include_sigmoid=False):
data = relay.var("data", relay.TensorType((1, 3, 224, 224), "float32"))
block1 = get_blocks("block1_", data, 3, 8, include_bn, include_sigmoid)
block2 = get_blocks("block2_", block1, 8, 8, False, include_sigmoid)
block3 = relay.nn.avg_pool2d(block2, pool_size=(2, 2), strides=(2, 2), padding=(0, 0), layout='NCHW', ceil_mode=False, count_include_pad=False)
return relay.Function(relay.analysis.free_vars(block3), block3)
The following code is the part of graph_json about the maxpool2d:
{
"op": "tvm_op",
"name": "fused_nn_avg_pool2d_1",
"attrs": {
"num_outputs": "1",
"num_inputs": "1",
"func_name": "fused_nn_avg_pool2d_1",
"flatten_data": "0"
},
"inputs": [
[
2,
0,
0
]
]
}
AND the picture is the graph_json and it can get the correct result.

Thanks for asking the question. Please open threads on https://discuss.tvm.apache.org/ for related questions. The generated json already inlines the pooling configuration into the library so the pooling size configuration is no longer available

Hi @tqchen tqchen,
Thank you for your kindly reply.
It's pretty that I can not get the pool configuration from graph_json file.
However, because I want to combine TVM with the NVDLA through BYOC method, could you suggest some TVM trace code that liking the DLA to TVM?
Thanks a lot.


Enable compilation on wasm32

This commit adds support for wasm32-unknown-unknown, namely returning false
from all the functions. The current implementation strategy is to use the
cfg-if crate to cut down on the amount of boilerplate #[cfg] needed, but if
desired that it can always be added directly!

FWIW this has come about in some dabbling to compile rustfmt itself to wasm, which ended up being successful with just a few tweaks in a few crates!

Published in 0.1.9.


grunt static putting out an error

Running grunt static seems to come up with this error. I'm running this on Windows 10.
Running "execute:static" (execute) task
-> executing D:\Projects\trials\trialpercolatea\app\static.js
/
This browser doesn't support the `onScroll` event
Warning: No route matches path "\how\". Make sure you have <Route path="\how\"> somewhere in your routes
\how\
Warning: No route matches path "\what\". Make sure you have <Route path="\what\"> somewhere in your routes
\what\
Warning: No route matches path "\what\:name". Make sure you have <Route path="\what\:name"> somewhere in your routes
\what\:name
D:\Projects\trials\trialpercolatea\node_modules\mkdirp\index.js:92
                if (!stat.isDirectory()) throw err0;
                                         ^

Error: EEXIST: file already exists, mkdir 'D:\Projects\trials\trialpercolatea\static\what'
    at Error (native)
    at Object.fs.mkdirSync (fs.js:794:18)
    at Function.sync (D:\Projects\trials\trialpercolatea\node_modules\mkdirp\index.js:71:13)
    at Object.StaticTools.writeFile (D:\Projects\trials\trialpercolatea\app\lib\StaticTools.jsx:135:12)
    at Object.StaticTools.writeHtmlPage (D:\Projects\trials\trialpercolatea\app\lib\StaticTools.jsx:120:10)
    at Function.<anonymous> (D:\Projects\trials\trialpercolatea\app\static.js:62:17)
    at Function.dispatchHandler (D:\Projects\trials\trialpercolatea\node_modules\react-router\lib\createRouter.js:365:22)
    at D:\Projects\trials\trialpercolatea\node_modules\react-router\lib\createRouter.js:333:29
    at Function.Transition.to (D:\Projects\trials\trialpercolatea\node_modules\react-router\lib\Transition.js:72:15)
    at D:\Projects\trials\trialpercolatea\node_modules\react-router\lib\createRouter.js:332:22
Warning: -> error 1 D:\Projects\trials\trialpercolatea\app\static.js (1178ms) Use --force to continue.

Aborted due to warnings.

Not sure what the problem is.

So turns out its because windows uses \ instead of / for directories. So have to add these few lines in app/lib/StaticTools.jsx.
interpolate: function(paths, forPath, key, values) {
...
    paths.forEach(function(routePath) {
        routePath = routePath.replace(/\\/g, '/');
...

And also mkdir doesn't like filenames being the same name as a directory so had to adjust this also,
  writeHtmlPage: function(dir, page, contents) {
    // Replace trailing / with index.html
    if (page.match(/\/$/)) {
      page += "index.html";
    } else {
      page += ".html"; // ADDED LINE
    }

    this.writeFile(dir, page, contents);
  },


Missing v10.0.0 prebuilt packages for darwin-x64 and linux-arm

GitHub failed a bunch of builds for that version due to what seems to be a pervasive network outage, and unfortunately the GitHub build pipeline doesn't seem to retry properly.
Any GHA experts out there? Is there a better way to get our pipeline to retry automatically to work around GHA flakiness? As it stands, it's pretty miserable.

Looks like the linux arm still needs to be rebuilt.  I wish I had a solution for it too—npm install / npm ci has caused flakiness for me too.
From what I can tell, retrying pipelines is

not built-in https://stackoverflow.com/questions/71574593/how-to-automatically-retry-github-action-jobs-on-failure
requires extra boilerplate code https://gist.github.com/philip-gai/e3c02e68a32e8964fa3df2167b15cbff

Hey @mceachen,
I’ve been thinking about the GitHub flakiness for better-sqlite3 for a while now.
One other option is for someone to manually re-run the workflows.  While it would be great if GitHub actions had automatic job retries or another way to solve the issue programmatically, I have found that I just normally re-run the workflows myself.
In my project, I use rolling dependency updates, and am notified when one fails, like better-sqlite3.  For me, better-sqlite3 always fails because it takes hours for the prebuilds to be built and uploaded, which means I always manually re-run my workflow after the update anyway.
If you are open to grant me contributor rights to re-run workflows, I can check the better-sqlite3 workflows before I run my project workflows to ensure that every better-sqlite3 prebuild has completed successfully.
I completely understand if you are uncomfortable with assigning me contributor rights.  I pledge to only use it to re-run workflows.  Any changes I propose will continue to use your PR process.  Unfortunately, I could not find any way to limit contributors to only running GitHub Actions.
Sometimes the easiest solution is a manual one.  I would start by re-running this workflow https://github.com/WiseLibs/better-sqlite3/actions/runs/9048872914

One other option is for someone to manually re-run the workflows

Unfortunately, in the past when I've tried to re-run any failing workflows, they don't seem to actually work--I don't know if it's missing prior task context or something else, but in any event, it seems that the only remedy is to create a new patch release and hope for the best.
As far as contributor rights, know that I've got quite restricted contributor access to this repo--you'd need to talk to @JoshuaWise who is the only admin for this project.

Should I make a PR for a patch bump for the Linux arm build?

Sure: but I don't have sufficient permissions to merge it.

@mceachen Yup, and also add if: ${{ github.event_name == 'release' }} to prebuild

Ugh, so, now the windows electron v26 arm build is failing: https://github.com/WiseLibs/better-sqlite3/actions/runs/9490136109/job/26153067563#step:10:527
D:\a\better-sqlite3\better-sqlite3\build\Release\obj\global_intermediate\sqlite3\sqlite3.c(24890,1): error C2099: initializer is not a constant [D:\a\better-sqlite3\better-sqlite3\build\deps\sqlite3.vcxproj]

Do we skip Electron v26? Is there a way to run this GHA job on a box we can shell into to see what's up with line 24890?

I'm just lurking but I don't know if this releases issues on darwin-x64 is related to flakiness because there hasn't been a single darwin-x64 on 10.x or 11.x.
Also hasn't worked since this PR landed.

I'm just lurking but I don't know if this releases issues on darwin-x64 is related to flakiness because there hasn't been a single darwin-x64 on 10.x or 11.x.
Also hasn't worked since this PR landed.

Thanks for the link--I expect the two PRs I merged for v11.1.1 should remedy this.


Limited sync

Hi!  This is amazing and I love it.  Is it possible to have it selectively sync, and just download a handful of the files?
If you would be open, I could try to provide a patch to start support, but I also don't want to jump in if not!

Hi @matthewturk , any thoughts on this?

@matthewturk No worries!
I was thinking about having interactive synchronization so user can select what products should be downloaded but in case of a bigger library it may take longer to select those products than just do a full sync.
Maybe it is possible to filter by a purchase date (ie only download newer/older than a given date) by I'm not sure if it is possible in API.


java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java tests fail intermittently due to "Port already in use"

java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java tests fail intermittently with jdk8 hotspot ppcle due to "Port already in use"
Activation.main: an exception occurred: java.rmi.server.ExportException: Port already in use: 41234; nested exception is:
	java.net.BindException: Address already in use (Bind failed)
java.rmi.server.ExportException: Port already in use: 41234; nested exception is:
	java.net.BindException: Address already in use (Bind failed)
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:346)

https://ci.adoptopenjdk.net/view/Test_openjdk/job/openjdk8_hs_openjdktest_ppc64le_linux/277/console

Close as listed in #1511


Python 3.5

I need Python 3.5 but in it don't exists in repos. Current version BashOnWindows based on Ubuntu Trusty Tahr. Can I upgrade to more fresh version where Python 3.5 available?

You can try Xenial by a guide on this issues page, but it is tough and does not fully work

Try the deadsnakes ppa.
I was able to use the python 2.7 version to upgrade to python 2.7.12
https://launchpad.net/~fkrull/+archive/ubuntu/deadsnakes

You can get it from Continuum. https://www.continuum.io/downloads

@srinath29 -- Continuum provides Anaconda, which is Python + package manager.  It changes the meaning of pip install, can conflict with Ubuntu's own package management when packages are available through both, etc.  It also makes it easy to install a bunch of cool stuff.  Point being, installing Anaconda is significantly more than just installing Python.

Yeah. No. Actually it sets the environment to use it's pip instead of system's pip. If you don't want all the packages, then you can just download miniconda. And install necessary packages.

And pip works fine within conda environments, so you can forget conda is there once you install, if that's your preference: https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

@jaypeedevlin -- "fine" is relative :-)  Yes, pip exists and works in lots of simple cases.  But I've seen a number of systems where people tried to switch between multiple versions of Python, install packages manually, etc, and Anaconda's pip got into a state where it could install packages but Anaconda's python couldn't see those packages, or Anaconda's pip couldn't find dependencies that were present and accessible to Anaconda's python, etc.
If you use Anaconda exclusively, then yeah, things probably do well.  But on a default Anaconda install, you still have the system Python available at /usr/bin/python (and ditto for pip); if you, for example, run a script that calls those paths directly, then you can still get into trouble.

That's not about anaconda then, that's about a script that's poorly written.

If I run a series of scripts that simply fo things like pip install, pip uninstall, etc, and Python breaks for me, are you really telling me that the fault is the scripts and not pip?  Or, by extension, Anaconda, as the tool that configured pip.
Anaconda is a platform.  I expect my platforms to provide isolation -- if I mess with something outside the platform, it won't break the platform; and robustness -- if I use the platform as documented, it will behave as documented, moreover commonly-run commands should be unlikely to cause the whole platform to stop working in a way that is nonintuitive.

I'm not quite sure how you define platform, but Anaconda is a distribution of Python and Conda is a package manager. You many need to adjust your expectations based on what it is and isn't.
I was responding to your direct example with a script that uses a hard coded path. Yes, if you have >1 version of Python on your system and use the wrong hardcoded path, that's your fault.
The OP wants to know how to get py3.5 working easily in the windows/Bash environment and Anaconda or Miniconda is their best option.
Whichever way they proceed they will have multiple versions of pip and need to be careful.  Aliases can help make this less stressful.
 If not Anaconda, what would you suggest is the best option for the OP?

@jaypeedevlin -- this thread was IMO effectively answered by its first response, above, a year ago.  See that response for what would also be my suggestion.
You re-started the thread recently.  (It had been inactive for about a year previously, with a question and some suggested answers posted.)  As such, I'm responding to you.  If you think you've gotten what you wanted out of re-opening the thread, let's call it a day.
Regarding "platform" -- I'm using the word as a technical term in the field of product management, regarding the role that Continuum.io envisions for Anaconda.  Specifically, and at a high level, they expect people to build applications of various sorts on top of it.  Hence "platform".  (If you're just playing around, or building small tools for a few people, then yeah, Anaconda can be great.  But if you're on a big team that's getting paid to write Python code, which a lot of people are, then that code probably has to get deployed somewhere, the environment has to be maintained by someone, you have to consider differences between your dev and production environments and make sure that they don't confuse/frustrate your team, etc.)  I'm not expressing personal opinions per se, though I do believe them; rather, I'm doing my best to outline my understanding of what people who study platforms have learned are important attributes.  If you think my summary is overly reductive, that's a fair criticism.  If you think it's wrong, do you have some references?  As you say, this ticket is the wrong format for an extended discussion, but I'm always happy to learn.

Can I upgrade to more fresh version where Python 3.5 available?

Yes.


Fix plot_time_reverse.py time-reverse simulation

https://github.com/agencyenterprise/neurotechdevkit/issues/171
Introduction
Introduction from plot_time_reverse.py:

The skull adds aberrations to the beam propagation; phased arrays can compensate for those by having different delays for each element, but estimating these delays can be challenging. One method to estimate the delays is a "time reverse" simulation as described in this Article. This notebook demonstrates the "time reverse" method to estimate the delays. The notebook sets up a scenario with a phased array source and a target and then runs a simulation with the source and target reversed to calculate the delays. Finally, it uses the calculated delays to perform a forward-time simulation.

The time-reverse simulation was still using an old API .add_source so it had both the default source and the
Changes

Remove the default source from the time-reverse simulation

Behavior

Tested locally that resulting delays are correct (on the order of 40microseconds)
Docs generate properly and show the point-source simulation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Files
Coverage Δ

src/neurotechdevkit/results/_metrics.py
100.00% <ø> (ø)

src/neurotechdevkit/results/_results.py
64.28% <100.00%> (ø)

:loudspeaker: Thoughts on this report? Let us know!.


Restart button functionality

re-arrange the position of restart button

i am eager to work on this project.May u assign this to me?

I would be glad to work on this issue regarding the functionality of the restart button. Please assign this issue to me, and I'll begin working on implementing the necessary fixes/enhancements. I'll keep the team updated on progress and provide a detailed description of the changes made once complete.

@Pratikpawar13  I want to work on this project
and solve few issues like
make the restart button fully functional,
change the position of the restart button and message which is display .

@princerxj @Pratikpawar13 this issue has been resolved, so you can proceed with the new issue and begin working on it.