Tensor Parallelism

Implement Tensor Parallelism (TP) in foundry.
To do:

[x] Make tp_strategy registry
[x] Check TP: if world_size == 1 or training an MoE, don't apply TP
[x] Get the same loss with fsdp and fsdp-tp
[x] Add Tests

Updates:
I compared training 125m param models for 100 steps on c4 with tp-fsdp VS fsdp.

brown = tp-fsdp
gray = fsdp

loss_train_total:

throughput_batches_per_sec:

memory_peak_reserved_mem:

It is okay that we don't see performance improvements here yet -- we'll get those later, in follow up PRs.

Currently, the ffn strategy gives different results when we train fsdp vs fsdp-tp.
See mcli runs:

mpt-125m-tp-fsdp-IHKG5s
mpt-125m-fsdp-8OgGjt

and here are their losses which are visibly different.

Currently investigating...

Will review once loss discrepancy has been addressed. good to see it's at least mechanically working though

brown = tp-fsdp
gray = fsdp

The model weights are initialized with different seeds, causing the loss to not match up at the beginning. But we reach the same loss because we end up making the same gradient updates causes the models see the same data.

Ignore the mpt-125.yaml -- I'm currently using that for testing
We test that trainer works with tp in composer so I didn't add that test here
Any other tests we should add here?

@eitanturok Regarding:

The model weights are initialized with different seeds
would it be possible to init with the same seed? Granted, even then, loss curves may not match up because of how parameters are initialized on different devices and not sure how TP plays with this...might have to init on cpu or something. Anyways, I'd just check but no need to spend a crazy amount of time trying to get the loss curves to exactly match.

@eitanturok Regarding:

The model weights are initialized with different seeds

would it be possible to init with the same seed? Granted, even then, loss curves may not match up because of how parameters are initialized on different devices and not sure how TP plays with this...might have to init on cpu or something. Anyways, I'd just check but no need to spend a crazy amount of time trying to get the loss curves to exactly match.

We use the same seed in trainer. But behind the scenes, we do seed = seed + rank so that every rank has a unique seed. This is what messes things up. What we really want is seed = seed + tp_group_rank, I think. I looked into this a bit but it got quite complex.

Thanks for all the comments, I'm gonna start addressing them!

Should we include a tp-mpt-125m.yaml in the repo?

@eitanturok does checkpointing work now?

@eitanturok does checkpointing work now?

No and it won't with FSDPv1.

@mvpatel2000 @eitanturok ok lets leave the yaml out then

Also can we log a warning when using TP that checkpointing is known to not work?

@dakinggg I just added a warning that checkpointing does not work + give a link to the exact pytorch issue.
One of the tests verifies that the trainer works but it takes too long cause it downloads a dataset. So I will fix this and I think we will be good to go.


Support ElasticSearch 8 and add it into E2E tests

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[x] Update the CHANGES log.

backend-storage.md should be updated if tests passed.


Fix Magyscar boss reward softlocking

When opening Magyscar reward chest, a cutscene rolls immobilizing Alundra. Then, the player is teleported back to his room but the cutscene that is meant to play inside the room doesn't because of the map variants activated for the randomizer world.
Since this second cutscene is the one supposed to give back control over Alundra at its end, the player actually never gets control back, which means this is a softlock.
To fix that, the procedure is quite simple:

Add a breakpoint looking for writes at 0x801F0060 (Alundra's immobilization flag)
Warp to Magyscar reward room
Grab the chest and trigger the breakpoint, showing the event instruction that triggered it
Remove that event instruction

Fixed in 2f2932a


Fe: Front page design

From user testing feedback (CL)

First see some cards
Seems like a game, kind of random selection, no context what I'm looking at
What are the properties on the card?

Battlestats?
Elements?

When loaded as images the frontend is a bit more understandable
Categories like avatars / art is not super obvious (the font is too light grey)

We took a look at non-blockchain gaming sites for some inspiration, will be looking at NFT games next.

Starcraft: https://starcraft.com/en-us/

Video background
Description
Updates
Events
Features

VRchat: https://hello.vrchat.com/

Video background
Jump in now (login/signup)
Description
Highlights (Make friends, Create Worlds, Custom Avatars, Community)
Why you should join
List of features

Fortnite: https://www.epicgames.com/fortnite/en-US/home

New season image + trailer + latest skin
Articles
Battle pass (product)

Roblox: https://www.roblox.com/

Front page is sign up
Press discover

Looks like an app store (full of games)

Hearthstone: https://playhearthstone.com/en-us

Mp4 playing in background
Play free / Learn more
Updates
Blog posts

Thoughts
Few immediate things come to mind on how to improve Webaverse front page: art + description + updates.

I think we could use a main graphic / video + description. The initial reaction to Webaverse is "what is this?" and the cards are all user generated so it looks random.
Place where updates can be posted. The link to the blog site isn't featured anywhere on the frontpage.


What is the NEST equivalent to Newtonsoft.Json.JsonProperty' s handling for setting null values ?

Specifically we are looking to have something like
public class Document
{
  public Guid DocId {get;set;}
   [JsonProperty(NullValueHandling = NullValueHandling.Include)]
   public DateTime? EffectiveDate {get;set;}
//  etc...
}

in order to be able to change the EffectiveDate on a document from some non-null value to a null value.  It seems that NEST is ignoring the request to set the value to null.  How can we set the value to null?

NEST does not support sending null values by default. There are a few reasons for this:

null values when indexing a document are superfluous. They will be persisted in the document store but they won't be indexed in the inverted index and can't be searched on.
a JSON formatter/converter may be generated for the POCO. The generated formatters are optimized for performance, so may not contain branching paths for null values or other features like indentation
There's no way when a POCO is used, to indicate that attributes apply under certain contexts only e.g. send null values when updating, but not when indexing.

this means that the following doesn't work, as you've found
var updateResponse = client.Update<Document, object>(3, u => u
	.Doc(new { EffectiveDate = (DateTime?)null })
);

which ends up sending
POST http://localhost:9200/posts/_update/3?pretty=true
{"doc":{}}

Having said this, I appreciate that updating a document to remove a field value is completely valid use case where sending a null value is useful. A few approaches

Index the document, without the field with the Index API. Indexing overwrites the existing document with the same ID. This does require you to have the values of all the other fields that you want to retain however.

Use the Update API with scripting, to remove the field from _source

var updateResponse = client.Update<Document, object>(3, u => u
	.Script(s => s
		.Source("ctx._source.remove('effectiveDate')")
	)
);

Use the low level Update API to send a JSON string with null value

var updateResponse = client.LowLevel.Update<UpdateResponse<Document>>(
	"index_name",
	"doc_id",
	"{\"doc\":{\"effectiveDate\":null}}"
);

Configure Json.NET as the serializer to use for your documents, by referencing NEST.JsonNetSerializer nuget package and configuring it, then using Json.NET serializer settings

var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(pool, JsonNetSerializer.Default);
var client = new ElasticClient(settings);

var updateResponse = client.Update<Document, object>(3, u => u
	.Doc(new { EffectiveDate = (DateTime?)null })
);


buildLuarocksPackage: ability to self reference extraConfig

Description of changes
makes overrideAttrs for lua packages even more powerful, thus simplifying implementation of buildNeovimPlugin
TODO target staging

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I ran a nixpkgs-review on master with success (aka already failing plugins kept failing, the rest built fine). Merging once CI passes.


Substitution

In the Lambda Calculus chapter, under Substitution, there's first an explanation that in ((\x.e)a) x is replaced by a in e, also written as [x/a]e.
This is immediately followed by (\a.e)x -> [x/a]e which seems like the reverse of what's above to me.
Assuming the second notation is correct (so [x/a]e means 'occurrences of a in e are substituted by x', or ((\a.e)x)), the next example seems not to be in line: [y/x](\y.yx) would be 'occurrences of x in (\y.yx) are substituted by y, or (\y.yy), unlike the text which says (\x.xx), which is equivalent but could be confusing.
Overall: it might be just me but I believe there might be some inconsistencies in those paragraphs. I'd love to send a PR to fix, but I don't know what the proper fix would be.

Sorry about the ambiguity. The notation I intend to use is:
[substitution/replacement] body

So under beta reduction
(\x.e)a

a is bound to the name x in e by the step:
(\x.e)a -> [x/a]e

Which I think I had permuted in the example.

Let me know if it's clearer now.

I'm somehow unable to rebuild and check:
./includes < lambda_calculus.md | pandoc -c css/style.css --template page.tmpl -s -f markdown -t html --standalone --toc --toc-depth=2 --mathjax --highlight-style pygments -o lambda_calculus.html
pandoc: Text.Regex.PCRE.Light: Error in regex: missing opening brace after \o

Note: I had this with other pages before as well.

Curious, I don't know how changing "e" to "a" could cause a pandoc error.
Is it an encoding issue, the files are supposed to be in in utf-8?


pod install fails as of Realm 10.1.2 - No such file or directory

Goals
Tried to run pod install on an example app that implements my SDK. Pod install fails when generating the pods project. Works on Realm 10.1.1, fails on 10.1.2 & 10.1.3.
Expected Results
Pod installs
Actual Results
Errno::ENOENT - No such file or directory @ realpath_rec - /Users/Douwe/Work/Reelgood/Projects/RGKit/RGKitSDK/Example/Pods/Realm/Realm/RLMAccessor.h
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/project.rb:326:in `realpath'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/project.rb:326:in `realpath'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/project.rb:326:in `reference_for_path'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/project.rb:269:in `add_file_reference'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:224:in `block (2 levels) in add_file_accessors_paths_to_pods_group'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:223:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:223:in `block in add_file_accessors_paths_to_pods_group'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:213:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:213:in `add_file_accessors_paths_to_pods_group'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:96:in `block in add_source_files_references'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:95:in `add_source_files_references'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb:46:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator.rb:102:in `block in install_file_references'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:145:in `message'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/pods_project_generator.rb:100:in `install_file_references'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer/xcode/single_pods_project_generator.rb:17:in `generate!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:312:in `block in create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:307:in `create_and_save_projects'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:299:in `generate_pods_project'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:178:in `integrate'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/installer.rb:166:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

Version of Realm and Tooling
Realm framework version: 10.1.1 - 10.1.2 - 10.1.3
Xcode version: 12.1 (12A7403)
iOS/OSX version: Mac OS X 10.15.6 (19G2021)
Dependency manager + version: cocoapods 1.10.0

Could you try doing a full clean and deintegrate before trying to build again?

Yeah already tried pod deintegrate
Ran into this within multiple projects

Have you tried clearing your pod cache as well?

trying it again right now. Not the greatest internet here in Cork so I am hoping the download just failed

......
Should have tried that again before opening an issue. That seems to have done the trick.

No worries. I'll have to tell our friends in Cork to work on their download speeds 😅

Nah, just tell Eir to get the s together.


logic outs

should they attenuate?

Yes i've noticed the 1 volt output is not enough to trigger some module, i've changed some of the logic modules to output 5 instead but had forgotten about the clock divider.
on my list of fixes for next week, i'm busy this weekend.

thanks for the reply! really enjoying your pack! the clkdiv outputs 5v consistently... the logic module seems to be the issue... sorry i didn't make that clear in my screen shot.... nervous to ask, wasn't sure if you had built this just to work with your other modules with logic inputs. no rush thanks for all the work!

Thanks, I had assumed that any positive signal would be enough to trigger other modules but it turns out that is not the case, I've changed to output of the logic module to 5v but you will have to build it from the latest source against the dev version of rack to get that functionality.
I'll check through the other modules for the same issue when I do bug fixes next week.,


Consider Template Generators

There has been some internal discussions about extending nib to do more than simply wrap docker-compose commands. One of those ongoing discussions revolves around providing template generators for commonly used configurations. The idea is to provide sane and consistent defaults for new projects to be shared amongst a team of developers. Thinks like default configuration for CI tools or new project initialization (ie. the scaffold for a new Grape app).
There will need to be some thought put into this. For example, are these templates baked into nib or do you provide some configuration (url, directory) that points to the available templates for your team? I thought this would be a good place to further the discussion.

I think that if we decided to do this in nib we could leverage an existing templating tool, for instance: http://yeoman.io/.
However, I can also see some credence in keeping nib as focused as possible and perhaps creating a separate project for something like this.


Wagtail 4(.1) breaks mark_safe (HTML) in StaticBlock

Issue Summary
Html is not accepted anymore with the new streamfield UI, causing a js error:
vendor.js?v=6bc07103:2 Uncaught TypeError: e.replace is not a function
    at t.escapeHtml (vendor.js?v=6bc07103:2:257795)
    at new t (blocks.js?v=6bc07103:1:29649)
    at t.render (blocks.js?v=6bc07103:1:30013)
    at blocks.js?v=6bc07103:1:41011
    at Array.forEach (<anonymous>)
    at new t (blocks.js?v=6bc07103:1:40600)
    at t.render (blocks.js?v=6bc07103:1:42663)
    at e [as constructor] (blocks.js?v=6bc07103:1:13230)
    at new e (blocks.js?v=6bc07103:1:31349)
    at e._createChild (blocks.js?v=6bc07103:1:37098)

Steps to Reproduce
Use StaticBlock with mark_safe in the admin_text
class ExampleBlock(blocks.StructBlock):
    support = blocks.StaticBlock(label=_("Example"), admin_text=mark_safe(_("View an example of this block here.")))

Technical details

Python version: any compatible version
Django version: 4.x
Wagtail version: 4.x
Browser version: any compatible version

Hey @robmoorman, I see you closed this. Was it because you solved it? Or was it an issue somewhere else? Would be great to get a note, if possible, in case others stumble on this

He @zerolab had to do something with django 4, changed the lazy translation otherwise with mark_safe. Din't found the root cause, but works. Initial thought was wagtail with the new UI (as nothing in code had changed).

Thank you @robmoorman 🙌 Hopefully this will help others should be caught by this


Eligibility transitions

Changes state of eligibility every eligibility form update.
Allowed transitions for User are:
not_eligible -> application_in_progress
application_in_progress -> not_eligible
only.

@dreamfall would you like to check ?

looks good


Revert changes made in PR #1241.

Docs Build status updates of commit e619abf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded

docs/includes/note-yeoman-generator-bug-201908.md
:white_check_mark:Succeeded

docs/quickstarts/excel-custom-functions-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-angular.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-jquery.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-react.md
:white_check_mark:Succeeded

docs/quickstarts/onenote-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/powerpoint-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/project-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/word-quickstart.md
:white_check_mark:Succeeded

docs/tutorials/excel-tutorial-create-custom-functions.md
:white_check_mark:Succeeded

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


Clarify implicit None glob behavior

Updated documentation after discussion with @nguerrera and @dsplaisted regarding how to glob all **\*.sql files as EmbeddedResource items.
Nick/Daniel, I'll also bring this up to FluentMigrator and EasyMigrator GitHub as a tip on how to use the new .NET SDK.  Sometimes it's best just to slap people over the head with examples.

Thanks @jzabroski!


path/filepath: Abs does not call Clean on windows

The filepath.Abs documentation clearly states that "Abs calls Clean on the result", but this is not always true.  This was already noticed and mentioned in this comment on issue #16111, but this one quirk seems to have been missed in the patch.
I understand that changing this behavior to match the docs would break any code that depends on the existing implementation.  If the implementation cannot be changed, the documentation should at least be updated to match the implementation.
go version: go1.7.1 windows/amd64
Run this code from this playground on windows and linux and compare the output
I expected to see a cleaned result coming out of Abs on windows.  I'm using the trailing slash as the indicator that clean was not called.
Instead, I see that Clean was not called by Abs on windows.  A quick comparison of the windows and unix implementations of Abs verifies this inconsistency.

I agree, we should change windows filepath.Abs to call filepath.Clean before it returns. Maybe add new test from your example (https://play.golang.org/p/mSWVatv4ql) to path/filepath.TestAbs .
@psywolf would you like to send a change? See https://golang.org/doc/contribute.html for instructions. Maybe wait couple days to see if others object.
Thank you.
Alex

Interestingly, the check is already in the test.  There just aren't any test cases that triggered it.  I'd be happy to contribute a patch if no one minds the potential downstream breakage.

Ok, this has sat here long enough without objection.  I'll start work on a patch.

@zevdg, did you create the patch?

Yeah, I did.  I just have to get approval from my company's legal to upstream it.  Given how trivial this is, I don't anticipate any problem there.

Ping @zevdg.

legal approved this today.  Will submit this patch tomorrow morning.

code review at  https://go-review.googlesource.com/#/c/32292/


Difference between documentation and schema

Hello,
BuildingBlocks node in schema contains ClientDefinitions node which is not described here. Does it mean that this node is not supported/obsolete?
Best Regards,
jskop

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

ID: 9fcae62a-0cfd-d310-df15-ad163eacac8b
Version Independent ID: 3ec17196-68a3-eb33-d6f7-0d5f7cc55d91
Content: BuildingBlocks - Azure AD B2C
Content Source: articles/active-directory-b2c/buildingblocks.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@jskop Thanks for the feedback. We are investigating the issue and will update you shortly.

@jskop
Thanks for your question!
Are you able to provide a document or example of where you're seeing the ClientDefinitions node within the BuildingBlocks element?

Hi,
Thank you for quick response. I saw this node im starter pack https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/blob/master/LocalAccounts/TrustFrameworkBase.xml

@jskop
I've reached out to our engineering team regarding this issue and will update as soon as possible.
Thank you for your time and patience.

@jskop
Thanks for your patience throughout this issue.
It looks like this is a bug with the TrustFrameworkBase.xml, we've went ahead and filed a bug in the base starter pack and referenced this GitHub issue.
I'll go ahead and close out this thread and if you have any further questions, please feel free to tag me and I'd be more then happy to answer.
Thank you for pointing this out!


adding web dev curriculum, 24 lessons

What does this PR do?
Add resource(s): Web Development Curriculum
For resources
Description
Contains
24 lessons on Web Development covering CSS, JS and HTML
Why is this valuable (or not)?
Mean to be agnostic and cover the web foundations sans a SPA framework.

Theory lessons on JS, HTML and CSS
Projects with solutions, examples of projects Banking App, Space Game, Terrarium, Typing game
Pre/Post Quiz to assess before and after retention.

Meant for students and teachers. The format fits a semester, pace wise.
Supports docsify, supports translation (translates to 4+ languages already)
How do we know it's really free?
MIT licence
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists  in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Followup

Check the output of Travis-CI for linter errors!

outstanding

outstanding


⚠ Bofrost.at has degraded performance

In 79e45bd, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1917 ms

Resolved: Bofrost.at performance has improved in 682b2ba.


Adds ZIP logging on HERE API failure

Description
When we get non-200 responses from HERE we currently have no insight into whether the inputs are bad or if something actually broke. This logs the high level inputs (ZIPs, not lat/long that we use later).

Can we also fix error messages like these: https://github.com/transcom/mymove/blob/master/pkg/route/here_planner.go#L85

@stangah - did you decide this wasn't good to merge for some reason? Or did you find another way to address it?

Yup, this ballooned into #1757

Thanks!


🐛 [firebase_analytics] missing macos platform plugin

The documentation page says macos is supported https://github.com/FirebaseExtended/flutterfire#firebase_analytics
But there is no macos platform implementation available anywhere.

Can I work on this issue?

Sorry for not answering @Krunal3909!
In general, if you want to work on something, raising a PR is the simplest. We would be glad to review them!


The name create_tls_stream is defined multiple times

I'm taking a crack at a Tauri project that uses prisma-client-rust. I was told to create a cargo workspace for this to work and to my best knowledge, I have done so. When I attempt to build either prisma-client-rust or tauri by running cargo --bin src-prisma -- or cargo tauri dev, respectively, I'm greeted by this error.
error[E0428]: the name `create_tls_stream` is defined multiple times
  --> /Users/nagybotond/.cargo/registry/src/github.com-1ecc6299db9ec823/tiberius-0.9.5/src/client/tls_stream.rs:39:1
   |
31 | / pub(crate) async fn create_tls_stream<S: AsyncRead + AsyncWrite + Unpin + Send>(
32 | |     config: &Config,
33 | |     stream: S,
34 | | ) -> crate::Result<TlsStream<S>> {
35 | |     native_tls_stream::create_tls_stream(config, stream).await
36 | | }
   | |_- previous definition of the value `create_tls_stream` here
...
39 | / pub(crate) async fn create_tls_stream<S: AsyncRead + AsyncWrite + Unpin + Send>(
40 | |     config: &Config,
41 | |     stream: S,
42 | | ) -> crate::Result<TlsStream<S>> {
43 | |     opentls_tls_stream::create_tls_stream(config, stream).await
44 | | }
   | |_^ `create_tls_stream` redefined here
   |
   = note: `create_tls_stream` must be defined only once in the value namespace of this module

error[E0252]: the name `TlsStream` is defined multiple times
  --> /Users/nagybotond/.cargo/registry/src/github.com-1ecc6299db9ec823/tiberius-0.9.5/src/client/tls_stream.rs:20:16
   |
14 | pub(crate) use native_tls_stream::TlsStream;
   |                ---------------------------- previous import of the type `TlsStream` here
...
20 | pub(crate) use opentls_tls_stream::TlsStream;
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `TlsStream` reimported here
   |
   = note: `TlsStream` must be defined only once in the type namespace of this module
help: you can use `as` to change the binding name of the import
   |
20 | pub(crate) use opentls_tls_stream::TlsStream as OtherTlsStream;
   |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0308]: mismatched types
  --> /Users/nagybotond/.cargo/registry/src/github.com-1ecc6299db9ec823/tiberius-0.9.5/src/client/tls_stream.rs:43:5
   |
43 |     opentls_tls_stream::create_tls_stream(config, stream).await
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `async_native_tls::TlsStream`, found struct `opentls::async_io::TlsStream`
   |
   = note: expected enum `std::result::Result<async_native_tls::TlsStream<S>, _>`
              found enum `std::result::Result<opentls::async_io::TlsStream<S>, _>`

Some errors have detailed explanations: E0252, E0308, E0428.
For more information about an error, try `rustc --explain E0252`.
error: could not compile `tiberius` due to 3 previous errors

My project structure is the following:
.
├── Cargo.lock
├── Cargo.toml
├── dist
├── next-env.d.ts
├── next.config.js
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── README.md
├── src
│  ├── assets
│  ├── components
│  │  └── ticket
│  ├── pages
│  └── style.css
├── src-prisma
│  ├── Cargo.toml
│  ├── rustfmt.toml
│  └── src
│     └── main.rs
├── src-tauri
│  ├── build.rs
│  ├── Cargo.toml
│  ├── icons
│  │  └── icon.icns
│  ├── rustfmt.toml
│  ├── src
│  │  └── main.rs
│  └── tauri.conf.json
├── tailwind.config.js
└── tsconfig.json

Where:
The top-level Cargo.toml has the following content:
[workspace]
members = [
  'src-tauri',
  'src-prisma'
]

[profile.release]
strip = true
panic = "abort" # Strip expensive panic clean-up logic
codegen-units = 1 # Compile crates one after another so the compiler can optimize better
lto = true # Enables link to optimizations
opt-level = "s" # Optimize for binary size

The Cargo.toml in src-prisma has the following content:
[package]
name = "src-prisma"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
prisma-client-rust-cli = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.0" }

The Cargo.toml in src-tauri has the following content:
[package]
name = "ticketr"
version = "0.0.0"
description = "A Tauri App"
authors = ["you"]
license = ""
repository = ""
edition = "2021"
rust-version = "1.57"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[build-dependencies]
tauri-build = { version = "1.0.0", features = [] }

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.0.0", features = ["api-all"] }
prisma-client-rust = { git = "https://github.com/Brendonovich/prisma-client-rust", tag = "0.6.0" }

[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
default = [ "custom-protocol" ]
# this feature is used used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ]

The project is available at the following url:
https://github.com/westernwontons/ticketr
If I'm being a dumdum please let me know.

I was missing resolver = "2" from the top level Cargo.toml. I was being a dumdum.


Line number margin line selection doesn't work

I've been sitting for hours trying to figure that out how to get it to work, but without success. I'm using the latest ScintillaNET. Is there a way to achieve this, or am I missing something here? I found MarginOptions.SublineSelect, but I'm not sure how to use that.

When a margin is marked as Sensitive it will send a click notification that you can handle. When not, the default behavior is to select the line.
What you're trying to accomplish should be the default behavior for a new margin.

Wow, this is embarrassing...
Yup, I had the margin set to sensitive. Thank you!


Reason needed for PIM Role Activation

Hi
Please let me know how can I provide "Reason" for activation.
-=-
VG

Didn't catch this until now, but this has been resolved with #4


Remove extraneous characters from error messages

The W3C validator API seems to treat error messages a little specifically for their use of it at https://jigsaw.w3.org/css-validator/#validate_by_input, and adds extra characters to the error message, typically including  :. We want our error messages to exist in various implementations, so these characters should be shaved off.

Here's an example, where there's a trailing  : which they use for their UI version:


Change Counter.getName() to return CounterName.

R: @davorbonaci

The broken built is because of dependency from examples to worker and from worker to sdk.
I am closing the PR until we have an infrastructure to support changing sdk API atomically.


Updated to align with the new structure

@meet-bhagdev,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

made by mistake


Add support for ModuleDeclaration and friends

See https://github.com/javaparser/javaparser/issues/554

How is this coming along? It shouldn't be hard. Want help?

We always want help! I think we have no progress on that so far

Okay, a ModuleDeclaration is a thing that can appear inside a CompilationUnit. It has a name, a module name. It may use the usual "import" statements at the top. It contains a list of module statements. Some of these contain type names that should be solvable, the rest contain module names, and I don't know if we want to solve those. If we do, this becomes much harder since module names aren't taken into consideration by JSS yet.
What's the next step?


bug: Timed Out

This Happenes when I link a server that is on, btw the server is on cause i tested it on mcsrvstat.us
code:
Error: Timed out while waiting for server response
at UDPSocket.readPacket (/home/runner/Daddy-Bot-1/node_modules/minecraft-server-util/dist/structure/UDPSocket.js:46:75)
at Object. (/home/runner/Daddy-Bot-1/node_modules/minecraft-server-util/dist/statusBedrock.js:65:45)
at Generator.next ()
at fulfilled (/home/runner/Daddy-Bot-1/node_modules/minecraft-server-util/dist/statusBedrock.js:5:58)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

Just looking at the stack trace, you're using statusBedrock()? Also what IP address are you testing with so I can reproduce? I'm gonna need more information than this.

Just looking at the stack trace, you're using statusBedrock() or query<Full>? Also what IP address are you testing with so I can reproduce? I'm gonna need more information than this.

same issue, I used statusBedrock() and it appears like that

Same issue here on statusBedrock()

This seems to have been fixed in some of the newer versions. If anybody experiences this issue again, I will open this back up.


Wrong running the BuildStandardTypes.bat

When I run this batch file, there will always be a hint that the
The SymbolicId is already used by another node: CurrencyUnitType.
I make sure I download it alright.

And here is a exception
Could not load resource 'Opc.Ua.ModelCompiler.Design.BuiltInTypes.xml' as well. And cannot generate codes

I also get the exception Could not load resource 'Opc.Ua.ModelCompiler.Design.BuiltInTypes.xml' when trying to publish a model. Current commit is cf99bfa3.

I also get the exception Could not load resource 'Opc.Ua.ModelCompiler.Design.BuiltInTypes.xml' when trying to publish a model. Current commit is cf99bfa.
I have fixed it but the method is a little bit complex.I will answer you tomorrow

I also get the exception Could not load resource 'Opc.Ua.ModelCompiler.Design.BuiltInTypes.xml' when trying to publish a model. Current commit is cf99bfa.

You can turn to the branch "v1.04" and copy .\ModelCompiler\Design and rename the copy Design file as Design.v104. I have succeeded by doing this

It seems as if the maintainers forgot to update some paths.
If I change the following line:
           EmbeddedResourcePath = "Opc.Ua.ModelCompiler.Design";
to
           EmbeddedResourcePath = "Opc.Ua.ModelCompiler.Design.v104";
The current master starts finding the correct paths again. Obviously this isnt a fix..

Should be fixed now.

No, it is not fixed. Please reopen.
From what I understand, using flag -version v104 for executing Opc.Ua.ModelCompiler.exe should be equivalent to the fix presented in this issue here https://github.com/OPCFoundation/UA-ModelCompiler/issues/46#issuecomment-603875272
But neiter of both solutions leads to a successful compilation of the model. Details here:
https://opcua.rocks/step-7-compile-the-modeldesign-file-with-ua-modelcompiler/#comment-809
Question: What is the difference between using '-version v104' and not using that flag at all?
Kind regards & thanks in advance

Ok, it seems fixed and I was mistaken. Apologies.
I will leave https://github.com/OPCFoundation/UA-ModelCompiler/issues/46#issuecomment-695184092 to serve as context for the following solution.
Use -version v104 when runnging .\Opc.Ua.ModelCompiler.exe
Calling
PS C:\UA-ModelCompiler\Bin\Release> .\Opc.Ua.ModelCompiler.exe -d2 C:\opcua-modeling-tutorial\FooFltModel.xml -cg C:\opcua-modeling-tutorial\FooFltModel.csv -o2 C:\opcua-modeling-tutorial\FooFltModel -console -version v104
will still fail with error
Could not find a part of the path ‘C:\opcua-modeling-tutorial\FooFltModel\FooFlt.Constants.cs’.
Manually create C:\opcua-modeling-tutorial\FooFltModel in already existing folder C:\opcua-modeling-tutorial.
Now, .\Opc.Ua.ModelCompiler.exe -d2 C:\opcua-modeling-tutorial\FooFltModel.xml -cg C:\opcua-modeling-tutorial\FooFltModel.csv -o2 C:\opcua-modeling-tutorial\FooFltModel -console -version v104 will exit successfully.

There was an issue which was fixed now.

Thank you very much for your effort!

There was an issue which was fixed now.
I know I am in no position to ask anything of you, but a reference to the fix and more verbose git commit messages would help me (and others) a long way with using the software and more importantly, diagnosing and reporting issues. Please receive that note in the most amicable way possible.


This extension brought vscode to its knees

Type: Bug
Visual Studio Code suddently started running extremely slow. I ran Extension Bisect which found this extenson to be the culprit. After disabling it, vscode is back to normal.
I re-enabled it just to be sure and vscode was extremely slow again. I also noticed backspace no longer works when this extension is running.
Extension version: 0.5.3
VS Code version: Code 1.88.0 (5c3e652f63e798a5ac2f31ffd0d863669328dc4c, 2024-04-03T13:28:18.899Z)
OS version: Darwin x64 22.6.0
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2900)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
7, 6, 7

Memory (System)
16.00GB (1.45GB free)

Process Argv
--crash-reporter-id 80c99a32-047a-41fc-ba28-a2d5879860df

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythongtdpath:30769146
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
d34g3935:30971562
fegfb526:30981948
bg6jg535:30979843
ccp2r3:30993541
dsvsc020:30976470
pythonait:31006305
jchc7451:30973076
gee8j676:31009558
dsvsc021:30996838
g1icg217:30999571

Hey, can you help in reproducing it? is there some repo that it happened in?
By slowness, do you mean that saving files is slow, like #88 or just general slowness?
Or did the TS Server stop working like in #75?
BTW, I need help in reproducing those too

Have the same issue. VSCode reported this extension was taking an unusual amount of time and was blocking other extensions from finishing.

Issue Type: Performance
Extension Name: pretty-ts-errors
Extension Version: 0.5.4
OS Version: Darwin arm64 23.5.0
VS Code version: 1.91.0

:warning: Make sure to attach this file from your home-directory:
:warning:file:///var/folders/gs/gdpvls094mjgl0hc142l9vmr0000gn/T/YoavBls.pretty-ts-errors-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load
YoavBls.pretty-ts-errors-unresponsive.cpuprofile.txt

@onethread Thanks for the cpuprofile. Unfortunatly the CPU profile doesn't seem to show anything useful:

It just shows the extension stalling on some minified function called XX.
If you have any additional info on the project/repository where the extension started stalling that would be appreciated.


spatial partition

 Zwei BBoxes braucht das Land

Pull Request Test Coverage Report for Build 943491362

375 of 454 (82.6%)  changed or added relevant lines in 38 files are covered.
16 unchanged lines in 10 files lost coverage.
Overall coverage increased (+0.01%) to 80.39%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/adapters/feature_collection_merger.rs
3
4
75.0%

operators/src/adapters/raster_overlap_adapter.rs
10
11
90.91%

datatypes/src/raster/operations/blit.rs
4
6
66.67%

datatypes/src/raster/tiling.rs
11
13
84.62%

operators/src/mock/mock_raster_source.rs
2
4
50.0%

operators/src/processing/reprojection.rs
9
11
81.82%

operators/src/processing/temporal_raster_aggregation.rs
12
14
85.71%

operators/src/source/gdal_source.rs
35
37
94.59%

operators/src/source/ogr_source.rs
47
49
95.92%

datatypes/src/operations/reproject.rs
18
22
81.82%

Files with Coverage Reduction
New Missed Lines
%

datatypes/src/primitives/bounding_box.rs
1
97.96%

operators/src/adapters/raster_overlap_adapter.rs
1
88.42%

operators/src/processing/temporal_raster_aggregation.rs
1
87.17%

operators/src/processing/vector_join/mod.rs
1
34.88%

operators/src/source/gdal_source.rs
1
81.98%

operators/src/util/input/string_or_number.rs
1
80.0%

operators/src/processing/reprojection.rs
2
72.86%

services/src/datasets/external/mock.rs
2
4.65%

services/src/pro/datasets/in_memory.rs
2
0%

operators/src/engine/operator.rs
4
77.08%

Totals

Change from base Build 936043945:
0.01%

Covered Lines:
17439

Relevant Lines:
21693

💛  - Coveralls


Why your webapp must click Press Enter to send for click enter to send

Why did not you create an enter and send it anyway?

claim bot

We already have that option which you can enable by checking the checkbox labeled "Press enter to send".


Add Japanese translations for grouping nodes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes
While I tried the functionality of grouping nodes, I translated English messages to Japanese.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage remained the same at 77.46% when pulling 2e14703b160ac7200621c4cab932451ae4e9c0e3 on kazuhitoyokoi:dev-addjapanesetranslations into d6ad7dc6eb53d3bd002c70367650fcc51b0eb94a on node-red:dev.

Thank you!


set default board for new projects

On creation of an empty project (no template) a default board will be created instead of falling back to the uneditable pseudo-board.
The title of the new board can be set in app.ini
The old behaviour now only applies if the user deletes all boards inside a project.
Fixes #29873
Fixes #14679 along the way

Wait, the default board is a pseudo-board?
Where is it set?

@delvh https://github.com/go-gitea/gitea/blob/16e360099d0a515d429538ec88cff1f3ede23fb4/models/project/board.go#L258

@lng2020 The default logic will apply if all columns are deleted which in fact can easily happen. Also, we cannot possibly do this change retroactively for all existing projects which currently display this default pseudo-column.

@lunny You can already configure the default column names for the two project templates, I don't see a reason for the empty template column not to be configurable too.

I tried to write a migration however this is my first time doing such a complex one and something is wrong....
func AddDefaultProjectBoard(x *xorm.Engine) error {
	sess := x.NewSession()
	defer sess.Close()

	if err := sess.Begin(); err != nil {
		return err
	}

	limit := setting.Database.IterateBufferSize
	if limit <= 0 {
		limit = 50
	}

	start := 0

	for {
		var projects []*project.Project
		if err := sess.Select("id, creator_id").Limit(limit, start).Find(&projects); err != nil {
			return err
		}

		if len(projects) == 0 {
			break
		}
		start += len(projects)

		for _, p := range projects {
			var board project.Board
			exist, err := sess.Where("project_id=? AND `default`=?", p.ID, true).Get(&board)
			if err != nil {
				return err
			}

			if !exist {
				board := project.Board{
					CreatedUnix: timeutil.TimeStampNow(),
					CreatorID:   p.CreatorID,
					Title:       setting.Project.ProjectBoardDefault,
					ProjectID:   p.ID,
					Default:     true,
				}
				if err := db.Insert(context.Background(), board); err != nil {
					return err
				}
			}
		}

		if start%1000 == 0 {
			if err := sess.Commit(); err != nil {
				return err
			}
			if err := sess.Begin(); err != nil {
				return err
			}
		}
	}

	return sess.Commit()
}

Okay, complete change of the purpose of this PR:

removed the default ID 0 pseudo-column
every project now needs to have a default column -> migration to add it
forbid deleting default column
remove unset default -> instead you need to set another column as default

@lunny Removed the config param

Isn't this problem simply
var projectsWithMissingDefault []int64
x.SQL(`SELECT DISTINCT p.project_id FROM project p WHERE NOT EXISTS (SELECT 1 FROM project_boards pb WHERE pb.project_id = p.project_id AND pb.default != 0);").Find(&projectsWithMissingDefault)
for _, projectID := range projectsWithMissingDefault {
  x.Insert(Board{ProjectID: projectID, Default: true, Title: …,  CreatorID: …})
}

?

@delvh The migration works in its current form, however that is a lot more lines of code than your solution :laughing:
Wasn't it discouraged to write direct SQL in xorm queries? Or do I recall it wrongly?
Anyway, why pb.default != 0?

Wasn't it discouraged to write direct SQL in xorm queries? Or do I recall it wrongly?

Depends if your SQL is portable. In my last migration it was so raw sql was fine there.

Wasn't it discouraged to write direct SQL in xorm queries?

Yep. However,

Note that we might perhaps be able to beautify this snippet, although I don't know how

Anyway, why pb.default != 0?

pb.default is an int, so 0 == false, and in other words != 0 == true as we are in a NOT EXISTS.

Depends if your SQL is portable

According to ChatGPT and my quick internet searches, it should be supported in MySQL, Postgres, and SQLite, so all our supported DBs.
However, quoting might be necessary.

However, quoting might be necessary.

Quote field names in backtick and strings in single quote. I heard gorm takes care of specific quoting requirements of MSSQL and such when using that.

@delvh I was not able to make your solution work, at least not on sqlite. Could you try editing it yourself? Alternatively, we can keep my solution

@denyskon I've adapted my code now, I can confirm it works now under SQLite.
My only worry is the escaping: I think some DBs use" instead of ` as escape mechanism.
Or does xorm convert ` to " automatically when required by the DB?
I'm never sure of that.

@denyskon I've adapted my code now, I can confirm it works now under SQLite. My only worry is the escaping: I think some DBs use" instead of ` as escape mechanism. Or does xorm convert ` to " automatically when required by the DB? I'm never sure of that.

Pretty sure it does, I think it even uses [value] for MSSQL. @lunny knows for sure.

Yes, ``` is a special quote that will be replaced by the database special quote mark automatically before the SQL will be executed. And if you know the database type, you can also use the original quote mark directly.

It's better to have a test for models/migrations/v1_22/v292.go

@delvh Thanks, your migration works. Changed :)

@lunny I don't understand what you mean, the migration is now pretty simple, and I also have no idea how to test migrations....

It seems that there is a hard requirement for "there must be one default board" ?
Could it relax the requirement and make the code more robust. For example, do not force users to set one default board, but only "select" a default board: use the one with default=true if exist, otherwise use the oldest board?
Then the code could be simplified a lot IMO.

One more question, is it a breaking change? For example: if I was using "uncategorized" board, and added some issues into it. After this PR, where would these added uncategorized issues go? Could I still see them in a board?

It seems that there is a hard requirement for "there must be one default board" ?
Could it relax the requirement and make the code more robust. For example, do not force users to set one default board, but only "select" a default board: use the one with default=true if exist, otherwise use the oldest board?
Then the code could be simplified a lot IMO.

I think it's totally fine if we would start new projects with empty boards.

One more question, is it a breaking change? For example: if I was using "uncategorized" board, and added some issues into it. After this PR, where would these added uncategorized issues go? Could I still see them in a board?

Yes, and users may also have a board named Backlog. So there will be two Backlog columns.

@wxiaoguang
@lunny
Currently, the default "Uncategorized" board that you see when opening a project without a default board doesn't actually exist in DB, it is generated dynamically on render when opening a project which doesn't have a default board. Every issue not assigned to another board is automatically on "Uncategorized".
What this PR does is replace it with a default "Backlog" board for every project instead. This new board does exist in the DB, so it can be treated as every other board and e. g. be renamed, change colour and be deleted if you set any other board as default. Every issue that previously appeared on "Uncategorized" will now appear on "Backlog" -> for the users, the only noticeable changes will be the rename and the ability to rename the board, nothing else will change with the behaviour.
Two "Backlog" columns? It can be renamed then, you can also have two "Uncategorized" columns currently.
Use the oldest board as default if no default is set? I don't think it's something I would expect as a user. What is the problem with forcing a default board per project? It isn't impacting the user's options in any way. By enforcing it, we ensure that new issues appear where they are expected to instead of a random board which was never ever set as default.
I'm convinced this change is right in its current way. I'm open to other opinions, but please provide reasons why some of the things above are false assumptions :)

@delvh How would multiple defaults per project happen? It is enforced by our template that only one default board can be set.
And if multiple would exist, which would you want to be unset? The oldest ones? The least-oldest ones? Alphabetically? 😅

Not sure, some sort of bug within our application, someone calling the wrong route manually without the help of the UI, someone manually tempering the DB, …
As you can see, I can think of a few reasons, although I agree that neither is likely to happen.
Regarding which one: I don't care, as far as I'm concerned, when this happens, you can choose one at random…
But if it does happen, it's probably best to only keep the board that was set as default first (we can probably only ensure it by checking when a project board has been updated. That may catch false positives, but I don't want to store extra timestamps only for this impossible error case).

Two "Backlog" columns? It can be renamed then, you can also have two "Uncategorized" columns currently.

Maybe use Uncategorized as the default column name is better than Backlog for existing boards. Some of them have columns named Backlog which will make them confusing. I guess nobody will name a created new column with Uncategorized because once he created a board, he will see a default column Uncategorized.

Every issue that previously appeared on "Uncategorized" will now appear on "Backlog" -> for the users, the only noticeable changes will be the rename and the ability to rename the board, nothing else will change with the behaviour.

Which code does so or is there any test code? I can only see the migration code adds a board, but I didn't see how the old issues were moved.

Use the oldest board as default if no default is set? I don't think it's something I would expect as a user. What is the problem with forcing a default board per project? It isn't impacting the user's options in any way.

I meant we could make the code more robust. We still add a default "Uncategorized" board for legacy project. So ideally in most (all) cases there are still default boards. I just meant that we could add a fallback, to avoid unable to find a default board in daily usage.

Which code does so or is there any test code? I can only see the migration code adds a board, but I didn't see how the old issues were moved.

As I said, the "Uncategorized" board doesn't exist - it's just a placeholder which contains all the issues that belong to a project, but don't belong to a board. At the moment when you set another board as default, the same behaviour applies to it too, so all the issues which appeared at "Uncategorized" should appear at "Backlog" without any moving needed :)

I meant we could make the code more robust. We still add a default "Uncategorized" board for legacy project. So ideally in most (all) cases there are still default boards. I just meant that we could add a fallback, to avoid unable to find a default board in daily usage.

By our current code, there is no way it could happen, as the default board is created on project creation and the existing projects are updated using a migration.

Which code does so or is there any test code? I can only see the migration code adds a board, but I didn't see how the old issues were moved.

As I said, the "Uncategorized" board doesn't exist - it's just a placeholder which contains all the issues that belong to a project, but don't belong to a board. At the moment when you set another board as default, the same behaviour applies to it too, so all the issues which appeared at "Uncategorized" should appear at "Backlog" without any moving needed :)

I meant we could make the code more robust. We still add a default "Uncategorized" board for legacy project. So ideally in most (all) cases there are still default boards. I just meant that we could add a fallback, to avoid unable to find a default board in daily usage.

By our current code, there is no way it could happen, as the default board is created on project creation and the existing projects are updated using a migration.

OK, I have no more questions (the SQL problem needs to be fixed, and I think it needs some tests)

Maybe use Uncategorized as the default column name is better than Backlog for existing boards. Some of them have columns named Backlog which will make them confusing. I guess nobody will name a created new column with Uncategorized because once he created a board, he will see a default column Uncategorized.

Maybe use Uncategorized for existing projects, but Backlog for new projects? We had requests to rename the default board to backlog

@delvh Added a migration method to unset wrong default columns.

@wxiaoguang What would you like to be tested? The migration, the automatic creation of a default column....?

@wxiaoguang What would you like to be tested? The migration, the automatic creation of a default column....?

For example, the migration code? It looks quite complex.
And should it use default =true to replace default != false in case default is null in database? Not sure, just a question.

Added a migration method to unset wrong default columns.

Ah, I didn't mean a migration but a consistency check instead, so that it is periodically checked as a cronjob.

Okay so I did as suggested and changed the approach a bit. I added a cron job running every midnight, which ensures that every project has exactly one default column. As it also will be executed on initial start, there is no longer a need for a migration. I also added a test for the corresponding method. As this consistency check will run on every restart and also daily, I think it also solves the robustness problem if such one is ever to exist.

I welcome the removal of the migration, but does this mean a project still can not have no columns? Not a blocker for me but I guess there is no reason not to allow such empty projects.

Exactly, there is a cronjob to ensure that if one happens somehow, it will be fixed automatically.

But why do we do that? Can't one have a empty board, maybe just temporarily?

FWIW, I tried deleting the last board on GitHub and it does not let me, but also does not give an error. So I guess GitHub also has problems with empty projects 😆.

Honestly I'm tired of rewriting the behaviour over and over again.
Why is a migration still necessary? The cron job runs on start and also adds a default "Uncategorized" board to projects without one, that's exactly what was done in the migration before.
Why is a cronjob wrong? I don't expect a getDefaultBoard method to create or modify columns...
Who am I supposed to listen to, @delvh who asked for a cronjob or @wxiaoguang who is against one or @lunny who requests a migration? Don't take it personal, I just don't understand at this point what I am supposed to do to get this PR done which started with 10 LOC 🥲

Honestly I'm tired of rewriting the behaviour over and over again.
Why is a migration still necessary? The cron job runs on start and also adds a default "Uncategorized" board to projects without one, that's exactly what was done in the migration before.
Why is a cronjob wrong? I don't expect a getDefaultBoard method to create or modify columns...
Who am I supposed to listen to, @delvh who asked for a cronjob or @wxiaoguang who is against one or @lunny who requests a migration? Don't take it personal, I just don't understand at this point what I am supposed to do to get this PR done which started with 10 LOC 🥲

Sorry for the confusion. Cronjob is not suitable for a migration task and we never do like that before.
We can create a migration and also provide a doctor command but not the cron job. I cannot imagine we will have more and more cron jobs to check the inconsistent problems in the background if we do that.

We can create a migration and also provide a doctor command but not the cron job.

The "doctor" system is also a disaster, unless it is really really necessary, I would suggest do not touch it too much. It is very difficult for end users to use, and not friendly in docker, not well tested and have many bugs.
That's why I suggest to make the system self-healing from beginning, just keep things simple. IMO a correct migration + self-healing + test-code is good enough.

IMO a correct migration + self-healing + test-code is good enough

Agreed.
I thought we could achieve this through a cronjob.
Also my bad, I was under the impression initially that the doctor fix commands were periodically executed in a cronjob which apparently isn't the case.
However, @wxiaoguang what exactly would be "self-healing" for you then, if not a cronjob?

Neither doctor nor cronjob are good solutions and I agree we should reduce those. A good place to fix would be a one-time action during startup, e.g. migration, or one-time action when a project is opened.

@lunny @wxiaoguang @delvh
Under consideration of everything stated above:

Readded migration which adds the default column to projects without one and unsets columns as default if multiple are set
Added the same check to the getDefaultBoard method to run on every project view -> the error that there is no default column cannot appear any longer (is that the thing you called "self-healing"?)
Removed cron job
Added migration test and getDefaultBoard test

@lunny still blocking? Migration is back.

@go-gitea/technical-oversight-committee I would like to ask for a TOC vote on which of the two strategies should be continued with, as the discussion here doesn't seem to be going anywhere.
The two possible solutions are:

Keep the consistency check ("self-healing") on every project viewing -> don't display errors but try to fix them (suggested by @delvh and @wxiaoguang) -> current state of this PR
Only keep the migration, consider every inconsistency in DB an issue which should be reported instead of trying to fix it automatically (proposed by @lunny) -> basically a revert to the state of https://github.com/go-gitea/gitea/pull/29874#issuecomment-2016526148

If there is no decision made by the TOC I would like for the PR to be either merged as-it-is (it has two necessary approvals and no blockers) or to be abandoned if no consensus is found, however then we'll remain with a state nobody likes.

CI shows some data race error, not sure if related.

Unit tests show some data race error, not sure if related. Restarted it once.

Not related

@go-gitea/technical-oversight-committee I would like to ask for a TOC vote on which of the two strategies should be continued with, as the discussion here doesn't seem to be going anywhere.
The two possible solutions are:
1. Keep the consistency check ("self-healing") on every project viewing -> don't display errors but try to fix them (suggested by @delvh and @wxiaoguang) -> current state of this PR

2. Only keep the migration, consider every inconsistency in DB an issue which should be reported instead of trying to fix it automatically (proposed by @lunny) -> basically a revert to the state of [Add default board to new projects, remove uncategorized pseudo-board #29874 (comment)](https://github.com/go-gitea/gitea/pull/29874#issuecomment-2016526148)

If there is no decision made by the TOC I would like for the PR to be either merged as-it-is (it has two necessary approvals and no blockers) or to be abandoned if no consensus is found, however then we'll remain with a state nobody likes.

I will not block this.

@6543 looking good to you?

Finally 🎉


[redux-no-clone] Evaluate removing immutability requirement from the framework

Based on the following discussion w/ @SabrinaJewson on discord, re-evaluate the choice of using immutability & redux in the tui engine.

https://discord.com/channels/273534239310479360/943315667430563862/1058081059599814736

Sabrina makes some great points:

My thought is that in Rust specifically, since you have &mut and & that give you fine-grained control over when mutation is allowed and not, you can sort of get lots of the stuff that needs “patterns” in other languages for free just by API design.
For example, in Javascript, it seemed like the main benefit of mutability was simplifying data flow but just having “values” that are passed around as opposed to complex mutable relations that stretch all over the codebase.  But in Rust, that’s tracked by the compiler anyway so you don’t have to care about it.
The Redux pattern specifically I think hugely benefits from the distinctions between & and &mut. Or maybe less so just that, but more the structured and acyclic nature of Rust in general
Like how Iced does its components: https://docs.rs/iced. It’s a Redux-ish pattern, but it fundamentally bases itself on mutability

Potential change to the framework:

Currently there is a way for Components to communicate to main_event_loop() that everything needs to be re-rendered via the EventPropagation enum; look at handle_event() in the Component trait.
The overhead currently of 1) cloning the state, 2) modifying it, 3) dropping the old state is somewhat needless. Keeping the state mutable might have the benefit of just allocating the state once, and then mutating it subsequently & simple signaling that a re-render needs to happen. Actions and reducers might not even be needed, or might be fundamentally changed to support mutability.

Action item would be to remove this requirement for immutability in an experimental branch & see if anything breaks 😸 Also run the flamegraph & other profilers to see how performance benefits (memory & cpu usage & latency)

Before
https://user-images.githubusercontent.com/2966499/212445024-acc18449-d088-4c51-afca-87cf4fe1eb30.mp4
After
https://user-images.githubusercontent.com/2966499/212445042-eae71ff8-0093-4b42-9766-00c6e79bd674.mp4

@SabrinaJewson thank you for your suggestion. Removing needless immutability from the Redux store has made a massive improvement in responsiveness and performance! You rock! 🙌🏽


Agentforce for Developers I ask something and he doesn't answer me only when I'm off topic

Summary
When I try to use the Dev Assistant Chat, for example, to explain the code to me, I get no response in the Chat.
The same applies to the other simple options.
Steps To Reproduce:

I open VsCode
I connect my VSCode with WSL:Ubuntu
I look for the directory where my Salesforce project is located
I open an Apex file
I click on the Dev Assistant icon
At the Dev Assistant Chat prompt I put /explain

Expected result
It is expected that the explanation of the apex file opened in VsCode Editor will be displayed in the Chat
Actual result
Does nothing
Additional information

Salesforce Extension Version in VS Code:
Salesforce Extension Pack (Expanded) v62.2.0
Salesforce Einstein For Developers Version in VS Code:
Agentforce for Developers v1.3.0
Windows/WSL2 and version:
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.22631 N/A Build 22631
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
Versión de WSL: <IP_ADDRESS>
Versión de kernel: <IP_ADDRESS>-2
Versión de WSLg: 1.0.61
Versión de MSRDC: 1.2.5326
Versión de Direct3D: 1.611.1-81528511
Versión DXCore: 10.0.26091.1-240325-1447.ge-release
Versión de Windows: 10.0.22631.4391
VS Code version:
Version: 1.95.1 (user setup)
Commit: 65edc4939843c90c34d61f4ce11704f09d3e5cb6
Date: 2024-10-31T05:14:54.222Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.22631

as requested @smarvez
The other commands are: /test and /document They give me the same answer which is nothing
nervill@DESKTOP-L91RLI8:~/DevOps/telecom-fsl$ sf telemetry
Telemetry is enabled.
Telemetry tmp directory is /tmp/sf-telemetry.
Telemetry cache directory is /home/nervill/.cache/sf.
Salesforce CLI ID is 40c65f8d0231d727b74b1581bd122ee5e5122aee.
Thanks for your help!


IRISSpectrogramSequence

This PR creates a new class, IRISSpectrogramSequence, which, in addition to the functionality provided to it by its parent class, SpectrogramSequence, supplies functionality to do the following:

Convert the data and uncertainty in a SpectrogramSequence between DN and counts.
Apply and undo exposure time correction to both data and uncertainty.

In addition to introducing this new class, this PR updates the IRISSpectrograph object in the following ways:

The use of SpectrogramSequence is replaced with IRISSpectrogramSequence.
Uncertainty on the intensity data is calculated when reading in each file during the initialization of the IRISSpectrograph and then included in the initialization of that file's NDCube.

@abit2, @Cadair.  Would you guys be willing to take a look at this PR for me and let me know if you have any feedback?  Cheers.

Suggestions from @Cadair:

Move IRIS units to an irispy.units module.
Add a copy kwarg in the .to_ and exposure time correction methods.

@Cadair Any final comments?


Security for routers /api/*

Hi team, I'm using this repository and learning to apply it to my project, I have 2 questions:

I saw all the routers /api/* aren't authenticated (ex: /api/registeruser /api/session), did you guys have ideas for it?
Should we save sessionToken and sessionId in one object under cookie (as I saw in your source code)?
Hope you guys reply soon, thank the team.

Hi there
I think @peintnermax can best answer your question since he is working on this as we speak.
Generally speaking it is the idea that the session API of Zitadel mainly is interested in getting a sessionToken. If none is provided by the UI it is treatet as new session.
Looking at your question it looks like your relate to the nextjs code, right?
I think we did not yet harden the API there. For the registeruser it might be a captcha code to protect UI and API routes and the session endpoint will be protected with a cookie.
Hope this helps already a little 😁

Hi @fforootd thank you for your reply.
One more question, if I design many organizations (like 1 store as 1 zitadel org), how could I have TOKEN of an org to start an identity provider (v2alpha/users/idps/:idpId/start) when I don't have root ZITADEL service account or ZITADEL PAT (root org)

@quochuydev I guess in such a case you have to handle the value on runtime. You would read the value somewhere and store it in the local state of the application. We'll probably need such a thing for our OIDC implementation too which will be implemented soon.
https://github.com/zitadel/typescript/issues/30

Hi team, I'm using this repository and learning to apply it to my project, I have 2 questions:

I saw all the routers /api/* aren't authenticated (ex: /api/registeruser /api/session), did you guys have ideas for it?
Should we save sessionToken and sessionId in one object under cookie (as I saw in your source code)?
Hope you guys reply soon, thank the team.

Regarding your other question. We will secure our API requests with CSRF token later and add certain security headers. For public routes we'll look at recaptcha or similar approaches but we didn't address this yet.


Limited number of buttons links in >10 number of labels

Describe the bug
With more than 10 labels the button hot-links stop.
To Reproduce
Go to token / text-classification and assign >10 label options.
Expected behavior
I would expect them to continue on function keys or initial qwerty keys.
Screenshots

Environment (please complete the following information):

OS [e.g. iOS]:  Mxa
Browser [e.g. chrome, safari]: Firefox
Rubrix Version [e.g. 0.10.0]: 1.x
ElasticSearch Version [e.g. 7.10.2]: N.A.
Docker Image (optional) [e.g. rubrix:v0.10.0]: N.A.

Additional context
Add any other context about the problem here.

We'll address this point with the redesign of the NER annotation feature.


Issue with client.shard.broadcastEval on master

Please describe the problem you are having in as much detail as possible:
I am using client.shard.broadcastEval to start a function on another shard. Since yesterday / today, that throws me some errors (did not before).
Include a reproducible code sample here, if possible:
the variables are all fine and I logged them, seems to be sth with the client referring as "this" in broadcastEval. (chID is a DM channel ID, msgID is also from the DM, where the command was started)
if (!client.guilds.has(guild.id)) {
      await client.shard.broadcastEval(`
      if (this.guilds.has('${guild.id}'))  {
        bot.jumpOver = true;
        this.commands.get('events').run(this, this.channels.get('${result.chID}').messages.get('${result.msgID}'), ['${action}', ${number}, [${arguments}]])
      }
    `);
      return;
    }

Error is:
[00:13:17] - error: [Shard 0]  SyntaxError: Invalid or unexpected token
    at Komada._eval (C:\Coding\g4m3r\node_modules\komada\node_modules\discord.js\src\client\Client.js:523:17)
    at ShardClientUtil._handleMessage (C:\Coding\g4m3r\node_modules\komada\node_modules\discord.js\src\sharding\ShardClientUtil.js:108:76)
    at emitTwo (events.js:125:13)
    at process.emit (events.js:213:7)
    at handleMessage (internal/child_process.js:753:14)
    at Pipe.channel.onread (internal/child_process.js:472:11)

Further details:

discord.js version: latest master<EMAIL_ADDRESS>node.js version: 8.1.3
Operating system: Windows 10
Priority this issue should have – please be realistic and elaborate if possible:

[ ] I found this issue while running code on a user account
[x] I have also tested the issue on latest master, commit hash: 79fed1295c32c7c04c140504bebcb2bd948c3733

i hope you realize this is for issues with the library itself, not your code errors

yes. Absolutely. Since I didn’t change the code and only did a npm update, I was expecting this to be a lib error or atleast some lib changes.
If I am wrong please tell me, I am still learning :-)


use grafana 5 datasource and dashboard provisioning

With Grafana 5 we have newer, somewhat simpler, methods to provision datasources and dashboards via config files. That's my main goal for this PR.
Secondarily:

I changed the values.yaml to allow easier overrides for the image registry (my company always pulls images from a private registry)
simplified variables and defaults. Instead of using the default template function, I allow the values.yaml to be the defaults, thereby simplifying some code and reducing missing variable errors.

I realize this is a pretty massive PR, so feel free to rip it to shreds!
Edit: for details on the new provisioning config: http://docs.grafana.org/administration/provisioning/

@timstoop The datasources configuration can feasibly contain usernames, passwords, TLS certificate+keys, and other authentication options.

/ok-to-test
/lgtm

/assign @lachie83

closing in favor of #4713


LZMA decoding implementation.

Solution is not optimized -- derived from the 7-zip reference implementation.
(See also https://github.com/yurydelendik/lzmajs)

/botio test

/botio test


UniAndGroup never completes for empty list of unis.

This code will never complete.
Uni.combine().all().unis(List.of()).subscribe(x -> System.out.println("yay"));

The unis method should have a guard to fire an event when the list of inputs is empty. Otherwise one always needs to guard the code beforehand like.
var combined = unis.isEmpty() ? Uni.createFrom().voidItem() : Uni.combine().all().unis(unis);

We should perhaps enforce the contract specified in the Javadoc:
@param unis the list of unis, must not be {@code null}, must not contain {@code null}, must not be empty

This is not enforced and should be.


Development and Deployment tools

This PR describes which tools requires attention when updating prerequisites.
it is a draft and under construction

/home/travis/build/openmicroscopy/ome-documentation/contributing/deployment-tools.txt:69: ERROR: Unexpected indentation.

As discussed with @aleksandra-tarkowska, adding a proof of concept linking e.g. to the set of Redis PRs would be very useful to show an example of this workflow in application.

examples added, thx

Do we build these docs anywhere, or just read the source code?

Sorry - found it!

But I don't see this PR included at https://www.openmicroscopy.org/site/support/contributing-staging/index.html ?

@will-moore because travis failed last night, it will be in tomorrow

After reading this and various linked repos etc for a while...
I'm wondering what level of knowledge of these systems is expected? For anyone needing a beginners introduction, it would be useful to describe more about the different repositories and their relations and how they are typically used. For example, it might make sense to describe omero-install first, since it does not rely on the other tools. Then devspace: reading the description of devspace, I'm not clear whether Jenkins runs devspace "Continuous integration tools managed by Jenkins CI" or if devspace runs jenkins "The default deployment initializes a Jenkins CI master" or both? Do we typically run devspace on local machines or a dedicated server somewhere?
Not sure how Ansible relates to omero-install or devspace?
However, it may be that this is meant as a guide for more experienced sysadmin types.
When I tried finding E.g. places to update Django version I eventually found https://github.com/openmicroscopy/infrastructure/blob/master/ansible/roles/omero-web-runtime/tasks/main.yml but I would have a hard time to know where ALL the places where this would need updating.
NB: I noticed that the Default packages table formatting is broken on https://github.com/openmicroscopy/devspace README.

I would agree to @will-moore . I'm missing a bit the overview, the connection between all the different repositories, jenkins, ansible, etc...

thx for taking a time and giving feedback. I am happy to add general overview, the connection between all the different repositories, jenkins, ansible, etc... although detailed information about each individual repo should be down to README in each repo

Hi @aleksandra-tarkowska - do you think you'll have time to update this before you go on leave later in the month?

I will update once https://github.com/openmicroscopy/infrastructure/pull/114 is accepted

with the recent improvement in how devspace is deployed in https://github.com/openmicroscopy/infrastructure/pull/114 and few following PRs I will continue with this PR next week

I have a question about what is meant to be considered as a prerequisite? Is the proposal to also include libraries which are not managed via scripts or roles but by the some other dependency management (Ivy, requirements...) under the same banner at least in terms of upgrade process?

thanks @sbesson for review. I think the above lists the most widely spread dependences. It covers multiple repositories and how to deal with them. That is not easy task. My impression is that things like: BF version, requirements.txt, or https://github.com/openmicroscopy/openmicroscopy/tree/develop/lib/repository can be tested easily with just a PR and devspace.
As that is a draft maybe we should layout these sections better.

Barring the existing devspace limitations (repository jobs...), the proposal in https://github.com/openmicroscopy/ome-documentation/pull/1495#issuecomment-273525488 to unify the dependency testing workflow makes sense to me. What are the next steps for this PR? NB: I have a staging branch including index changes which might conflict with this PR.

I will try to fix spellings listed above today

Discussed briefly with @joshmoore and @jburel. These changes are in agreement with the process used for driving the OMERO 5.3 requirements. Formalizeing It makes complete sense to formalize it and expose the various repositories/infrastructure that have been created for this purpose. As discussed above, my main uncertainty is that all the concepts proposed this PR do not apply to all our components yet. As long as it is clear that this is also work in progress, I am happy with getting this as part of the externally facing documentation. /cc @hflynn

@sbesson thanks for your comment, next step is https://github.com/openmicroscopy/snoopycrimecop/pull/215

thx a lot


.cke_contents size after maximizing

After maximizing the window .cke_contents container overflows unpredictably, resulting in hidden content. Re sizing browser window fixes the problem. ( Javascript probably incorrectly calculates initial height value ).
Temporary hack in cms.ckeditor.css: .cke_contents { max-height: 87vh !important; }

There's also a similar problem with source editing window. When the content overflows, scroll bar is not visible. It's because source textarea gets css value from .cke_reset { box-sizing: content-box; } . Setting it to border-box seems to fix it.
Possible fix in cms.ckeditor.css: textarea.cke_source { box-sizing: border-box !important; }

@treavis is this still a problem for you since the last release? If yes I'd welcome some screenshots and additional instructions on how to reproduce.

I have to disappoint you, but the problem still exists as of version 3.3. After editor window had been maximized the scrolling breaks and part of the content becomes hidden.
Screenshot taken from the demo of django-cms.

@treavis no worries, thanks for clarifying. @vxsx is that something you can fix?


Implement /SKU in the 2.0 API

*** BUILD #769 ***
Test Name: SKU Pack Service "before all" hook
Error Details: No provider for osTmpdir! (Http.Services.SkuPack -> osTmpdir)
Stack Trace: Error: No provider for osTmpdir! (Http.Services.SkuPack -> osTmpdir)
    at Injector.get (node_modules/di/dist/cjs/injector.js:160:15)
    at node_modules/di/dist/cjs/injector.js:176:19
    at Array.map (native)
    at Injector.get (node_modules/di/dist/cjs/injector.js:172:32)
    at Context.<anonymous> (spec/lib/services/sku-pack-service-spec.js:26:38)

Test Name: SKU Pack Service "after all" hook: helper.after
Error Details: Cannot read property 'writeFileAsync' of undefined
Stack Trace: TypeError: Cannot read property 'writeFileAsync' of undefined
    at spec/lib/services/sku-pack-service-spec.js:55:11
    at node_modules/on-core/spec/helper.js:305:32
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromiseAtPostResolution (node_modules/on-core/node_modules/bluebird/js/main/promise.js:245:10)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:128:12)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: test_node_workflows_post
Error Details: No JSON object could be decoded
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/usr/local/lib/python2.7/dist-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 306, in test_node_workflows_post
    timeout = self.__post_workflow(id,'Graph.Discovery',{})
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 93, in __post_workflow
    status = self.__get_workflow_status(id)
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 86, in __get_workflow_status
    data = self.__get_data()
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 80, in __get_data
    return loads(self.__client.last_response.data)
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

*** BUILD #771 ***
Test Name: test_node_workflows_del_active
Error Details: (500)
Reason: Internal Server Error
HTTP response headers: HTTPHeaderDict({'Content-Length': '55', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"37-EqTff+Cq+UQ0kV1GjmBbwg"', 'Date': 'Mon, 04 Apr 2016 21:50:54 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"Failed to cancel 5702e1bb9524d9721d378dbc"}

-------------------- >> begin captured logging << --------------------
urllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', BadStatusLine("''",))': /api/1.1/nodes
urllib3.connectionpool: INFO: Starting new HTTP connection (11): localhost
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/usr/local/lib/python2.7/dist-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v1_1/nodes_tests.py", line 376, in test_node_workflows_del_active
    raise e
'(500)\nReason: Internal Server Error\nHTTP response headers: HTTPHeaderDict({\'Content-Length\': \'55\', \'X-Powered-By\': \'Express\', \'Connection\': \'keep-alive\', \'ETag\': \'W/"37-EqTff+Cq+UQ0kV1GjmBbwg"\', \'Date\': \'Mon, 04 Apr 2016 21:50:54 GMT\', \'Access-Control-Allow-Origin\': \'*\', \'Content-Type\': \'application/json; charset=utf-8\'})\nHTTP response body: {"message":"Failed to cancel 5702e1bb9524d9721d378dbc"}\n\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by \'ProtocolError(\'Connection aborted.\', BadStatusLine("\'\'",))\': /api/1.1/nodes\nurllib3.connectionpool: INFO: Starting new HTTP connection (11): localhost\n--------------------- >> end captured logging << ---------------------'

Test Name: test_node_workflows_post
Error Details: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Content-Length': '128', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"80-7OjUGBy4o6RiaRnKGDICnw"', 'Date': 'Mon, 04 Apr 2016 21:51:00 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"BadRequestError: required option user for task Task.Obm.Ipmi.CreateSettings in graph Graph.Obm.Ipmi.CreateSettings"}

Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/usr/local/lib/python2.7/dist-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 306, in test_node_workflows_post
    timeout = self.__post_workflow(id,'Graph.Discovery',{})
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/nodes_tests.py", line 95, in __post_workflow
    Api().nodes_post_workflow_by_id(identifier=id, name=graph_name, body=data)
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/apis/api_api.py", line 2515, in nodes_post_workflow_by_id
    callback=params.get('callback'))
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/api_client.py", line 322, in call_api
    response_type, auth_settings, callback)
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/api_client.py", line 149, in __call_api
    post_params=post_params, body=body)
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/api_client.py", line 358, in request
    body=body)
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/rest.py", line 208, in POST
    body=body)
  File "/usr/local/lib/python2.7/dist-packages/on_http_api2_0/rest.py", line 177, in request
    raise ApiException(http_resp=r)
ApiException: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Content-Length': '128', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"80-7OjUGBy4o6RiaRnKGDICnw"', 'Date': 'Mon, 04 Apr 2016 21:51:00 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"BadRequestError: required option user for task Task.Obm.Ipmi.CreateSettings in graph Graph.Obm.Ipmi.CreateSettings"}

Test Name: pollers_data_get
Error Details: Condition was True.
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/usr/local/lib/python2.7/dist-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-http/RackHD/test/tests/api/v2_0/pollers_tests.py", line 157, in pollers_data_get
    assert_false(poller.get('lastFinished', False))
  File "/usr/local/lib/python2.7/dist-packages/proboscis/asserts.py", line 67, in assert_false
    raise ASSERTION_ERROR(message)
AssertionError: Condition was True.

:-1:
(1) Unit-testing should not manipulate the real database!
(2) Unit-testing structure is not good, each HTTP API should map to a standalone test suite.
(3) Lack some unit-testing for sku-pack-service's new APIs.
(4) There is a case that the Promise within the then block is not returned.
(5) You should follow the Javascript name convention for variable name.
(6) Many style error, mostly indent error.

FYI - I reopened https://github.com/RackHD/RackHD/issues/150 for the pollers test failure.

*** BUILD #789 ***

*** BUILD #790 ***

@yyl8815 Hi Felix,
I fixed most of your comments above,
I commented on the couple that I didn't address.
I had to close this PR and push because there are some stale hound  comments that I cant see get ride of.
The new PR is PR#207
https://github.com/RackHD/on-http/pull/207


Photo Viewer: Adjust viewfield of image point on map as user pans around in 360 image using the photo editor

In RapiD v1, selecting a 360 image pin and then using the photo viewer to 'pan' around dynamically adjusts the FOV marker on the map. Super slick. We should add this back in v2!

All righty- initial code inspection and pointers from @bhousel indicate that this functionality used to be in the setStyles function- example in the V2.1 code here:
https://github.com/facebook/Rapid/blob/cea054297eb5738008c89a0226b52f0a9dbe05c3/modules/services/MapillaryService.js#L352-L368
There are similar setStyles methods in the Streetside and Kartaview services too.
Now, to find out how they are fired/handled.

For Mapillary, here's how the v1 code worked:
sequenceDiagram
participant Photo Viewer
participant Mapillary Service
loop Repeat while dragging left mouse
    Photo Viewer->>Mapillary Service: user drags pano photo
    Mapillary Service->>onBearingChanged(): bearingChanged event w/ `bearing` in degrees
onBearingChanged()->>Mapillary Service: recalc rotation of pin w/CSS transform
end

For Bing streetside imagery the flow is very similar, but with an empty event called viewerChanged  which must be handled by calling back to the service to get the current yaw and set the .css transform rotation with it.

This now works!
https://github.com/facebook/Rapid/assets/1887955/23a5f1c6-0a04-496f-837e-13adf883154b


fix LS display

Closes #180

Codecov Report

Merging #186 (701fe36) into master (f6f895b) will decrease coverage by 0.55%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
- Coverage   67.66%   67.10%   -0.56%
==========================================
  Files          13       13
  Lines        1670     1672       +2
==========================================
- Hits         1130     1122       -8
- Misses        540      550      +10

Impacted Files
Coverage Δ

src/utils.jl
49.52% <33.33%> (-0.16%)
:arrow_down:

src/blended_cg.jl
50.26% <0.00%> (-2.09%)
:arrow_down:

src/polytope_oracles.jl
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


For easier testing of bundles, add timedelta options to times

For testing phase migrations, it'd be very handy to be able to define start/end of phases like:
# now() + 5 days
start_offset: 5d

# now() + 5 minutes
start_offset: 5m

Not going to implement this


Split up the contributing page. [phab:D923]

Created by salguarnieri at 2016-06-10 23:07:24:
Split the contributing page into two different pages. One for
specific instructions regarding contributing. A second with instructions on how
to build kythe (and the website).

salguarnieri wrote at 2016-06-10 23:13:47:

Fixed missing text

salguarnieri wrote at 2016-06-10 23:18:03:

Removed releasing page since it was a stub anyway

salguarnieri wrote at 2016-06-10 23:25:55:
Remove release page from phab summary.

zarko wrote at 2016-06-11 00:04:31:
Do the instructions for installing and using Arcanist belong in /contributing instead of /getting-started?

salguarnieri wrote at 2016-06-11 00:19:07:
I could see that moving there since you only need to set that up if you want to contribute. I sort of wanted to split the code review to its own page but didn't go that far.

salguarnieri wrote at 2016-06-11 00:22:42:

Move arc setup to contrib page and remove todo for spell check.

zarko wrote at 2016-06-11 00:23:55:
OK; I don't feel strongly about it either way.

zarko accepted this revision at 2016-06-11 00:23:55

salguarnieri closed via commit dc8826badacc26312d635378bb105355806a79da at 2016-06-11 00:47:56


Implement last_day function in ast_builder

resolve #1343

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

16 of 16 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 98.569%

Files with Coverage Reduction
New Missed Lines
%

core/src/executor/validate.rs
1
99.24%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
44142

Relevant Lines:
44783

💛  - Coveralls


690 explain path blocked

There is an issue with LoadBalancer:
It is not part of the path at the moment. Thus, when it is the blocking element it is not drawn as part of the path either.
Should we add it to the path ??
We should decide and then finalize the LoadBalancer tests (which are not in final state now)
@zivnevo @haim-kermany @adisos


Stack Layout Documentation

Scoped and adding content and examples for build at a later date.

Copy and examples ready for review by @JoanaMMoreira

Aug 29 - have the design specs from Ben and a draft doc that will need to be reviewed by content. Will start working on this once done with Flow

@jpmorganchase/salt-content  this is ready for review please

Aug 30 - jo working on examples

Content review done and updates made