"mocks/token/..." folder not in soldeer openzeppelin-contracts

Hi, is it posible that the folder mocks is not in the openzeppelin contracts repo from soldeer?? It appears in the original repository from openzeppelin but not in the openzeppelin libraries from soldeer.
This two images are from the source code from soldeer

And this is the original repo of openzeppelin contracts.

hey, unfortunately that is not present in the official release on npm.  After some discussions with the OZ team, they said that the mocks should not be used and they are present just on github and not on the official release so that people don't use them in production.
If you really want to use them you can use the git way of installing this, something like:
forge soldeer install @openzeppelin-mocks~5.0.2 https://github.com/OpenZeppelin/openzeppelin-contracts.git
And now you have a specific oz version from git that has the mocks that can be used only for testing

Okey, make sense, its just what i did, thanks for replying!!


Fix CLI proxy server flag

Resolves #97

This branch breaks webbreaker webinspect scanning.  updating branch to bring in upstream changes.

Console and events logs are printing out verbose INFO messages...
Logging to files: /home/xolian/.webbreaker/log/webbreaker-12-14-2017.log
False
['webinspect-server.example.com:8083']


netbsd add string_to_flags api

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit f21b394d70f09a75b7b67a6ff0307bf397c76eaf has been approved by Amanieu

:hourglass: Testing commit f21b394d70f09a75b7b67a6ff0307bf397c76eaf with merge 1ac780a77a92afb37975974f90e371a360c06626...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing 1ac780a77a92afb37975974f90e371a360c06626 to master...


Plagiarism detection: Plagiarism check shows 69% similarity for exactly same submissions

Describe the bug
Two exactly same submissions got 69% similarity
To Reproduce

Create two exactly the same programming exercises submissions
Run plagiarism checks on them
Check the result

Expected behavior
Two exactly same submissions have 100% similarity
Screenshots

Which version of Artemis are you seeing the problem on?
6.4.3
What browsers are you seeing the problem on?
Chrome, Safari
Additional context
No response
Relevant log output
No response

mmh .. I cannot reproduce the behavior with JPlag.
I've used the following files:
BubbleSort.java
package edu;

import java.util.*;

public class BubbleSort {

    /**
     * Sorts dates with BubbleSort.
     *
     * @param input the List of Dates to be sorted
     */
    public void performSort(final List<Date> input) {
		var x = 123;
        //TODO: implement
    }
	private static int abc(int a) {
		return a*5;
	}

	private int def(int d) {
		return d - 15;
	}
}

JPlag reports 100%:

result.zip

Nevertheless, in general depending on the input size this might be the important Issue.

I would assume the image only shows one file, so it could theoretically be the case that other files differ. Maybe this is also related to the fact that we exclude the initial template.
@jakubriegel please link an example of one of the test servers or produce a minimum example to reproduce the issue

/cc jfyi @tsaglam

This is most likely an effect of using the case code feature.
To verify, it I've carefully ran this comparison again on Artemis using debugger. I used the same exercise template and 3 submissions: 2 with BubbleSort.java same as in the screenshot and 1 same as the template. The findings are:

JPlag from Artemis correctly matches the similarities: the only found match is the whole BubbleSort.java for the two modified submissions,
the 69.57% similarity is produced by JPlag,
for the template submission JPlag correctly indicates 0% similarity.

The number 69.57% comes from the de.jplag.JPlagComparison.similarity() method. Generally, it calculates the similarity as the division of the number of matched tokens by the total number of tokens. The two modified submission have 99 tokens in total of which 16 tokens are matched. If no base code was used then 99 tokens would be matched and the similarity would be 100%. But, since there is the base code, JPlag matches only 16 tokens and the division is modified by the number of token matched between the base code and the submission. This yields the similarity of 69.57%. I guess the motivation was to acknowledge the unchanged base code lines in the results (as not all the lines from the modified BubbleSort.java differ from the base code.
In short, this looks like a feature, not a bug 🙃
@tsaglam @dfuchss Can you confirm if JPlag works as intended in the described scenario?
@krusche @MarkusPaulsen Should we keep it in Artemis like that? An idea to augment the behaviour would be not to use the base code feature. Since the minimum size parameter is implemented as the minumum number of diff between the submission and the template, instructors should have enough control over the process. What do you think?

Just as an idea: Maybe it would be an option to integrate the JPlag UI into Artemis.


[5.6] Fix loadMissing() relationship parsing

loadMissing() currently parses nested relationships in a way that supports specifc columns in all levels:
$posts->loadMissing('comments.parent:id.revisions');

However, this is different from the way load() and with() parse relationships. They only support specific columns in the last relationship. This is necessary to allow columns with table names (https://github.com/laravel/framework/pull/24166#issuecomment-391580473):
$posts->loadMissing('comments.parent.revisions:revisions.comment_id');

This PR adjusts the parsing to match load() and with().

Seems like there is a problem when using relations of the same name like ingredients.unit.unit.association https://github.com/laravel/framework/issues/27039


Contacts API

Doesn't look like there's anything been mentioned about a way of interfacing with the address book on a device. Is this a planned feature or something that'll be deferred to the community?

Our current thinking around all of those APIs is that it's going to be left to whoever bridges it first. If we need it internally we'll build it and dogfood it. When it becomes good and stable, we'll include it in core. But if someone else in the community beats us to it and the package on npm gains significant traction, we'll likely bring it in core instead (assuming the author wants to).
The good part is that the plugin api is public and what is being used for all the existing components today, so no one has a disadvantage.
We don't have any plans for a feature that would use the contact api right now, so it's unlikely going to be coming from us in the next few months.
This whole plugin is still very much up in the air, please let me know if you have ideas on how to make it work best for everyone

@colinramsay - if you're interested in building a bridge, ping me as notbrent on irc (#reactnative on freenode) and I can help you get started!

I've started building a basic Contacts API for a project I'm working on. I'll try and pop it on Github this afternoon or tomorrow if it would be useful for people.

@darylrowland would love to check that out

I've begun work on this a had a few questions about the NativeModules bridge
Am I limited to String for error and params in the callbacks?  What would it look like to return a object or array of objects if that is possible?
Is there a standard for what errors should return?
I realize the Native Modules are still a work in progress, but what is the expected way to package/distribute?  @brentvatne showed me an example of his react-native-login which creates an example xcode project that includes his actual bridge.
By the way, I was psyched out how simple it was to extend this and get it working!
Current code. Not complete, but any advice would be appreciated as I do not come from an objective-c background.  (I intend to paginate the getAllContacts call,  this was just to see if it was working, and it is!!)
@import AddressBook;
#import "AddressBook.h"

@implementation AddressBook

- (void)hasABAuth:(RCTResponseSenderBlock)callback  {
  RCT_EXPORT(hasAuth);
  if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenied ||
    ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusRestricted){
    callback(@[[NSNull null], @"denied"]);
  } else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized){
    callback(@[[NSNull null], @"authorized"]);
  } else { //ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined
    callback(@[[NSNull null], @"undetermined"]);
  }
}

- (void)requestABAuth:(RCTResponseSenderBlock)callback  {
  RCT_EXPORT(requestAuth);
  ABAddressBookRequestAccessWithCompletion(ABAddressBookCreateWithOptions(NULL, nil), ^(bool granted, CFErrorRef error) {
    if (!granted){
      callback(@[[NSNull null], @"denied"]);
      return;
    }
    callback(@[[NSNull null], @"authorized"]);
  });
}

-(void)getAllContacts:(RCTResponseSenderBlock)callback  {
  RCT_EXPORT();
  ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, nil);
  NSArray *allContacts = (__bridge NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBookRef);
  NSLog(@"%@", allContacts);
}

@end

Am I limited to String for error and params in the callbacks? What would it look like to return a object or array of objects if that is possible?

callback accepts array of any JSONable data, including NSArray and NSDictionary. E.g.:
callback(@[@[@1], @{@"foo": @"bar"}])

Is there a standard for what errors should return?

For passing Error-like objects, see RCTMakeError. You can attach any field to your error object, but at minimum it's good to have message.

@frantic thx
One other question,  the react native Image component takes a source uri (local, http, or static asset as part of project)
When accessing a AddressBook contact,  it seems there is no way to get access to the filepath of the persons image.  You obtain the image data and init it directly into a UIImage
NSData  *imgData = (NSData *)ABPersonCopyImageData(person);
UIImage  *img = [UIImage imageWithData:imgData];

Any thoughts on how to handle such a thing with react native?
Unless I'm missing something, i'm having trouble trying to see if such a thing would be possible to resolve.

https://github.com/mattotodd/react-native-addressbook-ios
Comments appreciated

Thanks @mattotodd
I took your code and reworked the organization / api a bit : https://github.com/rt2zz/react-native-addressbook.

@rt2zz Why not fork and create a pull-request ?  Seems like you just copy pasted my code for your initial commit.
The reason for using familyname vs last name was that I was trying to use standards vs just ios specific.
http://www.w3.org/TR/2011/WD-contacts-api-20110616/#idl-def-ContactName
That way when the time comes for react-native-android/windows etc, they would all be the same,  "learn once, write everywhere"

Thanks @mattotodd for putting that together :smile:

Can you please re-open this issue?  We still don't have Android support.
See my bug bounty and the issue here https://github.com/rt2zz/react-native-contacts/issues/10

@niftylettuce the react-native team does not build out anything they don't directly use, Contacts being one of them. If a third-party build something and it gets good feedback, it can be pulled back in
I started an iOS version  https://github.com/mattotodd/react-native-addressbook-ios
I can take a look at an Android version, but might take a little time

@mattotodd can you peak into https://github.com/rt2zz/react-native-contacts/pull/13#issuecomment-158701719

:nail_care:'d it @mattotodd

@brentvatne what did I nail ?

I've been using https://github.com/rt2zz/react-native-contacts but it is lacking in a number of ways, not that they aren't working on it, just that it's kind of important so I want to bring this up for discussion again. This is the sort of thing I think could really benefit by being part of official React Native, because it's pretty fundamental to a lot of apps. I'd estimate more apps would use contacts than a number of the official components (not that they're great to have too).
I propose that https://github.com/rt2zz/react-native-contacts be slated to be part of the official React Native, as a Contacts component.

@pickhardt It should stay as a different module IMO. The core team won't likely to be able to work on it. So it's better to be a third party module where it can get better care.

 They have no need to support the native contacts api, so like @satya164 said, it makes more sense for a third party to take care of it.

I've had a lot of success with https://github.com/axemclion/react-native-cordova-plugin (see my fork for a bug I patched), in combination with official Cordova plugins like https://github.com/apache/cordova-plugin-contacts.  It's a port basically and has helped out in meanwhile.


Custom rendering doesn't work in some setups

I don't know if its just my .ini file but on my setup on Debian Unstable and AMD r600g drivers I have not been able to get the desktop cube or expo to show by setting any keybinding as "activate."
EDIT: nothing brings them up with the default, unmodified .ini file either

Does animate plugin work(provides animation when a window is opened/closed)? Or you see a flicker(gray screen instead of animation) when you open an app? If this is the case, then the whole custom rendering is to blame.

I get a flicker on opening or closing any and all windows

@lukefromdc  Will you be able to help me debug it (possibly later)? If yes, then PM me in gitter when you've got some time to spare, because on my 2 laptops I haven't been able to reproduce the issue.

I can certainly test any changes, but don't know enough about the Wayland code or OpenGL to write much for this yet

Wonder if this is a hardware/OpenGL issue? I am on radeon/r600g open source drivers on a Radeon HD6750 graphics card, and your laptop is probably something different.

well, it most likely is graphics. I made a guess at what was wrong, can you test the debug branch?

The only thing I got in the logs was output from Caja (relating to the Xwayland desktop) even on a debug build. Confirm though that disabling animation stops the flickers

The missing output from the logfile is strange. Are you sure you installed wayfire at the correct location(e.g when you compiled first you installed in /usr/bin, but the second time with debug in /usr/local/bin)? Otherwise you should get at least some output from libweston in the logfile.

Confirm, installation is in /usr/bin and no sign of anything from wayfire in /usr/local/bin. With no make uninstall target, what is installed stays in the filesystem unless manually removed or installed by building a debian package and then removed. I did get some output from Caja when run with --force-desktop from within wayfire, just no output from wayfire itself, and no debugging looking output on the console either

Hi, I finally managed to reproduce the bug on my friend's laptop. Please test the newest commit in the debug branch. Also don't forget to pull latest commits from patched libweston repo.

I can confirm the latest changes fix animation in and only in the debug branch. No more flicker, windows open in zoom mode as now configured

Cube works, tile works, shortcuts are enough different from compiz to be a bit counter-intuitive. I have yet to figure out how to activage expo, but with the debug branch the main issue (might be limited to debug) is sometimes getting a rendering/redraw issue in Xwayland windows that have been tiled.

Which tiling do you use (tile or grid plugin)? For grid you can change them the way you want, but tile is still in progress.
About expo: did you set a keybinding in the [expo] section (activate= KEY_E is the default)? It seems I forgot to include it in the default config.
The redraw issue: what does that mean?  Bad pixels? The window doesn't update? When is it happening(in grid, tile? while resizing? or after they've been configured)?

Redraw issue was many old partial copies overlapping of an Xwayland window that had been tiled and then moved, did not happen all the time.  Keybindings I tried for Expo before did not work, will test that some more.  Not sure whether grid or tile was in use, but was able to pull windows to edge to tile them.  The ini file is only slightly modified

The redraw issue seems like a background/panel crash. Can you send a screenshot(super+S  and it it saved in ~/Pictures)

This section in the .ini file for expo generated no results:
# show a live preview of all workspaces on the current output, can also move the windows on them
[expo]
duration = 300
offset = 0
background = 0.1 0.1 0.1 1.0
activate = <ctrl> <alt> right

mm, expo can only be activated with a keybinding for now

Could not duplicate background issue right now, maybe something else had to crash first?

Yes, I think that the trailing issue is like what you could get in Windows XP, and that is because background+shell crashed. Another item in TODO: split background and panel

activate =   KEY_RIGHT did not work either for expo

Just pull the debug branch again and try(no need for libweston)

That works, I did not know expo had a different name for activation. Very smooth and nice running, this is still the debug branch of course.

I didn't know it also :P Glad to hear it works, what resolution do you use? Because I spent some time optimizing Expo, and now it works on my 1920x1080, but I wonder if my optimizations are enough for 4K?

Something that came to my mind: If panel crashes relatively often, then you can try running it under gdb to be able to get a backtrace when it crashes.

I normally have two monitors available: a 1080X1920 and a smaller 1024X768 that is normally turned off when not in use, but in a Wayland session both come up. I get a separate cube or expo for each screen, the active screen (last one clicked with the mouse) being the one the effect is applied to.
I don't own any 4K hardware at all

Anyway, it seems that this issue has been resolved, I'll close it. If you encounter crash from panel again, please open another issue.

Has the fix been moved to master from the debug branch?

Yes, I merged it a little while ago.

I just retested master, animation and expo worked, but cube turned the screen dark gray. Debug is still the branch that fully works here, so master needs at least one more commit from it

Are you compiling with -DUSE_GLES32=True or False?

I am just copying the whole
cmake ../ -DCMAKE_BUILD_TYPE=Release -DUSE_GLES32=True -DCMAKE_INSTALL_PREFIX=/usr
line from the README as I had issues trying to build from cmake-gui. Is that the issue perhaps?

It might be worth to try to get some logs now, as you weren't able to do so before. Try this command for cmake:
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DUSE_GLES32=True
Then compile, install and try to gather logs: wayfire log.txt. The log is generated in the current directory. Please try this and tell me if you still don't get a log.

All I got in the log was this from Caja:
Initializing caja-xattr-tags extension
Initializing caja-image-converter extension
Initializing caja-open-terminal extension

Just found out that a build from master with
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DUSE_GLES32=FALSE
works fine for the cube too.. Looks like I have an issue with GLES on my setup

Perhaps some shader doesn't compile. That's why I wanted to see a log, which we unfortunately cannot get yet. Are you sure you have write permissions for the current directory? That nothing else is overwriting the file?

Also do you try to give wayfire any other options(it doesn't support anything else that a log as the first option)?

No, it was just wayfire > /home/luke/Desktop/wayfire.log and this suppressed output to terminal, diverted the Caja text to a logfile, but no log output from wayland itself.

Some of this stuff I really cannot be sure about, though I build in the user directory as user and don't see permission problems there in general.

No, no, give the log file as an argument, not as redirect :D just copy and paste this:
wayfire log.txt
NOT wayfire > log.txt
It is a bit stupid and I'll change it sometime

That works, now for your experiment, then I am out of time for now

OK, I didn't quite understand you, but when you have time, please send me a log with -DUSE_GLES32=True after you try cube.

This log resulted with gles and the failed cube
wayfire.log.gz

That is the log you should have now

The problem is simply that you do not have support for GLES 3.2 in driver and should compile with
-DUSE_GLES32=False :D Thanks for testing though

You are welcome, now I know how to build this and you know what not to worry about


Find a way how to NOT run spec-cleaner on maintenance updates

While spec-cleaner is now quite reliable it still generates quite a diff when working on the maintenance branches where the changes should be kept as minimal as possible.
Thus we should figure out some way how to avoid running it there.

IMHO this problem should be solved outside of spec-cleaner. Make spec-cleaner invocation optional based on either project configuration or more ugly - project name regexp.

It seems osc is indeed inheriting this from the project metadata.
The getProjectGlobalServices function queries OBS server and gets the list of services to be executed.
@lnussel @DimStar77 guys do you guys manage the list or whom should I poke to discuss this?

which services are run is defined in _product/_service. looks like the command used by osc collects all services from all linked projects. I've tried to add format_spec_file with mode disabled to 42.3:Update for testing. Can you give it a try to see if disabling that way works?

@lnussel Seems on local checkout it was still run:
`
scarabeus@bugaboo: ~/build_service/home:scarabeus_iv:branches:openSUSE:Leap:42.3:Update/hello $ osc build
Run source service: /usr/lib/obs/service/format_spec_file --outdir /home/scarabeus/build_service/home:scarabeus_iv:branches:openSUSE:Leap:42.3:Update/hello/tmp4cA3uo.format_spec_file.service`

ok, so I switched it to disabled in main project

This should be disabled on Leap 15+ and older are obsolete -> can be closed.


SimpleClans Support killdeath ratio Tag error

simpleclans kill death ratio returns 0.0 when in reality it was 3.2

Then it's a simpleclans error, it literally asks SimpleClans for the value, that is it.

this is also a depenizen issue, post it in the correct place.


Age not calculated correctly

Last time I checked I am 18, here it says im 17 however

Last time I checked I am 18, here it says im 17 however

Fixed by #27 there is a issue with months due to 1-based indexing instead of zero-based

18 years is approximately _c =<PHONE_NUMBER>00ms. Maybe just replace the body with
return new Date().getTime() - birthday.getTime() >= _c

for a clean implementation?


Anomalous event line

In journal Journal.2023-07-30T033612.01.log there's a line that is incorrectly formatted. Tracking an issue here for if this occurs multiple times.
{ "timestamp":"2023-07-30T01:54:58Z", "event":"| Scooping: {Status.Scooping}");", "Taxi":false, "Multicrew":false, "StarSystem":"HIP 84222", "SystemAddress":74325165260, "StarPos":[38.78125,46.62500,534.78125], "SystemAllegiance":"", "SystemEconomy":"$economy_None;", "SystemEconomy_Localised":"None", "SystemSecondEconomy":"$economy_None;", "SystemSecondEconomy_Localised":"None", "SystemGovernment":"$government_None;", "SystemGovernment_Localised":"None", "SystemSecurity":"$GAlAXY_MAP_INFO_state_anarchy;", "SystemSecurity_Localised":"Anarchy", "Population":0, "Body":"HIP 84222", "BodyID":0, "BodyType":"Star", "JumpDist":62.928, "FuelUsed":7.674855, "FuelLevel":21.480677 }

Another one that is pretty weird in Journal.2023-02-18T183811.01.log:
{ "timestamp":"2023-02-18T17:42:47Z", "event":"EngineerProgress", "Engineers": { "Engineer":"Felicity Farseer", "EngineerID":300100, "Progress":"Unlocked", "RankProgress":0, "Rank":5 }, { "Engineer":"Eleanor Bresa", "EngineerID":400011, "Progress":"Known" }, { "Engineer":"Hero Ferrari", "EngineerID":400003, "Progress":"Known" }, { "Engineer":"Jude Navarro", "EngineerID":400001, "Progress":"Known" }, { "Engineer":"Liz Ryder", "EngineerID":300080, "Progress":"Known" }, { "Engineer":"Rosa Dayette", "EngineerID":400012, "Progress":"Known" }, { "Engineer":"Juri Ishmaak", "EngineerID":300250, "Progress":"Invited" }, { "Engineer":"Selene Jean", "EngineerID":300210, "Progress":"Invited" }, { "Engineer":"Baltanos", "EngineerID":400010, "Progress":"Known" }, { "Engineer":"The Dweller", "EngineerID":300180, "Progress":"Unlocked", "RankProgress":0, "Rank":5 }, { "Engineer":"Elvira Martuuk", "EngineerID":300160, "Progress":"Invited" }, { "Engineer":"Lei Cheung", "EngineerID":300120, "Progress":"Invited" }, { "Engineer":"Tod 'The Blaster' McQuinn", "EngineerID":300260, "Progress":"Unlocked", "RankProgress":0, "Rank":3 }, { "Engineer":"Domino Green", "EngineerID":400002, "Progress":"Known" }, { "Engineer":"Marsha Hicks", "EngineerID":300150, "Progress":"Invited" } ] }

In Journal.2023-07-30T154648.01.log:
{ "timestamp":"2023-07-30T13:59:39Z", "event":"FuelScoop", "Scooped":2.457956, "Total":x }

It just say's x

3 out of 547525 entries were not parsed correctly, so this is not something that should be handled with special logic.


fix: missing git file status 113

From the table of all possible combinations in https://isomorphic-git.org/docs/en/statusMatrix.

I personally hit the "113" case and was presented with a vague error: Cannot read properties of undefined (reading '0').

Thanks for fixing!

Thanks for the quick review!


Serialize collectl graphs when dataframes are post-processed [ci skip]

Commit cleanup, thanks @chapmanb and @guillermo-carrasco, related to twin PR:
https://github.com/chapmanb/bcbio-nextgen/pull/1037
When preparing/installing for docker, it needs an additional dependency not installed by conda: pythonpy.

Roman, thanks much for this fix and update. I'll work on getting a pythonpy conda package prepared as well.

About dependencies, I'm jumping into bcbio’s CWL preliminar implementation and I had some missing deps as well while running run_test.sh:
pip install "openpyxl<2.0"
pip install "fadapa>=0.3.1"
pip install "cyvcf>=0.1.11" <--- this one does not install on my mac

Shouldn't those deps be installed inside the container?
@guillermo-carrasco, did you experience the same when running run_tests.sh?

Sorry about the issues. I dropped cyvcf from the requirements now although this might require a manual refresh for your setup. ./run_tests.sh happens outside Docker containers (unless you're running the docker tests with ./run_tests.sh docker). In general though, I don't expect it to work without issues on macs -- we haven't been trying to support OSX for full bcbio runs except by accident.

Thanks Brad, just for future record/reference, this was an issue with my XCode 7.0.1...
error: ld: library not found for -lgcc_s.10.5
solution: (Re)install XCode and accept the terms and conditions, recompile cyvcf.


[Bug]: HasOne overrides nullability of BelongsTo

Describe the bug
Hi,
I am trying to integrate CycleORM into a Symfony application, in order to replace Doctrine, and I encountered a strange behavior with relations.
I will show you the example first.
I trimmed all the other tables and managed to reproduce on following 4 entities:
#[Entity(database: 'main')]
class Question
{
    #[Column(type: 'primary')]
    private int $id;

    #[BelongsTo(target: QuestionTextual::class, nullable: true)]
    private ?QuestionTextual $questionTextual = null;

    #[BelongsTo(target: QuestionChoice::class, nullable: true)]
    private ?QuestionChoice $questionChoice = null;

    #[BelongsTo(target: QuestionMultichoice::class, nullable: true)]
    private ?QuestionMultichoice $questionMultichoice = null;
}

#[Entity(database: 'main')]
class QuestionChoice
{
    #[Column(type: 'primary')]
    private readonly int $id;

    #[HasOne(target: Question::class)]
    private Question $question;
}

#[Entity(database: 'main')]
class QuestionTextual
{
    #[Column(type: 'primary')]
    private readonly int $id;

    #[HasOne(target: Question::class)]
    private Question $question;
}

#[Entity(database: 'main')]
class QuestionMultichoice
{
    #[Column(type: 'primary')]
    private readonly int $id;

    #[HasOne(target: Question::class)]
    private Question $question;
 }

Those entities result in following database schema:
create table question_choices
(
    id int auto_increment
        primary key
);

create table question_multichoices
(
    id int auto_increment
        primary key
);

create table question_textuals
(
    id int auto_increment
        primary key
);

create table questions
(
    id                     int auto_increment
        primary key,
    questionChoice_id      int not null,
    questionTextual_id     int null,
    questionMultichoice_id int null,
    constraint questions_foreign_questionchoice_id_66745e0c2f565
        foreign key (questionChoice_id) references question_choices (id)
            on update cascade on delete cascade,
    constraint questions_foreign_questionmultichoice_id_66745e0c2f6fc
        foreign key (questionMultichoice_id) references question_multichoices (id)
            on update cascade on delete cascade,
    constraint questions_foreign_questiontextual_id_66745e0c2f607
        foreign key (questionTextual_id) references question_textuals (id)
            on update cascade on delete cascade
);

create index questions_index_questionchoice_id_66745e0c2f53b
    on questions (questionChoice_id);

create index questions_index_questionmultichoice_id_66745e0c2f6e5
    on questions (questionMultichoice_id);

create index questions_index_questiontextual_id_66745e0c2f5ef
    on questions (questionTextual_id);

The strange thing this issue is about is the nullability of questionChoice_id column. For some reason the column is declared as NOT NULL, while others are nullable - and all the columns have identical attribute declaration.
In this usecase the question has 3 possible types and the tables include some additional settings. In the base table the relation is nullable, because only one of the 3 columns is filled. However in the extending tables the column is not null, because it must have a base table paired to it.
There might be some sort of misunderstanding of the CycleORM relations on my side, but it seems strange to me that one column has different nullability than the others. When the HasOne attribute is removed from the entitiy, the nullability is corrected.
Is this a regression?
I cannot tell as I am a new user of Cycle ORM.
To Reproduce
Use the default setup and sync a database with entitiy declaration above.
Expected behaviour
The column should be nullable.
Media prove
No response
Database
MySQL
Your environment

OS: PopOS
PHP version: 8.3.7
Package version:

annotated: 4.1
database: 2.11
orm: 2.8
schema-builder: 2.8

Additional context
No response

It's nice to hear that.
Perhaps the fixes will be in schema-builder, but I think it's worth starting with tests in the annotated package.

I tried to work around the issue using JTI and I possibly found another bug, which may be related.
#[Entity(database: 'main')]
class Question
{
    #[Column(type: 'primary')]
    protected int $id;

    #[BelongsTo(target: OtherEntity::class)]
    protected OtherEntity $otherEntity;
}

#[Entity(database: 'main')]
#[JoinedTable]
class QuestionChoice extends Question
{
}

#[Entity(database: 'main')]
#[JoinedTable]
class QuestionTextual extends Question
{
}

#[Entity(database: 'main')]
#[JoinedTable]
class QuestionMultichoice extends Question
{
 }

By using this attribute setup, all the relation columns from parent entity (in this case the OtherEntity relation) are added to the parent questions table and also to the all joined tables as well. In my opinion the column should be added only to the parent table.

In my opinion the column should be added only to the parent table

That's true


tight_layout() gives error

I would like to be able to call tight_layout() to automatically rescale my plots so that they fit better the figure. Currently I call axis("tight") after every imshow(...) which is annoying.
However, when I call tight_layout() I get the following error message:
PyError (:PyObject_Call)
ValueError('max() arg is an empty sequence',)
  File "/Library/Python/2.7/site-packages/matplotlib/pyplot.py", line 1288, in tight_layout
    fig.tight_layout(pad=pad, h_pad=h_pad, w_pad=w_pad, rect=rect)
  File "/Library/Python/2.7/site-packages/matplotlib/figure.py", line 1663, in tight_layout
    rect=rect)
  File "/Library/Python/2.7/site-packages/matplotlib/tight_layout.py", line 325, in get_tight_layout_figure
    max_nrows = max(nrows_list)

while loading In[12], in expression starting on line 1

 in getindex at /Users/colin/.julia/v0.3/PyCall/src/PyCall.jl:255
 in pysequence_query at /Users/colin/.julia/v0.3/PyCall/src/conversions.jl:778
 in pytype_query at /Users/colin/.julia/v0.3/PyCall/src/conversions.jl:794
 in convert at /Users/colin/.julia/v0.3/PyCall/src/conversions.jl:844
 in pycall at /Users/colin/.julia/v0.3/PyCall/src/PyCall.jl:416
 in fn at /Users/colin/.julia/v0.3/PyCall/src/conversions.jl:188
 in close_queued_figs at /Users/colin/.julia/v0.3/PyPlot/src/PyPlot.jl:296

This is no different than in Python, I think: you can only call tight_layout() after a plot has been created.


Redeployment

Redeploy the application to DigitalOcean with all changes from Milestone 2.

Application is redeployed with latest updates for Milestone 2.


Add Uniextract

Took me some time but i got it 😄

Why did you open 3 pr? By the way, you can have a look at https://github.com/Bioruebe/UniExtract2 which is actively maintained.


git support through libgit2-glib

libgit2 is somewhat ugly, hopefully https://github.com/GNOME/libgit2-glib is better. libgit2-glib(-dev) is installable through distribution-included packages in Debian, OS X, and MSYS2.

It looks like it would be a good idea to wrap parts of this library for c++ if we are going to use it.

Yeah, haven't looked at the library yet, but a git.h and git.cc should be sufficient. It should support functions for directory and source (creating a subclass of Gsv::View between Gsv::View and Source::View).
At first:

directory showing deleted, added and modified files using colors
Source showing added, modified and deleted lines in Gsv::Gutter (using custom Gsv::Marks I guess), much like Atom does it

I am currently testing libgit2 here: https://github.com/eidheim/libgit2-test. The library is really nice to work with so I guess I'll add this to juCi++ in a month or so.

See #244


unr-4455 segfaults! in the rpc service!

adds a couple dispatcher tests which we should have anyway, but they are drive bys.
Here it is, the fix: Dropping an optimisation that wasn't working because something somewhere else is messing up. This sounds bad, and it is- but as it is just an optimisation, it isn't strictly necessary, so we can remove it for now.
The optimisation was turning a remove entity op into all of its respective remove components. This depends on the state in the view being in sync with the removed components set by the worker sdk. This should hold, but for whatever reason there were more components in the view than were removed by the worker sdk- this is bad, and resulted in reserving too little memory for the remove component ops as created by the optimisation.
This PR changes this to instead use the ops output by the worker sdk wholesale, and not short circuit entity removals. This does mean we may process more ops than required in the case of an entity flicker, however this is a more desirable outcome than frequent segfaults.
The fact that the view and the remove ops are out of sync is still a genuine issue that this doesn't fix. It is unclear if that will break anything else.
See the ticket (linked by prow) for more information on the investigation

Is there a ticket tracking the underlying bug that still exists but this fix sidesteps?

@simonsarginson we didn't have it when the PR was first raised, but now I'm fairly convinced the underlying issue is tracked in this ticket https://improbableio.atlassian.net/browse/UNR-4576


The "Delegate Type Could Not Be Inferred" when customizing error responses

I have a build error: 'Delegate Type Could Not Be Inferred' when I try to customize the error response using the following code:
app.UseFastEndpoints(x =>
{
    x.Errors.ResponseBuilder = (failures, _, statusCode) => failures.GetProblemDetail();
});

i believe this only pops up with rider + .net 9.
can you try dotnet build in a terminal and see if it builds correctly?
also, what happens if you switch the project sdk to .net 8? compiles correctly in rider yes?
if it does, this needs to be reported to jetbrains i'm afraid.
a workaround would be to fully define the delegate like this:
c.Errors.ResponseBuilder = (List<ValidationFailure> failures, HttpContext ctx, int status) =>

it's a bug in rider: https://youtrack.jetbrains.com/issue/RIDER-119972
should get fixed eventually.


Translation from .preset to .json

From version 4 of PulseEffect, the preset format has been completely changed, and it's not back compatible.
The preset currently in the repo are not usable anymore.
Is it planned to translate them to json format or everybody should take care of it on it's own?

I know, but I assure you I'm going to translate the presets to JSON (I hope I'll do it during this week)

That's great to hear, thanks!
And no hurry, of course ;-)
Looking at the json after saving an preset, they seem similar, with some main difference. I was actually thinking if it may make sense to create a script for automated translation, but I'm not sure if it's worth it.
I've also noted that now in the json file the effects are organized into "input" and "output", istead of having "app-" or "mic_" in the name.

I've managed to publish one preset. I had to use a limiter to prevent audio clipping, because I can't find the master channel on the equalizer.
Now I'm full of exams, so I can't spend much time on adjusting it, but when the exam session will finish I'll further investigate on how to improve the presets :)

Thanks a lot, and good luck for the exams!
I've tried a bit, and I disabled the Limiter, since it actually distorts a bit (it limits volume peaks, not linearly).
To control clipping I used instead the master Input and Output of the Bass Enhancer, and it seems to work ok for now.
I really hope they bring back the master channels to the equalizer, though...

I am running Solus distro, running PulseEffects 3.2.3 and cannot locate the presets folder.
I attempted to search for the four I have created as a way to identify the path, no luck.
Any suggestions?

Mmmh, I never used Solus, as far as I know it uses a custom package format.
Anyway, have you tried searching with find . -name "PulseEffects"? Try running the command in your home directory :)

I normally use the 'locate' command for this kind of task (make sure your 'updatedb' is run periodically, which should be, but I'm not familiar with Solus).

The next release of PulseEffects has a master channel control! Whenever I'll receive the update I'll update the preset ;)

Ok, I've updated the presets accordingly, let me know if it's all good ;)


 Probably time to clean it up.
TODO

[ ] Identify validation warnings
[ ] Fix them up

Hey @kanerogers could I get a bit more info on this one when you have a chance? Is there a certain example where I would see some of these validations warnings?
I see a ton of println statements for vulkan stuff when running the crab saber example and an error when exiting the application via the window close button but that's about it

@louisgjohnson As discussed on Discord, I think these may not be in the simulator! Investigating now


Revert "Fix generic types for ReactElement"

Hello,
I'm sorry I forgot about this pull request, actually it's a mistake, the current typings work fine.
Reverts cantide5ga/typed-react#5

I mistakenly merged this as well so plenty blame to go around.  Thanks for the quick response!  Registry hasn't been updated to use the latest commit hash yet so we are good.


Support for dev server

🚀 Feature Request
Is your feature request related to a problem? Please describe.
I would like to append css to the shadow dom - a feature which is currently unsupported by Vite (https://github.com/vitejs/vite/issues/11855). This plugin currently works great on vibe build, but does not run at all on vite (development server). My understanding that this is by design - https://github.com/marco-prontera/vite-plugin-css-injected-by-js/blob/main/src/index.ts#L40.

Describe the solution you'd like

I would like the plugin to run on the vite command (development server) as well as vite build

Describe alternatives you've considered

I currently have environment specific code which ensures the shadow dom is only used in production. But it is not ideal to have two different code paths.

Additional context

@bytestream Could you give me a sample repository so I can do some testing directly?

@marco-prontera sure, see https://github.com/bytestream/vite-plugin-css-injected-by-js-demo

Good morning @marco-prontera! Did you have the chance to take a look into this?

Hi @felixpaq, I'm working on it ;)

@bytestream have you tried?

@marco-prontera it works a treat on my sample repo 👀 the removeStyleCodeFunction didn't seem necessary for my use case - the whole page gets refreshed on changes. Thanks very much for your efforts!

Available in v3.4.0, thank you!


Fixes .env file lookup

fixes issue #443

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix_env_issue" git@github.com:surajnarwade/libcompose.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

cc @vdemeester  @joshwget

cc @joshwget

LGTM

@vdemeester done :)


[add-resource] New Plugin/Theme

I would like to add my new plugin/theme to the Grav Repository.
Here are the project details: https://github.com/noppingen/grav-plugin-file_exists

@noppingen, Just curious...
Looking at the example shown in the repo of the plugin, I'm afraid I fail to see the added value. The example can easily be implemented using build-in Grav functionality as shown below.
{% set image = page.media['_header.jpg'] %}           {# get image from current page's folder #}
{% set image = media['theme://images/_header.jpg'] %} {# get image from folder '/user/themes/<current theme>/images' #}

{# Show image if found #}
{% if image %}
    {{ image.html('Header - ' ~ page.title) | raw }}
{% endif %}

Oh, yes - you're right. Might be the reason for me not finding an existing plugin for this application.
closed-youreblind-wontfix
Thank you!

... then use the plugin for testing dynamically generated files files outside the grav folder stucture for including them :P

Wouldn't a simple symlink to a file outside the Grav folder be more efficient then starting/invoking a plugin?

I appreciate the effort put into this but I don’t think it’s a fit for the plugins repository.
As noted above the plugin’s logic you have can already be achieved via twig and the built in media object. Moreover, if you were really looking for ways to simplify @pamtbaau ‘s code, you could delegate your theme or a custom plugin with a Twig function.
By all means if this plugin works for you, you should keep using it as a custom one, however having it published in the repository I’m afraid would just add confusion and not really add anything to what Grav already offers.
Again thank you for the time put into it, I hope to see another plugin submission from you!


Electrical TOC not rendering properly

This is the table of content in the Hardware -> Electrical page.
Only one indicator renders properly

I usually use Chromium on Ubuntu 20.04.
It does not render in standard Google Chrome either.
I tired with firefox and it renders properly there.

Interesting; I am using Chrome on Windows 10 (v98.0.4758.82) and it's rendering. Can you go here and tell me what you see?

I'm sorry that this seems like a system configuration problem, not a problem with the docs site.

For what is worth I see the same thing in Chrome, version 97.0.4692.71

I am open to removing emoji from the docs site, or taking them out of the TOC and adding them to the body with a note that they may not render if you're not up to the most recent Unicode.

I think maybe we should decide on a minimum Unicode version to support. Here are the release dates: https://unicode.org/history/publicationdates.html

@alsora just for our knowledge, can you see the following:
Added in Unicode 12: 🦩
Added in Unicode 11: 🦡
Added in Unicode 10: 🦔
Added in Unicode 9: 🦐
Added in Unicode 8: 🦄
Added in Unicode 7: 🐿


In GPIO output can not use subtopic (module: beaglebone)

Hi,
At first, I would like to thank you for this script which is very easy to install and use.
Describe the bug
I use beaglebone module with an output name as subtopic (I think is the same in input but I haven't tested) :
digital_outputs:
  - name: living/porch_light
    module: bb
    pin: 'P9_15'
    on_payload: 'on'
    off_payload: 'off'

When I start mqtt-io, the subscription to this topic is OK :
2021-04-18 13:47:13 mqtt_io.server [INFO] Subscribed to topic: 'home/output/living/porch_light/set'
2021-04-18 13:47:13 mqtt_io.server [INFO] Subscribed to topic: 'home/output/living/porch_light/set_on_ms'
2021-04-18 13:47:13 mqtt_io.server [INFO] Subscribed to topic: 'home/output/living/porch_light/set_off_ms'

But when I send a message to this topic, I have a warning in log :
Send payload with hbmqtt_pub :
bash-5.0# hbmqtt_pub --url mqtt://user:password@localhost:1883 -t 'home/output/living/porch_light/set' -m 'on' -q 1
[2021-04-18 16:17:51,936] :: INFO - hbmqtt_pub/1949-homeassistant Connecting to broker
[2021-04-18 16:17:51,945] :: INFO - Finished processing state new exit callbacks.
[2021-04-18 16:17:51,945] :: INFO - Finished processing state connected enter callbacks.
[2021-04-18 16:17:51,945] :: INFO - hbmqtt_pub/1949-homeassistant Publishing to 'home/output/living/porch_light/set'
[2021-04-18 16:17:51,947] :: INFO - Finished processing state connected exit callbacks.
[2021-04-18 16:17:51,947] :: INFO - Finished processing state disconnected enter callbacks.
[2021-04-18 16:17:51,947] :: INFO - hbmqtt_pub/1949-homeassistant Disconnected from broker

Receive payload with hbmqtt_sub :
bash-5.0# hbmqtt_sub --url mqtt://user:password@localhost:1883 -t 'home/output/living/porch_light/set'
[2021-04-18 16:17:43,185] :: INFO - Finished processing state new exit callbacks.
[2021-04-18 16:17:43,185] :: INFO - Finished processing state connected enter callbacks.
on

Warning in mqtt-io :
2021-04-18 14:17:51 mqtt_io.server [WARNING] No digital output config found named 'living'
It's ok when I don't use a subtopic like :
digital_outputs:
  - name: porch_light
    module: bb
    pin: 'P9_15'
    on_payload: 'on'
    off_payload: 'off'

Thanks,
Spiritkill
My configuration :
config.yml.txt
System:

OS: AM3358 Debian 10.3 2020-04-06 4GB SD IoT
Python version: 2.7.16
Python3 version: 3.7.3
User you're running as: debian
Using a virtualenv?: yes

Oh interesting. Yeah, I've not considered the output name having a slash in. Thanks for the report, I'll have a look next time I've got some time to work on the project.


[Suggestion] Add a "View Output" button in the notification after uploading local settings

OS: Windows 10
Build Version: 20201011.1
Repro Steps:

Upload local settings to web app.
Check the notification.

Actual:
There is no "View Output" button in the notification after uploading local settings.

Suggestion:
Add a "View Output" button in the notification after uploading local settings.

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this issue has received less than 5 community upvotes and we closed it. Still a big Thank You to you for taking the time to create it! To learn more about how we handle issues, please see our documentation.
Happy Coding!


ToCode Solution: תרגול פונקציות

01: Interesting that you compare the types to other calculated types, though it would be clearer if you compare them to 'int' and 'float'.
02: ... and to 'str' in this case


ceph-mon: automatically set chooseleaf type if needed

Fixes: https://github.com/ceph/ceph-salt/issues/100
Signed-off-by: Nathan Cutler<EMAIL_ADDRESS>

We should probably think about this before merging it: on the one hand, it does fix the single-node deployment case. On the other hand, someone might be surprised that chooseleaf gets set to "osd" when deploying only one OSD node - especially if they intend to deploy additional OSD nodes later.
That's why I suggested to implement a more generic feature enabling the user to specify settings for the bootstrap ceph.conf - something like:
ceph-salt config /BootstrapCephConf/Global "osd crush chooseleaf type = 0"

Right now, this is the only option for deploying a single-node cluster (other than letting it be deployed with the wrong CRUSH map and then changing the CRUSH map post-deployment).


Update helm chart to respect helm template --namespace flag

Describe the solution you'd like
Helm template should respect --namespace. Currently serviceaccount.yaml and deployment.yaml don't respect `--namespace.
What is the added value?
Make it easy to deploy templated manifests without manually needing to add the namespace. Helpful for automation.
Give us examples of the outcome
helm template deploy/charts/external-secrets external-secrets --namespace "external-secrets" will add the namespace to outputted manifests.
Observations (Constraints, Context, etc):
The node version of external secrets uses this which I believe will add the namespace to the output manifest.

fixed by #337 closing


Fix to README.md from my prior contribution

Documentation was updated, but did not include link in TOC

Hi,
thanks a lot for that! I oversaw this somehow ;).
Regards,
Guy


Inserts a new UI to the orga-layer

Adds a "global" headbar which contains an account-button
The orga-layer has also a side-navigation

Mobile handling
In mobile mode: Toggling sidenav
Structure level within a meeting (inherited from default_structure_level)
Operator's name to the left of the account-button
Organization's name in the global-headbar thinner and smaller (weight: 400 & size: 16px)
Present/unpresent of the operator below to the operator's name

[ ] Remove the relations to committees | meetings from the orga-tag-list
[ ] operator-information: first-line -> 12px & sub-line -> 10px
[ ] Divider after "Committee management" 2px lower
[ ] The meeting-lists in the dashboard should grow dynamically
[ ] The active meetings in the dashboard should have a light-blue color
[ ] The dashboard's title should be aligned by the meeting-list-boxes (font-size: 30px + optional organization's description below with font-size: 14px)

Talked to es und mp, adjust like follows:

The new icons are:
"event_available"
"auto_awesome_mosaic"

The top icon is:
"apps"


Add support for ChromaDB (trychroma.com)

ChromDB integration in Guardrails VectorDBStore
Allows leveraging chromaDB developement to encode unstructured data in guardrails
How can this help?*
Tasks relying on embedding based retrieval.
Implementation details
Augment guardrails/vectordb/

I can't assign it to myself but I will work on sending a PR for it soon. cc @ShreyaR

Thanks for creating the issue @345ishaan! Just assigned it to you


Node Selector for Helm Install on Kubernetes w/ Windows Nodes

Is there a way to set a node selector when installing the dapr runtime on a Kubernetes cluster that includes a Windows node pool?
Without it, it's trying to put my dapr-system pods onto Windows nodes.
Thanks for any pointers or help.

linking #842
@cwiederspan We're prioritizing the work to run dapr on windows nodes.
cc/ @msfussell @orizohar @yaron2 @amanbha

@msfussell @orizohar @yaron2 @amanbha Do we deliver windows container image in this milestone?

@msfussell @orizohar @yaron2 @amanbha Do we deliver windows container image in this milestone?

I think we should. It's not a lot of work and would open up more scenarios.

@msfussell @orizohar @yaron2 @amanbha Do we deliver windows container image in this milestone?

I think we should. It's not a lot of work and would open up more scenarios.

Yes, lets do it in 0.9.0

we also need to set up windows node aks to run e2e tests..

Is there a way to set a node selector when installing the dapr runtime on a Kubernetes cluster that includes a Windows node pool?
Without it, it's trying to put my dapr-system pods onto Windows nodes.
Thanks for any pointers or help.

We set a taint on the windows nodes to block dapr from scheduling to them. Then they all deployed to linux nodes.

Let's discuss it more on #842 and mark this as 0.9.0 release.
I am closing this issue as a dupe - https://github.com/dapr/dapr/issues/842


tf.io.write_file truncates the file everytime

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): 2.0
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
tf.io.write_file is not able to append to the file. I have a scenario where I want to write the output of the network (text generation) to a file. However I use sharded execution of tf.function which writes to different files (suffixed by the shard range) so that I can handle the total billion range. This is not possible through current available API
Will this change the current api? How? A parameter to tf.io.write_file to append to the file.
Who will benefit with this feature? All users
Any Other info.

Please post a code sample showcasing the bug

Tested on tf-nightly, there is no bug:
Python 3.7.3 (default, Apr  3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'2.1.0-dev20191024'
>>> tf.io.gfile.GFile('x', 'w').write('xyz')
>>> tf.io.gfile.GFile('x', 'w').write('asdf')
>>> tf.io.gfile.GFile('x', 'r').read()
'asdf'
>>> tf.io.gfile.GFile('x', 'a').write('xyz')
>>> tf.io.gfile.GFile('x', 'a').write('asdf')
>>> tf.io.gfile.GFile('x', 'r').read()
'asdfxyzasdf'
>>>

Tested on tf-nightly, there is no bug:
Python 3.7.3 (default, Apr  3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'2.1.0-dev20191024'
>>> tf.io.gfile.GFile('x', 'w').write('xyz')
>>> tf.io.gfile.GFile('x', 'w').write('asdf')
>>> tf.io.gfile.GFile('x', 'r').read()
'asdf'
>>> tf.io.gfile.GFile('x', 'a').write('xyz')
>>> tf.io.gfile.GFile('x', 'a').write('asdf')
>>> tf.io.gfile.GFile('x', 'r').read()
'asdfxyzasdf'
>>>

however,
tf.io.gfile.GFile could not open file when filename stored in tf.tensor while tf.function could
this is especially important inside tf.function


Implemented faker to create better diverse data

I've implemented faker and replaced the logic for both name_gen and password generator, you could go further and make the password somewhat match the fake persons identity using more of the modules features but It's just an idea for now, as not everyone has a generic password which is scrambled with a couple numbers and symbols dotted in.
I also included many different countries using the faker module which diversifies the data pool and makes it harder to spot fake data.

Here's the link to fakers documentation if you find anything else interesting to add: https://faker.readthedocs.io/en/master/

Nice I implimented your way to my code!

I've just added proxy randomisation from the https://pypi.org/project/free-proxy/ module.
Tested and works on my development environment.

for the faker implementation see #3 #10 and #21
(for better passwords #24)


missing  files

batch_transform is missing in utils file?

You need to build the utils to get access to that function. C++ code lives here:
https://github.com/mitmul/ssai-cnn/blob/master/utils/src/transform.cpp#L100

Thank you for your reply.
I did and it works with me.
Sent from my iPhone
On Jul 21, 2016, at 1:29 AM, Robin Kraft <notifications<EMAIL_ADDRESS>wrote:
You need to build the utilshttps://github.com/mitmul/ssai-cnn#build-utils to get access to that function. C++ code lives here:
https://github.com/mitmul/ssai-cnn/blob/master/utils/src/transform.cpp#L100
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mitmul/ssai-cnn/issues/1#issuecomment-234089099, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIE9theuU0mxXA33WLiGDLHI3B93pux7ks5qXpMvgaJpZM4JOvP1.

Two more questions?

If I want to enable GPU, what I should do?
Should I enable one or more GPU(s)  as following: python train.py --gpu 1 or python train.py --gpu 2 ??

I would like to try with 5 classes. As long as I know, imread doesn't work with image of 5 channels, so, how to run your method with five classes?
Do you advise me to use CIS? each class in each image (5 images).

Rgs,
Rasha

From: Robin Kraft<EMAIL_ADDRESS>Sent: Thursday, July 21, 2016 1:29 AM
To: mitmul/ssai-cnn
Cc: Rasha Alshehhi; Author
Subject: Re: [mitmul/ssai-cnn] missing files (#1)
You need to build the utilshttps://github.com/mitmul/ssai-cnn#build-utils to get access to that function. C++ code lives here:
https://github.com/mitmul/ssai-cnn/blob/master/utils/src/transform.cpp#L100

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mitmul/ssai-cnn/issues/1#issuecomment-234089099, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIE9theuU0mxXA33WLiGDLHI3B93pux7ks5qXpMvgaJpZM4JOvP1.

Hi guys,
I want to use this repo and your pre-trained models to check and see if it works well for segmentation of my data set. If not, I would do training on my dataset. So far, I cannot make out how to use pretrained models to obtain segmented images from my dataset. Is there a tutorial or something that can help me get going?
Regards
Adeel

Also couldn't use the pre-trained model to predict.
In the "Prediction" part, I can't find where "results/MnihCNN_multi_2016-02-03_03-34-58/MnihCNN_multi.py"  is.
Thank you

Thank you for reporting it, you guys. I'll investigate it later. Sorry for inconvenience.

@SarahwXU Could you explain the problem more in detail?

@mitmul, I'm having the same issue as @SarahwXU; for the model (MnihCNN_multi.py), using the pre-trained weights (MnihCNN_multi_2016-01-20_06-22-02/epoch-400.model), the output is merely a 1433x1433x3 array of zeroes.
I've put a single image file (22828930_15.tiff) into test_sat_dir, and the other arguments in predict.py are as follows:

sat_size = 64
map_size = 16
channels = 3
offset = 8
batchsize = 128

Are you able to advise why the model is not giving any meaningful results? Thanks!

All the values in the model output are exactly zeros? Could you give me some statistics of the output values?

Yup, all the values in the output are exactly zeroes (displayed as 0.); tried to multiply by 255 as well but to no avail. In addition, ran max() on the output and it confirms that all the values in the output are zeroes.
Is it that another set of weights should be used? You seem to have provided other weight files (e.g. MnihCNN_multi_2016-01-20_06-22-02_1.372101/epoch-400.model) besides MnihCNN_multi_2016-01-20_06-22-02/epoch-400.model; do they mean something?

OK, I actually almost forgot what my scripts are doing cause like so long time has passed after I ran my scripts last time. Well, could you provide the command you ran? I'd like to reproduce the problem first. Thanks.

@mitmul, no worries, haha; the command I used for prediction was as per what you stated in readme..md:
python scripts/predict.py
--model models/MnihCNN_multi.py
--param epoch-400.model
--test_sat_dir data/
--channels 3
--offset 8
--gpu -1 &
For the model argument, I used "models/MnihCNN_multi.py" instead of "results/MnihCNN_multi_2016-02-03_03-34-58/MnihCNN_multi.py" as I couldn't find the "results" folder you were referring to.
Similarly, for the param argument, I used "epoch-400.model" (downloaded from MnihCNN_multi_2016-01-20_06-22-0) as I couldn't fid the "results/MnihCNN_multi_2016-02-03_03-34-58" folder you stated in readme.md.
I also set the gpu argument to -1 as I currently don't have a GPU.

Have found the issue; the canvas which is worked on by tile_patches() is not being output into get_predict() and hence, the canvas created in get_predict() remains blank - have modified the way the multiprocessing is done to output the canvas


dart2js type bounds tasks

Generic types should to display type parameters, even when dynamic or missing.
Types are displayed via o.runtimeType and in TypeError (CastError) messages.
When displayed in a TypeError message, the type parameters may have been erased:
class Foo<T extends num> {}
main() {
  dynamic f = new Foo<int>();
  List<String> a = f;
}

When Foo.T has been erased, should the message display without the types, or with the defaulted (incorrect) bounds, or some indicator?
TypeError: Instance of 'Foo': type 'Foo' is not a subtype of type 'List<String>'
TypeError: Instance of 'Foo<num>': type 'Foo<num>' is not a subtype of type 'List<String>'
TypeError: Instance of 'Foo<?>': type 'Foo<?>' is not a subtype of type 'List<String>'

I think we will go with the raw type for now.
Types will be present if o.runtimeType is present. We will need to revisit this topic if we allow erasure and o.runtimeType, or if we implement partial (allocation-site specific) erasure.

[ ] Change printed raw types

JSArray might still usefully print asJSArray<dynamic> from a Dart allocation and JSArray for allocations from interop code. If the array instance has type parameter erasure, we can't tell the difference!

[ ] Handle types optimized by erasing types
[ ] Default-to-bound in forwarding stubs https://github.com/dart-lang/sdk/issues/32741
[x] Type literals

Change type literals like Set to print as Set<dynamic>.
Default types to bound in type literals. Foo is Foo<num> in class Foo<T extends num> {}
If the type has erased type parameters, omit the type parameters.
Ensure new Foo().runtimeType == Foo is always true.

Type literals are handled by https://dart-review.googlesource.com/c/sdk/+/63820. It doesn't erase type parameters of type literals when the class doesn't need type arguments. This is because type literals created indirectly (through type variable type literals) might still need their type parameters. See the test tests/compiler/dart2js_extra/indirect_type_literal_test.dart.

Anything here for 2.1 or can we bump?


Imported-as names may contain periods

For example, the current parser allows this but cst doesn't:
import Foo as Bar.Baz

This is because of proper instead of properIdent:
https://github.com/natefaubion/purescript-cst/blob/55cc6b29df163491042a93fb75e24dd3313a9779/src/Language/PureScript/CST/Parser.y#L422


Nuxt app stuck at loading page, console throws TypeError: colorMode is undefined

I've installed the module earlier today, and it seemed to work just fine, by edditing the html class value via Firefox's dev tools. However, after trying to implement a @click="$colorMode.preference = 'dark_mode'", my app just stopped working. It gets stuck with a loading page, and the console throws TypeError: colorMode is undefined, it just stops if I remove '@nuxtjs/color-mode' from the nuxt.config file. I've already tried to delete de node_modules folder, reinstall the module and nothing works.
Version
@nuxtjs/color-mode: "2.0.9"
nuxt: "2.15.6"
Apart from what I've already told above, I don't what are the steps to reproduce this error.

It also throws Uncaught DOMException: String contains an invalid character.

@vnakayama It would be helpful to see your code even if you can't reproduce the error, if that's possible.

I hard reseted my code after the error, but the code was something like @click="$colorMode.preference = dark_mode ? 'dark' : 'light'". Manually clearing the cookies for the localhost resolved my issue, I'm terribly sorry for the confusion. I'd still like to know if this click command is somehow wrong.

@vnakayama No problem at all! I just want to make sure it's not a problem in the module. If it reappears, please do ping me and we'll reopen the issue.

Will do, thank you very much for the support!


Remove previous Location screen

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

feature/noelia/site_permissions_launcher

PR #2165

PR #2182

PR #2296   👈
PR #2295
PR #2265

This comment was auto-generated by Graphite.

@nalcalag I think this PR is not in the right state yet. Checking the files changed, I still see too many that have been already changed in other PRs, can you double that? Please confirm when this is ready for review.


zebrad makes multiple identical GetBlocks requests to the same peer on startup

Description
I tried this:

Launch and sync a Zebra instance to the tip
Launch another ephemeral Zebra instance, with the first Zebra in the initial_mainnet_peers

I expected to see this happen:
The new Zebra asks the old Zebra for its initial blocks once.
Instead, this happened:
The new Zebra asked the old Zebra for the same initial blocks 3 times.
Analysis
It is likely that the local peer was the only ready peer, so most of the fanout requests went to it. The issue happens:

at startup on mainnet,
all the time on testnet (sometimes there are only 4-8 peers on testnet), and
on high-latency or congested networks.

These duplicate requests could cause minor performance issues, depending on how Zebra and zcashd respond. We should prioritise this issue based on testing Zebra with zcashd. (Zebra-to-Zebra seems to work fine.)
We could fix this issue by limiting the fanout to the number of live peers, including:

recently live peers in the address book, and
live inbound connections.

We could implement this change using one of these alternatives:
Live outbound :

updating a watch channel using the address book's existing live peer tracking

Live inbound and outbound:

tracking recently ready peers
updating a watch channel

In both cases, the fanout should have a minimum of 1.
Commands
zebrad start -c zebrad.toml
zebrad start -c zebrad-tmp.toml
Logs
Synced Zebra:
Jan 05 14:35:34.214  INFO {zebrad="5f6f9148"}:peer{addr=<IP_ADDRESS>:48708}:run:msg_as_req{msg=getblocks}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final_height=Height(500) response_len=500 chain_tip_height=Height(1100999) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.359  INFO {zebrad="5f6f9148"}:peer{addr=<IP_ADDRESS>:48708}:run:msg_as_req{msg=getblocks}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final_height=Height(500) response_len=500 chain_tip_height=Height(1100999) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.507  INFO {zebrad="5f6f9148"}:peer{addr=<IP_ADDRESS>:48708}:run:msg_as_req{msg=getblocks}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final_height=Height(500) response_len=500 chain_tip_height=Height(1100999) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:44.932  INFO {zebrad="5f6f9148"}:peer{addr=<IP_ADDRESS>:48708}:run:msg_as_req{msg=getblocks}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final_height=Height(1496) response_len=500 chain_tip_height=Height(1100999) stop_height=None intersection_height=Some(Height(996)

Unsynced Zebra:

```
Jan 05 14:35:12.854  INFO zebrad::components::metrics: Initializing metrics endpoint at <IP_ADDRESS>:29999                                                                                Jan 05 14:35:12.854  INFO {zebrad="dc5e9502"}: zebrad::commands::start: Starting zebrad
Jan 05 14:35:12.854  INFO {zebrad="dc5e9502"}: zebrad::commands::start: config=ZebradConfig { consensus: Config { checkpoint_sync: false }, metrics: MetricsSection { endpoint_addr: Some(0.0.0
.0:29999) }, network: Config { listen_addr: <IP_ADDRESS>:29233, network: Mainnet, initial_mainnet_peers: {"dnsseed.str4d.xyz:8233", "<IP_ADDRESS>:48233", "mainnet.seeder.zfnd.org:8233", "127.0.
0.1:28233", "<IP_ADDRESS>:28233", "mainnet.is.yolo.money:8233", "<IP_ADDRESS>:28233", "<IP_ADDRESS>:48233", "<IP_ADDRESS>:48233", "dnsseed.z.cash:8233"}, initial_testnet_peers: {"testne
t.is.yolo.money:18233", "dnsseed.testnet.z.cash:18233", "testnet.seeder.zfnd.org:18233"}, peerset_initial_target_size: 50, new_peer_interval: 60s }, state: Config { cache_dir: "/home/dev/.cac
he/zebra", ephemeral: true, debug_stop_at_height: None }, tracing: TracingSection { use_color: true, filter: Some("info"), endpoint_addr: None, flamegraph: None }, sync: SyncSection { max_concurrent_block_requests: 50, lookahead_limit: 2000 } }
Jan 05 14:35:12.854  INFO {zebrad="dc5e9502"}: zebrad::commands::start: initializing node state                                                                                Jan 05 14:35:12.855  INFO {zebrad="dc5e9502"}: zebra_state::config: the open file limit is at or above the specified limit new_limit=1024 current_limit=1024 hard_rlimit=Some(524288)
Jan 05 14:35:12.868  INFO {zebrad="dc5e9502"}: zebrad::commands::start: initializing chain verifier
Jan 05 14:35:12.883  INFO {zebrad="dc5e9502"}:init{config=Config { checkpoint_sync: false } network=Mainnet}: zebra_consensus::chain: initializing chain verifier tip=None max_checkpoint_heigh
t=Height(419581)
Jan 05 14:35:12.883  INFO {zebrad="dc5e9502"}: zebrad::commands::start: initializing network
Jan 05 14:35:34.038  INFO {zebrad="dc5e9502"}: zebra_network::peer_set::initialize: Sending initial request for peers
Jan 05 14:35:34.038  INFO add_initial_peers: zebra_network::peer_set::initialize: Connecting to initial peer set initial_peers={<IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2607:5300:203:f62::]:
8233, <IP_ADDRESS>:8233, [2a01:4f8:141:40d8::2]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:28233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:
8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:48233, [2a02:7b40:c287:513d::1]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a02:c207:2022:9236::1]:8233, <IP_ADDRESS>:8233, 1
<IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f8:b0:920a::5502]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, 173.249.
20.4:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f8:140:2393::2]:8233, 192.168
.215.108:28233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:28233, <IP_ADDRESS>
:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f9:4b:
42cb::2]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f9:4a:1e15::2]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, 34
.67.71.42:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:7e01::f03c:92ff:fea1:ec5]:8233, <IP_ADDRESS>:8233, [2a01:4f9:c010:7391::1]:8233, <IP_ADDRESS>:8233, 192.
168.215.106:48233, <IP_ADDRESS>:48233, [2001:41d0:303:d64b::]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f8:13b:cc5::2]:8233, <IP_ADDRESS>:823
3, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233, [2a01:4f8:173:230a::2]:8233, <IP_ADDRESS>:8233, <IP_ADDRESS>:8233}
Jan 05 14:35:34.038  INFO listen{addr=<IP_ADDRESS>:29233}: zebra_network::peer_set::initialize: Opened Zcash protocol endpoint at <IP_ADDRESS>:29233
```

Jan 05 14:35:34.046  INFO {zebrad="dc5e9502"}: zebrad::commands::start: initializing syncer
Jan 05 14:35:34.047  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: starting genesis block download and verify
5:34.050  INFO {zebrad="dc5e9502"}:sync:checkpoint: zebra_consensus::checkpoint: verified checkpoint range block_count=1 current_range=(Unbounded, Included(Height(0)))
Jan 05 14:35:34.052  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: starting sync, obtaining new tips
Jan 05 14:35:34.052  INFO {zebrad="dc5e9502"}:sync:obtain_tips:state: zebra_state::util: created block locator tip_height=Height(0) min_locator_height=0 locators=[Height(0)]

```
Jan 05 14:35:34.269  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders fin
al_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.313  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders fina
l_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.328  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final
_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.332  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final
_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.334  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders final
_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.347  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders fina
l_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.354  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders fina
l_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
Jan 05 14:35:34.384  INFO {zebrad="dc5e9502"}:peer{addr=<IP_ADDRESS>:8233}:run:msg_as_req{msg=getheaders}:inbound:state: zebra_state::service: responding to peer GetBlocks or GetHeaders fina
l_height=Height(0) response_len=0 chain_tip_height=Height(0) stop_height=None intersection_height=Some(Height(0))
...
```

Jan 05 14:35:38.963  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: extending tips tips.len=1 in_flight=499 lookahead_limit=2000
Jan 05 14:35:44.667  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: extending tips tips.len=1 in_flight=997 lookahead_limit=2000
Jan 05 14:35:50.444  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: extending tips tips.len=1 in_flight=1495 lookahead_limit=2000
Jan 05 14:35:55.998  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: extending tips tips.len=1 in_flight=1993 lookahead_limit=2000
Jan 05 14:35:57.229  INFO {zebrad="dc5e9502"}:sync:obtain_tips:checkpoint: zebra_consensus::checkpoint: verified checkpoint range block_count=400 current_range=(Excluded(Height(0)), Included(
Height(400)))
Jan 05 14:36:01.368  INFO {zebrad="dc5e9502"}:sync: zebrad::components::sync: waiting for pending blocks tips.len=1 in_flight=2365 lookahead_limit=2000
Jan 05 14:36:03.539  INFO {zebrad="dc5e9502"}:sync:extend_tips:checkpoint: zebra_consensus::checkpoint: verified checkpoint range block_count=1200 current_range=(Excluded(Height(400)), Includ
ed(Height(1600)))

Since this mainly affects testnet, it is a low priority.

Duplicate of #2214


Azure issuer validation fails for multitenant apps

Using a version from github (so it's got PR #17 included) I had to add a second issuer to list of issuers before I could use loginpass with the AAD v2 endpoint. I validate against the common endpoint in my multitenant app, but the token I get back is iss":"https://login.microsoftonline.com/17b0504e-32de-rest-of-guid/v2.0"
This was my change to azure.py - obviously hard-coding the app in the library is very, very hacky,
def create_azure_backend(name, tenant, version=2):
    if version == 1:
        authorize_url = '{}{}/oauth2/authorize'.format(_BASE_URL, tenant)
        token_url = '{}{}/oauth2/token'.format(_BASE_URL, tenant)
        issuer_url = 'https://sts.windows.net/{}/'.format(tenant)
    elif version == 2:
        authorize_url = '{}{}/oauth2/v2.0/authorize'.format(_BASE_URL, tenant)
        token_url = '{}{}/oauth2/v2.0/token'.format(_BASE_URL, tenant)
        issuer_url = '{}{}/v2.0'.format(_BASE_URL, tenant)
    else:
        raise ValueError('Invalid version')

    local_issuer_url = '{}{}/v2.0'.format(_BASE_URL, '17b0504e-32de-rest-of-guid')
    claims_options = {
        "iss": {
            "values": [issuer_url, local_issuer_url]
        }
    }

I've added claims_options into function parameter.


Remove copyIdeaResources tasks

When we upgraded to Gradle 7 (https://github.com/libgdx/libgdx/pull/6811) an issue was introduced that caused Gradle not to apply optimizations to the execution making builds much slower than they were.
There's this warnings spammed all over the place
Execution optimizations have been disabled for task ':tests:gdx-tests-gwt:javadoc' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: 'XXX\XXX\libgdx\gdx\build\classes\java\main'. Reason: Task ':tests:gdx-tests-gwt:javadoc' uses this output of task ':gdx:copyIdeaResources' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5/userguide/validation_problems.html#implicit_dependency for more details about this problem.

The copyIdeaResources tasks was necessary to run tests from IDEA as it wasn't copying resources found in gdx/res to any classpath output folder which caused some tests to crash when unable to find the resource. If I remember correctly, this was an issue only on some backends such as Lwjgl3.
I've run tests  without the task on IDEA 2022.1.3 and the resources are copied to /build/resources and available on classpath. I've made sure I Clean Project (and run cleanGradle task as well) before testing and it seems to work. I have no idea why it works now so, before approving or merging this please test it yourself to make sure I haven't made a mistake.

I think that was if you run without using Gradle as the build system in the IDE?

Yeah, true, I rememeber now! I've tested and it still fails to find resources if setting IDEA as the tool to build and run (Settings -> Build, Execution, Deployment -> Gradle -> Build and run using).
I think it's not a big deal to require IDEA to require using Gradle as build system on IDEA if you want to run tests (we can add it to the wiki). For the time being I would merge this to improve build times and get rid of all the ugly warnings.

I think this is fine too. There are workarounds that you can do with idea to make sure those resources are processed with the other build mode, which I do a lot in projects to speed things up, so I'm fine with this.

I'm a bit confused about something though. How a Gradle task fixes running on IDEA if it doesn't use Gradle to run?
I've now tested on Master using IDEA as "build and run" tool and after cleaning everything and I've reproduced the issue (for example run Lwjgl3 test and CullTest). Isn't it already broken independently of this change?


Prepare docker-compose and README for local testing

The goal here would be to provide an alternative to the current solution for local testing (namely installing and running all different services by hand). After a first iteration, we can ask some interested people to have a shot at it - and review its pain points.
If all goes well, some of the long-term results could be:

User can run a demo and at least view some images without installing napari
We can deprecate sqlite - depending on how tests with different people go.
If we ever add a new service (e.g. a workflow manager, or a user manager), it would be simpler to add it to the local testing.

This requires

https://github.com/fractal-analytics-platform/fractal-containers/issues/70. This is especially useful to mitigate point 3 below (mapping of zarr paths).
Testing a non-power-user end-to-end approach on different OSs (see https://github.com/fractal-analytics-platform/fractal-containers/issues/17).
Making a decision on where to store data (images and zarr). Most likely solution (for the moment): use /tmp, which is mapped to /tmp also within the container.
Produce clear and simple README.

cc @lorenzocerrone


Calling all students: what was your favorite introduction to computer science?

Hello everyone,
For the next version of the curriculum, I am currently planning for the "Intro CS" section to consist of a small number of community-generated recommendations. Since experience has shown that it is impossible to arrive at a consensus for "one intro to rule them all", I'm looking for a handful of resources that cover a wide spectrum of student backgrounds. New students should be able to choose one resource out of these recommendations, probably by matching their own personal backgrounds to the backgrounds of the people who recommended a certain resource.
The purpose of Intro CS is to get students' feet wet and inspire them to continue with the rest of the curriculum. Besides the fact that it does need to be some sort of introductory resource, I don't have specific requirements for what content is taught or the manner/format of teaching, as long as it's not irrelevant. The rest of the curriculum starting with Core CS won't make any assumptions about what content students did or did not learn in Intro CS.
My requirement is instead that the Intro CS material be of high overall quality, unlikely to disappear from the Internet, and emotionally engaging/inspiring for you, given your background, interests, and tastes. So I'm asking that you share your story, including what background you had in CS and/or programming before starting the material, and what it was about the resource that inspired you to pursue studies in CS. We might directly share some student testimonials whose purpose would be to indicate to a new student whether this is the right resource for them to choose.
In the last week of December we'll select 3-5 to put into Intro CS, with the criteria for selection based on variety. Specifically:

Each video-based course we select should be very different
Each text-based resource (which could be a book or a tutorial) should be very different
However, we can group text-based resources together with video-based, i.e. same content for the same backgrounds, but different formats for different learning styles (or bandwidth limitations)

If you're like me...
Perhaps you come from a technical background, but you never learned any coding – or you did it so long ago, you forgot nearly everything you learned. You see data all day long at your day job, and Excel just isn’t cutting it anymore… but you don’t (yet) know where to go from there.
Math may or may not be your friend, but you can multiply and divide, and you know what squares and square roots are (even if you haven’t done them in a while). If you vaguely remember logs and exponents, or sines and cosines, it’s helpful, but not necessary. If you’re a math whiz, all the better; if not, it’s okay.
You suspect that numbers and statistics have a story to tell, if only you can learn how to read them. Your interests might lie in analysis, data science, machine learning, or maybe even web apps. You’re attracted to OSSU because you suspect that a deep knowledge of algorithms and databases is the key to solving all the problems you want to solve. You’ll get there in time…
But for right now, you just want to learn to code. You want to get up to speed in a language widely used in industry and in practice. Once you leave this course, you want to be able to actually do something with the knowledge you’ve gained. And you want to start today, if possible.
You work best in small, quick hits. You don’t have the time, or the patience, or the concentration, or the sheer force of will, to sit down and watch 90-minute lectures or read some boring book about code. You get your motivation through a long series of quick wins.  You want to see yourself getting progressively better, more competent week after week.
But you don’t want the bootcamp experience – all fluff, no substance. You want to understand WHY you’re doing what you’re doing – after all, you’re interested in computer science, not just programming – and you want to learn principles that you can take to other languages.
Most of all, you need a course that doesn’t assume anything – it teaches you from the ground floor, step by step, building all the way. It doesn’t throw you to the wolves and expect you to keep up.
I can’t tell you what to do – but I can tell you what worked for me…
…and if you’re like me, then maybe it’ll work for you too.
Here's what I'd recommend
Step 1: Take the Georgia Tech CS1301 Computing In Python series on EdX.
Why these courses? CS1301 is a very beginner-friendly introduction to fundamental computer science principles and to the Python language, and doesn't assume any prior CS or programming knowledge. Its biggest strength is the sheer number of 3-5 minute coding problems which help you retain knowledge and build confidence as a programmer. Homework assignments and end-of-unit tests help you see how far you've come. The course is self-paced with open entry; you can begin today.

Courses
Duration
Effort

Computing In Python, Part I: Fundamentals and Procedural Programming
4 weeks
10 hours/week

Computing In Python, Part II: Control Structures
4 weeks
10 hours/week

Computing In Python, Part III: Data Structures
4 weeks
10 hours/week

Computing In Python, Part IV: Objects & Algorithms
4 weeks
10 hours/week

Step 2: Take the MIT 6.00 Introduction to Computer Science series on EdX.
Why these courses? 6.00.1x has long been the gold standard OSSU introduction course, but many found it to be too challenging as a first course. Taking this course extends the knowledge gained in CS1301 while providing more practice on harder problem sets. The second course, 6.00.2x, describes how one might use computer science to solve real-world problems in optimization and statistics. It provides context for further study in computer science, and is especially relevant for those interested in data science and machine learning. 6.00.2x does require significant comfort with mathematics through college algebra; the course provides a working introduction to probability and statistics.

Courses
Duration
Effort

Introduction to Computer Science and Programming using Python
9 weeks
15 hours/week

Introduction to Computational Thinking and Data Science
9 weeks
15 hours/week

Step 3: Proceed to the OSSU Core CS Curriculum, starting with How To Code: Simple Data.
Optionally: Dual-enroll or transfer to the OSSU Data Science Curriculum to continue developing familiarity with Python.

Hello everyone,
I followed ossu while CS50 was still in intro to CS with MIT introduction to CS with python. I did both courses and found them very instructive. At first I planned to finish all cs50 but I have to agree with recommendation to abandon it whet it leaves C.
Here is my overview of both classes:

Intro to CS from MIT:

Week 1 introduces you to the world of computation. It makes you think about program as a recipe, idea of abstraction, branching and iterative programs...
Week 2 is about basic data types, functions for abstracting piece of computation, recursion algorithm (strong emphasis on this although I think iterative algorithms are more efficient)
Week 3 more complex data abstractions although they are objects which are more powerful then mere data containers but this is for somebody with more knowledgeable to explain in more details
Week 4  testing and debugging which is not explained well in my opinion. For example only after HTC: Simple data I started to test my functions
Week 5 OOP --> mixed feelings about this
Week 6 big O very well explained

CS 50

Week 0 about computation, imperative knowledge,...
Week 1 lot of topics from how is C source code compiled to program, primitive data types (including arrays), branching, loops, variable scope, constants, command line args, debugging tools
Week 2 sorting algorithms, binary search algorithm
Week 3 memory organization (stack, heap, ...), pointers, file pointers, stdin/stderr/stdout
Week 4 more about memory. compound data (struct), data structures (linked list, heap, trie )
Week 5 here they started to get too broad --> trying to explaine TCP/IP network stack, CSS, HTML,...
Week 6 dynamic programming (I understand it but having trouble to implement it --> idea is to build look up table for known values if computation and use them as heuristics), very very rough intro to python
Week 7 very rough intro to building web apps with Flask framework. Here I stopped because I noticed that it adds now value to fundamentals and introduces to much abstraction that I don't understand how they worked so I stopped

Also I am doing HTC:Simple data and I think it is also recommended as a entry course into OSSU but in my opinion this is not introductory course and it would be best taken after some intro course as it adds systematic approach to design programs and some experience of writing programs before would be great as a foundation to this course
This is it guys hope it helps!

I'm not finished with 6.00.1x MIT's Intro to CS with Python yet and am on the problem set for Week 5, however, I felt the need to speak about this a bit even if this information might not be needed anymore. This is the first time I've been really engaged and motivated to keep up with an introductory CS course. I feel the material and the way it is represented as well as the charisma of the instructor, Eric Grimson, and the difficulty of the problem sets has just been a perfect experience. For whatever reason I found I really couldn't keep myself motivated for CS50 and never got that far in it so I'm really thankful that OSS has pointed me to this.

I would go with CS50... it's the way i started and the way I recommend...
CS50 is a bit heavy than MIT 6.00.1 as it discuss more topics and introducing a variety of topics in computer science so you can have a wide view of the field and how it looks like! unlike 6.00.1 is focused on one area which i don't recommend as an intro.

Lots of great thought here. It has led to an RFC on adding Intro to Programming options to the beginning of the curriculum. Comments welcome! https://github.com/ossu/computer-science/issues/589

@bradleygrant Thanks for the CS1301 recommendation, I will try it this week.
Honestly, I struggled so much with Mitx 6.00.1x pset1, especially the 3rd the question. Hopefully this will prep me up more to handle it better next time.


fix: js library load functionality handling for default exports

Description
When the library which exports as default was installed, it was being handled to add the functionality to the new accessor name generated from the url. This was fixed from the pr : https://github.com/appsmithorg/appsmith/pull/36483
When the application page is refreshed the installed library get loaded again, which was again installing the library to default accessor. This PR handles the accessor to be which was already assigned while installing the library.
Fixes #36530
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true


Remove asterisks and 'if applicable' from initiatives

Description

Remove asterisks and "if applicable" language from the initiative options.
Modified the code that checks if an initiative type has been selected such that it will account for past reports that have the asterisk or 'if applicable' in its name.
Related ticket(s)

CMDCT-3040

How to test

Log in as a state user
Create a WP
Go to initiatives and validate that creating initiatives and the corresponding error message works as expected

Author checklist

[x] I have performed a self-review of my code
[x] I have added thorough tests, if necessary

@cassandradanger could I get a check from you if this covers what the ticket intends, and if not, how to proceed. Thanks!

closing this in favor of a ticket that adds aria labels to asterisks #307


Ability to set hotkey for Default Device and Default Communications Device

I use an Astro a40 headset and use audioswitcher to switch between it and my speakers.  However, to use its game/voice mixamp, I have to set two devices, the default communcations device, and the default playback device.  I'd like to be able to set a hotkey to do each of these things, currently the hotkey interface just sets a device and a hotkey, and it sets either as default, or dualswitches if the appropriate toggle is on.
Example:
Ctrl+Shift+1 sets Device X as default Communications Device, and Device Y as Default Device
Ctrl+Shift+2 sets device Z as both.

Ability to this is covered under 2.0, with it's scripting support you can create different "profiles".


Environment variables in cog.yaml

Cog should have an equivalent to the Dockerfile ENV stanza.
Perhaps something like
build:
  environment_variables:
    MY_VAR: my_value

I implemented a rough draft of this feature. I still need to test it though.

I literally need this to fix a problem in rembg.


Integration with Qt Event Loop

How to integrate it with Qt's event loop? We want to use the features of Qt's signal and slot together with this library.
We have implemented a class to publish messages with Qt's event loop, but don't know if there is a better way. The code is as follows.
#include "lukeeventhandler.h"
#include "amqpcpp/deferredqueue.h"
#include "ev.h"
#include "amqpcpp.h"
#include "amqpcpp/libev.h"
#include "mqtopicpublish.h"
#include <QDebug>
#include <QObject>
#include <QThread>
#include <QTimer>
MQTopicPublish::MQTopicPublish(QString mqAddr, QString exchangeName,QString routingKeyPrefix,
                               QObject *parent) : QObject(parent)
{
    this->exchangeName=exchangeName;
    this->routingKeyPrefix=routingKeyPrefix;
    this->mqAddr=mqAddr;
     auto *loop = EV_DEFAULT;
     // handler for libev (so we don't have to implement AMQP::TcpHandler!)
     eventHandler=new LukeEventHandler(loop);
     // make a connection
     connection = new AMQP::TcpConnection(eventHandler, AMQP::Address(mqAddr.toStdString()));
     channel = new AMQP::TcpChannel(connection);
     channel->onError([](const char *message) {
         qDebug() << "channel error in class MQTopicPublish: " << message <<endl;
     });
     channel->onReady([]
     {
         qDebug()<<"Channel is ready in class MQTopicPublish."<<endl;
     });

     channel->declareExchange(exchangeName.toStdString(),AMQP::topic,AMQP::durable);

     timerRunEv = new QTimer(this);
     connect(timerRunEv,SIGNAL(timeout()),this,SLOT(slotTimerEventRunEv()));
     timerRunEv->start(500);
     ev_run(loop, EVRUN_NOWAIT);
}

//Another class is connected with this using Qt's signal and slot.
void MQTopicPublish::slotPublish(QList<StructProboBufMQ> listProtoData)
{
    if(connection&&channel)
    {
        foreach (StructProboBufMQ pbMQ,listProtoData)
        {
            QString routingKey=pbMQ.routingKey.prepend(routingKeyPrefix);
            channel->publish(exchangeName.toStdString(),routingKey.toStdString(),pbMQ.data);
        }
    }
    auto *loop = EV_DEFAULT;
    ev_run(loop, EVRUN_NOWAIT); //NOWAIT
}

MQTopicPublish::~MQTopicPublish()
{
    channel->close();
    connection->close();
    delete connection;
    delete channel;
}

void MQTopicPublish::slotTimerEventRunEv()
{
    auto *loop = EV_DEFAULT;
    ev_run(loop, EVRUN_NOWAIT); //NOWAIT
}

This is completely wrong and is not using the Qt event loop at all.

We thought the code : ev_run(loop, EVRUN_NOWAIT)  enter the event loop of libev and then leave it after processing.
Using the class implemented, it can successfully publish messages which are emitted from other classes (using Qt's emit macro). So we thought, the Qt event loop is functioning.

ev_run runs the libev event loop, which is (probably) not the same thing as the qt event loop.
But if you want to go into details about Qt and event loops, better go to some Qt support forum or so.

Thank you for your reply.