Handle camel cased methods or methods containing periods

I was spiking using your gem for an app that has an existing table schema with columns that have camel cased names and names with periods in them. In CQL, these just need to be escaped with quotes. I've gone through and changed all the places that generate CQL that would need to be changed to handle this.
The associated specs I modified failed before I added the non-test code to fix them, let me know if other specs are needed.
This was tested with Cassandra <IP_ADDRESS>.

Turns out this requires more changes than I thought. This commit allows fields to have special characters (and camel case fields), but not keys. I have some more changes that make my projects specs pass. I'm going to add some specs to this gem for those and add these extra changes to the pull request.

I combed the codebase as many ways as I could think of in order to find all cases of the code interpolating column names without escaping and converted them. I did this initially with the specs against my codebase, but then went back and backfilled as needed and discovered a lot of other cases along the way.
I tried to minimize code changes in the specs so there wouldn't be as big a risk of having merge conflicts with other work, but it was tough given how this was a somewhat widespread change that I wanted to verify.
The trickiest part I think was the Finder method generation code. I think I ended up with an elegant replacement. In general, I find it preferable to use define_method anyway, so I consider this a win even though the number of lines of code increased. For reference on the topic:
http://tenderlovemaking.com/2013/03/03/dynamic_method_definitions.html
I don't see any reason to be concerned about define_method forming a closure over it's arguments; it should just be a small set of symbols that are interned along with some arrays in memory.
I considered adding a line before defining the finder method:
return if self.respond_to?(method_name)
since it appeared to me that the method definition was happening twice. However, since the specs are redefining classes repeatedly, I decided to assume I was getting tricked by seeing duplicate finder definitions occurring during my testing. I might revisit that line.
Also, there was an intermittently failing spec in spec/examples/record/persistence_spec.rb:259 that I fixed. I suspect some data was bleeding around the tests; It always passed before when run individually and when the file is run, but fails often when the all the specs are run.

:+1:
I also prefer define_method()
Nice Work.

I also confirmed that there were extra method definitions happening from the finders. It occurs for every key defined on a model after the first. This occurs because def_key_finders above calls def_finder twice, in order to define the latest key finder and the key1_and_key2 finders.
This last commit fixes that issue.

I reverted the commit that prevents the superfluous finder definitions. It caused a couple of the spec/examples/spec_support/preparation_spec.rb spec's to fail on jruby. It was non-obvious why, but I guess it's not important. Defining methods multiple times doesn't cause any harm; it just creates a bit of confusion when it's encountered.
Let me know if you want me to squash or cleanup this pull request in some way.

@kemper thanks, this looks like it required a lot of effort, and it's clearly a change for the better. I have two overall concerns:

I think we need a quote_column_name method somewhere—as it stands in this PR the knowledge of how to quote a column name is duplicated many times over. As a corollary, is the quoting logic complete here? In particular, is it possible for a column name to contain a " character? (I can't readily find an answer to that question in the documentation)
I use dynamic source code evaluation in favor of define_method intentionally, because define_method causes the method definition to carry the additional baggage of the lexical context in which it was defined. I'd be happy to debate that convention on the merits, but let's do so in a separate pull request.

For Point 1, I considered it, but I thought that might cause the code to be less readable. It certainly means that later changes will general require a change in one location vs many files. I think I fizzled a bit on trying to decided where that method would live. Suggestions?
For Point 2, I didn't choose define_method for stylistic reasons and I don't think it can be done separate of this pull request (the specs would not pass); I did it because if a column has a period in it, it's no longer a valid method name as far as statically defined method names are concerned. This is true of other cases, such as fields beginning with a capitalized letter or starting with a number. The options as far as I could tell were:

Detect all cases of field names that do not result in valid method names and do not generate those methods with eval.
Rescue the syntax error from class eval and continue on as though that is a sometimes expected case. Functionally similar to option 1, much more evil and potentially obscuring other problems, but not requiring the implementation of a code that validates ruby methods names.
Use define_method and allow methods that are not typically valid in ruby, but via define_method can be defined on objects.

Option 3 seemed preferable to me. Though I can't call those methods the normal way but they are still available to call via the bracket method e.g. - object["some.field"]

Hey Kris,
I definitely agree about the readability situation but in this case I think it's worth it to not have repeated knowledge scattered throughout the code. In fact, it looks like the driver gives us a method to do the right thing. I also think it would make sense for Column#to_s to return the quoted name, which should cut down on some of the repetitive/difficult to read effects.
As for the second point, I hadn't thought about that—however it seems of exceedingly limited use to define methods that can't be called using the usual Ruby syntax. I'd propose instead normalizing column attribute names to be valid Ruby identifiers, e.g. replace all non-word characters with an underscore. Of course this could in theory result in non-unique attribute names generated from unique column names, but I think this highly unlikely in practice, and if anyone complains we can just provide an option to override the attribute name associated with a column.
What do you think?

@kemper, if you implement @outoftime's suggestions above and rebase i would merge this PR.

I am closing this due to inactivity. @kemper, if you want to finish this up please reopen it.

Yeah, sorry. I'm not using Cassandra these days and haven't had time to
dust it off.
On Sep 6, 2016 11:38 AM, "Peter Williams"<EMAIL_ADDRESS>wrote:

Closed #222 https://github.com/cequel/cequel/pull/222.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cequel/cequel/pull/222#event-779535640, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AADeAwdJb7efiQfzidkXRsylzS4-bCuuks5qnYjPgaJpZM4DnSHe
.


Feat: add support page

Provide a description of what has been changed
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Todos

[x] draft content for support page
[x] create html layout
[x] add commercial vendors' data to config.toml
[x] link support to top nav
[x] add an add-your-company button at the bottom of the page
[x] add links to resources

Fixes #855

Does it make sense to add the name of the offering since we're already linking to the product page?  @tomkerkhove

It's not a real requirement so open to ideas.
The bottom line is that we need to clarify the KEDA support policy along with a list of managed offerings which are clickable (similar to the community page)

cc: @chalin @tomkerkhove

Thanks a ton!


Convert spatialdata-plot plotting tree to Vitessce config

https://github.com/scverse/spatialdata-plot/blob/88f692848e06907fe86a8ac3bc0f689b1a114479/src/spatialdata_plot/pl/basic.py#L139
spatialdata-plot has the goal to support different plotting backends. If we can convert the plotting tree generated by spatialdata-plot to a Vitessce configuration, we can add Vitessce as a "backend".

See https://github.com/keller-mark/spatialdata-vis-interop/issues/9


Better sparse AD

Codecov Report
Attention: Patch coverage is 0% with 17 lines in your changes missing coverage. Please review.

Project coverage is 7.20%. Comparing base (b14ee60) to head (efe2b62).

Files with missing lines
Patch %
Lines

...ationInterfaceSparseMatrixColoringsExt/jacobian.jl
0.00%
11 Missing :warning:

...iationInterfaceSparseMatrixColoringsExt/hessian.jl
0.00%
6 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (b14ee60) and HEAD (efe2b62). Click for more details.
HEAD has 49 uploads less than BASE

Flag
BASE (b14ee60)
HEAD (efe2b62)

DI
40
1

DIT
10
0

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #531       +/-   ##
==========================================
- Coverage   98.60%   7.20%   -91.41%
==========================================
  Files         106      70       -36
  Lines        4594    2958     -1636
==========================================
- Hits         4530     213     -4317
- Misses         64    2745     +2681

Flag
Coverage Δ

DI
7.20% <0.00%> (-91.54%)
:arrow_down:

DIT
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Updated ingress doc to handle initializer.

Jenkins job istio.github.io/presubmit passed

cc @SueGraham for wording.  The content looks good.

fixed link @frankbu


refresh notifications

refresh notifications on the gui after:

saving an activity
paying income tax
paying VAT
what else?

hint: notifications are refreshed after deleting completed payments. architecture can be the same.


[Program]: Write a Haskell program to find sum of ap series

Description
Write a Haskell program to find sum of ap series
An arithmetic progression (AP) is a sequence of numbers such that the difference of any two consecutive terms is a constant. The nth term of an AP is given by the formula an = a1 + (n-1)d where a1 is the first term and d is the common difference.
a = 2
n = 5
d = 3

Output : 40

How to contribute

Save the solution in program/find_sum_of_ap_series.hs file
Add find_sum_of_ap_series.hs file in find-sum-of-ap-series folder

!assign


CHUNK_GET implementation to handle large responses.

Signed-off-by: Kong, Richard<EMAIL_ADDRESS>

Found a bug where this code needs to compile and work if chunking is disabled.

Hello, I am about to merge, but I notice the conflict, after other patches are merged.
Would you please resolve the conflict?

Hello, I am about to merge, but I notice the conflict, after other patches are merged.
Would you please resolve the conflict?

Ok. Let me take a look.

Thank. But please don't use "merge", please always use "rebase and merge"

Thank. But please don't use "merge", please always use "rebase and merge"

Yeah. I think I messed it up. Should I just move my changes to a clean branch?

Yeah. I think I messed it up. Should I just move my changes to a clean branch?

That is OK. You can also squash the coding style change, BTW.


Convert #text to an array if multiple elements with the same name exist

Fixes #201

Does this make the test at https://github.com/omerbenamram/evtx/blob/master/tests/test_record_samples.rs#L212 pass?


add workflows, license, pre-commit, makefile + update to go 1.19

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4ed0898). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master       #2   +/-   ##
=========================================
  Coverage          ?   74.15%
=========================================
  Files             ?        3
  Lines             ?       89
  Branches          ?        0
=========================================
  Hits              ?       66
  Misses            ?       18
  Partials          ?        5

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


conformance: add HTTPRoute method matching test

Signed-off-by: Steve Kriss<EMAIL_ADDRESS>What type of PR is this?
/area conformance
What this PR does / why we need it:
Adds an opt-in conformance test for HTTPRoute method matching (extended conformance).
Which issue(s) this PR fixes:
Updates #1102.
Does this PR introduce a user-facing change?:

NONE

Rebased / fixed conflict.

This LGTM, I'll leave it for someone else to finish up though.
/approve


New version: GeoArrays v0.1.2

Registering package: GeoArrays
Repository: https://github.com/evetion/GeoArrays.jl
Created by: @evetion
Version: v0.1.2
Commit: 26a73f758b73f6697b4b67d0f17076442c9dea7f
Reviewed by: @evetion
Reference: https://github.com/evetion/GeoArrays.jl/commit/26a73f758b73f6697b4b67d0f17076442c9dea7f#commitcomment-36535171

@evetion
Next time, please add the compat entries. I recommend using CompatHelper.jl.

Thanks for the merge @DilumAluthge. This release is actually made with CompatHelper.jl, but it seems it does not work for all [compat] entries. The Julia compat entry didn't change in this release.

Unfortunately CompatHelper does not currently work on the Julia compat entry.


Remove SPM warnings

Please make sure every xib is still accessible but this seems to be the issue IMO
I also remove compile-time warnings for protocol class


project-html

htlml

moi html

https://personal-website-jantoandriano.netlify.com/

https://basic-galangha.netlify.com/

nico's personal website

https://mevinyanuar.netlify.com/

https://auzanassdq.netlify.com/

Anbya Army Ali
https://anbya-basic-html-git.netlify.com

ido's netlify

https://github.com/thomasfebrianseiei/project-html

https://afriansyah.netlify.com


docs: Clarify IAM role usage.

Clarify that kubernetes-external-secrets inherits the IAM role of the node it's running on when situated in AWS, whether its within EKS or otherwise.
Also: thank you for sharing this project, is awesome! :pray:

While it is true that the aws sdk will fallback to the node role, if available, I'm not sure I would want this written like this. I would not recommend to depend on this role as using the node role to grant permissions will give all pods running on the nodes with this node instance role the possibility to reach your secrets.
Using the node instance role is just one of many ways (see https://github.com/godaddy/kubernetes-external-secrets/issues/164#issuecomment-551989503)

Thank you for your feedback. I understand your point.
My comment comes from the fact that, when I first used this tool, I was wondering if the role could be used only within EKS (rather than any AWS deployed k8s) and my intention was to point in the right direction whoever might find themselves in my same confusion.
Maybe the readme could be changed as following:
If not running on EKS you will have to use an IAM user (in lieu of a role).
->
If not running on AWS (EKS or otherwise) you will have to use an IAM user (in lieu of a role).
What do you think?

Ah yes, the EKS only part is abit confusing :)
Perhaps we can write something like:

For kubernetes-external-secrets to be able to retrieve your secrets it will need access to your secret backend. For AWS based backends (SSM & secrets manager) this can be granted in various ways. either by granting your nodes explicit access to your secrets using the node instance role (easy for experimentation, not recommended), by using IAM roles for service accounts or using solutions like kiam or kube2iam. You can also directly provide AWS access credentials to the pod by env vars.

copy pasta friendly:
For `kubernetes-external-secrets` to be able to retrieve your secrets it will need access to your secret backend. For AWS based backends (SSM & secrets manager) this can be granted in various ways. either by granting your nodes explicit access to your secrets using the [node instance role](https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html) (easy for experimentation, not recommended), by using [IAM roles for service accounts](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) or using solutions like [kiam](https://github.com/uswitch/kiam) or [kube2iam](https://github.com/jtblin/kube2iam). You can also directly provide AWS access credentials to the pod by env vars.

Ah yes, the EKS only part is abit confusing :)

@Flydiverny Thank you very much for your feedback. I've integrated your suggestions in the README, rearranging a little bit the layout.
Let me know what you think about it!


how to load hashes

everytime i try to crack a hash it keeps on saying 'no hashes loaded'

Looks like your hash.txt file is malformed somehow.  The simplest way to ensure that your file is the hash and nothing else (like a stray hidden character that could mess up the parser) would be to make the file on the command line, like so:
echo "hash_goes_here" > filename_goes_here.hash


Match / sigh / register_devices behavior while Apple is down

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I have read the Contribution Guidelines

Issue Description
Several minutes ago my CI was working, but is failing now. It is again due to Apple's developer portal. This time it does not return 50x, but fails with message:
/Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/spaceship/lib/spaceship/client.rb:543:in `block in send_request': [!] The request could not be completed because: (Spaceship::Client::AppleTimeoutError)
	Apple 302 detected

Regarding the captured output below, I see that fastlane env says that there is no UTF-8 locale on my system, what seems not correct. Output of locale command is:
LANG="en_US.utf8"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

I run fastlane env prior each and every CI build and keep the output recorded in build logfile. It used to work in the current setup, with the same fastlane version 2.18.3 and with the message "No Locale with UTF8 found" recorded in build log.
PROPOSAL
I am proposing to introduce an option, which would be modifying behavior of components dependent on Apple developer portal, allowing to ignore the developer portal error and continue like if readonly parameter was set for match.
Example 1: Developer portal returns no error - behavior of sigh, match, register_devices, etc. will be the same as it is now, regardless of the new option.
Example 2: Developer portal returns any error (e.g. 50x or 30x or timeout) and the new option is not set - behavior of sigh, match, register_devices, etc. will be the same as it is now.
Example 3: Developer portal returns 50x or 30x or timeouts (not sure about 40x) and the new option is set - behavior of match will be like if readonly option is set; behavior of sigh and register_devices will allow the lane to continue, even though the action did not succeed.
There is a lot of details which would need to be clarified for sure.
Generally, what do you think about the idea of resilience against Apple developer portal issues?
Captured Output
Command Used: production_adhoc
Output/Log

DEBUG [2017-02-25 12:23:12.81]: Checking if there are any plugins that should be loaded...
INFO [2017-02-25 12:23:12.87]: -------------------------------------------------
INFO [2017-02-25 12:23:12.87]: --- Step: Verifying required fastlane version ---
INFO [2017-02-25 12:23:12.87]: -------------------------------------------------
INFO [2017-02-25 12:23:12.87]: Your fastlane version 2.18.3 matches the minimum requirement of 1.108.0  ✅
INFO [2017-02-25 12:23:12.88]: ------------------------------
INFO [2017-02-25 12:23:12.88]: --- Step: default_platform ---
INFO [2017-02-25 12:23:12.88]: ------------------------------
INFO [2017-02-25 12:23:12.88]: Driving the lane 'ios production_adhoc' 🚀
INFO [2017-02-25 12:23:12.89]: -----------------------------
INFO [2017-02-25 12:23:12.89]: --- Step: update_fastlane ---
INFO [2017-02-25 12:23:12.89]: -----------------------------
INFO [2017-02-25 12:23:12.93]: Looking for updates for fastlane...
INFO [2017-02-25 12:23:15.61]: Nothing to update ✅
INFO [2017-02-25 12:23:15.61]: Keychain path will be: /Users/admin/iphone-front-end/ci.keychain
INFO [2017-02-25 12:23:15.61]: Deleting old keychain file: /Users/admin/iphone-front-end/ci.keychain
INFO [2017-02-25 12:23:15.61]: ----------------------------------------
INFO [2017-02-25 12:23:15.61]: --- Step: security list-keychains -s ---
INFO [2017-02-25 12:23:15.61]: ----------------------------------------
INFO [2017-02-25 12:23:15.61]: $ security list-keychains -s
INFO [2017-02-25 12:23:15.63]: -----------------------------
INFO [2017-02-25 12:23:15.63]: --- Step: create_keychain ---
INFO [2017-02-25 12:23:15.63]: -----------------------------
INFO [2017-02-25 12:23:15.73]: $ security list-keychains -d user
INFO [2017-02-25 12:23:15.75]: -----------------------------------------------------
INFO [2017-02-25 12:23:15.75]: Step: sigh manage --force --clean_pattern ".*"
INFO [2017-02-25 12:23:15.75]: -----------------------------------------------------
INFO [2017-02-25 12:23:15.75]: $ sigh manage --force --clean_pattern ".*"
INFO [2017-02-25 12:23:16.72]: ▸ [WARNING] You are calling sigh directly. Usage of the tool name without the `fastlane` prefix is deprecated in fastlane 2.0
INFO [2017-02-25 12:23:16.72]: ▸ Please update your scripts to use `fastlane sigh manage --force --clean_pattern .\*` instead.
INFO [2017-02-25 12:23:16.72]: ▸ [12:23:16]: Loading Provisioning profiles from ~/Library/MobileDevice/Provisioning Profiles/
INFO [2017-02-25 12:23:16.72]: ▸ [12:23:16]: The following provisioning profiles are either expired or matches your pattern:
INFO [2017-02-25 12:23:16.72]: ▸ [12:23:16]:
INFO [2017-02-25 12:23:16.72]: ▸ Deleted 0 profiles
INFO [2017-02-25 12:23:17.51]: -------------------
INFO [2017-02-25 12:23:17.51]: --- Step: match ---
INFO [2017-02-25 12:23:17.51]: -------------------
Successfully loaded Appfile at path '/Users/admin/iphone-front-end/fastlane/Appfile'
- app_identifier: 'com.grocerkey.shopperapp'
- apple_id<EMAIL_ADDRESS>- team_id: 'U5CS3T9JSF'
-------
INFO [2017-02-25 12:23:17.83]: Successfully loaded '/Users/admin/iphone-front-end/fastlane/Matchfile' 📄
WARN [2017-02-25 12:23:17.83]: No values defined in './fastlane/Matchfile'

+-----------------------+---------------------------------------------+
|                      Summary for match 2.18.3                       |
+-----------------------+---------------------------------------------+
| git_url               | git@github.com:GrocerKey/ios-repository.git |
| git_branch            | master                                      |
| type                  | adhoc                                       |
| app_identifier        | ["com.grocerkey.shopperapp", "*"]           |
| username              |<EMAIL_ADDRESS>                       |
| keychain_name         | /Users/admin/iphone-front-end/ci.keychain   |
| team_id               | U5CS3T9JSF                                  |
| verbose               | true                                        |
| force                 | true                                        |
| shallow_clone         | true                                        |
| readonly              | false                                       |
| skip_confirmation     | false                                       |
| force_for_new_devices | false                                       |
| skip_docs             | false                                       |
| platform              | ios                                         |
+-----------------------+---------------------------------------------+

INFO [2017-02-25 12:23:17.83]: Cloning remote git repo...
INFO [2017-02-25 12:23:17.83]: $ GIT_TERMINAL_PROMPT=0 git clone 'git@github.com:GrocerKey/ios-repository.git' '/var/folders/d6/0r6dpnw109b3jj4_k84qwc8w0000gq/T/d20170225-55534-jh7k3w' --depth 1
INFO [2017-02-25 12:23:17.85]: ▸ Cloning into '/var/folders/d6/0r6dpnw109b3jj4_k84qwc8w0000gq/T/d20170225-55534-jh7k3w'...
INFO [2017-02-25 12:23:18.43]: ▸ remote: Counting objects: 15, done.
INFO [2017-02-25 12:23:18.43]: ▸ remote: Compressing objects: 100% (12/12), done.
INFO [2017-02-25 12:23:18.43]: ▸ remote: Total 15 (delta 0), reused 12 (delta 0), pack-reused 0
INFO [2017-02-25 12:23:18.43]: ▸ Receiving objects: 100% (15/15), 41.89 KiB | 0 bytes/s, done.
INFO [2017-02-25 12:23:18.48]: ▸ Checking connectivity... done.
INFO [2017-02-25 12:23:18.50]: 🔓  Decrypted '7V498RBX23.cer'
INFO [2017-02-25 12:23:18.52]: 🔓  Decrypted '7V498RBX23.p12'
INFO [2017-02-25 12:23:18.53]: 🔓  Decrypted 'AdHoc_*.mobileprovision'
INFO [2017-02-25 12:23:18.54]: 🔓  Decrypted 'AdHoc_com.grocerkey.shopperapp.development.mobileprovision'
INFO [2017-02-25 12:23:18.55]: 🔓  Decrypted 'AdHoc_com.grocerkey.shopperapp.mobileprovision'
INFO [2017-02-25 12:23:18.56]: 🔓  Decrypted 'AdHoc_com.grocerkey.shopperapp.staging.mobileprovision'
INFO [2017-02-25 12:23:18.56]: 🔓  Successfully decrypted certificates repo
INFO [2017-02-25 12:23:18.56]: Verifying that the certificate and profile are still valid on the Dev Portal...
INFO [2017-02-25 12:23:34.14]: 🔒  Successfully encrypted certificates repo
WARN [2017-02-25 12:23:34.14]: Lane Context:
INFO [2017-02-25 12:23:34.14]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios production_adhoc", :ORIGINAL_DEFAULT_KEYCHAIN=>"\"/Users/admin/iphone-front-end/ci.keychain\""}
ERROR [2017-02-25 12:23:34.14]: Apple 302 detected
INFO [2017-02-25 12:23:34.14]: Successfully generated documentation at path '/Users/admin/iphone-front-end/fastlane/README.md'

+------+------------------------------------------+-------------+
|                       fastlane summary                        |
+------+------------------------------------------+-------------+
| Step | Action                                   | Time (in s) |
+------+------------------------------------------+-------------+
| 1    | Verifying required fastlane version      | 0           |
| 2    | default_platform                         | 0           |
| 3    | update_fastlane                          | 2           |
| 4    | security list-keychains -s               | 0           |
| 5    | create_keychain                          | 0           |
| 6    | sigh manage --force --clean_pattern ".*" | 1           |
| 💥    | match                                    | 16          |
+------+------------------------------------------+-------------+

ERROR [2017-02-25 12:23:34.15]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...
Search query: The request could not be completed because:
	Apple 302 detected

URL: https://api.github.com/search/issues?q=The%20request%20could%20not%20be%20completed%20because:%0A%09Apple%20302%20detected+repo:fastlane/fastlane
➡  HipChat Action URI
   https://github.com/fastlane/fastlane/issues/302 [closed] 2 💬
   22 Sep 2016

➡  Group name with spaces and beta upload failure?
   https://github.com/fastlane/fastlane/issues/8267 [closed] 8 💬
   a week ago

🔗  You can ⌘ + double-click on links to open them directly in your browser.

🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.11.6

Ruby
2.3.3

Bundler?
false

Git
git version 2.7.4 (Apple Git-66)

Installation Source
~/.rbenv/versions/2.3.3/bin/fastlane

Host
Mac OS X 10.11.6 (15G1217)

Ruby Lib Dir
~/.rbenv/versions/2.3.3/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

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

Xcode Version
7.3.1

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.108.0"

default_platform :ios

platform :ios do
  before_all do
    # Frequent updates of fastlane as necessary due to ever changing Apple Developer portal interface.
    update_fastlane
    #
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    # cocoapods
  end

##### Private lane: set_version
  desc "Set version and build number to the same string"
  lane :set_version do
    build_id = ENV['CI_BUILD_ID']
    puts("Setting both version number and build number to #{build_id}")
    increment_version_number(version_number: build_id)
    increment_build_number(build_number: build_id)
end

##### Lane: SHENV ########################
  desc "Test sh(env) current directory"
  lane :shenv do
    puts("Call of sh('env')")
    sh('env')
    puts("Call of sh('pwd')")
    sh('pwd')
    puts("Call of sh('env')")
    sh('env')
  end

##### Lane: RELEASE ########################
  desc "Deploy a new version to the App Store"
  lane :release do
    # match(type: "appstore")
    # snapshot
    gym # Build your app - more options available
    deliver(force: true)
    # frameit
  end

##### Lane: DEVELOPMENT ########################
desc "Development fastlane"
lane :development do

  keychain_path = "#{ENV['PWD']}/ci.keychain"
  puts("Keychain path will be: #{keychain_path}")
  team_id = "U5CS3T9JSF"
  target = "GrocerKey Dev"

  # Delete possible leftover keychain file, otherwise creation of a new temporary keychain would fail
  # Not needed if we can have a keychain file in the current working directory
  if File.exists?(keychain_path)
    puts("Deleting old keychain file: #{keychain_path}")
    FileUtils.rm_f(keychain_path)
  end

  # Cleanup keychain search list
  sh('security list-keychains -s')

  # Creating temporary keychain
  create_keychain(
    path: keychain_path,
    default_keychain: true,
    unlock: true,
    timeout: false,
    password: SecureRandom.base64
  )

  # Provision devices from file Provisioning/devices to Apple developer portal; optimistic provisioning applies
  register_devices(
    devices_file: "./devices"
  )

  # Remove all existing local provisioning profiles and all distribution provisioning profiles on the development portal
  # How to remove undesired provisioning profiles from match repo?
  # TODO; to avoid Xcode select wrong profile
  sh('sigh manage --force --clean_pattern ".*"')

  # Assure we have right adhoc distribution certificates and provisioning profiles
  match(
    git_url: "git@github.com:GrocerKey/ios-repository.git",
    git_branch: "master",
    type: "adhoc",
    app_identifier: [ "com.grocerkey.shopperapp.development", "*" ],
    username<EMAIL_ADDRESS>    keychain_name: keychain_path,
    team_id: team_id,
    verbose: true,
    force: true,
    shallow_clone: true,
  )

  ENV['sigh_wildcard_adhoc'] = ENV['sigh_*_adhoc']
  puts "Provisioning profile 'sigh_wildcard_adhoc' UUID is: #{ENV['sigh_wildcard_adhoc']}"
  sh('env')

  # Set version and build number
  set_version

  # Building and archiving the project with wildcard provisioning profile, to avoid problems with signining of Cocoa pods, due to https://github.com/CocoaPods/CocoaPods/issues/4331
  # While lane is executed in the current directory, 'sh' action executes in ./fastlane/ subdirectory
  sh("xcodebuild -jobs 4 -workspace #{ENV['PWD']}/GrocerKey.xcworkspace -scheme '#{target}' -destination generic/platform=iOS -sdk iphoneos9.3 -archivePath #{ENV['PWD']}/build/gkdev.xcarchive clean build archive PROVISIONING_PROFILE=$sigh_wildcard_adhoc")

  # Remove wildcard provisioning profile to make sure it is not used during the export
  sh('sigh manage --force --clean_pattern "match\ AdHoc\ \*"')

  # Exporting the archive with com.grocerkey.shopperapp provisioning profile
  sh("xcodebuild -verbose -exportArchive -archivePath #{ENV['PWD']}/build/gkdev.xcarchive -exportOptionsPlist #{ENV['PWD']}/exportOptions.plist -exportPath #{ENV['PWD']}/build")

=begin
  # BLOCK COMMENTED OUT
  # gym compilation would work if pods can be built with com.grocerkey.shopperapp provisioning profile
  gym(
    workspace: "./GrocerKey.xcworkspace",
    scheme: "GrocerKey",
    clean: true,
    output_directory: './build/',
    export_method: 'ad-hoc',
    export_options: './exportOptions.plist',
    build_path: './build/',
    sdk: 'iphoneos9.3',
    destination: 'generic/platform=iOS'
  )
=end

# Zipping symbols to be uploaded to Hockey for symbolication
  sh("zip -r \'#{ENV['PWD']}/build/#{target}.app.dSYM.zip\' \'#{ENV['PWD']}/build/gkdev.xcarchive/dSYMs\'")

# Uploading to Hockey. The name of IPA file is the same as the name of a target/scheme
  hockey(
    ipa: "./build/#{target}.ipa",
  )

  # Deleting temporary keychain, cleanup
  delete_keychain(
    name: keychain_path
  )

end

##### Lane: STAGING ########################
desc "Staging fastlane"
lane :staging do

  keychain_path = "#{ENV['PWD']}/ci.keychain"
  puts("Keychain path will be: #{keychain_path}")
  team_id = "U5CS3T9JSF"
  target = "GrocerKey Staging"

  # Delete possible leftover keychain file, otherwise creation of a new temporary keychain would fail
  # Not needed if we can have a keychain file in the current working directory
  if File.exists?(keychain_path)
    puts("Deleting old keychain file: #{keychain_path}")
    FileUtils.rm_f(keychain_path)
  end

  # Cleanup keychain search list
  sh('security list-keychains -s')

  # Creating temporary keychain
  create_keychain(
    path: keychain_path,
    default_keychain: true,
    unlock: true,
    timeout: false,
    password: SecureRandom.base64
  )

  # Provision devices from file Provisioning/devices to Apple developer portal; optimistic provisioning applies
  register_devices(
    devices_file: "./devices"
  )

  # Remove all existing local provisioning profiles and all distribution provisioning profiles on the development portal
  # How to remove undesired provisioning profiles from match repo?
  # TODO; to avoid Xcode select wrong profile
  sh('sigh manage --force --clean_pattern ".*"')

  # Assure we have right adhoc distribution certificates and provisioning profiles
  match(
    git_url: "git@github.com:GrocerKey/ios-repository.git",
    git_branch: "master",
    type: "adhoc",
    app_identifier: [ "com.grocerkey.shopperapp.staging", "*" ],
    username<EMAIL_ADDRESS>    keychain_name: keychain_path,
    team_id: team_id,
    verbose: true,
    force: true,
    shallow_clone: true,
  )

  ENV['sigh_wildcard_adhoc'] = ENV['sigh_*_adhoc']
  puts "Provisioning profile 'sigh_wildcard_adhoc' UUID is: #{ENV['sigh_wildcard_adhoc']}"
  sh('env')

  # Set version and build number
  set_version

  # Building and archiving the project with wildcard provisioning profile, to avoid problems with signining of Cocoa pods, due to https://github.com/CocoaPods/CocoaPods/issues/4331
  # While lane is executed in the current directory, 'sh' action executes in ./fastlane/ subdirectory
  sh("xcodebuild -jobs 4 -workspace #{ENV['PWD']}/GrocerKey.xcworkspace -scheme '#{target}' -destination generic/platform=iOS -sdk iphoneos9.3 -archivePath #{ENV['PWD']}/build/gkdev.xcarchive clean build archive PROVISIONING_PROFILE=$sigh_wildcard_adhoc")

  # Remove wildcard provisioning profile to make sure it is not used during the export
  sh('sigh manage --force --clean_pattern "match\ AdHoc\ \*"')

  # Exporting the archive with com.grocerkey.shopperapp provisioning profile
  sh("xcodebuild -verbose -exportArchive -archivePath #{ENV['PWD']}/build/gkdev.xcarchive -exportOptionsPlist #{ENV['PWD']}/exportOptions.plist -exportPath #{ENV['PWD']}/build")

=begin
  # gym compilation would work if pods can be built with com.grocerkey.shopperapp provisioning profile
  gym(
    workspace: "./GrocerKey.xcworkspace",
    scheme: "GrocerKey",
    clean: true,
    output_directory: './build/',
    export_method: 'ad-hoc',
    export_options: './exportOptions.plist',
    build_path: './build/',
    sdk: 'iphoneos9.3',
    destination: 'generic/platform=iOS'
  )
=end

# Zipping symbols to be uploaded to Hockey for symbolication
  sh("zip -r \'#{ENV['PWD']}/build/#{target}.app.dSYM.zip\' \'#{ENV['PWD']}/build/gkdev.xcarchive/dSYMs\'")

# Uploading to Hockey. The name of IPA file is the same as the name of a target/scheme
  hockey(
    ipa: "./build/#{target}.ipa",
  )

  # Deleting temporary keychain, cleanup
  delete_keychain(
    name: keychain_path
  )

end

##### Lane: PRODUCTION ADHOC ########################
desc "Production Adhoc fastlane"
lane :production_adhoc do

  keychain_path = "#{ENV['PWD']}/ci.keychain"
  puts("Keychain path will be: #{keychain_path}")
  team_id = "U5CS3T9JSF"
  target = "GrocerKey Production"

  # Delete possible leftover keychain file, otherwise creation of a new temporary keychain would fail
  # Not needed if we can have a keychain file in the current working directory
  if File.exists?(keychain_path)
    puts("Deleting old keychain file: #{keychain_path}")
    FileUtils.rm_f(keychain_path)
  end

  # Cleanup keychain search list
  sh('security list-keychains -s')

  # Creating temporary keychain
  create_keychain(
    path: keychain_path,
    default_keychain: true,
    unlock: true,
    timeout: false,
    password: SecureRandom.base64
  )

=begin
  # Provision devices from file Provisioning/devices to Apple developer portal; optimistic provisioning applies
  register_devices(
    devices_file: "./devices"
  )
=end

  # Remove all existing local provisioning profiles and all distribution provisioning profiles on the development portal
  # How to remove undesired provisioning profiles from match repo?
  # TODO; to avoid Xcode select wrong profile
  sh('sigh manage --force --clean_pattern ".*"')

  # Assure we have right adhoc distribution certificates and provisioning profiles
  match(
    git_url: "git@github.com:GrocerKey/ios-repository.git",
    git_branch: "master",
    type: "adhoc",
    app_identifier: [ "com.grocerkey.shopperapp", "*" ],
    username<EMAIL_ADDRESS>    keychain_name: keychain_path,
    team_id: team_id,
    verbose: true,
    force: true,
    shallow_clone: true,
  )

  ENV['sigh_wildcard_adhoc'] = ENV['sigh_*_adhoc']
  puts "Provisioning profile 'sigh_wildcard_adhoc' UUID is: #{ENV['sigh_wildcard_adhoc']}"
  sh('env')

  # Set version and build number
  set_version

  # Building and archiving the project with wildcard provisioning profile, to avoid problems with signining of Cocoa pods, due to https://github.com/CocoaPods/CocoaPods/issues/4331
  # While lane is executed in the current directory, 'sh' action executes in ./fastlane/ subdirectory
  # sh("xcodebuild -jobs 4 -workspace #{ENV['PWD']}/GrocerKey.xcworkspace -scheme '#{target}' -destination generic/platform=iOS -sdk iphoneos9.3 -archivePath #{ENV['PWD']}/build/gkdev.xcarchive clean build archive PROVISIONING_PROFILE=$sigh_wildcard_adhoc")

  # Remove wildcard provisioning profile to make sure it is not used during the export
  sh('sigh manage --force --clean_pattern "match\ AdHoc\ \*"')

  # Exporting the archive with com.grocerkey.shopperapp provisioning profile
  sh("xcodebuild -verbose -exportArchive -archivePath #{ENV['PWD']}/build/gkdev.xcarchive -exportOptionsPlist '#{ENV['PWD']}/exportOptions.#{target}.plist' -exportPath #{ENV['PWD']}/build")

=begin
  # gym compilation would work if pods can be built with com.grocerkey.shopperapp provisioning profile
  gym(
    workspace: "./GrocerKey.xcworkspace",
    scheme: "GrocerKey",
    clean: true,
    output_directory: './build/',
    export_method: 'ad-hoc',
    export_options: './exportOptions.plist',
    build_path: './build/',
    sdk: 'iphoneos9.3',
    destination: 'generic/platform=iOS'
  )
=end

# Zipping symbols to be uploaded to Hockey for symbolication
  sh("zip -r \'#{ENV['PWD']}/build/#{target}.app.dSYM.zip\' \'#{ENV['PWD']}/build/gkdev.xcarchive/dSYMs\'")

# Uploading to Hockey. The name of IPA file is the same as the name of a target/scheme
  hockey(
    ipa: "./build/#{target}.ipa",
  )

  # Deleting temporary keychain, cleanup
  delete_keychain(
    name: keychain_path
  )

end

######################################################################################################
### FINAL COMMON BLOCK
######################################################################################################
  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

`./fastlane/Appfile`
app_identifier "com.grocerkey.shopperapp" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "U5CS3T9JSF"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.18.3
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.2

slack-notifier
1.5.1

i18n
0.7.0

json
1.8.3

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.9.1

activesupport
<IP_ADDRESS>

CFPropertyList
2.3.4

claide
1.0.1

colored
1.2

nanaimo
0.2.3

xcodeproj
1.4.1

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

terminal-table
1.4.5

plist
3.2.0

addressable
2.3.8

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

highline
1.7.8

commander
4.4.0

excon
0.54.0

faraday
0.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
1.6.8

gh_inspector
1.0.2

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.20

mini_magick
4.5.1

multi_xml
0.5.5

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

faraday_middleware
0.10.1

io-console
0.4.6

rubyzip
1.2.0

rdoc
5.0.0

psych
2.2.1

bigdecimal
1.2.8

generated on: 2017-02-25

/Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/highline-1.7.8/lib/highline.rb:730:in `gsub': invalid byte sequence in US-ASCII (ArgumentError)
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/highline-1.7.8/lib/highline.rb:730:in `format_statement'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/highline-1.7.8/lib/highline.rb:621:in `say'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/highline-1.7.8/lib/highline.rb:261:in `ask'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/highline-1.7.8/lib/highline.rb:227:in `agree'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb:107:in `confirm'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane_core/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane/lib/fastlane/environment_printer.rb:12:in `output'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane/lib/fastlane/commands_generator.rb:51:in `ensure in start'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane/lib/fastlane/commands_generator.rb:51:in `start'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/fastlane/lib/fastlane/cli_tools_distributor.rb:65:in `take_off'
	from /Users/admin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/fastlane-2.18.3/bin/fastlane:15:in `'
	from /Users/admin/.rbenv/versions/2.3.3/bin/fastlane:22:in `load'
	from /Users/admin/.rbenv/versions/2.3.3/bin/fastlane:22:in `'

Apple 302 detected, just now. Concur in the proposal above.

@JGTM2017 It seems the guys in Apple recently do their best to break all the CI around the world. If they provided a reasonable CI, not the joke named Xcode Server, the life would be easier. Well, maybe they do not care, they are instead desperately struggling to find an "ESC" key :D

The issue has been mitigated by implementation of retry mechanism, what is great improvement. However, it does not solve the original problem.
Back in February, Apple developer portal was down for many hours and it was not possible to build the apps without manually changing the Fastfile.
Also, AFAIK the retry mechanism applies to 4xx and 5xx errors only, while the February problem was caused by 302.

The issue persists.

One thing you could do (you probably already know) is that you could wrap this part of your fastfile in a rescue block, that way if this part fails, you can still continue. Beyond this, making things more resilient when the servers are down is tricky. We kinda think if the servers experience extended downtime, you can't rely on anything working and so crashing and burning is ok. Since we have no idea how the api will respond, I'm actually kinda afraid to continue at all.

@taquitos Thanks for your response. My use case is that I do not necessarily need the developer portal on regular basis, just to check from time to time whether certificate and provisioning profile are OK. Once the app is built, archived and exported I upload it to Hockey.
As of my original proposal, ability to continue match in read-only mode, which is already present, in case of an issue would be helpful. As you propose, I actually wrap it with rescue once it fails, try to examine what happened and if the error is coming from developer portal, I restart match with readonly flag. This is the ugliest part of my Fastfile. It is ugly because it is a lot of code, compared to the rest. Still, I believe others may benefit if such option is built-in.
Skipping register_devices in case it fails is not a big deal, though I still need to distinguish between permanent error coming from incorrect file (users like to use spaces instead of tabs) and transient developer portal error. For me an ability to continue with warning message would be helpful.
For sigh I agree it probably makes no sense trying to workaround faulty developer portal.

Ohh that makes sense @GoodMirek.  Would you mind sharing the code you use for

I actually wrap it with rescue once it fails, try to examine what happened and if the error is coming from developer portal, I restart match with readonly flag

If it's not too complicated, maybe you could even put together a PR for match 😇?
If not, I totally understand, but I do agree making match more resilient for these cases makes sense.

Here is the related snippet of code I use in Fastfile:
    begin
      match(
        git_url: "git@github.com:acme/ios-repository.git",
        git_branch: team_id,
        type: "appstore",
        app_identifier: [ appid ],
        keychain_name: keychain_path,
        team_id: team_id,
        username: username,
        verbose: true,
        force: true,
        shallow_clone: true,
      )
    rescue Exception => e
      UI.error("Match action failed with error #{e.message}.\n" +
      "It might be caused by Apple infrastructure issue, e.g. when developer portal returns status 302 or 500.\n" +
      "Retrying Match action in read-only mode." +
      " It will checkout provisioning profile and signing certificate from git, without attempting to validate it on Apple developer portal.")
      begin
        match(
          git_url: "git@github.com:acme/ios-repository.git",
          git_branch: team_id,
          type: "appstore",
          app_identifier: [ appid ],
          keychain_name: keychain_path,
          team_id: team_id,
          username: username,
          verbose: true,
          force: false,
          shallow_clone: true,
          readonly: true
        )
      rescue Exception => e
        UI.error("Match action failed in read-only mode with error #{e.message}.\n")
        raise e
      end
    end

However, it is first time I experience HTTP status 302 from Apple developer portal since I have implemented the above and match action now fails even in read-only mode, with following error:
INFO [2017-09-06 14:47:42.96]: $ curl -o /var/folders/52/53gr5d011m3dg8wpxrzk0vj00000gn/T/AppleWWDRCA20170906-50575-188hh8k https://developer.apple.com/certificationauthority/AppleWWDRCA.cer && security import /var/folders/52/53gr5d011m3dg8wpxrzk0vj00000gn/T/AppleWWDRCA20170906-50575-188hh8k -k /Users/administrator/iphone-front-end/ci.keychain-db
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   710  100   710    0     0   5319      0 --:--:-- --:--:-- --:--:--  5298
security: SecKeychainItemImport: Unknown format in import.
ERROR [2017-09-06 14:47:43.14]: Match action failed in read-only mode with error Could not install WWDR certificate.

WARN [2017-09-06 14:47:43.14]: Lane Context:
INFO [2017-09-06 14:47:43.14]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios production_appstore", :ORIGINAL_DEFAULT_KEYCHAIN=>"\"/Users/administrator/iphone-front-end/ci.keychain-db\""}
ERROR [2017-09-06 14:47:43.14]: Could not install WWDR certificate

It is correct that the match action failed above, as it could not download WWDR certificate. I use fresh new and empty keychain for every build, to assure maximum reproducibility, so the WWDR certificate is not present on the system.
I am trying to download WWDR certificate manually and it does not work, returning 403. I have tested it from multiple geographically different locations. Pity I do not have that WWDR certificate anywhere, so I cannot proceed with troubleshooting now. It would be great if match stored the WWDR certificate in its git repo and in the read-only mode it fell back to WWDR certificate stored there.
Regarding PR, I am not sure how to implement that last piece of WWDR certificate into fastlane code. Only ruby I have ever written so far is Fastfile.

Regarding register_devices action, which precedes match action in my Fastfile, I use following code to ignore an error:
    begin
      register_devices(
        devices_file: "./devices",
        team_id: team_id,
        username: username
      )
    rescue Exception => e
      UI.error("Registering new devices failed with error #{e.message}.\nIt might be caused by wrong format of 'devices' file," +
      " beware it has TSV format (tab separated values).\nIt might be also caused by Apple infrastructure issue, e.g. when developer portal" +
      " returns status 302 or 500.\nThe build proceeds without registering the new devices on Apple developer portal.")
    end

Frequency of someone putting spaces instead of tabs into devices file is roughly same as Apple being down 😆

I'm seeing this issue today while running produce.  Is it showing up for others as well?

Yeah, developer.apple.com/account takes you to their maintenance screen rn.

@CareerFairPlus Definitely many parts of North America and Europe see the outage. I guess that the Apple Developer Portal is down for the whole world. It is just few hours now, my experience is that they will fix it by tomorrow.

Hey @GoodMirek, sorry for not coming back earlier on this one. I agree we could do some magic, however it's pretty weird that we have to do add all those workarounds just because the servers are down so often. Instead we currently recommend people to use the readonly option in match, which can be injected without modifying the Fastfile using an environment variable

Hi @KrauseFx, thanks for responding to this issue. readonly option injected via environment variable  is a great recommendation, it did not came to my mind. However, itself it is not sufficient in our use case. It is also necessary to switch off force option and take care of failing installation of Apple WWDR certificate. Furthermore, the injection requires manual intervention to CI, what means whole team has wait for me, as nobody else maintains knowledge of CI in our team.
I have been able to create a resilient solution using exception handling. It is a bit huge blob of code in Fastfile. The strangest part is saving Apple WWDR certificate in an adhoc place, as I have not figured out how to save it in encrypted repo used by match without substantially patching fastlane. I believe more people could benefit if the resilience option was integrated into fastlane, as proposed at the very beginning of this story.
I think I am able to prepare a PR implementing the proposal, though my ruby knowledge is rather limited. Will you agree to add such feature to fastlane?

Mh, I'm not sure how much complexity this would add to the code base, if it's a few if else blocks only, I'd be ok with it

The biggest part will probably be saving Apple WWDR cert in match's repo while servers are working and using it from there if curl command in method install_wwdr_certificate in file cert_checker.rb fails.
Does that makes sense to you?

oh yeah, sounds like a great idea if that's easily posisble

Here is my Fastfile resilient to Apple Developer Portal errors, if anyone is interested.


Upon launch, sometimes, the calculator type title shifts down

Describe the bug
Upon launch, sometimes, the calculator type title shifts down.  In most calculator types this can cause readability issues when performing some actions.
Steps To Reproduce

Launch Date Calculation calculator
Observe UI
If issue did not occur, repeat steps 1 through 2 multiple times

Observed behavior
Upon launch, sometimes, the calculator type title shifts down
Expected behavior
Upon launch, the calculator UI does not shift down
Screenshots

Device and Application Information

OS Build: 10.0.18362.0
Architecture: X64
Application Version: 10.1906.53.0
Region: en-US
Dev Version Installed: True

Additional context
I can repro quickly by pinning the Calculator app to the taskbar and using middle click to rapidly open several Calculator windows.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.

Seems to be related to #587 (which captures reverse problem of some content shifting up).

The cause of this issue is CoreApplication.GetCurrentView().TitleBar.IsVisible  == False (even if it should not) when the application is launched and is set to True once the UI loaded. I will work on a workaround to ignore the initial value later tonight.

This still happens in Tablet Mode. When accessing the Title bar the entire interface slides down.

how come the PR wasn't merged?


Automated daily update to rustc (to nightly-2024-06-12)

Automated update to Github CI workflow rust.yml by create-pull-request GitHub action

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.233%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19494

Relevant Lines:
23421

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.233%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19494

Relevant Lines:
23421

💛  - Coveralls


Masonry’s onFinishedRendering is called only when fetching has finished

I released a new Masonry prop, onFinishedRendering, last week. After adding, I realized it was being called twice on each load, and I traced it back to the isFetching flag being toggled. onFinishedRendering is now called only when isFetching which results in a more useful callback.

Warnings

:warning:

:microscope: Experimental data needed - Changes were made to critical components. Do you have experimental data to back up your changes?

  Generated by :no_entry_sign: dangerJS

Deploy preview for gestalt ready!
Built with commit 3b3cd74eb3033565f6fb0df2d1677bbb09136042
https://deploy-preview-426--gestalt.netlify.com

Deploy preview for gestalt ready!
Built with commit dde430cc086db78409595caaec4fd543e5e0f253
https://deploy-preview-426--gestalt.netlify.com

Removing this. I think I've found ways to measure this via the DOM instead of forcing hooks into Masonry.


Fix footer beneath the content. Discuss in issue #57 Footer

Let footer beneath the content. (issue #57 )
Remove useless code in index.js
jQuery.load() is incompatible with onload attribute, so I move index_alert into jQuery.load()

@CHIAHSINHOU please test this, @bruce3557 please check this.

+1, waiting for testing

go to merge


[Bug]: Auto Form toDate is not a function when form schema has default value

Reproduction
https://stackblitz.com/edit/nuxt-vue-3-4-beta-twkyrr?file=src%2Fpages%2Fhome%2FHomePage.vue
Describe the bug
In documentation:

If you want to set default value of date, convert it to Date first using new Date(val).

An error occurs during
{{ slotProps.componentField.modelValue ? df.format(slotProps.componentField.modelValue.toDate(getLocalTimeZone())) : "Pick a date" }}
because slotProps.componentField.modelValue is of type string  and not a DateValue like expected by Calendar component.
System Info
System:
    OS: Linux 6.8 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)
    CPU: (12) x64 12th Gen Intel(R) Core(TM) i5-1235U
    Memory: 2.89 GB / 15.30 GB
    Container: Yes
    Shell: 5.9 - /usr/bin/zsh
  Binaries:
    Node: 20.17.0 - ~/.nvm/versions/node/v20.17.0/bin/node
    npm: 10.8.2 - ~/.nvm/versions/node/v20.17.0/bin/npm
    pnpm: 9.10.0 - ~/.local/share/pnpm/pnpm
    bun: 1.1.27 - ~/.bun/bin/bun
  Browsers:
    Chrome: 129.0.6668.58

Contributes

[ ] I am willing to submit a PR to fix this issue
[ ] I am willing to submit a PR with failing tests

That's because radix-vue's Date Picker uses @internationalized/date only. I'm facing the same issue. I can't set initial values because of that, and Zod doesn't support such objects.

That's because radix-vue's Date Picker uses @internationalized/date only. I'm facing the same issue. I can't set initial values because of that, and Zod doesn't support such objects.

I'm experiencing the same issue now. Is there no solution for this? Even though the documentation says, "If you want to set the default value of a date, convert it to a Date first using new Date(val)," I'm still getting an error.

Since the component relies on DateValue from @internationalized/date, I took a look into it and came up with a temporary solution. Here's the code I used to get things working:
import {  getLocalTimeZone,  parseAbsolute,  type DateValue } from "@internationalized/date";

const schema = z.object({ date: z.coerce.date() });

const form = useForm({
  initialValues: {
    date: parseAbsolute(new Date().toISOString(), getLocalTimeZone()) as DateValue as unknown as Date, // casting to Date for Zod compatibility
  },
});


Add setting to disable relative filenames

@muuki88 Please review :blush:  Still needs docs in README, so please don't merge yet :relaxed:
Connects to #1

@muuki88 Besides, just so you know, we've got Travis CI up and running now, and I created a [Waffle Board] for us :relaxed:

LGTM. :)

Ok, merged :relaxed:  Let's work on the publishing now :sunglasses:


Further scaling plans: horizontal scaling.

Right now im content with vertical scaling, but beyond a certain point (i think 100k servers, after next droplet upgrade) i'm gonna need to start doing horizontal scaling, the reasons being:

More reliable, a single droplet going down will only affect that group of shards
Simpler, it solves many scaling problems, like lock contention becoming a real problem a lot of places in the application

For this to work the following systems need to be reworked and made:
Step 1, local clustering (divide shards up amongst processes on the same machine)
Just this will have a large impact on reliability, crashes and such will only affect process they're on, and even things like full restarts can be done with ease. (though shard resscaling still remains a issue ill need to address at some point)

[x] Add the yagmaster functionality for allocating shards to nodes and moving shards to new nodes (currently referred to as shard migration)
[x] Scheduled events needs to be reworked to only trigger on the relevant node
[x] Mqueue needs slight tweaking to track the original guild source
[x] Pubsub needs to be reworked to only trigger on the relevant nodes
[x] Safebrowsing needs rework, i can't run the db on each node, would be too much quota usage so i need set up a central server or maybe use postgres
[x] General support in the bot for everything being on different processes
[x] Botrest needs some service discovery (store a map of shards to adresses in redis)
[x] Improve monitoring to support this (datadog)
[x] make a general background processing mode for non-shard-specific background tasks
[x] add scheduled events cleanup to background tasks
[x] add stats processing to bacground tasks
[x] add soundboard transcoding to background tasks

Step 2, having shards across multiple servers
Step 2 is much less work after step 1 is finished, but there's still some things to do

[ ] Actually learn docker, reason im gonna be using docker is it would simplify the process of spinning up new nodes i believe.
[ ] Soundboard needs to have the sound storage reworked, maybe just jam them into postgres? currently all sound accumulate up 1.5GB so it's probably doable, and most  sounds are below 1MB, so probably doable
[x] General support in the bot for everything being on different servers
[x] Botrest service discovery needs to store actual addresses to servers

Local clustering is now running in production, next step would be docker integration and having them run across hosts

Scaling across multiple hosts is now fully functioning, how it works is you have 1 shard orchestrator running on each host, and you specify which shards that orchestrator is responsible for using YAGPDB_SHARDING_ACTIVE_SHARDS.
This is a really simple and efficient way of doing it imo which is why i have decided on going with this approach, i read into docker a lot and it was just getting super complicated trying to integrate that in, so i gave up.
And the soundboard now retrieves sounds from the backgroundworker which exposes a http api (htp api currently used by safebrowsing and the soundboard), this means that the webserver still needs to run on the same host as where the sounds are stored, but eh, it works.


Add IS_BROWSER constant to GenericNode

This fixes the ugly hack of using
if TypeId::of::<G>() == TypeId::of::<DomNode>() { ... }

and replaces it with
if G::IS_BROWSER { ... }

@lukechu10 Since you mentioned wanting to support other platforms in the future, wouldn't it be wiser to change the IS_BROWSER constant to something like PLATFORM_NAME or PLATFORM with an enum which can include a variant for custom for user provided renderers? This does solve the ugly hack, but doesn't help when targeting other runtimes, such as NativeScript, React Native, etc.

@lukechu10 Since you mentioned wanting to support other platforms in the future, wouldn't it be wiser to change the IS_BROWSER constant to something like PLATFORM_NAME or PLATFORM with an enum which can include a variant for custom for user provided renderers? This does solve the ugly hack, but doesn't help when targeting other runtimes, such as NativeScript, React Native, etc.

Only web apps need to be isomorphic, meaning that they should render with both DomNode and SsrNode. For other platforms, there will only ever be one single backend and so this will not be used. In fact, now that I think about it, maybe the constant should go on the new Html trait (that is only implemented for DomNode and SsrNode) instead of GenericNode.

Codecov Report

Merging #274 (6ecc5ac) into master (d4c2469) will not change coverage.
The diff coverage is 66.66%.

@@           Coverage Diff           @@
##           master     #274   +/-   ##
=======================================
  Coverage   75.23%   75.23%
=======================================
  Files          33       33
  Lines        4781     4781
=======================================
  Hits         3597     3597
  Misses       1184     1184

Impacted Files
Coverage Δ

packages/sycamore-macro/src/template/component.rs
64.00% <ø> (ø)

packages/sycamore/src/generic_node/dom_node.rs
0.00% <ø> (ø)

packages/sycamore/src/generic_node/ssr_node.rs
76.45% <ø> (ø)

packages/sycamore/src/lib.rs
100.00% <ø> (ø)

packages/sycamore/src/portal.rs
0.00% <ø> (ø)

website/src/main.rs
0.98% <0.00%> (ø)

packages/sycamore-macro/src/component/mod.rs
73.86% <100.00%> (ø)

Continue to review full report at Codecov.

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


Allow injected config

Allow configuration to be injected
This frees DefaultUrlResolver from the global configuration instance.
This is necessary when multiple configurations are needed in the same
application.

Builds on changes in #18


Updated README.md

As a novice in webpack it took a while for me to figure out how to run the examples :) So I wanted to add Instructions.

Hi @tshaddix,
I have implemented the changes you requested. This PR gets automatically updated with edits right? Excuse my GitHub ignorance :)

@nomoreboredom yup! PRs are tied to a branch with your changes and a base branch where your changes will be merged into once accepted. So whenever you push code to your branch, it updates here. :-)


DUKE-20x skins for sakai-test

skins built in maven outside of this repo at the moment. still figuring out how to put the source back in here.


windows 10 android studio The source and destination cannot both be remote.

Is your remote machine also running on Windows?

I have the same issue.
My local machine is Windows, the remote is Linux

I'm looking into this issue right now.
@kubaBabylon could you run your gradle build with --info option and post the output here, it would be very helpful.

@kubaBabylon @zhanlan123
Could you guys try out com.instamotor:mirakle:1.3.3-RC-1 and let me know does it work.

@Adambl4 hey sorry I had 0 time.
Will try it tonight :)

@Adambl4 Rsync now works but does not find ssh alias
> Configure project :
Here's Mirakle 1.3.3-RC-1. All tasks will be executed on lel.

> Task :uploadToRemote
ssh: Could not resolve hostname lel: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]

> Task :uploadToRemote FAILED

@Adambl4
Wrote path without ssh alias
rootProject {
    mirakle {
        host<EMAIL_ADDRESS>    }
}

> Configure project :
Here's Mirakle 1.3.3-RC-1. All tasks will be executed on<EMAIL_ADDRESS>
> Task :uploadToRemote FAILED
Could not create directory '/home/my_username/.ssh'.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]

But my path on Windows10 is "C:\Users\my_username\.ssh"

@oqqA It looks more like ssh issue connecting to remote machine rather than mirakle issue
The issue is Host key verification failed.
Could check this solution

@Adambl4
I manually removed the old key from ".ssh/known_hosts" but issue is repeated
Before and after procedure ssh command in console works and I can use my remote machine

I also get the same problem here:

@w93163red could you try com.instamotor:mirakle:1.3.3-RC-2 and let me know does it work or not.

@Adambl4

@w93163red seems it was able to connect to remote machine, but there is huge rsync version mismatch. 2.6.9 on remote machine and 3.1.1 on local one.
You need to update rsync on remote macos machine.

@Adambl4
The windows version:

The mac version:

But I still get:

@w93163red I believe it still uses older version of rsync on mac when you are conencting to it using ssh.
You can read this page, it offers 2 solutins:

Changing the PATH for the local user to put /usr/local/bin/rsync before /usr/bin/rsync.
Adding --rsync-path to rsync arguments:
rsyncToRemoteArgs += ["--rsync-path=/usr/local/bin/rsync"]

The first option cannot work. I have tried. I’ll go ahead and try another
one.
Adambl4<EMAIL_ADDRESS>周二05:14写道：

@w93163red https://github.com/w93163red I believe it still uses older
version of rsync on mac when you are conencting to it using ssh.
You can read this page
https://community.spiceworks.com/topic/2215522-macos-using-old-version-of-rsync-instread-of-new-version,
it offers 2 solutins:

Changing the PATH for the local user to put /usr/local/bin/rsync
before /usr/bin/rsync.
Adding --rsync-path to rsync arguments:
rsyncToRemoteArgs += ["--rsync-path=/usr/local/bin/rsync"]

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Adambl4/mirakle/issues/31#issuecomment-661738075, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABXYLOH4ITVORFV6T7WWM2LR4VMADANCNFSM4LSKIN7A
.

For the second option, this is the error message I got

Get same issue with builtin windows ssh client. I have changed it to cygwin openssh --rsh "c:/cygwin64/bin/ssh.exe". Sync successfully

@youndie may I know how did you change the --rsh?

@w93163red add sshExecutable config param https://github.com/youndie/mirakle/commit/fc342cee968a09fbdbf03dac8881878635fa6734

@w93163red add these lines to mirakle config please and let me know will it able to upload your project to remote machine.
Also make sure this path cygwin's ssh exists on your local machine.
rsyncToRemoteArgs +=["--rsh", "c:/cygwin64/bin/ssh.exe"]
rsyncFromRemoteArgs +=["--rsh", "c:/cygwin64/bin/ssh.exe"]

@youndie can you explain me why it uses windows built in ssh client in your case? Are you invoking gradle build from PowerShell or from Cygwin environment?

Run from PowerShell enviroment, "rsync" added to PATH

@w93163red add these lines to mirakle config please and let me know will it able to upload your project to remote machine.
Also make sure this path to cygwin's ssh exists on your local machine.
rsyncToRemoteArgs +=["--rsh", "c:/cygwin64/bin/ssh.exe"]
rsyncFromRemoteArgs +=["--rsh", "c:/cygwin64/bin/ssh.exe"]

@w93163red
This looks promising, just another error: Host key verification failed.
Do ssh login to your remote machine from console and accept host key or add this param to ssh/config:
StrictHostKeyChecking=no

Run from PowerShell enviroment, "rsync" added to PATH

Is it possible to add cygwin64/bin/ssh.exe to PATH in order to replace builtin ssh client?

Should be fixed. If you are still encounter this reopen the issue.


Integration with OpenSpiel

Since ReBeL uses C++/Python, have you thought about using OpenSpiel? Factored observations (public+private observations) and public states have been introduced recently, as well as libtorch. A structured representation of observations has just been published. I didn't look at the code of ReBeL in details so I am not sure how much work that would be. It would be awesome if it was easy to compare and develop algorithms in the same opensource codebase. The advantage is that you can then run the algorithm easily on other games -- there's currently about 50 of them.

Hi Michal! We considered using OpenSpiel, but decided against it due to lack of torch integration and information about the dimensionality of the belief space. The latter is required as ReBeL operates on public belief states instead of public states.

Oh ok, cool! I am adding public state API to OpenSpiel. It is largely a work-in-progress. I'm happy to chat about it if you're interested -- feel free to reach out by e-mail.

@michalsustr @akhti is this integration possible now?


Locales missing in rc20

Versions:

VueJs: 2.5.2
Vee-Validate: 2.0.0-rc.20

Description:
The locale files are missing in the rc20 build.
Steps To Reproduce:
npm install<EMAIL_ADDRESS>ls -la node_modules/vee-validate/dist/

or just look here<EMAIL_ADDRESS>vs.
<EMAIL_ADDRESS>

+1 Tested 5 minutes ago

Thanks for reporting this guys, I messed up the files field in package.json when merging a PR.
Fixed in RC.21
<EMAIL_ADDRESS>


Ignore deleted revisions in get_latest_obj(...)

This fixes #67 as it introduces a filter for already deleted revisions on getting the latest object revision.

Codecov Report
Patch coverage: 63.61% and project coverage change: +30.26 :tada:

Comparison is base (7eb1251) 41.64% compared to head (fcff295) 71.90%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##              dev      #68       +/-   ##
===========================================
+ Coverage   41.64%   71.90%   +30.26%
===========================================
  Files          25       35       +10
  Lines        3607     5133     +1526
===========================================
+ Hits         1502     3691     +2189
+ Misses       2105     1442      -663

Impacted Files
Coverage Δ

src/database/connection.rs
100.00% <ø> (ø)

src/database/crud/info.rs
0.00% <0.00%> (ø)

src/database/crud/object.rs
72.48% <ø> (+43.50%)
:arrow_up:

src/database/models/collection.rs
100.00% <ø> (+45.45%)
:arrow_up:

src/database/models/object.rs
100.00% <ø> (+16.66%)
:arrow_up:

src/database/models/object_group.rs
100.00% <ø> (+16.66%)
:arrow_up:

src/database/schema.rs
10.34% <0.00%> (+3.20%)
:arrow_up:

src/main.rs
0.00% <0.00%> (ø)

src/server/grpc_server.rs
0.00% <0.00%> (ø)

src/server/services/endpoint.rs
0.00% <0.00%> (ø)

... and 48 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Ensure that the hostname matches an application before allowing a redirect

Coverage: 87.513% (+0.02%) from 87.493% when pulling 6eb1a3d9f493cf10e58eef2d30c8ba1bc7f10e39 on 1.0/bug/open-redirect into 395f85a7258c8b21bec687fbf41d9b00b209badb on v1.0.


Add new migration.

Looks like I forgot to add a new migration with the last set of changes.

ping @ldko, @madhulika95b this is ready for review.


Add margin_top option to chat entry component

What
This PR adds a margin_top option to the chat entry component, which adds margin-top: 35px on smaller screen sizes (i.e. <= tablet). I've opted for applying this via a .gem-c-chat-entry--margin-top-until-tablet rather than using the margin_top helper as 1). it should only be applied at certain screen sizes and 2). the specific amount of margin required isn't supported.
Why
Design requirements - trello card.
Visual Changes
N/A

Thanks @jon-kirwan, great shouts - have made both those changes 👍


While enabling this functionality in extension, my script is executing multiple times.

Initialization in myScript.js
xdLocalStorage.init(
{
iframeUrl:'https://rawgit.com/ofirdagan/cross-domain-local-storage/master/app/views/cross-domain-local-storage.html',
initCallback: function () {
console.log('Got iframe ready');
xdLocalStorage.setItem('check', 'no callback');
}
}
);
Manifest:-
"content_scripts":[
{
"matches": ["://.com/*"],
"css": ["css/main.css"],
"js": ["js/background.js","js/jq.js","js/xdLocalStorage.min.js","js/myScript.js"],
"html":["html/popup.html"],
"all_frames": true
}]

logged in wrong repo.


Firebot Tweaks

About the PR

Removes the random sentience from the firebot
Adds some idle chatter to the firebot, taken from TG station.
Added a small initial delay to the spray, to make the first target of the bot not be immediately doused.
Why / Balance

To be in-line with #32383
I forgot the idle chatter in the first PR, and the initial delay makes the firebot look nicer for one-time extinguishes.
Technical details

YML change only. Added firebot advertise, added a wait to the NPC behavior.
Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Changelog

:cl:

remove: Firebots can no longer become sentient via the sentience event.

If cleanbots clean and medibots inject medicine should not firebots be tweaked to spray fire too? :trollface:


Typo "Jupyter notebook"→"Jupyter Notebook"

https://docs.microsoft.com/en-us/azure/notebooks/quickstart-export-jupyter-notebook-project

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver - not sure if you can accept my edit or not, but if not, I'll submit my own PR to correct the typo. #sign-off

Got it, @JoshuaPartlow


AssertionError 0 < 0 <= 0 in Jupyter REPL

You sometimes see this error when resetting:
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "D:\Anaconda3_510_x64\lib\site-packages\ipykernel\kernelbase.py", line 233, in dispatch_shell
    handler(stream, idents, msg)
  File "D:\Anaconda3_510_x64\lib\site-packages\ipykernel\kernelbase.py", line 434, in complete_request
    matches = self.do_complete(code, cursor_pos)
  File "D:\Anaconda3_510_x64\lib\site-packages\ipykernel\ipkernel.py", line 262, in do_complete
    return self._experimental_do_complete(code, cursor_pos)
  File "D:\Anaconda3_510_x64\lib\site-packages\ipykernel\ipkernel.py", line 287, in _experimental_do_complete
    completions = list(_rectify_completions(code, raw_completions))
  File "D:\Anaconda3_510_x64\lib\site-packages\IPython\core\completer.py", line 484, in rectify_completions
    completions = list(completions)
  File "D:\Anaconda3_510_x64\lib\site-packages\IPython\core\completer.py", line 1791, in completions
    for c in self._completions(text, offset, _timeout=self.jedi_compute_type_timeout/1000):
  File "D:\Anaconda3_510_x64\lib\site-packages\IPython\core\completer.py", line 1828, in _completions
    cursor_line, cursor_column = position_to_cursor(full_text, offset)
  File "D:\Anaconda3_510_x64\lib\site-packages\IPython\core\completer.py", line 871, in position_to_cursor
    assert 0 < offset <= len(text) , "0 < %s <= %s" % (offset , len(text))
AssertionError: 0 < 0 <= 0

It has been reported at https://github.com/ipython/ipython/issues/11029, so hopefully a newer version of ipython can fix it. Until then, there's nothing we can really do from our side.

This is also the cause of the serious slowness while typing.


Application layer DDoS attack

🐛 BUG REPORT
By sending a GET request to xcash-dpops , i am able to make the system busy for 2 seconds on a high end VPS.
I am also able to kill  xcash-dpops after sending enough request to make the server memory full, and trigger the OOM Killer.
Expected Behavior
Delegate servers should handle this kind of attacks
Current Behavior
socket_thread() make it possible to receive up to 50mo of string data
https://github.com/X-CASH-official/xcash-dpops/blob/b2cb98b105cbf4cd303e6e0164ef9edb3d40816c/src/functions/server_functions/server_functions.c#L256
string_replace() is ~making a lot of operation on this 50mo string : malloc + memcpy + strstr~
https://github.com/X-CASH-official/xcash-dpops/blob/b2cb98b105cbf4cd303e6e0164ef9edb3d40816c/src/functions/string_functions/string_functions.c#L559
memory leak in receive_data()
https://github.com/X-CASH-official/xcash-dpops/blob/b2cb98b105cbf4cd303e6e0164ef9edb3d40816c/src/functions/network_functions/network_functions.c#L813
Possible Solution
Release memory afer calling string_replace()
Make a more optimized code to remove the SOCKET_END_STRING , so the server call handle big data faster.
Steps to Reproduce (for bugs)

Make a GET request to the server's 18283 port ,
Set a user-agent
Set a header with a big string ending with |END|
Send the request many times to make the server memory full
5 OR send the request from many clients to make a DDOS

Javascript example :
superagent.get('http://delegate.xxx:18283/shareddelegateswebsitegetstatistics')
        .set('User-Agent', 'test')
        .set('joke', '?'.repeat(50000000)+'|END|')
        .catch(reason=>console.log(reason));

Context
Your Environment

@zachhildreth , after some tests i found that string_replace is not so slow.
But a 50mo incoming data is read in 260 parts by recvfrom() .
One solution is receive_data() could exit the loop if the buffer starts with GET /  or POST or ...
That would make this DDOS attack less easy.

Thanks @picatextra for looking into this and the string replace idea as well
I will post on here probably in a few days a few different fixes to the code for #16 and #17 as they seem related to a certain extent at least for the solutions.

Hi @picatextra I will post the write up for the bug bounty after I talk to the team, but did want to post an explanation for the fixes
The explanation of the anti DDOS system can be read in this commit message
b72f807c849e25ebbb9fc792147eaf3b9629ec7e
This fix is for issue #16 and #17

Hi @zachhildreth , i don't see an improve for the timeout ddos.

Hi @picatextra for issue #17 it seemed to me your were describing a slowloris style attack
The fixes for this were to limit the IP address to only 20 connections at a time, and to increase the maximum file descriptors the program could use in the systemd service file to boost the server availability.
I did not fully understand the proposed solution for the recvfrom part, because
The socket is a non blocking socket
It calls recvfrom, it will return -1 and errno set to EAGAIN or EWOULDBLOCK if the connection is still sending data, but its not there yet. It will only return -1 if the data could not be read or the client closes the connection, not if it does not have the |END| string in it
It then checks if there was data, grab it, otherwise reloop. If it does have the |END| then its the final data and finish.
Since there is no guarantee with TCP that the data will all come in one packet, There is no way to know when in the timeout a client will send the |END| string, or they may not send it at all. If they dont send it all, there is not a way I see to check this ahead of time, as this is what the timeout is for to limit it to a reasonably amount of time.

Ok i get it, so may be just check if the last char of the buffer is \0 ?

I dont think that would work either, due to the fact that the buffer that pulls the data from the is zero set, so the last byte is always going to contain the null termination string. Thats why its checks if the first byte is not a 0 to see if it received data as I thought this would be quicker than a strlen

Hi @picatextra after discussing with the team, the price agreed upon is 200USD for issue #16 and issue #17 combined
please post a XCASH address
Thanks!

XCA1ka4bXH1bnvdT8vti1S12PfyH8fJ5XDUXyNRusyMRTBfFCawywJyCV5vvG38h71GAv77WotbmwbmbJen5bQpC7GeVx8gSws

Bounty Paid ✅

Date: 2020-08-05
Amount (USD): $200
Amount (XCASH): 12232415.91 XCASH
Spot Price: 0.00001635 USD/XCASH
XCASH Address: XCA1ka4bXH1bnvdT8vti1S12PfyH8fJ5XDUXyNRusyMRTBfFCawywJyCV5vvG38h71GAv77WotbmwbmbJen5bQpC7GeVx8gSws
Tx Hash: 4204754cc08e3c140a733da8770d79b283d0f2d59938882451e2cb48e7a50d6a
Link: https://explorer.x-cash.org/Transaction?data=4204754cc08e3c140a733da8770d79b283d0f2d59938882451e2cb48e7a50d6a"


Cannot View Unread Messages

I get email messages from you guys saying I have n unread messages. I open up the client and it says I have unread messages on x conversation. I go to the conversation and all I see are the messages that were there when I was online with the chat.
I have restarted both the app and my laptop and in both cases it does not solve the problem.
I upgraded the app this morning and now it lost the unread messages notification that was there before the upgrade.
I sent the logs your way.
Log ID: f9ba93a9421cad2e3586b61c
Thanks.

@mmaxim  can you check i tout?


DSA <IP_ADDRESS> Priority Queue - Documentation

Description
What is Priority Queue? Discuss in detail its implementation.
Task

[ ] Documentation

Note

Do not use assign command for this issue.
While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Kindly refer to Issue Guidelines.
Changes should be made inside the DSA/directory & DSA branch.
This issue is only for 'GWOC' contributors of 'DSA' Domain.

I would like to work on this issue (documentation).
batch - 2
Dhruti Gandhi


TKR encapsulation requirement

We should cite use cases.
I intentionally left out "attributes" in this initial draft, but this discussion should address this.


Implement support for macOS

Description of PR
This PR implements support for macOS. I've tested the changes with Zabbix 4.4.4 and macOS 10.14. In my tests the role was able to successfully install and configure the Zabbix agent.
I've also bumped the version for zabbix_version_long to 4.4.4, because I figured that re-using that variable for macOS would make sense. The version change might affect Windows.
The PR also ensures that the Zabbix agent is restarted after PSK and user parameter changes. This previously didn't work on Windows (see tasks/tlspsk_auto.yml and tasks/userparameter.yml).
Type of change
Feature Pull Request

Looks good! Thanks! 👍


'github.com/crawlab-team/crawlab-go-sdk' is a program, not an importable package

Is there any error messages?


bugfix fix coredump of dict colum range predicate when there …

…is null value
Proposed changes
Issue Number: close #11966
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

How to reproduce the problem? I used the regression test case but it didn't reproduce.

see issue

How to reproduce the problem? I used the regression test case but it didn't reproduce.

See Reproduce in issue

How to reproduce the problem? I used the regression test case but it didn't reproduce.

See Reproduce in issue

I used the master 0c5b4ec version, but still can't reproduce. 😅

How to reproduce the problem? I used the regression test case but it didn't reproduce.

See Reproduce in issue

I used the master 0c5b4ec version, but still can't reproduce. 😅

Need enable vec engine adn storage vectorization. I just tried and can reproduce it...

How to reproduce the problem? I used the regression test case but it didn't reproduce.

See Reproduce in issue

I used the master 0c5b4ec version, but still can't reproduce. 😅

Seems Release build runs OK, but the original  code is problematic. I added log in function convert_code and tested as described in the issue, the log print:
I0823 13:00:11.292980 184748 column_dictionary.h:396] code: -1, ret code: 22005
I0823 13:00:11.292997 184748 column_dictionary.h:396] code: 0, ret code: 0

The vector _code_convert_table is indexed with -1 and the return value is random.

After testing and analysis, in release and debug mode, coredump does not appear, and correct results can be obtained, although there are some problems with intermediate results. In ASAN mode, it will coredump.


Update Version to 1.0.19

Not sure how's that done exactly, but I'm guessing you're referring to https://pub.dartlang.org/packages/json_object. Seems like a good idea for consistency's sake.


Update gatling-sbt to 4.2.5

Updates io.gatling:gatling-sbt from 4.2.4 to 4.2.5.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.gatling", artifactId = "gatling-sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.gatling", artifactId = "gatling-sbt" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #150.


CLOUD-976 added possibility to change ambari credentials

@keyki or @biharitomi  pls

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1582/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1589/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1590/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1591/

Jenkins build failed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1593/

Jenkins build failed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1594/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1596/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1597/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1598/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1607/


map match very short

See discussion here. Using the profile=foot with gps_accuracy=50 I can reproduce the strange matching result:

Using the following GPX file
<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="gpx.py -- https://github.com/tkrajina/gpxpy">
  <trk>
    <trkseg>
      <trkpt lat="48.86400042111182" lon="2.3607843371469666">
      </trkpt>
      <trkpt lat="48.86400042111182" lon="2.3607843371469666">
      </trkpt>
      <trkpt lat="48.86355691455583" lon="2.3547411840491885">
      </trkpt>
      <trkpt lat="48.86073482698218" lon="2.3530194642553046">
      </trkpt>
      <trkpt lat="48.862741253038955" lon="2.335490834124835">
      </trkpt>
      <trkpt lat="48.86689310416586" lon="2.323124376331279">
      </trkpt>
      <trkpt lat="48.86671810266022" lon="2.323062929002894">
      </trkpt>
    </trkseg>
  </trk>
</gpx>

I also tried different gps_accuracy parameter (5-50) without success.
I would have expected this route.
For bike this seems to be fine:

(The zig zag here probably comes from one ways)

Ah yes. The "broken sequence" error message got lost (is back now).
To get a good matched path here: Increase max_visited_nodes.
I removed the (low) default value.


please remember keeping versions updated

Currently there are two releases tagged, v1.0 and v1.1. The APKs on both identify as
package: name='com.smoothie.monetcolors' versionCode='1' versionName='1.0'

because versions were not updated – so they are hard to keep apart:

because versionName wasn't changed, folks cannot really see which version they have installed
because versionCode was not updated, Android will not recognize v1.1 as update to an installed v1.0

Can you please keep track of that with future releases? Thanks in advance!

Thanks for pointing out. I will ensure that for future releases version number and the name are properly modified. Not sure how I missed this step.
Is it appropriate to edit this information for Release v1.1 and re-upload the modified APK or should I keep this change for future releases?
As far as I know, when you are editing the release, GitHub makes a new snapshot of the source code tree and attaches it as a .tar. If this is true, editing the release now will result in a confusion since I recently pushed some changes that I made long time ago along with fixing typos in README and those changes should not be included in a snapshot along with Release v1.1
What are your thoughts on this?

Is it appropriate to edit this information for Release v1.1 and re-upload the modified APK or should I keep this change for future releases?

That's your decision – and might depend on how you want to approach that. If your app is not yet listed on any store (which I assume, as otherwise you'd have noticed this problem earlier), there's no real problem with editing a release. You could simply replace the attached APK – but then, that would not correspond to the commit the tag/release is associated with (not a big deal in this specific case, but still might cause some confusion). Easiest would probably be to make a "maintenance release" (e.g. v1.1.1) at the proper commit, so all is "in sync".

As far as I know, when you are editing the release, GitHub makes a new snapshot of the source code tree and attaches it

Not if you only adjust the release comment or add/remove attachments (would make no sense, as they'd need to build the very same tarball from the very same commit they did before).
But anyhow: I'd suggest making a "maintenance release" at a commit where you've fixed the versioning. That could happen in two ways:

if you feel the current HEAD fine for that: increase VC to e.g. 3, set VN to e.g. 1.1.1, commit, tag, release.
if you feel it in a state not fit for release: create a new branch off the last commit you feel fit, adjust VC/VN there, commit and create a tag/release on the commit in that branch. Then either merge that branch back to main, or simply repeat the versioning adjustments on main at its HEAD.

If you go with a branch the remaining question is just if you want to retain that branch "forever" – because if you delete it, the tag would point to NIL :wink:
Just let me know when a release with a properly versioned APK is up please, so I can include your app with my repo :smiley:

The new release is now ready! In addition to fixing the versioning issue I decided to also upgrade dependencies and fix some visual issues (temporarily). I am glad to be invited to your app repository!
You are free to test the release if you want and tell me about any issues other than these listed under Known Issues.
I also have a small question. I know that when you are publishing for F-Droid, you should add the fastlane metadata thing. Do I have to do anything like that before you will be able to publish the app in your repository?
I also released this useful app somewhat recently. Maybe you will be interested in adding it to your repository as well.

The new release is now ready!

Integrating it with my repo at this very moment, thanks! Be welcome to pick a badge for integration with e.g. your Readme, to link to where it will show up with the next sync!

I know that when you are publishing for F-Droid, you should add the fastlane metadata thing.

Set up now in my repo – so if you need it, let me know and I'll send you a PR with a "starter package" :smiley:

Maybe you will be interested in adding it to your repository as well.

Taking a look now, thanks!

Set up now in my repo – so if you need it, let me know and I'll send you a PR with a "starter package"

I don't really understand what you meant to say here 🥲
Yeah, sure, make that pull request. I guess, filling out the metadata myself will give me more control on how the app looks in the store.
However, judging from your message, you have already filled all of the data yourself. So, I will only need to update the metadata when I make a new release or something, right?
Also, how are changelogs handled in such application repositories? Are they just scraped from GitHub (and other code hosting services) releases or should they be provided in the metadata?
And I also have an additional question to ask, while we are at it. I know that such repositories as yours are mainly focused on providing open source apps. People in F-Droid's Matrix chat said I can not publish games made with proprietary engine, such as Unity, to F-Droid (given that the game itself is open). How is that in your repository?

I don't really understand what you meant to say here

OK, phrasing it differently: your apps are both live now in my repo – and when you want to bring them to F-Droid.org and thus need Fastlane, give me a ping and I provide the necessary files via a pull request to your repo here :wink:

Yeah, sure, make that pull request. I guess, filling out the metadata myself will give me more control on how the app looks in the store.

Definitely! That's the idea. You know best when things need to be changed there :smile:

However, judging from your message, you have already filled all of the data yourself. So, I will only need to update the metadata when I make a new release or something, right?

Whenever you feel something needs to be changed – and yes, updates to that would be picked up along with the release then.

Also, how are changelogs handled in such application repositories?

By your providing them with the Fastlane structures. Be welcome to my Fastlane Cheat Sheet :smiley:
As for games: I usually do not include games at all with my repo. But other than F-Droid, I have no means to check your build process as I only pick the APKs. So all I can check are the resulting APK files and what they contain – not how stuff got in there.

So cool! Thank you! Anyways, as everything seems clear now, I am closing the issue.

… and continue "over there" :see_no_evil: