Document how to set an organization profile picture using Gravatar

Code of Conduct

[x] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
"Setting your team's profile picture"
What part(s) of the article would you like to see updated?
There are two ways to set an organization profile picture:

Upload an image, using the steps described in the article.
Enter an email address associated with a Gravatar, in the field labeled "Gravatar email (private)." GitHub will use the Gravatar image associated with that email. This is currently not documented, and the purpose of this field isn't self-explanatory.

Content plan

Above step 1, add a new h2 header: "Uploading a team profile picture"
After step 7, add a new h2 header: "Using a Gravatar image"

Under this second h2, explain concisely how to do this alternate procedure. For example, wording such as:
You can set a team profile picture using a Gravatar image.

In the "Gravatar email" field, type the email address associated with the Gravatar.
Select Update profile.

Related issue
https://github.com/github/docs/issues/28553
Additional information
The screenshot below is for reference, but does not need to be included in the article:

Who does this affect?
Organization owners
What is the impact to users?
Organization owners might be confused what this field is or how to use it, especially if they are not familiar with Gravatar. This question recently generated customer confusion with Support.

کمک

Tajdate ```

~~@2481842N <!-- Error while uploading<PHONE_NUMBER>722.jpg --><!-- Error while uploading adjoe -->~~

Taj~~@2481842N __~~

Hi, Can you please assign me this task. I would like to work on this.

@pratiksardar Thanks for your interest in improving the docs!
We don't assign issues, so you, or anyone else, are free to submit a PR with this fix! 💖

Made the PR @cmwilson21! :) It's #28870! :)

Note: I've updated the OP because the original article referenced was about changing a team's image, not an organization's. cc @CBID2 if you'd like to take another crack at the PR 🙂

Customizing your organization's profile

On it

Made the changes @isaacmbrown! :)


How to skip flow based on condition?

Hi,
I want to skip workflow based on specific conditon. How to handle this type of requirment in Azkaban?

This is currently not supported - however is on a roadmap.
You can now check condition is downstream node itself and chose to ignore processing as part of node logic.

+1


switch shortcut

Description of the new feature / enhancement
a switch shortcut for the keyboard mannager
Scenario when this would be used?
I swap some key in my keyboard, and that's a bit complicate for my coworker to use my keyboard when they give me some assistance, one shortcut could arrange that so easly.
Supporting information
No response

/dup #4879


[deliver] Cannot upload iPad 3rd generation screenshots

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Despite using snapshot to generate screenshots "iPad Pro (12.9-inch) (3rd generation)-01_screenshot_X.png", and after battling with the ongoing sizing issues, such as https://github.com/fastlane/fastlane/issues/13698 and https://github.com/fastlane/fastlane/issues/13610
It still uploads the images for "iPad Pro (2nd Generation) 12.9-inch Display" -- the problem with this is that all my localisations then go and use English (e.g. https://cl.ly/db4d1a265bbb)
Complete output when running fastlane, including the stack trace and command used

[08:19:18]: Uploading 30 screenshots for language zh-Hant
[08:19:18]: Uploading './screenshots/zh-Hant/iPad Pro (12.9-inch) (3rd generation)-01_screenshot_1.png'...
[08:19:43]: Uploading './screenshots/zh-Hant/iPad Pro (12.9-inch) (3rd generation)-02_screenshot_2.png'...
[08:20:08]: Uploading './screenshots/zh-Hant/iPad Pro (12.9-inch) (3rd generation)-03_screenshot_3.png'...
[08:20:35]: Uploading './screenshots/zh-Hant/iPad Pro (12.9-inch) (3rd generation)-04_screenshot_4.png'...
[08:20:52]: Uploading './screenshots/zh-Hant/iPad Pro (12.9-inch) (3rd generation)-05_screenshot_5.png'...
...
[✔] Saving changes
[08:23:45]: Successfully uploaded screenshots to App Store Connect

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.14.2

Ruby
2.3.7

Bundler?
false

Git
git version 2.17.2 (Apple Git-113)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.14.2 (18C54)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib

OpenSSL Version
LibreSSL 2.6.4

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
10.1

System Locale

Variable
Value

LANG
en_AU.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.114.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.0

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.7.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
1.8.0

unicode-display_width
1.4.0

terminal-table
1.8.0

plist
3.4.0

public_suffix
2.0.5

addressable
2.5.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.6.5

tty-cursor
0.6.0

tty-spinner
0.9.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.62.0

faraday
0.15.4

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.5

gh_inspector
1.1.3

json
<IP_ADDRESS>

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.2

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.6.0

bundler
2.0.1

faraday_middleware
0.12.2

naturally
2.2.0

simctl
1.6.5

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mime-types-data
3.2018.0812

mime-types
3.2.2

jwt
2.1.0

signet
0.11.0

memoist
0.16.0

os
1.0.0

googleauth
0.6.7

httpclient
2.8.3

google-api-client
0.23.9

google-cloud-env
1.0.5

google-cloud-core
1.2.7

digest-crc
0.4.1

google-cloud-storage
1.15.0

emoji_regex
0.1.1

io-console
0.4.5

libxml-ruby
2.9.0

psych
<IP_ADDRESS>

generated on: 2019-01-22

Hey guys, any updates on this issue? I think this will cause issues once March 1st rolls around and iPad 3rd generation screenshots become required in appstore connect

Yep, doesn't upload the iPad Pro (12.9-inch) (3rd generation) screenshots for me either

Same here, no screentshots for iPad Pro (12.9-inch) (3rd generation). What I noticed is, that fastlane complains about too many screenshots, too. I generate screenshots for iPad Pro (12.9-inch) (2rd generation), too. So the cause might be, that 3rd Gen ist not handled correctly. In this file there are some comments about it, maybe those are the reason: https://github.com/fastlane/fastlane/blob/master/deliver/lib/deliver/app_screenshot.rb

So the calculate_screen_size method evaluates the resolution of the image and maps to the various screensizes, which I guess is flawed because all generations of the iPad pro will map to ScreenSize:: IOS_IPAD_PRO which when uploading gets mapped to ipadPro: "MZPFT.SortedJ99ScreenShot" in DUClient (ignoring the entry for ipadPro129 which is the correct Validation-RuleSet for the 3rd gen slot on appstore connect)
Would it be a better approach to use subfolders to each device like supply does so there's no way of uploading to the incorrect place? The downside to that being its might be a bit more work to make sure the file structure is correct etc.

Is there any update on this? Apple will be requiring the new screenshots (for 12.9-inch iPad Pro 3rd generation) on March 27th, which is this Wednesday.

Tomorrow is March 27th. Is there anything happening here? Sorry to bother, but due to apple this is quite urgent if we want to keep using fastlane as a solution.

I don't see any Pull Requests that could be merged that promise to solve this problem :/ Fastlane is Open Source so that anyone can jump in and help solve any problems or obstacles they may be facing.

Is it make sense to use the same name convention, as Apple uses? I downloaded screenshots via deliver fastlane deliver download_screenshots and got files in the format:
%numer%_%deviceType%_%numer%.%originalName%.png, where
numer - is screenshot's order
deviceType - values like phone65 for iphone XS max, ipadPro for the ipad pro 12.9 2nd gen and ipadPro129 for the ipad pro 12.9 3rd gen
eg 3_ipadPro129_3.favorites.png

As I understand, currently we have 2 blockers: no frames from a Facebook design team and frameit can't detect screenshots for the iPad pro 3rd gen.
I solved the first problem with Apple's marketing images. if you need asap to do screenshots, you could use my solution. it's not perfect, but better than nothing https://github.com/pingwinator/frameitIpadPro

Is it make sense to use the same name convention, as Apple uses? I downloaded screenshots via deliver fastlane deliver download_screenshots and got files in the format:
%numer%_%deviceType%_%numer%.%originalName%.png, where
numer - is screenshot's order
deviceType - values like phone65 for iphone XS max, ipadPro for the ipad pro 12.9 2nd gen and ipadPro129 for the ipad pro 12.9 3rd gen
eg 3_ipadPro129_3.favorites.png

Possibly, yes. You will have to investigate how this works with our current screenshot creation action and naming convention there.

As a reminder, starting March 27, 2019 all new apps and app updates for iPhone or iPad, including universal apps, will need to be built with the iOS 12.1 SDK and support iPhone XS Max or the 12.9-inch iPad Pro (3rd generation). Screenshots for these devices will also be required. All new apps and app updates for Apple Watch will need to be built with the watchOS 5.1 SDK and support Apple Watch Series 4. Learn More

It looks like Apple was ready to enforce screenshots on App Store Connect on March 27, but they haven't actually enforced it yet because when I attempt to create a new submission, screenshots for the iPhone XS Max and 12.9-inch iPad Pro (3rd generation) are still optional (see below).

I'm guessing this could happen at any moment? Or never? 🤷♂

Looks like it's being enforced now.

I don't see any Pull Requests that could be merged that promise to solve this problem :/ Fastlane is Open Source so that anyone can jump in and help solve any problems or obstacles they may be facing. The people spending more time on fastlane by being part of the team can't always solve all the problems.

This is a good point. For me the biggest problem working on this issue is, that it seems to be much coupled to other parts of the fastlane. What would be the best strategy to approach this issue? Should one first refactor the whole resolution-logic into a single module (see #14121), or try to "only" replace the auto-detection of "image size" -> "device type" with a less "clever" parsing of the file name.
We could use Apple's naming scheme as the base, but this would still be a breaking change.
This would not only require to rewrite parts of deliver, e.g. AppScreenshot::formatted_name or AppScreenshot::devices, but also other parts, e.g. Screenshot#device_name.

Looks like App Store Connect is enforcing it, but the API isn't? 🤔 We've managed to submit apps without all the required screenshots via fastlane, despite App Store Connect states they are all required.

@jnbt Yep, that is what makes it so hard: We have the upload part in deliver, the screenshot taking stuff in snapshot, and also some framing and positioning stuff in frameit.
In theory it would be enough if deliver somehow could upload the correct file to the correct location in a first step though. Maybe this could help to limit the scope of necessary changes and see how we can solve that.
Of course we optimally don't want any breaking changes at all. Making people change their screenshot names might be a valid option though (but that would also apply for downloading existing screenshots then - which is another complication).
I will try to spend some time thinking into this tomorrow... I gave up in January, but maybe now I can get further. Will document here as usual.

@janpio If we use Apple's (current) naming schema, a possible migration path for users with existing screenshots would be to use deliver to download all existing screenshots once. Do you know if there is a "official" document where the internal deviceType of the ITC API are listed?

No, most probably there is none as those APIs we are using in spaceship are all just the ones being used in the web interface (not the new incoming, official API). So your best bet is the spaceship source code or whatever requests the web UI sends.

I also looked into the new official API, but it doesn't seem to contain a specification for these. (The new API seems to be also quite limited, regarding the meta information)

In theory it would be enough if deliver somehow could upload the correct file to the correct location in a first step though. Maybe this could help to limit the scope of necessary changes and see how we can solve that.
Of course we optimally don't want any breaking changes at all. Making people change their screenshot names might be a valid option though (but that would also apply for downloading existing screenshots then - which is another complication).

I'm aware that there are also wider problems to consider but following on from @pingwinator's suggestion, I had a little play around and maybe something like this might work as a backwards compatible change that fixes the issue in the context of deliver:
Since using deliver's download_screenshots command will save the file with the correct device_type in the format of "{sort_order}_{device_type}_{sort_order}.{original_file_name}", we could introduce an isolated fix that does something like the following inside app_screenshot.rb:
 # The iTC API requires a different notation for the device
 def device_type
-  # This list does not include iPad Pro 12.9-inch (3rd generation)
-  # because it has same resoluation as IOS_IPAD_PRO and will clobber
+
+  basename = File.basename(path)
+  device_type = basename[/^([0-9]+)_(\S+)_(\1)/, 2]
+  if Spaceship::Tunes::DeviceType.exists?(device_type)
+    return device_type
+  end
+
   matching = {
     ScreenSize::IOS_35 => "iphone35",
     # ...
     ScreenSize::APPLE_TV => "appleTV"
   }
   return matching[self.screen_size]
 end

(Please excuse my poor Ruby)
I think that this would "fix" the way that deliver works in the sense that you could use it in isolation to download all of your apps screenshots and then upload them again without anything breaking and as a result, your 3rd generation iPad Pro screenshots will still exist in AppStoreConnect at the end of it all...
There is a bit more to it than just that, but this approach basically means that we could start moving away from relying on the image resolution alone to detect device_type and the only two solutions I see are either adding it into the filename or nesting in directories that are named after the device types

Any news?

@liamnichols What does device_type look like for the downloaded screenshots? If there are not other gotchas in how other parts of fastlane work with that, this might indeed be a good direction.
Also maybe supporting both, device type in filename and/or folder would probably be a usability win anyway, what do you think?

@janpio - it's just one of the values listed here: https://github.com/fastlane/fastlane/blob/master/spaceship/lib/spaceship/tunes/device_type.rb
Problem with those names is that they're a little verbose (i.e iphone6 literally means 'iPhone 6 (or 7 or 8)' whereas iphone65 means 6.5" iPhone (iPhone XS Max)) .. I was wondering if Fastlane itself should come up with some more user-friendly definitions that we can map between? Alternatively we could just add a table to the documentation...
Also I was thinking a little more about the naming convention of the downloaded images in deliver and was wondering if maybe actually we shouldn't rely on that.. I feel like having directories in each language folder might be a better idea actually because say that you have 10 screenshots for each language.. to support each required device types that will be 40 files in a directory and maybe its a bit too much... it might be nicer to encourage the use of subdirectories instead? Like you said, we could still just support both approaches but maybe it will be nicer to push towards using subdirectories

Using directories would also enable us to implement some "initialize" method that creates the appropriate folder structure for the user, where they just have to drop their files.
The basic problem of the naming is that Apple itself is inconsistent here, mixing different conventions as they see fit. If we can find a different, more consistent naming scheme it would probably be beneficial to fastlane users.
Maybe more aligned to how the App Store Connect UI labels them?

Maybe more aligned to how the App Store Connect UI labels them?

This could be a good idea...

device_type
App Store Connect Label

iphone65
6.5-inch Display

iphone58
5.8-inch Display

iphone6Plus
5.5-inch Display

iphone6
4.7-inch Display

iphone4
4-inch Display

iphone35
3.5-inch Display

ipadPro129
iPad Pro (3rd Generation) 12.9-inch Display

ipadPro11
11-inch Display

ipadPro
iPad Pro (2nd Generation) 12.9-inch Display

ipad105
10.5-inch Display

ipad
9.7-inch Display

The iPad Pro situation even in App Store Connect is a bit horrific 😅 I worry about the future lol

If we go with this approach, and then the UI labels update, do you think that would cause more problems or would we be able to update the label definitions in a new version of deliver? 🤔

Nope, that's the one thing that I see as a problem. As soon as we create folder or files on user machines with those, we pretty much should support those. But if we take one more step, and abstract those UI labels to our own system, we could maybe be fine.
(Until Apple releases some new devices that don't match with our abstraction... that's why using the device_type would be "nice" - it's just what their API uses.)
Meh.

Having written this, it is probably our best bet to just go with device_type as our identifier as an evolution of the screen sizes, and use your table above as the base for some proper documentation. Yes, the filenames/folder names by themselves would be confusing to users, but as long as Apple doesn't completely replace/change their API we should be fine.

Some context: supply creates this file structure for Android app's metadata on supply init:
        └───images
            ├───phoneScreenshots
            ├───sevenInchScreenshots
            ├───tenInchScreenshots
            ├───tvScreenshots
            └───wearScreenshots

Looks like this is being enforced on the API now, I'm getting an error when trying to submit an app:
You must add at least one screenshot. There is an error for 1 of your localizations.

Looks like this is being enforced on the API now, I'm getting an error when trying to submit an app:

Fwiw, I just got off the phone with apple developer support and they're not even aligned on what's supposed to be enforced right now. Their first response was that the 3rd generation screenshots are required and the 2nd gen are optional. But when I informed them that that's not how Appstore Connect is enforcing things right now (both 2nd and 3rd gen are currently required), they looked up the "official" (read: public-facing) support docs and then stuck with the line that both are required. I tried to point out the redundancy in this requirement but was told to file a bug report through "Bug Reporter" which I've done. Who knows if/when this will change though
If history is any indication of the future, at some point the 2nd generation screenshots will no longer be required and the 3rd gen screenshots will be.
But this is all just to hopefully provide folks some sanity as they are trying to reconcile all of the changes here. As of right now, it looks like fastlane is unable to submit apps through Appstore Connect because of the new requirement of 3rd gen screenshots :(

Still thinking about way to fix that identifier mess, which could give us a proper way forward:
I just had a look at Apple's identifiers that @liamnichols provided the nice summary table for: https://github.com/fastlane/fastlane/issues/14116#issuecomment-481746939
The odd ones out, that do not have the inch size in their label, are iphone6, iphone6Plus, ipad and ipadPro. For the first 3, we can actually create the "correct" labels: iphone47, iphone55 and ipad97.
That way we could create our own, consistent naming scheme that could be used for e.g. folders or file names to identify the screenshots (that actually would accept both values - the Apple one and our more consistent alternative).
You could even just use the "inch" value as a proper identifier.
Only for the ipadPro, which represents the "iPad Pro (2nd Generation) 12.9-inch Display" this would clash with ipadPro129 that already represents "iPad Pro (3rd Generation)".

device_type
possible device type alias
inch

iphone35

3.5

iphone4

4

iphone6
iphone47
4.7

iphone6Plus
iphone55
5.5

iphone58

5.8

iphone65

6.5

ipad
ipad97
9.7

ipad105

10.5

ipadPro
???
12.9 💣

ipadPro11

11

ipadPro129

12.9 💣

I am not fully knowledgeable about the newer iPad Pro 11 and iPad Pro (3rd Generation) - what is so different about them, that they get their own "screenshot category"?
How are screenshots between these two devices different in appearance?

How are screenshots between these two devices different in appearance?

I guess it's because the 3rd gen is without a home button, so if you frame your screenshots it should look like the current device you're browsing App Store on. I had apps rejected previously just because it's framed in the wrong device (i.e. iPhone 8+ on a iPhone X device or vice versa).

11” variant of the iPad only comes as a pro without a home button (the 10.5” is the similar sized version with a home button)
So it’s 12.9” pro (3rd gen) and 11” pro (also a 3rd gen device, but it’s the first generation to have an 11” display)
So you can think of the 11” pro screenshots as the iPad equivalent to the iPhone XS (optional, and can use the iPhone XS Max screenshots instead)

Here someone created a super quick hack to work around the problem: https://github.com/fastlane/fastlane/issues/14474#issuecomment-482047639

something like this could also be an option to map the device id to folders and/or screenshot types - it might be more reliable than going with the device name itself since it can potentially change with renamed simulators etc

I had a go at implementing a change that allows you to nest screenshots within folders named after each device_type as suggested previously (I.e /screenshots/en-GB/ipadpro129/image.png)
I uncovered a lot of things that made it hard to achieve the desired change without being sure that I’m not introducing regressions though
A rough version can be found here for reference: https://github.com/liamnichols/fastlane/compare/master...experimental-fix
My plan is to try and introduce the changes in small and testable chunks but I’m not really an expert with ruby so this is going to take a bit of time
The first two parts however are #14533 and #14574

@hnakamura-fsv You mean using the technical device identifier (instead of something the API or App Store Connect uses)? Interesting idea, although I always hated how there are multiple per device and e.g. iPad6,11 is actually an iPad 5... Confusing much :/ But at least consistent and independent from whatever the API uses, so that's a plus.
Oh so complicated.

What do you all think about maybe adding something like https://github.com/fastlane/fastlane/issues/14474#issuecomment-482047639 as a temporary workaround to just enable all fastlane users to upload their apps with full metadata and screenshots again?

What do you all think about maybe adding something like #14474 (comment) as a temporary workaround to just enable all fastlane users to upload their apps with full metadata and screenshots again?

I guess that my one question would be about how we migrate support for this workaround going forward? There are already lots of custom edge cases that weren't really documented/tested and I am wondering if checking the filename for "(3rd generation)" forever going forward is going to be something else that has to remain in the codebase? Or will it be possible to make this a breaking change once a more suitable long-term solution is introduced?
I'm not really sure how these things work in the open source world

I'm not really sure how these things work in the open source world

We make it up as we go... 🥇
Seriously: If we can't figure out a backwards compatible solution to solve this whole mess properly, we will have to either a) introduce fastlane 3.x or b) add an option to switch from the old to the new behavior.
As both things are not really what we want (for a) people will make assumptions about a major verison increase that are just not true, like a lot of new functionality, all the old inconsistencies being fixed etc, and for b) needing an option will leave out new users) I am still hoping we can just find a "different" way to do things that works.
For a workaround that works now:
Introducing some code that is triggered by e.g. (3rd generation) in a file name would be fine from a semver view point - it fixes an existing bug with new behaviour. But if Apple ever releases another device with that string in the official name, we will to deal with it then.
Oh so complicated :/

I had a go at implementing a change that allows you to nest screenshots within folders named after each device_type as suggested previously (I.e /screenshots/en-GB/ipadPro129/image.png)
I uncovered a lot of things that made it hard to achieve the desired change without being sure that I’m not introducing regressions though
A rough version can be found here for reference<EMAIL_ADDRESS>My plan is to try and introduce the changes in small and testable chunks but I’m not really an expert with ruby so this is going to take a bit of time
The first two parts however are #14533 and #14574

Still have to sort the screenshots to preserve the order.

Here is my path for supporting 10 screenshots per device + sorting them to preserve the order.
`diff --git a/deliver/lib/deliver/upload_screenshots.rb b/deliver/lib/deliver/upload_screenshots.rb
index 2778a7b5d..dde46c2af 100644
--- a/deliver/lib/deliver/upload_screenshots.rb
+++ b/deliver/lib/deliver/upload_screenshots.rb
@@ -50,18 +50,18 @@ module Deliver
screenshots_per_language.each do |language, screenshots_for_language|
UI.message("Uploading #{screenshots_for_language.length} screenshots for language #{language}")
screenshots_for_language.each do |screenshot|

     indized[screenshot.language] ||= {}

     indized[screenshot.language][screenshot.formatted_name] ||= 0

     indized[screenshot.language][screenshot.formatted_name] += 1 # we actually start with 1... wtf iTC

     indized[screenshot.language+screenshot.device_type] ||= {}

     indized[screenshot.language+screenshot.device_type][screenshot.formatted_name] ||= 0

     indized[screenshot.language+screenshot.device_type][screenshot.formatted_name] += 1 # we actually start with 1... wtf iTC

     index = indized[screenshot.language][screenshot.formatted_name]

     index = indized[screenshot.language+screenshot.device_type][screenshot.formatted_name]

     if index > 10
       UI.error("Too many screenshots found for device '#{screenshot.formatted_name}' in '#{screenshot.language}', skipping this one (#{screenshot.path})")
       next
     end

     UI.message("Uploading '#{screenshot.path}'...")

     UI.message("Uploading '#{screenshot.path}' for '#{screenshot.device_type}'...")
     v.upload_screenshot!(screenshot.path,
                          index,
                          screenshot.language,

@@ -105,6 +105,7 @@ module Deliver
files = Dir.glob(File.join(lng_folder, ".#{extensions}"), File::FNM_CASEFOLD)
files.concat(Dir.glob(File.join(lng_folder, device_types, ".#{extensions}"), File::FNM_CASEFOLD))
next if files.count == 0

   files = files.sort

   framed_screenshots_found = files.any? { |file| file_is_framed?(file) }

`

This is also a problem with the iPhone XS Max screenshots - when in the same screenshots/en-US/ directory as iPhone 8 Plus snaps, only the iPhone 8 ones get picked up and uploaded.

Huh? Could you please create a new issue @petekanev and provide more information? That should be investigated.

Has there been any progress with a fix for this issue? For now I'm still manually adding the 3rd gen screenshots, but having deliver do so for me makes it alot easier.

Yes, the original issue of not being able to upload a iPad Pro 12.9 3rd gen screenshot should be fixed: https://docs.fastlane.tools/actions/deliver/#uploading-screenshots-for-ipad-pro-129-inch-3rd-generation
Related problems like size differences, not being able to frame the screenshot etc might be not - but there are individual issues for these problems.


Update master wrapper to latest nightly

Follow up for https://github.com/gradle/gradle/pull/23388

@bot-gradle test and merge

I've triggered a build for you.


Form validation not working: You attempted to set the key backgroundColor with the value "transparent" on an object that is meant to be immutable and has been frozen.

Hi, The form is displaying properly but I get an error when I enter some text:
You attempted to set the key backgroundColor with the value "transparent" on an object that is meant to be immutable and has been frozen.
Any ideas?

This library works with native base > 2.0.
So, Can you please tell me which version of native base you are using in your app.

I am using 2.3.1 and I am having the same issue.

Setting picker as one of the field options causes this error. However I got it fixed using a not recommended way.
open

node_modules\react-native-form-builder\src\fields\picker\index.js
Goto line 25

<View           style={Object.assign(styles.pickerMainAndroid, {             // backgroundColor: theme.pickerBgColor,             // borderBottomColor: theme.inputBorderColor,             // borderBottomWidth: theme.borderWidth,           })}         >
Comment those line out like so. Until it's fixed professionally thats works for now.

Issue is not active from a long while so, closing it.

I still get this issue with the example https://www.npmjs.com/package/react-native-form-builder

I got this error also. It looks is stills present and has not been fixed. Will try with the comment from @03balogun

This issue is certainly still a problem:
node: 10.1.15
navtive-base: 2.12.1

Yeah, closing the issue won't fix it XD

I'm having this issue on iOS only.

Sorry guys, it's hard to get time to work on it these days.
it seems like a lot of people are facing this issue.
I'm open to PRs otherwise I'll debug it on this weekend.
Thanks


Groups

Write here if you are searching for other students to form a group with.

I'm searching for other students to join

I'm also looking for a group to join.

I'm also looking for a group.

i'm looking for a group.

I am looking for a group<EMAIL_ADDRESS>

I'm also looking for a group. The problem is that I'm an exchange student who temporarily went home, and now I'm not able to come back to Denmark.


[Closed] Adds Seconds to Days in Julia

📑 Description

Closes #3654

This change resolves issue #3654 by adding Julia program file to convert seconds to days.

Please close this issue as it's been solved
Here is the file link for this issue Seconds to Days in Julia
Also there is one more such issue: Write a Julia program to convert minutes to weeks #1013


https://github.com/BoltsFramework/Bolts-iOS.git

Please help me, Facebook says: "The Bolts Framework , which is included in Facebook SDK, provides easy to use APIs to help you to parse the incoming URL." Thank you!
Ourapp's url: https://itunes.apple.com/hu/app/iptvhungary/id999802622?mt=8

@podosvetesi
Is there something that you are looking for specifically?
The question is quite broad, but it looks like you are looking for http://applinks.org reference, since it's related to parsing incoming URLs. Bolts.framework can indeed help you with that. Take a look at the website, it has some good examples on the usage as well as guides for implementing this in your app.
(also feel free to reopen or open a new issue if you have any questions)


Create contact info items example in index.html

add links

where are you not online all the time ofcourse


The pydot dot_parser, and round-tripping through dot

So, I've finally (belatedly) had a chance to wrap my brain around #396 better. (cc: @lkk7)
The reason for all that conversion, in the networkx code, is that they were round-tripping their pydot.Graph object through the dot command and reading it back in again, which is actually a fairly common technique in the Graphviz world.
Graphviz layout techniques
The reason for doing it is, having dot output a dot-format file (dot -Tdot) tells it to take the input graph definition(s) and write them back out with all of the implicit elements made explicit, and the layout applied in the form of a bounding-box (bb=) attribute applied as a default graph attribute, and height=, width=, and pos= attributes applied to all of the elements.
For example, this graph:
graph G {
  a [shape=octagon, color=red];
  b [shape=triangle, color=blue];
  a -- b [dir=both];
  b -- { c; d; };
}

...passed through dot -Tdot, will come out like this:
graph G {
	graph [bb="0,0,126,194.5"];
	node [label="\N"];
	{
		c	[height=0.5,
			pos="27,18",
			width=0.75];
		d	[height=0.5,
			pos="99,18",
			width=0.75];
	}
	a	[color=red,
		height=0.5,
		pos="63,176.5",
		shape=octagon,
		width=0.75];
	b	[color=blue,
		height=0.70139,
		pos="63,97.25",
		shape=triangle,
		width=0.97428];
	a -- b	[dir=both,
		pos="s,63,158.36 e,63,122.97 63,147.03 63,142.84 63,138.47 63,134.15"];
	b -- c	[pos="57.375,84.18 51.284,71.11 41.529,50.178 34.723,35.572"];
	b -- d	[pos="68.625,84.18 74.716,71.11 84.471,50.178 91.277,35.572"];
}

That's valuable information for anyone who wants to then modify that layout in any way, particularly to do things Graphviz won't do on its own.
WireViz example
For example, it's an integral part of the technique we hit upon for the WireViz tool, which wanted to post-process edges representing wires in its graphs, to route them through table nodes. WireViz uses Graphviz to output a layout where edges are connected from the :w port of a node to the :e port of the same node. Graphviz will naturally lay that edge out so it loops arooooound the outside of the node. But, by taking the start and end coordinates in that edge's pos= data, a post-processing script can adjust the pos= values to route the edge through the node, instead.
For example, this code:
graph G {
  "W" [shape=box, label=<

>];
W:w1:w -- W:w1:e [style=bold, color="#000000:#ff0000:#00ff00:#000000"];
}

Rendered by neato will normally create a loopy edge:

But by running it through neato -Tdot, then adjusting the pos= values for the edge and processing it again with neato -n2 (the -n2 activates neato's highest level of "no-layout" mode, where it will skip its node-positioning and edge-routing steps and just respect the supplied pos= values), the graph can be turned into this:

Pydot support
So, like I said, it's a common and useful technique. So common, in fact, that we might consider adding special support for it in pydot — perhaps a method pydot.Dot.layout() that sends the graph data through <command> -Tdot, then automatically runs it back through the parser and populates a new pydot.Graph, with all of the elements now annotated with layout attributes.
But whether or not we do that, the crux of the issue is that pydot's Graph.to_string() and dot_parser.parse_dot_data() don't combine to be idempotent for identifiers — passing a graph definition through one followed by the other gets you graph elements that don't have the same node names as the original data.
In pydot 3.0.0 we changed the logic underpinning the graph element constructors so they preserved the formatting of identifiers suppplied as arguments — pydot.Node("a 1") now creates a node named a 1 instead of a node named "a 1", for example. But when the output of pydot.Graph.to_string() is run through pydot.dot_parser.parse_dot_data(), that same guarantee is no longer present — pydot.Node("a 1") becomes "a 1" in the graph source, which dot_parser then parses back in as "a 1", and creates the corresponding node by calling pydot.Node("\"a 1\"").
While the results of parsing a graph round-tripped through dot -Tdot will never be exactly the same as the input — observe, for example, the breaking out of the implicit subgraph in the graph above, along with the separation of a -- { c d }; into a -- c and a -- d. But there are things we could do to make the effects less disruptive to  the input data than our current code will be.
Potential quoting changes in Pydot
Things we could do to make round-tripping less likely to confuse calling code are:
On output: Stop replacing \n with \\n and \r with \\r
There's really no reason to do that. Graphviz fully supports embedded newlines in quoted graph identifiers. This code:
graph G {
  "a\nnode" [color=red];
}

Is exactly the same as this code:
graph G {
  "a
node" [color=red];
}

in terms of how it's treated by the Graphviz parser.
Our parser also supports capturing raw newlines inside quoted IDs:
>>> import pydot
>>> source = '''graph G {
...   "a
... node" [color=red];
... }'''
>>> g = pydot.dot_parser.parse_dot_data(source)[0]
>>> g.get_nodes()[0].get_name()
'"a\nnode"'

So, there's no reason to turn \n into \\n, or \r into \\r, inside .to_string().
On input: Have the parser suppress quotes around values
What bit the networkx folks in #396 was the transformation of pydot.Node("a\nb") into pydot.Node('"a\\nb"'), which is the fault of both .to_string() and dot_parser. While .to_string() caused \n => \\n, the parser caused the ID value to become wrapped in double quotes.
To more consistently match the behavior of our API calls (post-3.0.0), dot_parser should be suppressing the outer quotes around quoted IDs when it reads them in, so that "a b" becomes pydot.Node("a b"), not pydot.Node('"a b"').
That'd also be more in line with Graphviz's own parser, which will for example strip off unnecessary quotes around IDs and attribute values:
$ echo 'graph G { "a" [color="red"]; }' | dot -Tdot
graph G {
	graph [bb="0,0,54,36"];
	node [label="\N"];
	a	[color=red,
		height=0.5,
		pos="27,18",
		width=0.75];
}

Our own parser will read that in as '"a"' and {"color": '"red"'}, leaving the unnecessary quotes as part of the values:
>>> import pydot
>>> g = pydot.dot_parser.parse_dot_data(
... 'graph G { "a" [color="red"]; }')[0]
>>> n = g.get_nodes()[0]
>>> n.get_name()
'"a"'
>>> n.get_color()
'"red"'

If the parser were to suppress quotes when parsing, and Graph.to_string() continue to only re-add them on output (and only when necessary) the way it already does since 3.0.0, we gain the ability to parse the output of pydot.Graph.to_string() without the identifiers being changed in the process.
Which means we get closer to this code:
>>> import pydot
>>> g = pydot.Graph("G", graph_type="graph")
>>> g.add_node(pydot.Node("foo bar", color="red"))

..and this code...:
>>> import pydot
>>> g = pydot.dot_parser.parse_dot_data(
... 'graph G { "foo bar" [color="red"]; }')[0]

being functionally equivalent.

Good analysis! My PR for NetworkX was just an emergency fix, but doing all of the above would solve a lot of problems and just generally make sense.

I suppose the user's expectation is that the "save->parse cycle" should return the original result, whenever possible.

Beyond even users' expectations, I think the more compelling factor is that the NetworkX code demonstrated genuine need for graphs to be round-trippable with their identifiers preserved. While there are certainly workarounds if that's not the case, downstream code is cleaner and more maintainable if they can just rely on their initial identifiers still being represented the same way in the graph structure even after they've reconstructed it with dot_parser.
We can't make any API guarantees that structure and parameters won't change at all, for the same reasons Graphviz itself can't. (Consider the changes that resulted from my very first dot -Tdot example above. Processing graph data will modify it to some extent.)
But to best serve users of the library, I propose we consider it an internal requirement that we preserve identifiers in particular, and input data in general, in their original form to the extent possible.
Pydot 3.0.0 already achieves that for identifiers in API constructors, which is a start. (Oh, and it also improves fidelity for attributes, in both the API and the parser, since we're no longer sorting obj_dict["attributes"].)
Now we just need to work on improving the .to_string() output, and the parser's input handling.


Cache the backportPrExists function

To avoid calling the github API so much

We can't persist this cache somewhere, right? How often does the script run, btw?

Could also memoize the backportPrExists function with something like https://github.com/aduth/memize, would be less code overall.

We can't persist this cache somewhere, right? How often does the script run, btw?
The cache will persist until the next deployment/cache

Could also memoize the backportPrExists function with something like https://github.com/aduth/memize, would be less code overall.
I will try

Actually we don't want to memoize when it returns false so I will revert

Right, if you only want to cache one specific return value, then its unsuitable.

The cache will persist until the next deployment/cache

So it's continously running? I have no idea how this works 😆

Yeah. When I was hosting it I used deno deploy but now it runs as an app on fly.io


Features page SSR: unclear wording

http://donejs.com/Features.html#section=section_Server_SideRendered__Howitworks

(single context is optional, so reload is something you can opt into)

I'm not sure what this means at all.

Some systems, even if they do use a virtual DOM, require a new browser instance entirely, or at the very least, reloading the application and its memory for each incoming request,

I don't know of any frameworks that do that, which do?

Typically JS frameworks do not, but this is the de facto way things like php and rails work.
Sent from my iPhone

On Nov 3, 2015, at 7:43 PM, Matthew Phillips<EMAIL_ADDRESS>wrote:
Some systems, even if they do use a virtual DOM, require a new browser instance entirely, or at the very least, reloading the application and its memory for each incoming request,
I don't know of any frameworks that do that, which do?
—
Reply to this email directly or view it on GitHub.

Going to remove the part about single context being optional, I'm not aware of any methods to use DoneJS in a php kind of way.

I think we'd like to make it optional.  This would be great for apps that don't need as fast SSR performance, but would like to make globals work without any problem.

I'd research to see if there's any cgi options for use with Node.

@matthewp Let me clarify what I was thinking (didn't read this whole issue) ... essentially, we re-load all modules every time.  Every render would use its own version of CanJS, making memory leaks and problems with globals much more rare.

Yeah, I understand, this is cgi essentially. There may be existing packages/tools to make Node work as a cgi interface. I would do this as a new project to experiment.

It might also be possible to do that by cloning Steal but re-using the source code and merely re-executing that. I filed https://github.com/donejs/done-ssr/issues/216 to discuss that feature. Will keep this one about the documentation.

Fixed by #816


logo for storybook

Hello there. I design a logo in my free time. I want to design a logo for you. What do you think ? I want to contribute you. Do you have an idea ?

cc @ndelangen for contact

Storybook has a well received logo already, see: #1100, and https://storybook.js.org/

Ohh. I m sorry. I did not see

@worlwide would love to get help with design stuff on storybook though.
We're happy with the logo we got, but there's plenty to improve in the app's UI department and our docs. There's some work being done already. discussion is mostly in our slack. which you can join:
https://now-examples-slackin-rrirkqohko.now.sh/


Not compatible with Python 3.6

Reproduction
Code (test.py) :
# coding=utf-8 from iota import Iota
Output:
$ python2.7 test.py
$ python3.5 test.py
$ python3.6 test.py
  File "test.py", line 2, in <module>
    from iota import Iota
ModuleNotFoundError: No module named 'iota'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    from iota import Iota
ModuleNotFoundError: No module named 'iota'

The same output on Python3.7.

Hey @yillkid that's a curious error.
Colud you double-check that the pyota library is installed, and that the virtualenv is active (if applicable)?
What command are you using to install pyota?

Experienced this issue for 3.7, 3.6 is working tho.

Reproduction
Environment

Ubuntu 16.04 LTS (Xenial Xerus)

Install Pyota
# pip install pyota
Collecting pyota
  Downloading https://files.pythonhosted.org/packages/83/8c/1269aa131b16bc031ddea470c13af0994f64c9ed0b29a7ef9703a49f93d5/PyOTA-2.0.6-py2.py3-none-any.whl (106kB)
    100% |████████████████████████████████| 112kB 1.2MB/s
Requirement already satisfied: requests[security]>=2.4.1 in /usr/local/lib/python2.7/dist-packages (from pyota) (2.18.4)
Requirement already satisfied: typing; python_version < "3.0" in /usr/local/lib/python2.7/dist-packages (from pyota) (3.6.4)
Requirement already satisfied: filters in /usr/local/lib/python2.7/dist-packages (from pyota) (1.3.2)
Requirement already satisfied: six in ./.local/lib/python2.7/site-packages (from pyota) (1.11.0)
Requirement already satisfied: pysha3 in /usr/local/lib/python2.7/dist-packages (from pyota) (1.0.2)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (2018.4.16)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (3.0.4)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (2.6)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (1.22)
Requirement already satisfied: cryptography>=1.3.4; extra == "security" in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (2.2.2)
Requirement already satisfied: pyOpenSSL>=0.14; extra == "security" in /usr/local/lib/python2.7/dist-packages (from requests[security]>=2.4.1->pyota) (18.0.0)
Requirement already satisfied: py2casefold; python_version < "3.0" in /usr/local/lib/python2.7/dist-packages (from filters->pyota) (1.0.1)
Requirement already satisfied: regex in /usr/local/lib/python2.7/dist-packages (from filters->pyota) (2018.2.21)
Requirement already satisfied: pytz in /usr/local/lib/python2.7/dist-packages (from filters->pyota) (2018.4)
Requirement already satisfied: python-dateutil in /usr/local/lib/python2.7/dist-packages (from filters->pyota) (2.7.3)
Requirement already satisfied: class-registry in /usr/local/lib/python2.7/dist-packages (from filters->pyota) (2.1.2)
Requirement already satisfied: asn1crypto>=0.21.0 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->pyota) (0.24.0)
Requirement already satisfied: cffi>=1.7 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->pyota) (1.11.5)
Requirement already satisfied: enum34 in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->pyota) (1.1.6)
Requirement already satisfied: ipaddress in /usr/local/lib/python2.7/dist-packages (from cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->pyota) (1.0.22)
Requirement already satisfied: pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.7->cryptography>=1.3.4; extra == "security"->requests[security]>=2.4.1->pyota) (2.18)
Installing collected packages: pyota
Successfully installed pyota-2.0.6

Python 2.7
$ virtualenv iota-2.7 -p /usr/bin/python2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /home/ubuntu/iota-2.7/bin/python2.7
Also creating executable in /home/ubuntu/iota-2.7/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ cd iota-2.7/
ubuntu@node3-puyuma:~/iota-2.7$ source bin/activate
(iota-2.7) ubuntu@node3-puyuma:~/iota-2.7$ python -V
Python 2.7.12
(iota-2.7) ubuntu@node3-puyuma:~/iota-2.7$ python
Python 2.7.12 (default, Nov 20 2017, 18:23:56)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import iota
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named iota
>>>

Python 3.6
virtualenv iota-3.6 -p /usr/bin/python3.6
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/yillkid/iota-3.6/bin/python3.6
Also creating executable in /home/yillkid/iota-3.6/bin/python
Installing setuptools, pip, wheel...done.
$ cd iota-3.6/
yillkid@Orz:~/iota-3.6$ source bin/activate
(iota-3.6) yillkid@Orz:~/iota-3.6$ python
Python 3.6 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import iota
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'iota'
>>>

if you wanna access to the global site-packages, you should use --system-site-packages
It is no problem on my Ubuntu 18.04
$ virtualenv iota-2.7 -p /usr/bin/python2.7 --system-site-packages
$ cd iota-2.7
$ source bin/activate
$ python -c "import iota"

or you should install pyota in the new virtual environment.
for python3, you can install pyota via pip3 install pyota


Remove linux-chromiumos-3.14.nix

3.14 is no longer supported upstream by kernel.org and thus no longer receives security patches. The git commit mentioned in this .nix isn't even available in the linked repository -- https://chromium.googlesource.com/chromiumos/third_party/kernel -- so I think this .nix might be dead anyway. Finally, it specifies 3.14.0, which is so ridiculously old (the latest was 3.14.79) that nobody develops for it.

The last commit there is 32 hours old. Doesn't sound very unmaintained.

It's not maintained by kernel.org anymore. However, if you'd alternatively prefer to switch the .nix here to a more recent commit from the chromeos people, and then make sure to track their git repo carefully, that'd be a satisfactory solution to me. But IMHO it's easier and probably better to just get rid of ancient kernels.


add -p command without prefix does not display an error message

Typing add -p without a prefix does not appear to display any error message. Currently, add -p only maps to addTask. This was an oversight on my part from v1.2 when I wrote the code for AddTaskCommandParser because I did not check for the presence of the d/ prefix.

This is resolved in #295.


Build a subset of pages

Is it planned in the future to be able build a subset of the pages in slides.md, e.g.: pages 0 - 20, etc?
This would be really nice

You can use frontmatter to disable pages you want to hide
# Page 1

---
disabled: true
---

# Page 2

Will result in Page 1 only.
Or if you mean exporting to PDF or PNG, you can already to that by
slidev export --range 1-10,14,15

Oh, well then I must have overread this .. sorry :(
And thx for the fast answer


Lock down ways to instantiate a DDS

Feature
Is your feature request related to a problem? Please describe.
Looking at the code for several DDS's, I'm seeing a pattern where these 3 are exposed publicly:
public static create(runtime: IComponentRuntime, ...) { ... }

public static getFactory() { ... }

public constructor(...) { ... }

There are clear patterns of use, but for a new dev walking up to these classes, it's confusing what you're supposed to do.
Describe the solution you'd like
It seems that the only one that should be exposed publicly is public static create.
The constructor should only be callable by the Factory, but I'm not sure how to actually implement this in TypeScript.
As for getFactory, a few ideas:

Have the callers the factory directly (replace SharedMap.getFactory() with new MapFactory())
Replace getFactory with registerFactory which takes in a function (2a) or type (2b) that can take the factory and do the right thing with it - without exposing a trivial way to get the factory returned.
2a. Define a type/interface like this: type FactoryRegistrar = (factory: ISharedObjectFactory) => void; then registerFactory is:

    public static registerFactory(registrar: FactoryRegistrar) {
        registrar(new ConsensusRegisterCollectionFactory());
    }

And callers become:
        const dataTypes = new Map<string, ISharedObjectFactory>();
        const registrar = (f: ISharedObjectFactory) => dataTypes.set(f.type, f);
        ConsensusRegisterCollection.registerFactory(registrar);

2b.  Add register(factory: ISharedObjectFactory); to ISharedObjectRegistry and provide a class that implements it like this:
    register(factory: ISharedObjectFactory) {
        this.map.set(factory.type, factory);
    }

Then callers look like this:
        const dataTypes = new SharedObjectRegistry();
        ConsensusRegisterCollection.registerFactory(dataTypes);

FluidDataStoreRuntime.createChannel() seems like the other (right?) way to create DDS, though it lacks type safety.
As we are attempting to move to type-safe usage of create-then-attach flow, it feels like createChannel() should not be on public API surface, and instead creation should always go through DDS itself (or its factory).

Here is what I think the world looks like (using SharedMap as an example):

SharedMap.getFactory() is only for adding DDS factory to data store registry.
constructor should not be used directly (likely should be always private, but there is no "friend" keyword in TS to make it available only to factory)
SharedMap.create() - the only thing that does over IFluidDataStoreRuntime.createChannel() is casting to SharedMap.
IFluidDataStoreRuntime.createChannel() has to exists as that's the core of creation code.

We do want to push people toward # 3 pattern - this story still is in progress for data stores, but it was always the case for DDS, so it's good.
So I think the only interesting tidbit is # 1 - usage of factories. I do not see how your proposal will play out, given typical code we write looks like that:
export class Clicker extends DataObject implements IFluidHTMLView {
    private static readonly factory = new DataObjectFactory<Clicker, undefined, undefined, IEvent>(
        Clicker.ComponentName,
        Clicker,
        [
            SharedCounter.getFactory(),
            SharedMap.getFactory(),
        ],
        {});
}

I do not think the following is better - it takes more effort to track things as they are now in two different places:
const dataTypes = new SharedObjectRegistry();
SharedCounter.registerFactory(dataTypes);
SharedMap.registerFactory(dataTypes),

....

export class Clicker extends DataObject implements IFluidHTMLView {
    private static readonly factory = new DataObjectFactory<Clicker, undefined, undefined, IEvent>(
        Clicker.ComponentName,
        Clicker,
        dataTypes,
        {});
}

I'd suggest to do nothing here (i.e. punt this issue) and wait for https://github.com/microsoft/FluidFramework/issues/3469 (Unification of channels) to eventually change this area.

@vladsud / @ChumpChief - Worth keeping open and investing in?  I don't have much depth of knowledge in this space, it was just something I noticed while exploring the code early on.


Update transaction detail view in web.

In web ui transaction detail view, put application name to the first column by default for quicker navigation.
before:

after:

Update style for transaction short info container to show some hide characters.
before:

after:

@yjqg6666 been occupied with other issues lately but I'll review your PRs asap. Thanks for your many contribution.

Codecov Report

Merging #6775 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #6775      +/-   ##
==========================================
- Coverage   39.14%   39.14%   -0.01%
==========================================
  Files        3136     3136
  Lines       93901    93901
  Branches    11793    11793
==========================================
- Hits        36761    36754       -7
- Misses      54177    54181       +4
- Partials     2963     2966       +3

Impacted Files
Coverage Δ

...p/pinpoint/rpc/client/WriteFailFutureListener.java
56.25% <0.00%> (-18.75%)
:arrow_down:

...pc/server/LoggingServerMessageListenerFactory.java
90.00% <0.00%> (-10.00%)
:arrow_down:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
66.66% <0.00%> (-6.67%)
:arrow_down:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
57.44% <0.00%> (-2.13%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
72.07% <0.00%> (-0.33%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
80.28% <0.00%> (+0.35%)
:arrow_up:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
85.00% <0.00%> (+10.00%)
:arrow_up:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
66.66% <0.00%> (+11.11%)
:arrow_up:

Continue to review full report at Codecov.

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

@yjqg6666 We've discussed this and decided to leave the "Application" column behind as it was because the unnamed color column in the first column helps users to notice the boundary. So, I changed your commit, just accepting the updating style. Thank you.


Improve transactor acceptor logic.

This PR ensures that Vm1 runtime won't allow args of bytes that only make sense in Vm2 runtime.

bors r+


Mark versionutils extension as not parallel_read_safe

Summary
The versionutils sphinx extension we use during the combined
documentation is raising a warning on each sphinx build about it not
specifying a parallel_read_safe option. This warning while not fatal has
a potential future issue if/when we're able to set -W during builds this
would be a blocker. This commit returns the parallel_read_safe option
as False since it turns out the extension is not parallel read safe.
Details and comments

I'm just going to close this for now. I need to dig into why the extension is not parallel read safe (it failed with it set). Setting it to false doesn't get rid of the warnings, it just changes it to a warning that parallel_read_safe is not set and it's defaulting to False to a a warning that parallel_read_safe is set to False in a parallel build and that the extension will be read serially.


question: golang client

this is pretty cool.
1st question.
Can i use magellan as a golang client ? I dont need a web client for my projects.
2nd question.
I am using QUIC for fast streaming updates.
Its very easy to use with golang.
Example: https://github.com/lucas-clemente/quic-go/blob/master/example/main.go
It can use protobuffers as the serialisation.
Only google chrome can handele QUIC if you want to use a web browser, but its ging through IETF but that does not mean other browsers will adopt it of course.
https://datatracker.ietf.org/wg/quic/charter/

Not yet. I haven't written a Go client, and I'd probably name it something else and put it in a separate repo as is the style with Soyuz. I can build that sometime soon, but I'd like to get everything ironed out with the JS client first to make sure there's no protocol changes I'll need to track between multiple languages.
Quic is a transport protocol. I like it a lot. You can send the rgraphql packets over whatever transport you want, so quic is perfect.


FTBFS with GCC 13

Describe your issue.
Fails here:
[  248s]   c++ -Iscipy/stats/_hypotests_pythran.cpython-38-x86_64-linux-gnu.so.p -Iscipy/stats -I../../scipy/stats -I/usr/lib/python3.8/site-packages/pythran -I/usr/lib64/python3.8/site-packages/numpy/core/include -I/usr/include/python3.8 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++14 -O2 -fPIC -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_NONE -Wno-cpp -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-variable -Wno-int-in-bool-context -MD -MQ scipy/stats/_hypotests_pythran.cpython-38-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o -MF scipy/stats/_hypotests_pythran.cpython-38-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o.d -o scipy/stats/_hypotests_pythran.cpython-38-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o -c scipy/stats/_hypotests_pythran.cpp
[  248s]   In file included from /usr/lib/python3.8/site-packages/pythran/pythonic/types/combined.hpp:4,
[  248s]                    from /usr/lib/python3.8/site-packages/pythran/pythonic/core.hpp:32,
[  248s]                    from scipy/stats/_hypotests_pythran.cpp:1:
[  248s]   /usr/lib/python3.8/site-packages/pythran/pythonic/include/types/combined.hpp:304:17: error: ‘uint8_t’ was not declared in this scope
[  248s]     304 | SCALAR_COMBINER(uint8_t)
[  248s]         |                 ^~~~~~~
[  248s]   /usr/lib/python3.8/site-packages/pythran/pythonic/include/types/combined.hpp:300:21: note: in definition of macro ‘SCALAR_COMBINER’
[  248s]     300 |   struct __combined<Type, Type> {                                              \
[  248s]         |                     ^~~~
[  248s]   /usr/lib/python3.8/site-packages/pythran/pythonic/include/types/combined.hpp:5:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
[  248s]       4 | #include "pythonic/include/types/traits.hpp"
[  248s]     +++ |+#include <cstdint>
[  248s]       5 | PYTHONIC_NS_BEGIN
[  248s]   /usr/lib/python3.8/site-packages/pythran/pythonic/include/types/combined.hpp:304:17: error: ‘uint8_t’ was not declared in this scope
[  248s]     304 | SCALAR_COMBINER(uint8_t)
[  248s]         |                 ^~~~~~~
[  248s]   /usr/lib/python3.8/site-packages/pythran/pythonic/include/types/combined.hpp:300:27: note: in definition of macro ‘SCALAR_COMBINER’
...

due to:
https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
Reproducing Code Example
Build

Error message
Build

SciPy/NumPy/Python version information
1.9.3

Yep, will do ,thanks for the response.


Management

Make a separate dev branch from master for contributions, and pull dev to master when publishing new versions.

Makes sense, especially as GitHhb Actions does not seem to respond to externals PR anymore. I've pushed a dev branch.


Dockerize debian copyright mirroring

First step in running on GKE regularly as a cron job.

And the irony of using an Alpine-based Docker image to mirror Debian copyright metadata is not lost on me...


Eigen & STEM4U package are missing in the upp file

Hello,
On fresh Upp install, Surface Demo fetched  from UppHub is not compilable since it miss STEM4U & Eigen & Function4U.
May it should be added to necessary package of Surface package so it get downloaded when fetching it from UppHub.
Best regard

Hi Xemuth
You are right. Now the package structure is fixed, and Surface test is included in unitest to test it in the future.
Thank you!!
Best regards
Iñaki

Hello Izabala123, I just tried compiling Surface from scratch today and STEM4U is still missing from Surface dependencies package . Eigen is fetched as intended

Hi Xemuth
Theoretically STEM4U package is not necessary if it is already included in your system, as only .h files are included.
However if not, this will cause an error.
Thank you!! I have included STEM4U package into Surface.
Iñaki

Hi Xemuth
Please confirm if this is closed for you.
Iñaki


Update to nonexistent tag on change of repository

I had a Kubernetes Deployment running from quay.io/weaveworks/test-exporter:master-e4cc465
Under flux.weave.works/ignore: 'true' annotation, I changed the image to quay.io/cortexproject/test-exporter:master-f6627227 - different repository.
Flux made a commit:
Auto-release quay.io/weaveworks/test-exporter:master-a888416e

This tag is the second-newest  for the cortexproject image but does not exist for weaveworks.
The version of Flux at the time was quay.io/weaveworks/flux:master-ef8e102f

This is probably a consequence of fluxd looking at the state of the cluster when calculating image updates but applying the updates to the files

Sorry if this is obvious, but, considering that git is considered the source of truth, why are we doing it this way?

Sorry if this is obvious, but, considering that the git repo is the source of truth, why are we doing it this way?

It's an early design decision that was never quite wrong enough to adapt to changing circumstances. In the early days, the model was to effect changes in the cluster then reflect them in git after the fact, rather than vice versa -- so the cluster was the first port of call.
Nowadays, we should look at what's in git. Either way, I think we should add the verification I mentioned above.


🐛 [Flutter Auth Phone] Phone auth in ios simulation works but not on real device

Bug report
I add phone auth on my flutter app and when i do it on the ios simulator it works fine but when i install it in a real ios device after putting my phone number nothing happen. (in a android real device works)
Steps to reproduce
Steps to reproduce the behavior:

Add Phone Auth and check that it works in the simulator
Upload ipa to test flight
Execute the testflight app on a real device

Expected behavior
I would be able to login with the phone number in the real device,
Additional context
I have activated the background and normal notification with the profile.

Flutter dependencies
firebase_core: ^2.17.0
firebase_auth: ^4.10.1
cloud_firestore: ^4.9.3
cloud_functions: ^4.4.2
firebase_storage: ^11.2.8
firebase_analytics: ^10.5.1
firebase_messaging: ^14.6.9
Click To Expand
PASTE OUTPUT INSIDE HERE

@arnair
This doesn't seem to be a bug in plugin, but looks like a config / setup issue at your end. If it works on simulator, then it isn't a bug because the code doesn't differ between devices. Check the documentation for iOS once again and see if you are missing any setup / config that might be leading to the behavior you are seeing.
Closing from here. If you have further issues, you may raise this in discussion forum or on StackOverflow.


Piloting of software dev course

Once the tutorials and other content are complete and merged (should be within a day or two), then it would be great if you could start working through the content as a pilot student, providing feedback via GitHub issues, discussions, and occasionally PRs for @SissiFeng to look over.

For Course 3

I don't really understand what this prerequisite is, Course 1?

Link in the Quercus page points to Course 2 for Course 3, I think

For Course 3.1
I think these courses are for someone who is just getting into the space and may not have enough knowledge regarding the usage of these equipment. I believe a more thorough guide is needed to show how to assemble these equipment.
We should mention we don't need a separate Pico and relevant equipment for each setup. (Unless that is the intent)
For Pico Board, I believe we should mention getting the version with the GPIO Headers. A mention to look at the pinout to decide where to plug in the devices.
For the Pipette I think more info about how the wiring goes is needed. Especially as we are using a setup board. And maybe some safety notices?
For the Motor, we are getting three colours of wire so I think we should say what they normally indicate, I genuinely believe some people don't know.
For the fan, the diagram could do with some more clarification, in particular we are soldering separating the headers and solder them to the board and the wires to the headers. The fan wires do have corresponding connection points and its not just connect the four wires.

For 3.2 Quiz
Why is it called "mass balance"? Is it a scientific term?
I think scale might be easier to understand for the general public.

Throughout course 3 I feel that there is a significant push for hands-on experience and learning as we go. However, I think that more theoretical explanation of what we are doing would be nice. I feel like its buy this, read this, do this demo. Missing some why we are doing this and how it works, what benefits this approach has, possible use cases for this, etc.
Reading through a lot of documentation and then trying to complete a demo with not a lot of guidance also feels quite tiring. It feels like getting a Lego set without instructions, there is an extensive list of items and equipment that have to be pieced together with seemingly not a lot of guidance in the course itself, I feel the course pushes too much for the student to explore the documentation and figure it out.
The demo code I think could include some comments to help understand what is happening instead of the student just running the code and seeing it works.

For quiz 4.2

I think this fill in the blank does not really show the students competency. I think IntelliSense should be changed to autocomplete.
Why are we asking for both pylance and copilot? The two autocomplete's may interfere with each other. Especially with the capabilities of copilot, I think copilot may be enough.

Not saying it should stay the same, but some additional context:

https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance
https://code.visualstudio.com/docs/editor/intellisense

In short, while both can provide auto complete, my understanding is that pylance has distinct features from copilot.
It seems Pylance is actually installed by default with the Python extension apparently. I think there's some setting where you get to adjust what (if any) framework to perform auto completion.
https://marketplace.visualstudio.com/items?itemName=ms-python.python

The knowledge check for the orientation modules also has no place, even in Course 1 it is not listed on the course site. Potential to add it in to the course site. Can only be accessed through Quercus right now.

For orientation courses, if this is not the first course they have taken they may not be shown the student identifier (or get to choose one again). We could mention that in this case, the identifier will be the same as the other courses.

In Course 4, conflict_generator.py both instances of with open('src/snake_game.py', 'w') needs to be replaced with with open('snake_game.py', 'w'). The print statement also needs to be changed.

In Course 4 assignment 1, conflict_generator.py both instances of with open('src/snake_game.py', 'w') needs to be replaced with with open('snake_game.py', 'w'). The print statement also needs to be changed.
 Needed to change with open('README.md', 'r') as file: to with open('README.md', 'r', encoding="utf-8") as file: to get it to work on my PC. Potential issue? check_submission.py
 My implementation passed chech_submission.py, no idea about the error on GitHub actions
 I don't see when we are told to create a Project

Thanks for the careful checking. utf-8 is indeed an encoding issue that I didn't take into account that is often encountered on windows systems. The reademe file has been added with more specific instructions for creating a project.

In course 4.4 assignment,

Change of wording for step 1 maybe?

In course 4.4 assignment,  Change of wording for step 1 maybe?

OK, I will reorganize the description.

In assignment 4.6

should be test instead of tests

In assignment 4.7

There seems to be a misalignment with the file structure.
The command putup ml_predictor also needed to be run --force at the end

In assignment 4.7  There seems to be a misalignment with the file structure. The command putup ml_predictor also needed to be run --force at the end There also does not appear to be a MLPredictor class. The instructions on what to do also seem a bit vague.

Thanks. Let me check and refine it.

For Course 3  I don't really understand what this prerequisite is, Course 1?

Yes, for course 1. Will try to update to clarify.

Link in the Quercus page points to Course 2 for Course 3, and Course 4 to Course 1?

These are fixed.

For orientation courses, if this is not the first course they have taken they may not be shown the student identifier (or get to choose one again). We could mention that in this case, the identifier will be the same as the other courses.

These should be distinct between courses now, though people are welcome to choose the same identifier if it's available. If it's not unique, then the links probably need to be updated. @SissiFeng could you check to make sure that the gh classroom links match the readthedocs links for the orientation modules? (intro to git and github, intro to github classroom, and python refresher links)

@linx5o if you think it's worthwhile, could you suggest some language in a separate PR (or here) to clarify?

EDIT: looks like I had this warning in course 2, but left it out in courses 3 and 4 somehow. I'm adding the same warning as shown in https://ac-microcourses.readthedocs.io/en/latest/courses/data-science/2.0-orientation.html#getting-started to 3 and 4.

Usage of containers is currently part of 4.8, however I feel that having a whole section dedicated to the usage of containers is also justifiable. I think that they provide a lot of benefits that more people should learn to utilize in different situations.

Usage of containers is currently part of 4.8, however I feel that having a whole section dedicated to the usage of containers is also justifiable. I think that they provide a lot of benefits that more people should learn to utilize in different situations.

While it might not make sense to create a separate module at this stage, providing additional content related to containers is feasible. Do you have any specific ideas about examples that could be used to show the benefits you mentioned?
To be fair, I probably don't use containers as much as I should. One of the main places I started using them for is the course codespaces themselves, and this has been great for ensuring every user at least has the option to have a consistent environment.

I think having all the courses in containers would make for easier maintenance of requirements. However, this does create more work, and would require students to under how to run files in the container.
I find that it is useful when developing from different devices.

Great points. As a note, whenever one of the GitHub classroom assignments is accepted, and then a corresponding codespace is created by the user, it uses a devcontainer file I or someone else wrote, usually identical to or somewhat modified from these files: https://github.com/AC-Classroom/intro-github-classroom/tree/main/.devcontainer
To your point, this has ensured that when someone runs an assignment on codespaces, the environment is identical to that of other learners, which makes debugging a lot easier from a maintainer standpoint.

@RubainaFarin31, any updates?

I think structure wise of the course so far, maybe have the assignment at the top? It's a bit confusing at the beginning that you can't access the assignment till the end when you have to self-report. Also just in general, I think it'd be nice to clarify whether the reading is for supplementary knowledge or practical steps to follow.
3.1 Comments: It’s a bit unclear whether the DigitalPipette class has units explicitly defined (e.g., μL) - may have misunderstood?
3.2 - no major comments, pretty clear!
3.3 - This is super minor, just a personal preference I guess, "Science Jubilee" section, consider changing "Science Jubilee is an extension to Jubilee" to "Science Jubilee is an extension of Jubilee."
3.4 - Under Demo, "Learn about controlling robots with ROS ROS Navigation Stack" - is it supposed to say ROS twice?
3.5 - no major comments, pretty clear!
3.6 - no major comments, pretty clear!

Also, to clarify, the piloting of the course includes completing and submitting the quizzes and assignments.


How can you programmatically trigger a route?

in most scenarios I can use a <Link/> to put in a link to somewhere
but in other places, i want to programmatically trigger a route. I looked around some of the other issues but couldn't find a satisfying answer. Could someone point me to how I can accomplish this? Do I need to reach down into history?
thanks!

You can include the History mixin ( or grab it from the context as well). This then places the history object right on the component.
import { History } from 'react-router';

export default React.createClass({
  mixins: [History],
  goTo(uri) {
    this.history.pushState(null, uri);
  },
  //...
});

Thanks for answering that!

ah! thanks @BerkeleyTrue, but i forgot to mention - i'm using es6 Components so i don't have access to mixins

In that case, you just grab it from the context. ref: https://github.com/rackt/react-router/blob/master/modules/History.js
export class extends React.Component {
  contextTypes: {
    history
  },

  goTo(uri) {
    this.context.history.pushState(null, uri);
  },
  //...
});

The previous ES6 snippet has some errors. Here's the working code:
export class Item extends React.Component {
  static contextTypes = {
    history: React.PropTypes.object,
  };
  _goto = (url) => {
    this.context.history.pushState(null, url);
  }
  render() {
    return (
View
);
  }
}

I finally figured it out, the above example also wasn't working for me...
You need to set contextTypes outside of your class:
MyClass.contextTypes = {
history: PropTypes.history
};
Oh and also use PropTypes.history instead of PropTypes.object...
I wonder why we need to set contextTypes outside of the class, would love some input on that.

@kumarharsh fixed

@BerkeleyTrue That does not work for me, see comment above.

@5an1ty You need to enable class properties in babel for static properties to work.

@BerkeleyTrue I think it is, unless I need to pass an additional parameter to JSPM.
It doesn't really break on the static declaration. When I use your code I receive the following error:
Uncaught TypeError: Cannot read property 'pushState' of undefined

Oh and also use PropTypes.history instead of PropTypes.object...

@5an1ty it does not make sense to do PropTypes.history, the history is type of object, hence you should validate the PropTypes: PropTypes.object. Read more here.

I wonder why we need to set contextTypes outside of the class, would love some input on that.

Class static properties are proposed changes. And you can enable them by adding syntax-class-properties plugin (Babel 6).


if registration fails at timeout, set username can become occupied

small issue but worth to mention, what username I tried to register started to become invalid even though I didn't finish registration
I tried it on görli

@nugaon @tfius do we have a spec of how how this corner case should be covered?

It is hard to reproduce from this description.
at which point did the username become unavailable and where did you notice it?

Ok as I understand it better now, that account can be loaded by seed words, and fund the account properly, that's why the username becomes occupied.


LayerStates::switch() behavior suggestion: Ignore switches to current state

Calling layer.states.switch(STATE_NAME) when the current state is STATE_NAME triggers an animation to that state. However, it may be better to ignore switches to the same state.
A common need when creating custom event detection is to check a condition and also a flag.
e.g.
if ~cursor in bounds~ AND not over {
    over = true
    animateOver()
}

If the state system ignored calls to the same state, the above could be
if ~cursor in bounds~ {
    states.switch("over")
}

Presently, switching to the same state causes visual animation stuttering as the same animation (with an ease-in) is started repeatedly; I can't think of a case where this (the standard) behavior would be desired.
I can think of three reasons not to make this change:

It allows (or encourages) code that hides the actual event triggering logic.
It's ambiguous what layer.states.switch(CURRENT_STATE) should return.

This is a very will written proposal, with pros and cons even! Thank you.
I ran into this myself while making some prototypes and I think it makes sense. I don’t think it encourages bad coding practices per se, and it sure would clean up a lot of (error prone) bookkeeping in some cases.
It’s hard to estimate the impact though, but some of that is because we don’t really have the tools (yet) to test changes like this. It also depends on what we do with the events though: should switching to the same state still trigger a willChange and didChange event? My hunch is that it’s best to turn switching to the same state to a no-op.
@koenbok Thoughts?
(BTW, I’m very curious about the third reason not to do this (or why you removed it) ;)

Regarding the third item, I forgot!
It may have been that it'd impact existing code (but I suspect the existing behavior is rarely, if ever, used intentionally), or a concern about adding an extra function call or conditional (I don't much of anything about contemporary Javascript compilers though).
I agree with your thoughts on will/didChange. I'd think that CoffeeScripts has a preferred way of dealing with things like this though.

I think we should do this. As @eelco set, there's no way to test this, but we can make the new behaviour part of #378. Will implement it on https://github.com/koenbok/Framer/tree/feature/animation-refactor

👌

Implemented. Current logic:
If the state name is the current we won't switch, unless we the properties of the defined stated don't match with the current properties of the layer.
See the changes here: https://github.com/koenbok/Framer/compare/a88713b662778bc108128b12998a989f440512f0...85e145a790d8fdda36c0e71d93316d2bd1c554af


Add repoVisibility for other-than-GitHub repos

Hey, I just made a Pull Request!

Fixes: #4313

[x] add repoVisibility for GitLab repos analogous to that implemented for GitHub repos
[x] ditto for BitBucket
[ ] ditto for Azure

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

Bitbucket API doc "is_private": true|false
Azure Devops API doc "ProjectVisibility ": "private"|"public"??

Bitbucket API doc "is_private": true|false
Azure Devops API doc "ProjectVisibility ": "private"|"public"??

FYI -- this changes the default visibility of GitLab and BitBucket repos to public, making them consistent with GitHub. This could be considered a breaking change. It's easy enough to switch the defaults to match the prior behavior if that's what's wanted.

FYI -- this changes the default visibility of GitLab and BitBucket repos to public, making them consistent with GitHub. This could be considered a breaking change. It's easy enough to switch the defaults to match the prior behavior if that's what's wanted.

Azure DevOps has separate Project visibility above Repo visibility so there's apparently no way to set a repo private or public as it inherits the visibility of the project: https://docs.microsoft.com/en-us/azure/devops/organizations/public/make-project-public
This is too different for me to figure out. I'll skip this for Azure and leave it to @benjdlambert, @jhaals, or @mfrinnstrom  with deeper Azure knowledge (since they touched azure.ts last ;-).

Azure DevOps has separate Project visibility above Repo visibility so there's apparently no way to set a repo private or public as it inherits the visibility of the project: https://docs.microsoft.com/en-us/azure/devops/organizations/public/make-project-public
This is too different for me to figure out. I'll skip this for Azure and leave it to @benjdlambert, @jhaals, or @mfrinnstrom  with deeper Azure knowledge (since they touched azure.ts last ;-).

rebased to 8eb862c

rebased to 8eb862c

Sure.
On Mon, Feb 1, 2021 at 10:43 AM Fredrik Adelöw<EMAIL_ADDRESS>wrote:

@freben commented on this pull request.
In plugins/scaffolder-backend/config.d.ts
https://github.com/backstage/backstage/pull/4315#discussion_r567923849:

@@ -19,16 +19,19 @@ export interface Config {
scaffolder?: {
github?: {
[key: string]: string;

 visiblity?: string;

Hrm, sorry to be a pest - could you make these documented and strict? :P
Something like
/** * The visibility to set on created repositories. */visibility?: 'public' | 'private';
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/backstage/backstage/pull/4315#pullrequestreview-580484315,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBHS56OTGO6L75XW5II4EDS43DZRANCNFSM4WZUQHGQ
.


Conflict with Quicksand

Hello,
I found a conflict with quicksand jquery plugin...

Hello Pigrecolab,
I couldn't call it a conflict, as the plugins pretty much do the same thing for 2 different scopes.
But maybe you could explain exactly what happened.
Cheers,
Robert

If in the same page we use jquery quicksand and story-box the animation of quicksand filter is off. Anyway you did a great work, thanks

Sorry, I did a mistake...


Map preview images for most Co-Op missions are missing

Describe the bug
Most of the map preview images for Co-Op missions are missing.
I've been experiencing this ever since installing v2022.12.0, and it persists after updating to v2023.1.1.
To Reproduce
Open the client, navigate to the Co-Op tab. Select any mission.
Log or error message
These messages show up in the log when changing to a map that doesn't load an image:
2023-01-29T19:43:31.874+01:00 DEBUG 406230 --- [lication Thread] c.faforever.client.remote.AssetService   : Fetching image from https://content.faforever.com/maps/previews/large/scca_coop_a03.v0021.png
2023-01-29T19:43:31.971+01:00  WARN 406230 --- [lication Thread] com.faforever.client.fx.JavaFxUtil       : Could not read image from https://content.faforever.com/maps/previews/large/scca_coop_a03.v0021.png for /games/faf/data/cache/maps/large/scca_coop_a03.v0021.png

Expected behavior
Showing the map preview.
Screenshots

A few of the missions still work:

OS
Linux

This is an issue with the images not being present on the server itself not a client issue.


Add ability to customize drawer shape and color as well as theme drawer properties

This change includes:

Ability to customize drawer backgroundColor
Ability to customize drawer shape
Drawer theme to customize drawer properties
Update defaults to use ColorScheme.surface for backgroundColor and ColorScheme.onSurface with 0.32 opacity for scrim (from Material spec)

Fixes https://github.com/flutter/flutter/issues/89235
The following screenshot shows a drawer themed with a custom backgroundColor, scrimColor, elevation, and shape.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

how to make Drawer button on the right of screen and menu in left.

It looks like this PR also fixes https://github.com/flutter/flutter/issues/7157

how to make Drawer button on the right of screen and menu in left.

hey, this is definitely possible but requires some custom logic:

Set the drawer param on your Scaffold
Set the automaticallyImplyLeading param to false on your AppBar
Add an IconButton to the actions param of app bar and in the onPressed you can call Scaffold.of(context).openDrawer().


Table not displaying correctly

When displaying a table the table does conform to the size of the widest line, but it does not work if the table is the only entry, or the line before the table is too short. it will display incorrectly small even if there would be enough space for the table to show

with the newest version it does work. The link in the readme was not updated to the newest versin


useCapture not properly documented

JsDoc for useCapture in method on is wrong. https://github.com/ftlabs/ftdomdelegate/blob/master/lib/delegate.js#L122

Fixed in PR #82


Include JEP into save-demo-cpg image

Custom builder with gcc and python headers pre-installed
requirements.txt
Some values are  hardcoded in respect with Python 3.10

TODOs: un-hardcode python version from paths, optimize image size, publish the custom builder instead of building it every time

JEP is working, but something is not right on Python side:
13:18:17.793 [Thread-5] INFO d.f.aisec.cpg.TranslationManager - Parsing /tmp/python401744558970441993/demo.py
13:18:17.796 [Thread-5] INFO d.f.a.c.f.python.JepSingleton - Using JAR connection to /workspace/BOOT-INF/lib/cpg-language-python-5.1.0.jar to extract files into /tmp/cpg_python14439022880182575923

13:18:18.211 [Thread-5] ERROR d.f.aisec.cpg.TranslationManager - An error occurred during parsing of demo.py: Python failed with message: jep.JepException: <class 'ModuleNotFoundError'>: No module named 'de'
13:18:18.218 [Thread-5] INFO d.f.a.cpg.helpers.MeasurementHolder - TranslationManager: Executing Language Frontend done in 426 ms

I think it works, no?

JEP is working, Python frontend is not (same with Java 11 and 17):
5:37:14.279 [Thread-15] INFO d.f.aisec.cpg.TranslationManager - Parsing /tmp/python5272532213918079440/demo.py
05:37:14.311 [Thread-15] INFO d.f.a.c.f.python.JepSingleton - Using JAR connection to /workspace/BOOT-INF/lib/cpg-language-python-5.1.0.jar to extract files into /tmp/cpg_python8763518817481463562

05:37:15.355 [Thread-15] ERROR d.f.aisec.cpg.TranslationManager - An error occurred during parsing of demo.py: Python failed with message: jep.JepException: <class 'ModuleNotFoundError'>: No module named 'de'
05:37:15.355 [Thread-15] INFO d.f.a.cpg.helpers.MeasurementHolder - TranslationManager: Executing Language Frontend done in 1075 ms

I think it works, no?

Extracted custom builder image build into a workflow to have it prepared. I'll merge it like this now then.


Caching completely broken in 1.4

See this: https://github.com/edoburu/django-parler/commit/c450348a37477f98004f1191de0ae1d78fa34fa9#commitcomment-10963488

Importing of DEFAULT_TIMEOUT is wrapped in try/except which always fails (goes to except), which in turn sets DEFAULT_TIMEOUT to 0 which effectively disables caching!

Thanks for fixing this! The PR is merged


Refactor/improve tests

@AnthonyAkentiev Please see https://github.com/Thetta/Thetta-DAO-Framework/pull/119


Adjust logos/banners for discourse

Same pixel offset from left
Transparent background
Equal pixel sizing of logo and banner (even though banner is exported at lower resolution)

I've added these on Discourse, as well as the ability to toggle dark mode.


dict provenance and connectivity

prov: crude adjustment of list-o-dict provenance to dict provenance. also add connectivity.
I didn't even adjust tests, so they'll all surely fail.

Codecov Report

Merging #12 into master will decrease coverage by 0.49%.
The diff coverage is 47.05%.


API for worldgen and dimensions

A module for registering new dimensions, and a module for worldgen features

Sounds far fetched considering the amount of dehardcoding we'd have to do, lol

Probably, but I'm sure it can be done.
(Not now, perhaps, but it should be a goal for the future.)


feat: watch density change

watch density change by https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#javascript_2
didn't find the ResizeObserver in kotlin-stdlib-js, I need learn more to implement watch size change.
Anyone got suggestion about how to use ResizeObserver in Kotlin?

Anyone got suggestion about how to use ResizeObserver in Kotlin?

You have to define your own external interfaces for its API.

I wasn't able to push to your branch, so I fixed up some boring style and formatting nits myself in #1630.
Thanks for contributing this!


Account backup not producing json

From "Backup Account" (in Account>Settings), after entering password and clicking "Download", the button "Download" becomes inactive and no json file is produced! Running in MacOS10.15.7, Brave 1.18.75.

The above mentioned scenario will only happen when the password is incorrect

The above mentioned scenario will only happen when the password is incorrect


Remove deprecated org.apache.http APIs from cookie

Tests are passing, but maybe I've missed something?

part of an attempt to solve https://github.com/dakrone/clj-http/issues/247

Merged, thanks!


Enable background server garbage collection

https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals#background_server_garbage_collection

According to (my reading of) that article this is the the default anyway, isn't it?

Based on these docs the default is enabled="false"
https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/runtime/gcserver-element

Value
Description

false
Does not run server garbage collection. This is the default.

true
Runs server garbage collection.


Player list counter does not work when selecting a class

The player list counter does not work yet when selecting a class. Is related to #135. It is working correctly when you have a friend in the list.
Random class chosen:

With 1 fighter in friend list:

All selected:

Fixed in #183


Add onDidCreateTextDocument

I dont know whether there is a event on workspace which will fire create a new file.
I think it's better to add new event on workspace which will fire whenever user create a new file.

Did you try onDidOpenTextDocument?


Allow user name "admin" to be created

Description
auth.go:570:createUserInContext() [E] CreateUser: name is reserved [name: admin]
Why can't we create a user named admin? This causes issues with my SSO setup where I use "admin" across all services, so now Gitea breaks when I login with SSO it tries to create that user and fails.
Gitea Version
1.19.0 and 1.22.2
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Myself in docker
Database
MySQL/MariaDB

There is a reserved list
https://github.com/go-gitea/gitea/blob/9fd8b2621fb6e25e5cce7a5b5b08a993a145bc78/models/user.go#L715

This user name was reserved because of the router conflicts. /admin now will display the administrator console. But maybe we can use /-/admin instead.

This user name was reserved because of the router conflicts. /admin now will display the administrator console. But maybe we can use /-/admin instead.

That would be great! And much appreciated


async/await syntax

I am using async/await syntax in my project. runs fine with PORT=8080 npm run dev but when i try to run via docker i get error
ReferenceError: regeneratorRuntime is not defined
do I need to modify babel?

Having the same problem, not via docker, just running in production

Hi there - you need to import regenerator.  Most people do this by adding this line to src/index.js after running npm i -S babel-runtime:
import 'babel-runtime';

You need babel-plugin-transform-runtime: https://stackoverflow.com/a/36821986/1252528


[Bug]: Hard-coded value of year in the copyright section.

What happened?
In the copyright section of the web page, the year 2023 is hard-coded.
It is not the standard way of writing code.
Everytime the code will have to be changed for updating the year.
Instead, add a function to dynamically fetch the year from a function which is the best practice to add the copyright to any website to make it look formal.
I want to work on this feature implementation.
Please assign me task under GSSoC'23.
Add screenshots

What browsers are you seeing the problem on?
Chrome
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Do you want to work on this @abhinav-m22 ?

Do you want to work on this @abhinav-m22 ?

Yes I want to work on this issue under GSSoC'23. Please assign me the same.


Sending a notification to patient via SMS about their appointments

Is your feature request related to a problem? Please describe.
@coronasafe/care-backend-maintainers Currently, we are using this sendSMS function, which uses the Amazon SNS service to send OTPs to patients. Can we also use the same function to notify a patient about the appointment via SMS ?

@rash-27 If this is still a relevant issue, may I work on this one?

I would like work on this, if that's okay.

Appointments is still not yet present in care and is a work in progress.


Set SElinux security context on node['rsyslog']['log_dir']

Adding
execute "chcon" do
command "chcon system_u:object_r:var_log_t:s0 node['rsyslog']['log_dir']"
action :run
end
Right after creating the directory would be easiest.

Chef natively support selinux now so this shouldn't be an issue.